본문 바로가기
728x90
SMALL

분류 전체보기111

Python asyncio를 활용한 비동기 프로그래밍 1. 글을 쓰게 된 이유 서비스 프로그램을 만들면서 asynico를 사용해서 코딩을 해야하는데 생각보다 비동기를 사용하면 굉장히 좋은 서비스를 만들 수 있고 속도 문제도 해결할 수 있다는 사실을 알게되었다. 2. 파이썬에서 비동기 프로그래밍 - 자바스크립트와 같이 애초에 비동기 방식으로 동작하도록 설계된 언어는 익숙한 개념이다 - 파이썬과 같이 동기 방식으로 동작하는 언어에서는 생소하지만 - 파이썬 3.4에서 asyncio 모듈이 표준 라이브러리로 추가되면서 - 파이썬 3.5에서 async / await 키워드가 문법으로 채택이 되면서 - 파이썬도 외부 라이브러리 없이 프로그래밍이 가능해졌다. 3. 핵심 문법 - def(동기 방식) / async def(비동기 방식) 아래와 같은 비동기 방식으로 만들어진.. 2023. 8. 25.
AWS EC2 Ubuntu22.04 환경에 Docker 설치 (feat. Docker-compose 설치) 1. 글을 작성하게 된 계기 서비스를 배포하면서 docker를 ubuntu22.04 환경에 설치하는 경우가 많아졌다. 물론 나중에는 aws 이미지로 떠서 해야하겠지만, 추후에도 계속 필요할 것 같아 글을 작성해둔다. 2. Docker 설치하는 방법 1. 프로그램 설치 전 우분투 시스템 패키지 업데이트 sudo apt-get update 2. 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 3. Docker의 공식 GPG키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key a.. 2023. 8. 25.
동기와 비동기 그리고 병렬과 순차 1. 글을 쓰게 된 계기 동기, 비동기 그리고 병렬과 순차에 대해서 프로그래밍하는 사람이라면 많이 들어봤을 것이다. 이번에 초기 스타트업을 진행하면서 기존과 다르게(연구, 프로젝트 성 업무) 우리는 서비스를 만들게 되었다. 서비스를 만들때 고려해야 할 것이 굉장히 많다는 것을 배우고 있다. 여기서 "속도"는 굉장히 큰 이슈이다. client가 우리 service를 사용하는데 "속도"에 문제가 있어 "불편함"이 있으면 안된다. 그래서 해당 개념에 대해서 다시 한번 정리하고자 글을 작성하게 되었다. 2. 동기와 비동기 동기 (Synchronous) 동기 방식은 작업들이 순차적으로 진행되는 방식이다. 한 작업이 시작하면 그 작업이 완료될 때까지 다른 작업들은 기다려야 한다. 호출한 함수나 작업이 반환될 때까지.. 2023. 8. 23.
Ray를 활용한 Python 병렬 처리 하기 (feat. gpt api) 1. 글을 작성하게 된 계기 - GPT API를 호출하는 경우가 많다. - GPT API를 호출할 때 순차적으로 하면 너무 오래 걸린다. - API 호출을 병렬로 처리해서 처리해 보자. 2. Ray 이해하기 2-1. Ray 구성 이해하기 1. Task - 호출하는 곳과 다른 프로레스에서 실행되는 함수 또는 클래스 - @ray.remote 라는 데코레이터로 감싸면 그 함수는 task가 된다. - Remote Function이라 부르며, 호출자와는 비동기적으로 실행 - remote()를 사용해서 호출 가능, ObjectRef 라는 값을 반환한다. 이때, ray.get(ObjectRef)를 하면 Task를 실행하고 값을 반환받을 수 있음. 2. Object - Task를 통해 반환되거나 ray.put()을 통.. 2023. 8. 22.
23년도 전반기 회고록('23.5.31) 1. 글을 쓰게 된 계기 이제 전역이 정말 한 달 앞으로 돌아왔다. 앞으로는 회고록을 써서 나를 돌아보는 시간을 가져보려고 한다. 23년 전반기에 진행했던 큰 주제들은 다음과 같다. - (부경)대학원 진로 결정 - Reboott 사업 JOIN - 나도손님 프로젝트 잠정 종료 - 지게차 자격증 시험 - 헬스, 태닝, 미국여행(7/4~8/2) 계획 등 2. 회고록 - (부경)대학원 진로 결정 취업을 할까? 공부를 할까?라는 고민은 대학교 졸업과 동시에 계속했던 고민이었다. ROTC로 군대에 온 뒤 벌써 2년3개월 이란 시간이 흘렀다. 꾸준히 하던 고민에 대한 결정을 해야하는 때가 벌써 온 것이다. 진로 결정에 앞서 나는 무엇이 되고 싶은가? 생각을 먼저 해보았다. 나는 행복한 가정을 꾸리고 싶음과 동시에 한.. 2023. 5. 31.
(Mac) port 확인 방법 및 5000 port 삭제 방법 1. 글을 작성하게 된 계기 docker-compose를 사용하는 도중 5000 port가 이미 사용 중이라는 아래 사진과 같은 오류를 보내고 있다. 5000 port에서 어떤게 돌아가고 있고 삭제하는 방법에 대해서 작성하려고 한다. 2. 해결방법 - 현재 열려있는 포트 확인 및 닫기 1. 현재 열린 포트 확인 sudo lsof -PiTCP -sTCP:LISTEN 2. 특정 포트를 찾는다. (5000 포트 확인) sudo lsof -i :5000 3. 위에서 나온 PID를 아래와 같이 넣으면 포트가 닫힌다. sudo kill -9 PID - Mac에서 5000 port 사용 방법 1. 아래와 같이 5000 port를 확인하고 kill해도 계속 살아나는 것을 볼 수 있다. 2. commplex-main은 .. 2023. 5. 16.
728x90
LIST