시스템 동작 방식 - Polling VS Event
·
Archive/Develop
시스템이 동작하는 방식에는 폴링과 이벤트가 있다. polling 은 주기적으로 확인해보는 것이고, event 는 사건 발생 시 나에게 알려주는 방식이다. 일반적으로 Event 처리 방식이 즉각 반응이 가능하므로 많이 선호되는 방식이지만, 사건 발생이 일을 처리하는 것보다 일찍 일어난다면 polling 이 더 낫다. 주로 대용량의 데이터가 아주 빠르게 들어올 때 이런 일이 발생한다. 그냥 복잡하게 생각하지 않고 생각해봐도, 이벤트가 발생하지도 않았는데 어떤 일이 있나 계속해서 확인한다면, 그것이 낭비임을 알 수 있다. 가장 최근 시간을 들여서 만든 코드에서, polling 이 변수였기에 이렇게 따로 포스팅을 써봤다. 파이썬에서 subprocess 를 이용하여 하위 프로세스를 생성했을 때, 프로세스가 종료되..
[ SVN ] 내가 보려고 쓰는 SVN 명령어
·
Archive/Develop
평소 Git 만 해왔던 나.... svn과 별반 차이 없다고 들었었는데, 지금 ubuntu에서 실행중인 pycharm 과 svn 이 계속해서 충돌이 난다. 깃허브랑 연동했을 때는 진짜 아무런 문제가 없었는데,, ㅎㅎ,,, pycharm 에디터 내에서 GUI로 제공되는 commit 은 fail 만 주구장창나서 결국 GUI를 포기했다. 역시 터미널이 최고다. svn checkout [svn경로] [저장디렉토리] svn add . 근데 이게 파이참에서 수정해서 그런건지, 최신 버전이라서 기능이 바뀐건지는 모르겠지만 자동으로 add 가 되어있다. svn commit -m "커밋메시지" 깃허브에는 push 를 따로 해줘야 원격 저장소와 연동이 되었는데, svn 에서는 그런걸 건너뛰고 commit 만 해줘도 된다...
[ Python ] 파이썬 비동기 처리 | asyncio | 비동기란 무엇인가 | 비동기 예제
·
Archive/Develop
비동기 함수란? 비동기 함수에 대해 서술하기 전, 동기 함수의 개념부터 잡고 가야한다. 우리가 통상적으로 써왔던 함수가 동기 함수인데, def test(): print('1') print('2') print('3') def main(): test() main() 위 코드를 보면, main 함수는 test를 실행하고, 1,2,3 이 순서대로 출력된 이후 종료된다. main 함수는 test 함수가 종료될 때까지 기다리는 것이다. 너무 당연한 말 같다. 근데 만약, main 이 test 함수가 1,2,3을 출력하는 동안에 처리해야하는 일이 있다면 어떻게 해야할까? 예시는 이렇지만, 만약 엄청나게 많은 데이터를 출력해야하는 상황이라면? 마냥 test 함수가 종료되어 정상적으로 return 되기만을 기다리는 것은..
[ SQL ] Programmers SQL 고득점 Kit SELECT - 1 (MYSQL, ORACLE)
·
Archive/Develop
생각해보니까 프로그래머스 SQL 문제를 풀긴 했는데, 포스팅을 하지 않았었다. 주말에 하나씩 포스팅 해봐야겠다. 이 문제는 오라클과 mysql 의 답이 동일하다. select * from ANIMAL_INS order by 1;