전체 글

기타 (Other)

코드 리뷰 관련 읽어볼만한 글

- 리뷰어의 의견에 대처하는 방법https://soojin.ro/review/handling-comments How to handle reviewer comments · Soojin Ro리뷰어의 의견에 대처하는 방법 리뷰어의 의견을 받고나서 적절히 대처하는 방법 몇 가지를 소개한다. 감정적으로 받아들이지 않는다. 코드 리뷰의 핵심 가치는 코드와 제품의 품질을 높게 유soojin.ro

기타 (Other)

Cursor 관련 읽어볼만한 글

- Cursor는 어떻게 작동하는가https://blog.sshh.io/p/how-cursor-ai-ide-works How Cursor (AI IDE) WorksTurning LLMs into coding experts and how to take advantage of them.blog.sshh.io - Awesome cursorruleshttps://github.com/PatrickJS/awesome-cursorrules GitHub - PatrickJS/awesome-cursorrules: 📄 A curated list of awesome .cursorrules files📄 A curated list of awesome .cursorrules files. Contribute to Patrick..

기타 (Other)

개발 관련 읽어볼만한 글

- 좋은 소프트웨어 개발 습관https://news.hada.io/topic?id=17820&utm_source=weekly&utm_medium=email&utm_campaign=202448 좋은 소프트웨어 개발 습관 | GeekNews이 글은 조언이 아닌, 저자가 현재 적용하고 있는 개발 습관들에 대해 작성한 내용나쁜 습관을 피하고 좋은 습관을 만들기 위해 노력한 경험을 정리한 글로, 생산성 향상과 품질 유지에 도움이news.hada.io  - 친절 엔지니어링https://news.hada.io/topic?id=18837&utm_source=weekly&utm_medium=email&utm_campaign=202504 친절 엔지니어링 - 구체적인 친절 가이드 | GeekNews친절함이란친절함 (kind..

카테고리 없음

[SoMa]소프트웨어 마에스트로 16기 합격 후기

개요SW마에스트로특이 사항으로는 이번에는 규모가 줄어들어 110명으로 진행되었습니다.지원서 제출지원서는 자기소개서, 수상 내역, 그리고 가능하다면 디지털 인재 재능 사다리 사업 연계로 1차 코딩테스트 면제를 받을 수 있습니다.자기소개서SW분야의 전문성을 위해 몰입해본 도전, 성장하며 얻은 배움1000자 제한을 거의 꽉 채워서 작성했습니다. 인턴십을 하며 진행한 프로젝트와 이를 통한 성장 경험을 작성했습니다.SW 마에스트로 과정을 통해 수행해보고 싶은 프로젝트600자 정도를 작성했습니다. 평소에 해보고 싶었고, 어느정도 적절한 기술력을 요구할 프로젝트를 작성했습니다.대회 수상 내역교내 수상 내역 3개 정도를 작성했습니다.디지털 인재 재능 사다리학교가 SW중심대학이었고, 운좋게 추천을 받을 수 있었습니다. ..

파이썬 (Python)

MacOS mysqlclient & psycopg2 환경 설정

개요MacOS에서 파이썬 DB 관련 라이브러리인 mysqlclient와 psycopg2를 사용할 때 겪을 수 있는 의존 라이브러리에 관한 정리 글 입니다.brew를 사용합니다.mysqlclient오류Exception: Can not find valid pkg-config name.Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually설정법mysqlclient를 사용하기 위해서는 mysql또는 mysql-client를 설치해야한다.mysql 또는 mysql-client 설치mysqlbrew install mysql pkg-configmysql-client용량: 약 126MBmysql-client@9.0은 mysql_native_passwo..

파이썬 (Python)

Celery 재시도 로직과 Exponential Backoff and Jitter

