본문 바로가기

DEVELOP_NOTE

[Flower]Celery웹 모니터링 도구 'Flower'을 분해해보자. Flower는 'Celery'의 웹 모니터링 도구로, 작업 큐를 추적하고 관리하는 도움이 되는 Tool이다. 최근에는 celery 사용 시 필수적으로 사용되는 도구로, 오늘은 Flower Dashboard의 각 항목을 분해해보려한다. Flower 대시보드 화면 Flower의 dashboard에서는 위와 같이 각 worker들의 상태와 작업량, 작업부하등의 정보를 보기쉽게 담고있다. 대시보드의 각 컬럼들이 의미하는바에 대해 정리해보자. (1) 'Worker Name' 워커의 고유한 이름으로 이 이름은 각 워커를 식별하는데 사용된다. 각 worker name은 celery가 실행되어있는 docker container id를 표시하고 있다. (2) 'Status' worker의 현재 상태를 표현하는것으로 일반.. 더보기
[WAS]Django를 활용한 웹 어플리케이션 구조 분해 열심히 데이터 분석 모델을 만들었다고 생각해보자. 이 모델을 이런저런 방식으로 다른 사람들도 사용할 수 있도록 만들고 싶은데 그러려면 뭔가 모델과 함께 작동할 화면 프로그램이 필요해보인다. 웹 어플리케이션은 화면을 바탕으로 개발한 기능을 원하는 시나리오대로 사용할 수 있는 하나의 프로그램이다. 그럼 웹어플리케이션에 대해 알아보자. 웹어플리케이션 구조 예시 -> Django를 활용한 웹어플리케이션 먼저 웹어플리케이션 구조를 살펴보자. 파이썬 django를 사용해 만드는 웹어플리케이션 구조는 위 그림과 같다. 이 구조의 웹어플리케이션이 돌아가는 방식은 다음과 같다. 1. 사용자가 PC 웹브라우저를 통해서 웹 어플리케이션에 특정행위에 대한 요청을 보낸다. * Web Browser(Chrome) -> Web S.. 더보기
[Git]Branch 조회 & 기본 Branch 변경 서비스에 설정된 Default Git branch를 조회하고, 다른 branch를 기본 branch로 변경해보자. [Git Branch 조회] git branch -a [Git Branch 변경] git checkout master 더보기
[WEB&WAS]WEB서버와 WAS에 대해서 알아보자 오늘은 WEB서버와 WAS서버를 각각 정의하고, 차이점과 활용방식에 대해 간단히 정리하고자 한다. WEB(Web Server)이란? 작성된 HTML페이지등을 네트워크망에 종속되지 않고, 웹서비스를 할 수 있도록 하는 어플리케이션으로, 소프트웨어와 하드웨어로 이루어진 서버로 구분될 수 있고 WEB서버는 '정적 파일'을 처리하는데 중점을 두는 서버이다. 여기서 '정적파일'이라 함은 HTML, CSS, JavaScript, 이미지와 같이 정의된 내용의 파일을 포함한다. 그리고, 웹서버는 클라이언트의 요청을 받아 해당 요청에 따라 정적파일을 반환한다. (1) 소프트웨어 웹서버 : 웹 브라우저 클라이언트로부터 HTTP요청을 받아들이고, HTML문서(정적파일 처리)등을 내용에 따라처리하고 반응하는 컴퓨터 프로그램 .. 더보기
[Pycharm 설정]Preference에서 Django설정 불가 이슈 최초 pycharm Preference 설정 시 가상환경 셋팅이 완료되었다면, 가장 먼저 interpreter 설정을 진행해야한다. 이때, 간혹 project의 root 디렉토리를 pycharm으로 정상연결 완료 했음에도, preference에서 Django셋팅을 할 수 있는 화면이 나오지 않는 경우가 있다, 즉 좌측 영역이 공백으로 노출되는 현상인데, 뭔가 셋팅을 잘못한줄 알고, 가상환경 생성 및 pycharm을 여러번 진행하며 많은 시간을 삽질하며 보냈다가 겨우 해결하여, 해결 내용을 포스팅 한다. (이미, 해결을 해버려서, preference에서 Django가 노출되지않는 화면을 미처 캡쳐하지 못했다....) [확인순서] 1) 가장 먼저, 가상환경의 위치가 프로젝트 root 디렉토리에 제대로 생성되.. 더보기
[Docker]Docker Compose 보통 간단한 서비스를 POC할때, docker container를 하나 만들어, 개발을 진행하곤 한다. 하지만, 여러개의 애플리케이션과 데이터베이스를 구성해서 사용해야할때, 각 애플리케이션과 데이터베이스는 서로 다른 환경과 종속성을 가지고 만들어져야할때가 있다. 이때, 만약 각 애플리케이션이 실행된 container를 별도로 관리하고 모니터링 해야한다면 매우 불편할 수 있을것이다. 이와 같이 복수의 docker container를 운영할때, 이를 동시에 실행, 관리 하기 위한 도구인 docker compose를 알아보려한다. Docker Compose란? Docker 기반의 multi container 애플리케이션을 "정의", "실행", "관리"하기 위한 도구이다. Docker Compose의 장점? 웹.. 더보기
[Linux] 환경변수 설정 어떤 프로그램이 돌아가게 해주는 실행파일의 경로를 잡아주는걸 환경변수 세팅이라고 하는데, 리눅스에는 매우 다양한 환경변수들이 있다. 지정된 환경변수를 출력하는 명령어는 printenv 이다. 1) printenv 환경변수들의 경로인 path를 출력하는 명령어는 echo $PATH 이다. path들은 전부 : (콜론)으로 구별되어 있다. 2) echo $PATH 위에서 알아야 할 것은, 리눅스에서 사용하는 명령어들도 결국 일종의 실행파일인데 명령어 입력 시 환경변수에 잡혀있는 PATH를 따라가서 해당 파일이 실행되는 원리로 명령어가 작동된다는 것이다. 즉, mkdir, ls 등의 명령어도 결국 저 path 경로에 저장되어 있다는 얘기이다. 이 점을 이용하면, 명령어들이 실행파일로 이뤄져있고, PATH는 그.. 더보기
[Real-time Instance Segmentation] 화상대화 배경제거 (1) 현재 회사에서 제공하고 있는 메신저의 화상대화 서비스에서 'ZOOM'에서 제공하는 배경 제거(대체)기능 구현에 대한 업무를 맡게 되었다. 사실, Instance Segmentation과 real-time 수준의 빠른 모델적용을 요구하는 부분에 있어 지금까지 경험이 부족했기 때문에, 어려울 수 있지만, 이번 Task가 큰 경험이 될 것으로 생각하고, 기쁜마음으로 시작하게 되었다. 일단 배경 제거 기능의 경우 1차적으로 화상대화에 참여하고있는 화자와 그 외의 영역을 분리할 수 있어야하고, 화상대화 내부에서 빠르게 동작해야하기 때문에 1) Instance Segmentation 이 선행되어야하고, 2) Real-time으로 제공되어야한다. 우선, 해당 과제에 대해 정보를 수집하기 시작했고, 우선 Instanc.. 더보기