전체 글 썸네일형 리스트형 [Python] Poetry가 너무 느릴 때, 해결 방법 poetry add 명령어를 수행할 때 Dependency Resolving으로 인해서 매우 느릴 때가 있습니다. Cache를 날려서 빠르게 할 수 있습니다. sudo poetry cache clear --all pypi 링크: https://www.reddit.com/r/learnpython/comments/zcb95y/poetry_taking_too_long_to_resolve_dependencies/ 더보기 [uWSGI] 메모리 개선 EC2의 메모리가 튀어서 알림을 받고 조마조마한(?) 일이 있었는데, 해결 과정을 공유합니다 [이슈] 2023년 6월 23일, 기존 EC2에서 사용하고 있는 15GB의 메모리 중 약 14GB를 사용해서 alert이 발생한 케이스가 있었습니다. 평소 약 10GB를 사용하고 있어서 50% 정도의 여유분이 있었는데, 메모리가 몇 시간에 걸쳐서 계단식으로 증가했습니다. [최초 문제 인지] 몇 시간에 걸쳐서 계단식으로 메모리가 점프했기 때문에, 최초에는 memory leak으로 의심했습니다. [해결 과정] datadog에서 특정 메모리가 튀는 시점들을 파악했습니다(대략 오후 1시 30분, 오후 2시, 오후 2시 30분, 오후 3시, ...) 헤당 시점에 요청되었던 API들 중에서 특이한 API를 찾았습니다(re.. 더보기 [Django] pytest에서 ORM의 실제 query 확인하기 예를 들어서 다음과 같은 ORM이 있다고 했을 때, Model.objects.create(a=1, b=2) 실제 나가는 쿼리를 pytest에서 확인하려면, pytest 코드 안에 다음과 같은 with절 이하를 집어넣으면 확인할 수 있습니다. from django.db import connection from django.test.utils import CaptureQueriesContext with CaptureQueriesContext(connection) as ctx: loaded_cart = db_cart_loader.load(request_dto) print(ctx.captured_queries) 위와 같이 실제 쿼리 나가는 것을 확인할 수 있습니다. pytest환경이 아닌 실행 중에 확인하려면,.. 더보기 [MAC 세팅] 내 M1 세팅 backtick(`) 대신 (₩)가 나오는 문제 해결 맥에서 한글을 쓰면서 백틱을 쓰려고 하면 자꾸 원화표시(₩)가 나와서 개발 속도를 떨어뜨리는 요소가 되었습니다. 키 바인딩을 통해서 해결했습니다. mkdir ~/Library/KeyBindings vi ~/Library/KeyBindings/DefaultkeyBinding.dict vim 화면에서 다음과 같이 입력해주고, 적용하고 싶은 프로그램을 재시작해주면 됩니다. { "₩" = ("insertText:", "`"); } fzf 설치 및 단축키 fzf는 히스토리 및 이동을 편하게 해주는 커맨드라인 프로그램입니다. 단축키기능 ⌃ + T 하위 디렉토리 파일 검색 ⌃ + R 히스토리 검색 esc + C 하위 디렉토리 검색 후 이동 더보기 k8s 개발용 도구 - dev space k8s 개발 도구 도입 배경 k8s를 사용하면서 개발할 때 디버깅이 어려웠습니다. 예를 들어서, 로컬에서 소스코드를 변경하고 그 변경분을 쿠버네티스 클러스터에 반영하려고 할 때, 쉽게 변경하기가 어려웠습니다. 1. 로컬에서 소스코드 업데이트 2. 도커로 이미지 빌드 3. 쿠버네티스에 배포 이런 과정을 거쳐서 업데이트 하려면, 도커 이미지 빌드와 푸쉬하는 것에만 시간이 많이 걸리기 때문에 개발 속도가 매우 느리다고 생각했습니다. 다른 몇 가지 방법들로 그 시간들을 좀 단축시킬 수는 있지만, monolith환경처럼 편하게 개발하기가 매우 어려웠습니다. skaffold 시도 그러던 중, k8s 개발 도구 중에서 skaffold가 가장 유명하다고 주변에서 들어서 skaffold를 시도해 보려고 했습니다. 위와 .. 더보기 [개인 클러스터 구축] LoadBalancer를 Vultr IP에 연결 예시 service.yaml 파일 apiVersion: v1 kind: Service metadata: name: mynginx annotations: service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http" spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: mynginx 위와 같이 annotations를 구성하고 deploy하면 load balancer가 외부 ip로 연결됩니다. References https://www.vultr.com/docs/how-to-use-a-vultr-load-balancer-with-vke/ 더보기 [Pycharm] pycharm loading 시 인코딩 때문에 오류가 나는 경우 requirements.txt를 pycharm IDE에서 상단에 나타나는 노란색 bar를 클릭해서 설치하려는 경우에 Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding Python runtime state: core initialized LookupError: unknown encoding: x-windows-949 위와 같은 오류가 발생했습니다. 두 가지를 설정해주니 정상 동작했습니다. 1. settings > editor > general > console 에서 utf-8로 변경 2. settings > editor > file encoding 에서 프로젝트 인코딩을 utf-8.. 더보기 [개인 클러스터 구축] vultr kubernetes k8s 서버 띄우기 공부 목적으로 서버를 띄우고 구성하고 싶었습니다. 그런데, EC2같은 곳에는 하나하나 접속해서 배포하고 하는 과정이 복잡한 것 같아서 배포 과정 단순화를 위해서 kubernetes cluster를 사용하고 싶었고, kubernetes 관련 지식은 있는 상태였습니다. (6개월 정도의 짧은 kubernetes 운용 경험 + CKAD, CKA 자격증) 공부목적의 운영인데 과도한 비용 - 월 10만원 aws나 gcp를 이용해서 구축을 하게 되면 master node 관리에 필요한 비용만 하더라도 월 8만원 정도 나가는 상태이기 때문에, 너무 비싸다고 생각했습니다. 이것저것 하면 공부 목적으로 운영하는 클러스터인데 월 10만원씩 나가는 셈이기 때문에 너무 지출이 크다고 생각했습니다. VULTR.. 더보기 이전 1 2 3 4 ··· 18 다음