분류 전체보기 236

[Python] 기본문법 __init__ 과 Self

함수 아래와 같은 포맷으로 함수를 생성한다.def ([]): 예제 def main(): print("Start Main()") func_something(1,2,3) def func_something (a,b="default",c="default2"): // function context return print(f"{a}{b}{c}"); init 생성자와 비슷한 성격을 지님 컨스트럭터라고 불리는 초기화를 위한 함수 객체 생성 및 인스턴스화, 초기화를 할 때 해당 함수에서 진행한다. 반드시, 1번째 파라미터는 self를 지정 클래스를 생성할 때에 초기화할 변수는 2번째 파라미터부터 입력 init의 객체를 다른 함수에서 호출할 때 self를 사용해야한다. 예제 class MyStatus: def __init..

[C#] IEnumerable

IEnumerable IEnumerable 인터페이스는 .NET에서 컬렉션을 나타내는 데 사용되는 인터페이스로, 컬렉션을 반복(iterate)하고 열거할 수 있는 기능을 제공합니다. 컬렉션의 열거를 위해 일반적으로 사용되는 인터페이스입니다. 지연된 실행 (Lazy Execution): IEnumerable은 지연된 실행을 지원합니다. 이는 컬렉션의 요소가 실제로 필요한 순간에만 생성되고 처리되는 것을 의미합니다. 따라서 모든 데이터를 미리 메모리에 로드할 필요가 없으며, 필요한 요소만 처리하여 효율성을 높일 수 있습니다. 메모리 관리 및 성능 최적화: 대용량 데이터셋의 경우, 모든 데이터를 한 번에 메모리에 로드하는 것은 메모리 부족 문제와 성능 저하를 초래할 수 있습니다. IEnumerable을 사용하..

프로그래밍/C# 2023.08.24

[Windows] 파일 16개 이상 한번에 열기

Windows는 한번에 열수있는 파일 개수가 Default 16개 입니다. 예를들어, NotePad 파일을 16개이상을 한번에 열려고 하면 아무런 동작이 일어나지 않습니다. 한번에 열수있는 파일 개수 설정하기 Window + R -> regedit 입력하여 레지스트리 편집기를 엽니다. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer 경로로 이동 새로 생성된 항목 이름을 MultipleInvokePromptMinimum 으로 변경합니다. 항목 수정하여 10진수 설정 -> 30 설정 (한번에 열수 있는 파일 개수) 참고 : https://jay-dream.tistory.com/73

Windows 2023.06.15

[Akka.NET] Stash

Akka.NET - Stash Stash 기능은 행위자 내에서 메시지를 임시로 저장하고 연기하는 메커니즘을 제공합니다. 이를 통해 액터는 아직 처리할 준비가 되지 않은 들어오는 메시지를 일시적으로 따로 보관하고 액터가 적절한 상태에 있을 때 나중에 검색할 수 있습니다. Stash 기능은 메시지 처리 순서나 액터의 동작을 제어해야 하는 시나리오에서 유용합니다. 이 예제에서 MyActor에는 Ready() 및 Processing()의 두 가지 상태가 있습니다. 처음에는 Ready() 상태에서 시작합니다. Ready() 상태에서는 StartProcessing에서 메시지를 즉시 처리하거나, 나중에 처리하기 위해 DelayProcessing에서 메시지를 숨길 수 있습니다. DelayProcessing 메시지가 수..

[Akka.NET] Receive()와 ReceiveAny()

Akka.NET - Receive() Receive() 메서드는 알려진 메시지 유형에 대한 특정 메시지 처리기를 정의하는 데 사용됩니다. 특정 메시지 유형과 일치하는 일련의 case 문을 제공하고 각 사례에 해당하는 작업 또는 동작을 지정합니다. 메시지가 수신되면 Akka.NET은 메시지 유형을 정의된 사례와 일치시키고 적절한 핸들러를 호출합니다. 이 예제에서 액터에는 Receive()를 사용하여 정의된 세 가지 특정 메시지 핸들러가 있습니다. 특정 유형의 메시지가 수신되면 해당 핸들러가 호출됩니다. Receive() 샘플코드 Receive(message => { // Handle string messages }); Receive(message => { // Handle int messages }); R..

Architecture Decision Record (ADR)이란?

https://github.com/joelparkerhenderson/architecture-decision-record 소프트웨어 프로젝트에서는 다양한 아키텍처 결정이 이루어집니다. 이러한 결정들은 소프트웨어 시스템의 동작, 구조, 품질 등에 영향을 미치게 됩니다. 이러한 결정을 문서화하고 추적하기 위해 Architecture Decision Record (ADR)이 사용됩니다. ADR은 소프트웨어 아키텍처 결정에 대한 문서입니다. 각 ADR 문서는 특정 결정에 대한 배경, 이유, 대안, 선택한 결정, 결과 등을 기록합니다. 이를 통해 프로젝트 팀과 이해 관계자들은 아키텍처에 대한 결정을 공유하고, 향후 변경 또는 유지 보수 작업에서 참고 자료로 활용할 수 있습니다. ADR을 작성하는 이유는 다양합니다..

프로그래밍 2023.05.27

[C#] Parallel.For() 과 CancellationToken

아래는 Parallel.For()를 사용할 때 ParallelOptions와 CancellationToken을 함께 사용하는 예시 코드입니다. using System; using System.Threading; using System.Threading.Tasks; class Program { static void Main() { // CancellationTokenSource를 생성하여 CancellationToken을 만듭니다. var cancellationTokenSource = new CancellationTokenSource(); var cancellationToken = cancellationTokenSource.Token; // ParallelOptions를 생성하고 CancellationTo..

프로그래밍/C# 2023.05.25

[Windows] 로컬 보안 정책을 배치파일로 만들기

실무에서 파일 전송 중 파일 전송이 실패하고, 서비스가 끊기는 등의 일들이 빈번했습니다. 그 중 SMB를 사용하며 발생한 문제들이 많았는데, 파헤쳐보니 애초에 잘못 만들었다는 글들을 확인했습니다. 아래는 실무에서 SMB 관련 오류를 발견하고 조치했던 기록들을 발췌했습니다. SMB 관련 오류분석 SMB 연결 끊김으로 서비스에서 TimeOut발생 -> 처리 지연 확인했습니다. SMB 연결 끊김 관련하여 주기적으로 연결 끊김 확인하였고, 연결 끊기지 않는 설정 적용했습니다. 추가 모니터링 필요합니다. 이벤트 뷰어 확인 이벤트뷰어 - 응용프로그램 및 서비스 로그 - microsoft - windows - smbclient - connectivity 오류 로그 확인 * 오류 네트워크 연결이 끊겼습니다. 서버: ₩..

Windows 2023.05.25

[브라우저] 검색엔진 단축키 설정

우리는 매번 특정 사이트 접속 -> 검색어 입력 -> 검색 결과 확인과 같은 번거로운 작업을 하고있습니다. 위와 같은 복잡한 작업을 간편하게 바꿔봅시다. 주소창에서 단축키 + 검색어 입력 위의 복잡한 과정을, 주소창에서 단축키 + 검색어 입력 끝낼수 있습니다. Edge 브라우저 - 검색 엔진 추가하기 설정 -> 개인 정보, 검색 및 서비스 -> 주소 표시줄 및 검색 -> 검색 엔진 관리 -> 추가 검색 엔진 추가 창 설정 - 검색엔진 : 표시할 이름 - 바로가기 : 단축키 설정 - URL : 검색 쿼리 URL URL 설정은 사이트마다 상이한데, 가장 많이 쓰이는 네이버, 구글, youtube 3가지 URL 정도만 공유하겠습니다. URL - 구글 : https://www.google.com/search?q..

Windows 2023.05.16

[Windows] 가상메모리 설정 방법

가상메모리? 가상메모리를 설정한다하는 것은 Disk의 일정 크기를 Memory로 사용할 수 있도록 설정하는 것이다. Memory가 부족한 경우 시스템이 멈추거나, 프로그램이 종료되어 정상적인 작업을 진행할 수 없을것 이다. 가상메모리 설정하기 시작 - 설정 - 정보 - 고급 시스템 설정 - 고급 탭 - 성능 설정 - 고급 탭 - 가상메모리 항목 사용자 지정 크기 선택 후 가상메모리 크기를 설정한다. ex> 최소 크기 : 4gb, 최대 크기 : 6gb 설정 완료 후 PC를 재부팅해줘야 설정이 적용된다.

Windows 2023.05.13