세계정복의주인장 (1188) 썸네일형 리스트형 airflow scheduler high cpu usage CPU 99.7% 사용중 ........ 전혀 dag이 실행중이지 않는데도 CPU를 사용입니다. 너무 잦은 DAG 파일 검색으로 인한 CPU부하와 함께 기존 하위 버전 v1.10.*부터 아래와 같은 버그가 있었습니다. 스케줄러 버그 - 스케쥴러가 중단없이 계속 반복됨 웹서버의 높은 CPU 부하 또한 airflow의 디폴트 값 설정값은 속도를 중시하에 셋팅 되어 있습니다. 자신만의 CPU 상황과 dag+task의 수에 맞게 [scheduler] / [webserver] / [core]의 환경변수를 조절 해야 합니다. 아래는 이번에 수정한 환경변수 목록 입니다. 이중에서 dag_dir_list_interval / min_file_process_interval 를 높게 설정한것만으로도 CPU 부하를 줄일 수 .. 문자열 검색 알고리즘 ( Brute force search / 라빈 카프 / KMP / Boyer-Moore) 서문 https://leetcode.com/problems/implement-strstr/ 의 문제를 풀면서 의문이 들었다. 해당 문제는 이중 for문을 사용하면 timeout이 발생한다. python로 문제를 푼다면 find 함수를 사용하여 간단히 풀 수 있다. 각 언어별로 find(text, pattern)는 (문자열 text에 특정 문자열 pattern의 위치를 리턴하는 함수)가 있을텐데 pytho은 "어떤 알고리즘을 사용하길래 문자열을 빠르게 찾는걸까?"에서 시작했다. 언어별 결과를 빠르게 알고 싶다면 글의 마지막 번외를 보시면 됩니다. 문자열 검색 알고리즘에 어떤것들이 있는지, 차근차근 공부를 해보는 문서이다. 1. Brute force search 무차별 문자열 검색은 매우 기본적인 하위 문자.. 제주도 관광객 분석 중국 관광객에 대한 분석 중국이 제주도 대부분의 관광객을 차지(최대 95.7% - 2014년 08월) 각 연도 겨울엔 관광객이 감소추이 2015년 대한민국 중동호흡기증후군 유행으로 전체 관광객 감소 2017년 3월 3일 - 중국 정부는 한국 관광을 전면 금지(총 관광객 31.5% - 2017년 04월) 현재까지 코로나로 인해 감소 하였지만 증가 추이 전체 관광객 분석 일본은 전체적으로 감소 서구권의 증가 가을엔 말레이시아의 관광객 증가 겨울엔 태국의 증가 방한외국인데이터분석 https://nbviewer.org/github/uiandwe/TIL/blob/master/Machine_Running/%EB%B0%A9%ED%95%9C%EC%99%B8%EA%B5%AD%EC%9D%B8%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D.ipynb pytest 시 여러개의 디비 사용하기 참고로 pytest-django 에서 여러개의 디비를 사용하도록 하는 공식적인 버전은 4.3.0 부터 입니다. 해당 버전이 아닐경우 다른 결과가 나올수 있습니다. 1. 테스트 격리! 일단 나의 진행중인 프로젝트에서는 하나의 django에서 4개의 디비를 바라보고 있다. (........) 사실 한 프로젝트에서 여러개의 디비를 사용하는게 이상한 설계인데, SPOF나기 딱 좋은 지점이기 때문이고, 관리도 어렵다. 특히나 테스트시에는 디비를 않쓰는게 가장 베스트이고 (외부 연결점이 없을수록 격리성이 좋다) 테스트시에 디비를 어쩔수 써야 한다면 1번 디비를 테스트 -> 2번 디비를 테스트 -> .. 하는 식으로 단 하나의 디비만을 테스트 하는것을 추천한다. 각 디비를 초기화 및 셋팅하는데 걸리는 시간과 각각의 .. 이력서 자동 생성 - 로직 1. 모델 생성 2. API 서비스 - 스크랩핑을 통한 블로그 키워드 추출 ( tistory / medium / velog ) - 키워드 추출 제시 or 사용자가 키워드 입력(10개) - 결과 저장(생성된 자소서) - 다시 LSTM 실행 후 모델 생성 - 비용 절감을 위해 API 서비스+ 스크랩핑은 람다로 구현 예정 - 모델과 결과 저장은 s3 - 머신러닝은 시간이 너무 오래 걸려 일단은 자체 서버로 해결 8. 메신져 (slack // facebook messenger // whatapp // kakaotalk) 1. 기능 요구 사항 사용자 간의 일대일 채팅 및 그룹 채팅. 사용자가 텍스트, 사진, 비디오 및 기타 파일 전송 채팅 기록 사용자의 온라인/오프라인 상태 표시 알림 2. 추정 및 제약 사항 매일 약 100억 개의 메시지가 전송되는 20억 명의 사용자를 처리 최소 대기 시간으로 실시간 채팅. 메시징 서비스는 고가용성이어야 하지만 이 경우 일관성이 우선순위가 높다. 시스템은 매우 일관성이 있어야 한다. 즉, 모든 사용자는 로그인하는 모든 장치를 통해 동일한 순서로 메시지를 볼 수 있어야 한다. 예상 용량 메시지 저장용량 추정 각 메시지에 대해 평균 크기가 140바이트이고 매일 전송되는 약 100억 개의 메시지를 추정하면 일일 메시지에 대해 약 1.4TB의 저장 용량이 필요 100억 메시지 * 140바이트 .. raw query + group by 그리고 다른 디비에 접속 django 사용 중 3단 콤보로 맞아서 글로 남김 1. raw query + group by 에러 1 2 3 raw_query = "select date, sum('price') from test_table group by date" Model.objects.raw(raw_query) Colored by Color Scripter cs 실행시 만일 에러가 아래와 같다면 Raw query must include the primary key django에서는 Model.objects.raw() 실행은 ORM 요청이기 때문에 raw 쿼리 요청 시에도 primay key를 요구하는데, 문제는 group by 문구가 들어가면 select 1 id, sum('price') from test_table group .. 이전 1 ··· 13 14 15 16 17 18 19 ··· 149 다음