본문 바로가기
728x90
반응형

개인 스터디19

영업 관리 시스템 영업 관리 개요영업 관리란 일반적으로 고객으로부터 주문을 받고 물건을 납품 후 대금을 회수하는 업무를 말한다 일반적으로 영업 관리 프로세스는 아래 표와 같다 아래 업무 외에도 판매 예측 및 고객 관리 등 부가 적인 업무를 하기도 한다단계 설명수주 단계고객으로부터 수주를 받는다 유통 기업일 경우 필요한 재고를 확인 하고 재고가 없으면 구매 의뢰를 하게 된다 제조 기업인 경우 생산 의뢰를 하게 된다매출 단계품목이 준비되면 거래 명세서를 작성하고 판매 품목과 함께 고객에게 전달 된다 이때 매출이 발생하고 회사에서는 세금 계산서를 발행 하여 거래 명세서와 함께 고객에게 전달된다 물품 대금은 미 수금으로 처리된다수금 단계판매 대금이 입금되면 해당 매출의 영업 프로세스가 종료된다경영 정보 시스템에서 다루는 영업 관.. 2024. 11. 14.
비동기 TCP 서버 TCP 서버는 동기 적으로 TCP 서버로서 이는 동시에 여러 클라이언트들 이 접속 했을 때 순차적으로 하나 씩 처리해야 하는 단점이 있다 따라서 다중 클라이언트 접속을 핸들링 하기 위해서는 TCP 서버를 비동기로 만들 필요가 있다 TCP 서버를 비동기로 만드는 방법은 크게 두 가지로 분류 할 수 있는데 고전적인 APM 방식과 요즘 많이 사용되는 TAP 방식이 있다APM 방식은 BeginAcceptTcpClient()/EndAcceptTcpClient() dhk rkxdl Begin/End* 2개의 메서드를 쌍으로 사용하는 방식으로 Backward Compatibility 를 위해 사용 된다 TAP 방식은 AcceptTcpClientAsync() 와 같이 Async 가 붙는 메서드를 C# await 와 함.. 2024. 10. 17.
Monitor Interlock과 같이 공유 자원 선점의 동기화를 위해 사용 된다Interlock 의 경우 특정 쓰레드 동기화가 필요한 코드 블럭 {임 계 구 역}을 동기화 할 때 쓰기 보다는 특정 변수의 Increment 와 Decrement를 할때 많이 쓰인다 코드 블럭 단위의 임계 구역의 진입을 제어하기 위해 Monitor와 lock가 제공 된다 여기서 사용 되는 object obj는 세마포어 에서 비유 되는 자물쇠와 같은 역할이다P(), V(),Semaphore(obj) RS = objP();//if(RS >0 then RS= RS-1;else block();//{ 임계구역 } V() // RS = RS+1; wake_up(); //Monitor 사용 예제namespace Monitor_Ex{ class .. 2024. 10. 16.
스핀락 스핀락은 폴링 방식의 동기화 처리를 하는 방식이다마이크로 프로세서 에서 내부 인터럽트를 사용하지 않고 값의 state 가 바뀌는지 while(1) 을 이용하여 확인 하는 것 과 같다예를 들어 num 이라는 데이터를 첫 번째 스레드 에선 +1씩 계속 증가 시키고 두 번째 스레드 에선 -1씩 계속 감소 시키는 행위를 각각 10만번씩 하면 직관적으로는 당연히 프로그램이 뻗지 않는 이상 당연히 0이 나올 것 이다 하지만 자원 접근에 대한 동기화가 이루어 지지 않으면 한 쪽에서 값을 변경 시켜도 다른 쪽에선 이전에 가지고 있던 값을 최신이라고 저장 하고 있다가 값을 변경시키는 현상이 발생 하므로 의도했던 데이터 갱신이 이루어지지 않는다이를 해결 하기 위해 첫 번째 폴링 방식의 스핀 락을 구현 할 때 발생할 수 있.. 2024. 10. 16.
C# Thread(스레드) 주요 속성과 메서드 스레드의 속성Name : 스레드의 명칭 지정IsAlive : bool형 스레드가 살아있는지 죽었는지 확인IsBackgroundforeground : 주 스레드의 종료와 상관없이 독립적으로 작동하는 부 스레드background : 주 스레드의 종료와 연계하여 같이 종료하는 부 스레드public bool IsBackground {get; set; }CurrentThread기본 예제namespace Thread_EX{ class Program { static void func() { int i = 0; while (true) { Console.Write($"{i++} "); .. 2024. 10. 15.
무명 메서드 (Anonymous Method) C# delegate 예제를 보면 예제의 delegate 들은 모두 이미 정의된 메서드를 가리키고 있었다 이렇게 미리 정의된 메서드 들 과 달리 C# 2.0에서 부 터 메서드를 미리 정의하지 않아도 되는 메서드 명이 없는 무명 메서드를 지원 하게 되었다 만약 어떤 메서드 가 일회용으로 단순한 문장들로 구성 되어 있다면 굳이 별도의 메서드를 정의 하지 않아도 되는 것이다 무명 메서드를 만들기 위해서는 delegate 키워드와 함께 아래 파라미터와 실행 문장 블럭을 적으면 된다 delegate 뒤에 파라미터는 해당 메서드 원형(Prototype)에 맞는 동일한 파라미터 타입이여야 하며 실행 문장 블럭에는 여러 문장들을 쓸 수 있다 무명 메서드는 외관 상 인라인 메서드(Inline method) 형식을 띠며 .. 2024. 10. 14.
728x90
반응형