전체 글
-
MongoDB Atlas SearchDatabase 2024. 5. 1. 22:06
프로젝트에서 검색 방법을 바꿔야 할 필요가 있어요.관심이 생겨 찾아보는데 정리해 두면 좋을 것 같아서 생각의 흐름을 적어봐요.근본적인 시스템을 바꾸지 않고는 지금 구조에서는 지금 생각이 베스트 같은데 혹시 더 좋은 방법이 있으면 알려주세요... 요구사항검색어로 RDB 에 저장된 부동산 이름 및 주소를 검색부동산 타입별 검색특정 부동산 타입에 대해서는 내부적으로 정의한 count 가 많은 순으로 정렬검색하는 갯수 지정추가적으로 데이터 업데이트는 거의 일어나지 않음 문제현재는 검색을 위한 tsv 파일을 만들고, 서버 실행 시 메모리에 올려두고 사용함.데이터가 추가되면서 tsv 파일의 사이즈가 너무 커짐. 대략 10GB이 방법으로 사용하려면 현재 사용 중인 AWS ECS 대신 EC2 로 변경하거나, ECS 인..
-
Git LFS data quota overetc 2024. 4. 6. 09:01
사이즈가 10MB 이상인 tsv 파일들을 github repository 에 저장하고 실제로 서버 실행 시에도 메모리에 올려서 사용하고 있었다. 별문제 없이 사용하고 있었고 최근에 사이즈가 1GB 가 넘는 파일도 이렇게 사용해도 괜찮지 않을까 해서 같이 저장했다. This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access. 저장까진 괜찮았는데 그 다음 커밋쯤부터 문제가 발생했다. 대략 data quota 초과했으니 플랜을 업그레이드하라고 한다. Git LFS 를 처음 사용할 때 제대로 조사해보지 않고 사용법만 익혔더니 data quota..
-
Udemy Docker & Kubernetes 강의 후기DevOps 2024. 3. 31. 18:05
참여하고 있는 글또에서 유데미와 협업하여 멤버들에게 몇몇 선택된 강의를 제공해 주기로 했다. 감사합니다 :) 내가 수강한 강의는 [한글자막] Docker & Kubernetes: 실전 가이드 이다. https://www.udemy.com/share/1064fg/ 강의 선택 제공해 주는 여러 강의 중 Python, Docker 이 관심 있었고 여러 강의를 수강하는 건 현실적으로 힘들 것 같았다. 둘 중 고민하다가 Python 은 당시 보던 책이 있어서 미루고, Docker 를 골랐다. Docker 를 선택한 이유는 사내 API server 를 Dockerize 하려고 backlog 에 쌓아두고 있던 상태였는데 학습 한 뒤에 진행하면 조금 더 잘 할 수 있을 것 같았다. 강의를 듣지 않아도 할 수는 있었지..
-
Linux 기초 명령어 모음DevOps 2024. 3. 3. 16:32
리눅스를 사용할 때 너무 다양한 명령어와 옵션이 있는데 서버 개발하면서 쓸 수밖에 없을 것 같은 것 몇 개만 정리했어요. 저도 매뉴얼은 안 보고 매크로처럼 자동으로 쓰는 것 같아요. 자주 쓰다보면 외워서 쓰게 되는데 잘 안 쓰던 옵션도 다시 봤어요. curl (client URL) 간단한 http 요청을 할 때 https://curl.se/ curl command line tool and library for transferring data with URLs (since 1998) Supports... DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTS..
-
공동주택 공시가격 DB 저장하기Database 2024. 2. 15. 20:01
공동주택 공시가격 조회 준비공동주택 공시가격을 조회하기 위해 했던 데이터 저장 과정을 남겨요. 간단한 용어 설명과 왜 저장하기로 했는지부터 알아봐요. 특정 공동주택의 특정 연도에 해당하는 공시가격을 조회하는 기능이 필요한데요. 예를 들어, A 아파트 110동 1203호 2020년 공시가격을 조회하고 싶어요. 요구사항에 맞게 제공하는 OpenAPI 가 없었고, 다른 방식으로 서버에서 요청을 보내는 방법은 막혀있어 클라이언트에서 우회해서 조회하고 있었어요. 데이터 텍스트파일은 제공해주고 있었는데 양이 너무 많아서 이걸 저장해도 되나 싶어서 안 하고 있다가, 최근에 다른 일로 데이터를 다시 보는데 저장해도 되겠다 싶은 생각이 들어 진행하기로 했어요. 먼저 공시가격이 무엇인지, 왜 필요한지 간단하게 알아봐요. ..
-
mysql whitespace to nullDatabase 2024. 2. 14. 08:24
txt 파일을 테이블에 insert 하는 작업을 하는데, 공백은 null 로 설정하려고 한다. txt 파일 값의 공백을 TRIM 으로 제거하고 시도해봤는데 개행이나 탭도 섞여있어서 곤란하다. REGEXP_REPLACE 를 사용해야 한다. -- TRIM UPDATE 건물정보 SET 비고2 = NULLIF(TRIM(비고2), '') WHERE 비고2 IS NOT NULL; -- REGEXP_REPLACE UPDATE your_table_name SET your_column_name = NULLIF(TRIM(your_column_name), '') WHERE your_column_name IS NOT NULL; UPDATE 건물정보 SET 비고2 = NULLIF(REGEXP_REPLACE(비고2, '^\\s*..
-
Python 에서 JSON 사용하기Python 2023. 12. 10. 22:30
Python 에서 JSON 사용하기 얼마 전 Python 에서 JSON 을 다뤄야 하는 문제가 있었는데 문서는 안 읽고 매번 똑같은 커맨드 사용했더니 문제를 못 풀었어요. 현타 오고 바보가 된 것 같아서 문서를 쭉 읽어보기로 해요. fp 를 다루는 dump, load 는 비슷하니, 더 자주 쓸 것 같은 dumps, loads 로 알아볼게요. json.dumps() def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) 변환표 파이썬 -> JSON 변환이 어떻게 되는..