개요Celery는 파이썬에서 널리 사용되는 비동기 작업 큐 라이브러리로, 주로 분산 작업 처리와 백그라운드 작업 실행을 위해 활용됩니다.비동기 작업에는 외부 API 호출이 포함되는 경우가 많으며, 이러한 작업은 외부 환경의 영향을 받기 쉽습니다. 네트워크 지연, 일시적인 API 장애, 서비스의 부하 등으로 인해 작업이 실패할 수 있습니다. 그러나 실패 원인이 일시적인 네트워크 문제인지, API 서비스의 장기적인 장애인지 즉시 판단하기는 어렵습니다.이 글에서는 Exponential Backoff와 Jitter라는 안정성 보장 기법을 소개하고, 이를 Celery에 적용해 외부 API 통합 시스템의 신뢰성과 복원력을 강화하는 방법을 설명합니다.Celery Task의 재시도 로직Celery task를 정의할때는..

서버(Server)

REST API URL 규칙

리소스 명사는 복수형으로# Good/language-tests# Bad/language-testURL에 kebab-case 사용, parameter에 camelCase 사용# Good/language-tests/language-tests/{testId}# Bad/language_tests/{test-id}/languageTests/{test_id}리소스 URL에 동사 금지# GoodPOST /language-tests# BadPOST /language-tests/create단, CRUD 작업이 아닌 경우에는 동사 사용 가능POST /language-tests/123/revalidate리소스 리스트에는 리소스 갯수 포함GET /language-tests# Response{ languageTests: [ ..

파이썬 (Python)

Python isinstance() 사용시의 주의점

isinstance()파이썬에는 isinstance() 라는 인스턴스가 특정 클래스/데이터 타입인지 검사할 수 있는 메서드가 존재한다. 이는 약타입 언어인 파이썬에서 유용하게 사용될 수 있는 기능이다.import datetime as dtinteger = 1print(isinstance(integer, int)) # Truetoday = dt.date.today()print(isinstance(today, dt.date)) # Truedate → datetime 변환 로직해당 isinstance() 메서드를 이용해 date 객체를 datetime으로 변환하는 다음과 같은 로직이 있다.import datetime as dtdef convert_to_datetime(date: dt.date | dt.da..

인프라 (Infra)

컨테이너 레지스트리 비교

개요Docker Hub는 가장 널리 쓰이는 컨테이너 이미지 저장소이지만, 이 외에도 AWS의 ECR, Google의 GCR, Azure의 ACR, 그리고 GitHub와 GitLab 레지스트리 등 다양한 컨테이너 레지스트리 서비스들이 존재합니다.이번 글에서는 Docker Hub를 포함한 여러 컨테이너 레지스트리 서비스를 비교해, 어떤 옵션이 프로젝트에 적합한지 알아보겠습니다.서비스Docker HubDocker Hub는 Docker의 제작사인 Docker Inc.에서 제공하는 기본 컨테이너 이미지 레지스트리입니다.기본 설정으로 docker pull 명령어를 사용할 때 별도의 레지스트리를 지정하지 않으면, 자동으로 Docker Hub에서 이미지를 가져옵니다. 예를 들어, docker pull nginx와 같이..

인프라 (Infra)

HeadVer 버저닝 기반 Vercel 자동 배포 구현기

개요솔리드 커넥션의 웹 파트를 개발하며 HeadVer 버저닝을 기반으로 Github Actions와 Vercel을 사용해 CI/CD 자동화를 이루어낸 기록을 정리합니다.솔리드 커넥션 웹, 그리고 배포 방식솔리드 커넥션은 교환학생을 돕기 위한 서비스입니다. 웹 애플리케이션은 Next.js로 개발되었으며, 배포는 Vercel을 통해 이루어지고 있습니다.Vercel은 정말 편리한 기능들을 많이 제공하고 있습니다. 그 중 하나는 Github과 잘 연계하여 빌드/배포를 매우 편리하게 해주는 것인데요, Github에 올라온 커밋들을 모두 자동으로 빌드해주고, 지정된 배포 브랜치에 올라온 내용을 자동으로 배포해줍니다. 서비스 CD를 위해서 배포용 release 브랜치를 만들고, 해당 브랜치에 PR을 올리는 것으로 배..

Muromi
생쥐 개발자