본문 바로가기

컴퓨터11

non blocking, blocking, 동기 비동기의 차이 저는 기존에 논블락킹이 비동기이고, 동기가 블락킹과 동일한 개념이라고 알고 있었는데, 같지만 관심사라는 부분에서 차이가 있다는 사실을 알게 되었습니다. 동기 비동기는 시간이라는 측면에 집중하고, blocking / non-blocking은 제어권이라는 면에 집중하는 것입니다. 동기는 제어권과 리턴값이 '동시'에 반환되느냐에 집중하고, blocking은 '제어권'이 리턴값과 같이 반환되느냐에 집중하는 것입니다. 마찬가지로 asynchrnous 및 비동기 또한 제어권과 리턴값이 '동시'에 반환되지않는 시간에 집중하는 것과 '제어권'이 리턴값과 같이 반환되지 않느냐에 집중하는 것이 다릅니다. 그런데 값을 반환할때 실제로 완료가 되지않았을때 반환하는 경우 제어권을 반환하며 아직 완료되지않음이란 값을 반환하기도 .. 2021. 7. 13.
ASGI와 WSGI Asynchronous Server Gateway Interface Web Server Gateway Interface 미들웨어의 역사에 관하여 조사하기. 참조: https://hello-world.kr/40 2021. 6. 23.
Monkey pathcing의 의미와 장단점 글을 읽던 도중 Monkey patching이라는 단어가 나왔고 몰랐던 단어라 조금 조사해보았습니다. Monkey patching이란 기존 존재하던 코드를 런타임시에 기존 코드에 기능의 추가, 수정, 삭제 등을 진행하는 것입니다. 우선 멍키 패칭의 단점은 프로그램 버전의 발전에 따라 기존 함수가 어떻게 변경될지 몰라 충돌이 발생할 수 있다는 것이고, 두번째는 만약 이렇게 수정하게 됐을때 다른 개발자가 이를 또 다른 형식으로 수정했을 수도 있다면 마찬가지로 큰 충돌이 발생할 수 있고 다른 두가지 버전으로 갈릴 수 있다는 것입니다. 그래서 일반적으로는 그 함수의 내부가 아닌 utility 함수를 만들어서 이를 응용하는 식의 구현을 하는 것이 바람직할 것입니다. (존재하는지 아닌지 확인 후 가져올 수 있고 별.. 2021. 6. 23.