전체 글

전체 글

    swagger로 API 문서 자동화하기(nodeJS)

    사이드 프로젝트에서 swagger를 적용한 내용을 공유합니다. postman 문서를 사용하는데에도 큰 불편함이 없었는데도 swagger를 적용하고 나니 너무 편합니다. API 문서 작성에 불편함을 느끼고 있다면 강추드립니다.👍👍 swagger는 다양한 언어를 지원하며 이 글에서는 nodeJS를 기준으로 설명합니다. 예제는 github에서 확인하실 수 있습니다. Swagger란 swagger는 REST API를 편리하게 문서화해주고 설계, 빌드, 조회하는 일을 지원해주는 프레임워크입니다. 간단하게 API 문서를 작성할 수 있으며 내용만 작성하면 아래 사진처럼 페이지를 자동으로 빌드해줍니다. UI가 깔끔해서 문서가 한눈에 들어오고 postman처럼 API를 호출 해볼 수도 있습니다! API를 선택하면 Par..

    Java 메일 전송 시 권한 에러 해결방법(Sending the email to the following server failed : smtp.gmail.com:465)

    권한 에러 발생 Java 환경에서 메일 발송 기능을 구현 중 구글 계정을 변경하니 권한 관련 에러가 발생했습니다. threw exception [Request processing failed; nested exception is org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:465] with root cause Error: Invalid login: 534-5.7.9 Application-specific password required. Learn more at 534 5.7.9 https://support.google.com/mail/?p=InvalidSecon..

    NodeJS 환경에서 부하테스트 진행하기(Artillery 이용)

    사이드 프로젝트에서 프로모션을 준비하고 있는데 갑자기 이런 걱정이 들었습니다. 갑자기 사용자가 몰려서 서버가 터지면 어떡하지? 현재 서버는 몇 명의 사용자까지 감당할 수 있지? 지금까지는 사용자가 몰릴만한 이벤트가 없었기 때문에 문제가 없었지만, 링크 공유로 사용자가 급증하거나 누군가 악의적으로 요청을 많이 보낸다면 서버가 어떻게 될지 모르기 때문에 불안했습니다. 찾아보니 NodeJs로 쉽게 부하테스트를 진행할 수 있는 Artillery라는 툴이 있었고 덕분에 서버의 한계치를 알 수 있었습니다 :) 처음 진행한 부하 테스트이다보니 부족한 내용이 있다면 댓글 달아주시면 감사하겠습니다. 🙏 부하테스트란? 임계치의 한계에 도달할 때까지 시스템에 부하를 꾸준히 증가시키며 진행하는 테스트 성능 테스트, 스트레스 ..

    내가 생각하는 좋은 개발자란?

    내가 생각하는 좋은 개발자는 같이 일하고 싶은 개발자다. 개발자란 결국 소프트웨어(서비스)를 만드는 사람이다. 테스트 코드 작성, 최신 기술 스택도 좋지만 만들려는 서비스에 집중할줄 유연함이 필요하다고 생각한다. (일정, 커뮤니케이션, 기능) 백엔드 개발 같이 일하고 싶은 사람 프로덕트 전체를 생각하며 개발을 진행하는 개발자 내 업무 Role만 생각하는게 아니라 전체를 바라보면 안보이던 것이 보이게 된다. 테스트 코드 작성, 테스트 주도 개발 누가봐도 클린 코드, 클린 아키텍쳐 언어, DB에 대한 깊은 이해 대용량 트래픽 서비스 운영 능력 데이터베이스 테이블 설계 능력 성능 최적화 개발 외 팀원과 커뮤니케이션 능력 꾸준한 자기계발 문서화하면 좋은 자료는 전부 문서화

    [공유] 자바 공화국

    현재 주 언어로 NodeJS + Typescript를 사용하고 있다. NodeJS로 사이드 프로젝트도 진행하고 개발을 계속 하고 있지만 실력이 멈춰있는 기분이다. 다음 단계로 넘어가고 싶지만 방법을 모르겠다. 테스트 주도 개발, 클린 코드, 객체지향, 도메인 주도 개발 관련 좋은 컨텐츠는 모두 Java로 이루어져 있고 나는 Java 코드를 읽을줄 모른다.. 목표 = NodeJS 개발자가 아니라 좋은 백엔드 개발자 Java 배우자! https://jojoldu.tistory.com/609 자바 공화국 오늘 교보에서 주문한 단위 테스트 책을 받았다. Xunit 테스트 패턴 책 (번역이 나와 맞지 않았다ㅠ) 이후에 테스트와 관련해서는 되게 오랫만에 본 재밌는 책이여서 이건 우리팀 위키에 정리해서 jojoldu..

    Sentry로 쉽고 안전하게 서비스 운영하기

    Hola! 서비스를 운영하면서 에러 로깅 + 모니터링 시스템을 적용한 내용을 공유하려고 합니다. 서비스를 운영하면서 가장 불안한 점은 언제 오류가 발생할지 모른다는 거죠.🥲 실제로 아래와 같은 불편함을 겪고있다면 Sentry 도입을 추천드립니다. (저는 모두 해당됐었..) 서비스에 접속이 안될까봐 수시로 접속해서 확인한다. 주기적으로 서버에 접속하여 에러 로그를 확인한다. 접속해서 모든 기능을 테스트 해볼 수 없다. 에러가 발생하더라도 팀원에게 공유하기 힘들다. Sentry란? Sentry란 Application 에러 트래킹, 성능 모니터링을 제공해주는 서비스입니다. 에러가 발생하면 알림을 받을 수 있고 에러에 대한 상세 정보를 트래킹 해줍니다. 성능 모니터링을 이용해 각 지표들을 쉽게 확인할 수 있습니..

    [Docker] Docker 환경 Nginx에 SSL 인증서 적용하기(Let’s Encrypt)

    Nginx에 SSL 인증서를 적용한 내용을 공유합니다. 컨테이너 상의 Nginx에 인증서를 적용하다 보니 방법이 잘 이해가 가지 않아 생각해보다 헤매었네요 😲 Let’s Encrypt 유효성 검사를 완료하려면 Nginx가 필요하지만 인증서가 없으면 nginx가 시작되지 않습니다. 그래서 임시로 https를 사용하지 않는 척 nginx를 실행한 다음 인증서를 발급받고 https를 사용한 nginx에 인증서를 적용하면 됩니다. 준비물 docker-compose 도메인 주소 💡 SSL이란? https를 통한 인터넷 접속은 서버와의 암호화를 통신하고 있는 것을 의미합니다. 이때 사용하는 보안 프로토콜이 SSL(Secure Socket Layer)이며 보안이 향상된 통신을 할 수 있게 됩니다. - http 뒤에 ..

    [Macbook] 맥북 외장모니터 연결 문제 임시 해결(모니터 깜빡임)

    맥북에서 외장 모니터 연결 시 깜박이는 문제가 발생했습니다. 원래는 문제가 없었는데 OS를 Monterey로 업데이트 이후 깜빡임 현상이 발생했습니다. 완전한 해결 방법은 아니지만 임시 조치라도 하지 않으면 외장 모니터를 못쓰기 때문에 도움이 될까 싶어 글을 작성하게 되었습니다. 기기 정보 Device : M1 macbook Air OS : macOS Monterey 12.1 문제 외부 모니터 연결 시 깜빡거림 임시 해결 방법 OS를 최신으로 업데이트 해보고 연결 케이블을 바꿔봐도 증상은 동일했습니다. 노트북의 문제인줄 알았는데 다른 모니터에 연결 시 정상적으로 연결이 됐습니다. 맥북을 살때는 뽑기를 잘해야.. 1. 시스템 환경 설정 - 디스플레이 - 외부 모니터 우클릭 - 내장 Retina 디스플레이 ..