본문 바로가기
728x90
반응형

Total53

Deamon 관리 (systemctl, journalctl) 들어가며... Ubuntu 서버에 프로그램을 Command 단위로 테스트를 진행하는 것 보다 Daemon 형태로 만들어서 로그 확인 등 테스트를 더욱 용이하게 만들어본다. Daemon 생성 1. Daemon 스크립트 준비 # sudo vi /etc/systemd/system/{프로그램명}.service [Unit] Description=unicorn instance to backend # 설명부 After=network.target [Service] User=ubuntu# 동작 권한 (유저) Group=www-data # 동작 권한 (그룹) # 작업 디렉토리 WorkingDirectory=/home/ubuntu/{프로젝트}/src # 환경변수 설정 Environment="PATH=/home/ubuntu/.. 2022. 5. 9.
Python3 가상환경 만들기 (venv) 들어가며... 프로젝트별 개발 환경을 구축하기 위해 가상환경을 생성하여 패키지 관리를 용이하게 수행할 수 있도록 생성해본다. 사전 준비 1. python3-venv 패키지 설치 # sudo apt-get install python3-venv 2. python3 프로젝트 생성 $ python3 -m venv {프로젝트명} 3. 가상환경 확인 # sudo apt-get install tree $ tree {프로젝트} {프로젝트} ├── bin │ ├── activate │ ├── activate.csh │ ├── activate.fish │ ├── easy_install │ ├── easy_install-3.7 │ ├── pip │ ├── pip3 │ ├── pip3.7 │ ├── python -> pyth.. 2022. 5. 9.
지도 검색 알고리즘 들어가며... 모바일에서 전달하는 검색어, 위도, 경도 데이터를 이용하여 데이터베이스에 적재된 데이터를 Map에 표시하기 위한 결과 리스트 처리를 개발해본다. 준비사항 위도(float) 경도(float) 검색어(str) 필요 사항 정리 위도 경도 값을 활용한 거리 계산 및 정렬 방법 business_latitude(float) 위도 business_longtitude(float) 경도 위도 경도 거리 계산 공식 활용 X = ( cos( 위도#1 ) * 6371 * 2 * 3.14 / 360 ) * | 경도#1 - 경도#2 | Y = 111 * | 위도#1 - 위도#2 | D = √ ( X² + Y² ) MySQL 검증 (거리 계산) SELECT business_idx, business_name, busi.. 2022. 5. 9.
커서 페이지네이션 구현 들어가며... 모바일 환경에서 적합한 스크롤 위주의 페이지 호출로 마지막 idx를 기준으로 다음 리스트를 호출하는 커서 페이지네이션을 개발한다. 준비사항 리스트 데이터를 호출하는 API 명세 Endpoint View를 개발하는 담당자와 협의 필요 마지막 idx 정보 필요 사항 정리 첫 번째 페이지 호출 N 번째 페이지 호출 코드 반영 if last_idx == 0: statement = select( Table.table_idx, ).order_by( Table.table_idx.desc() ).limit(20) else: statement = select( Table.table_idx, ).where( Table.table_idx < last_idx ).order_by( Table.table_idx.d.. 2022. 5. 9.
728x90
반응형