반응형

파이썬 동시성 프로그래밍

 

학습목표

1. 무엇이 asyncio인지, 그리고 이것의 효용이 무엇인지.

2. concurrency, parellism, threads, process

3. GIL과 이게 주는 concurrency에 대한 챌린지

4. 넌 블러킹 소켓으로 컨커런시를 어떻게 달성하는지 (하나의 스레드로)

5. 이벤트 루프 베이스의 컨커런시가 어떻게 작동하는지

 

1.1 asyncio란?

- io길게 걸리는 경우가 많음.

- 이때 해결할 수 있는것은 concurrency를 도입하는 것.

- 한번에 핸들하는 태스크가 하나 이상인 경우 --> concurrency

- web request 여러개를 동시에 받거나, 웹서버에 동시에 커넥션을 여러개를 허용하는 경우.

- asyncio를 도입하면 이를 해결할 수 있음.

- 동시성 프로그래밍이란, 특별히 길게 걸리는 태스크가 메인 어플리케이션에 뒤에서 분리되어 실행될수 잇는 것을 의미한다.

- 즉, 하나의 길게 걸리는 태스크가 스턱되지 않는 것을 의미한다.

- python 3.4에서는 데코레이터와 yield from으로, 3.5 부터는 async, await으로 해결

- 이는 synchronous하게 돌아가게끔 보이게함.

- 코루틴이란, 메서드인데 잠재적으로 길게 돌아가는 태스크가 멈출수 있고, 그게 끝나면 다시시작할수있는 방법을 의미함.

- asyncio는 싱글쓰레드 이벤트루프 모델을 사용하여 코루틴들을 비동기적으로 실행하는 라이브러리임.

- io 에만 좋음.

 

1.3 concurrency, parellism, multitasking

- concurrency

- 동시에 일어나는 일.

반응형
반응형

45살때부터였다.

- 논리적이고 싶은가? --> 글을 써라

- 감정을 어떻게 다스리는가? --> 글을 써라

- 그냥 써라, 어차피 관심없다.

- 꾸준히 그냥 써라.

 

 

--> 나도 꾸준히 써보자.

반응형
반응형

마음을 얻는 심리활용의 비밀

- 마음을 활용하는 여러가지 사례들이 나옴.

 

1. 감정적 지불을 할 것

- 흔히 말하는 공감.

- 상대방의 가치 인정해주기

- 상대방의 두려움을 해소해준다.

- 인식을 돌리기 위해서도 필요하다.

 

2. 공공의 적 찾기

3. 숨은 무형의 가치 찾기.

4. 어조와 태도 중요

5. 자료를 제시하는 방법도 중요.

6. 제3자의 중재

 

사실 인간은 감정의 동물인데, 감정에 관한 능력을 키우지 않으려하는것은 오만에 가까운듯.

지능의 이슈일수도.

(감정적, 사회적 지능)

반응형
반응형

결국 가격 협상을 하려면 상대방의 표준을 이용하고, 유대적 관계를 쌓아야한다는 이야기.

 

자칫 잘못하면 얘가 이득을 얻어내려고 나랑 친분을 쌓으려고하나?라는 의심을 사지 않을까?

--> 이걸 잘 풀어내는게 협상 능력일듯.

 

그래도 인간적 소통이 중요하다는 인사이트.

반응형

'회고 > 책회고' 카테고리의 다른 글

일의 격 -155pg  (0) 2023.03.30
어떻게 원하는 것을 얻는가 12장  (0) 2023.03.30
어떻게 원하는 것을 얻는가? -10장  (0) 2023.03.22
Two scoop of django 읽고 적용해보기. -1장  (0) 2021.12.17
열정의 배신을 읽고  (0) 2021.10.31
반응형

회사에서 인정받는 사람들의 비밀

- 상대의 머릿속을 그리는 일이 중요하다.
- 회사 내에서 협상의 목표는 보다 가치있는 존재가 되는 것.
- 내 가치가 높아질수록 더 높은자리로 올라갈 수 있고, 해고의 위험이 줄어들기 때문.
- 이력서를 넣을때도 상대방의 머릿속을 그리고 점진적으로 다가갈것.
- 목표달성을 위한 정보를 수집할것.
- 표준을 활용할것. 표준뒤에 있는 핵심을 파악할 것.
- 상상력을 발휘해서 그들 뒤에 있는 욕구를 파악하고 충족시킬 것
- 제 3자를 활용할 것,

반응형
반응형

1. 배경

중요도별로 작업순서 정렬할때 필요하다.

우선순위큐를 대표적으로 구현하는 자료구조가 힙.

 

2. 우선순위큐 정의

우선순위를 가진 원소를 삽입, pop할 수 있으면 우선순위큐라고 한다.

 

3. ADT

원소삽입,

최대원소 알려주기,

최대원소 알려주면서 삭제하기.

 

4. 트리

트리 = 사이클을 만들지 않는 연결된 그래프

 

루트 = 부모가 없는노드

이진트리 = 2개이하의 자식 노드

포화 이진트리 --> 2^k -1 개인 모두다 있는 이진트리

완전 이진트리 --> 마지막 레벨 직전까지 꽉채웠고왼쪽부터 채워진것

 

힙은 완전 이진트리구조를 가져야한다.

 

5. 힙의 조건

1, 완전이진트리

2. 힙특성 : 모든 노드는 값을 갖고, 자식노드들 값보다 크거나 같다.

 

 

반응형
반응형

제어의 역전

제어 객체 관리의 권한이 넘어갔음.

(개발자에서 프레임워크로)

 

new로 객체생성하는것이아니라 spring container에 맡긴다.

 

DI wkdwja

--> 의존성 격리 --> 코드테스트 용이

dI를 통하여 불가능한 상황을 Mock으로 테스트 가능

코드 확장 변경할때 영향 최소화

순환참조 막기.

반응형
반응형

가장 큰 차이점 "테스트의 용이성", "느슨한 결합"

--> IOC의 등장

AOP

반응형

+ Recent posts