분류 전체보기
-
[NestJS] 모든게 싱글톤 인스턴스 아니었어? (imports, providers 주의사항)💻 프로그래밍/node 2022. 7. 21. 22:22
안녕하세요! 개발자 Jay 입니다:D 이번 포스팅에서는 nestjs의 싱글톤(singleton)에 대해서 주의사항을 말씀드리려고 합니다! 아시는 분들은 아시겠지만 nestjs에서는 개발자가 인스턴스를 직접 생성하는 것이 아니라 모듈을 주입하는 과정을 통해 nestjs가 알아서 싱글톤 인스턴스를 생성합니다. 제가 최근에 nestjs에 대해 공부를 시작해서 잘 모르고 공부하던 때 생겼던 경험을 공유합니다. 1. 소켓 응답이 왜 두 번?? 웹소켓을 스터디하던 중 이상한 현상을 발견했습니다. 클라이언트에서 메시지를 보내면 서버에서 두 번 응답이 왔습니다. 처음에는 서버에서 이벤트를 동일하게 뭔가 잡고 있어서 생기는 오류인가 했는데 그런 건 아니었습니다. 로직을 봐도 특별히 이상한 부분은 없었습니다. 며칠 삽질을..
-
어느날 신입 개발자가 나에게 물었다..."python에서 staticmethod를 사용하는 것에 있어서 메모리 이슈가 없는 것 일까요?" (feat. java)💻 프로그래밍/Python 2022. 7. 17. 18:57
제곧내(제목이 곧 내용)입니다! ㅋㅋㅋ 최근 저희팀에 합류하신 ㅅㄱ님께서 개발 중 이런 질문을 하셨습니다. 사실 이질문을 듣고 라는 생각이 먼저 떠올랐습니다ㅠㅠ 그리고 python을 메인으로 쓰면서 이런 기본적인 부분을 숙지하지 않았다는게 부끄럽기도 했습니다. (함께 자료를 찾아보고 토론의 시간을 가짐) 처음 C, C++로 개발을 했을 때는 메모리에 관리에 신경 쓰면서 개발을 했던 것 같은데 python으로 개발하면서 이런 부분을 신경을 안 썼던 것 같습니다. (python은 개발자가 동적으로 메모리를 할당할 수 없고 알아서 관리해줍니다) C++처럼 malloc(), calloc(), realloc(), free() 등을 통해 동적 할당을 제어하지도 않고, 변수에 그냥 갖다박으면(?) 알아서 메모리 할당..
-
DRF Renderer에 따라 다르게 동작되는 서버 Response💻 프로그래밍/Django 2022. 7. 10. 19:29
회사 신규 서비스를 개발하던 중 슬랙 알림으로 500 에러가 올라왔습니다!;; (500 에러 보면 경기 일으킴) 에러 메시지를 보니까 토큰 리프래시 하는 api에서 오류가 났더라고요! method를 확인해보니 GET으로 요청하고 있었습니다. 토큰 리프래시 api는 POST로만 요청이 가능했고, 해당 메서드가 없는 경우 405를 리턴하는 걸로 알고 있었습니다. postman으로 테스트를 했을 때도 500 에러가 아닌 405를 리턴해주고 있었습니다! 뭔가 이상함을 느꼈고 에러 메시지를 유심히 보다가 UserAgent를 보았습니다. Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0 음... ios, android에서 보내..
-
사내 글쓰기 모임 운영 후기 및 회고 (feat.다또)👨🏻💻 개발자 제이의 이야기 2022. 6. 27. 20:08
올해 1월부터 6월까지 사내 글쓰기 모임을 운영하면서 느낀 점 등을 정리하는 글입니다! 시간이 생각보다 금방 흘러가네요...벌써 반년이 지나다니;; 📝 사내 글쓰기 모임을 시작한 이유 개인적으로 글또(글쓰는 또라이들의 모임) 3, 4기를 참여하면서 글 쓰는 습관도 많이 생겼고, 블로그에 내가 공부했던 내용을 정리하는 게 굉장히 뿌듯했습니다😊 저만의 포트폴리오가 생기는것 같기도 하고, 개발자로서 조금씩 성장하는 것 같은 동기부여도 되었습니다! 블로그에 글을 열심히 써온 덕분에 출판사에 연락을 받아 책까지 출간하는 값진 경험도 하게 되었고요! 이런 경험들이 되게 좋았고 커뮤니티를 통해서 하는 것도 좋지만 가장 가까운 곳에서 함께 일하는 동료들과 작게나마 운영해보는 것도 좋을 것 같아서 시작을 했습니다. 개발..
-
[SSL인증서] gogetssl 인증서 ncloud certification manger 등록💻 프로그래밍/네트워크 2022. 6. 20. 21:56
안녕하세요! 개발자 Jay입니다! 신규서비스 개발을 하면서 LB에 ssl 인증서를 등록이 필요하여 삽질했던 과정을 정리해봅니다! 크게 어려운 부분은 없으나 약간 헷갈리는 부분이 있어서 ㅋㅋ 1. gogetssl 인증서 구입 및 등록 먼저 메인 대시보드에서 New Order 버튼을 클릭하면 새로운 ssl 인증서 주문 페이지로 이동합니다. 인증서 종류를 선택합니다. 제가 사용할 인증서 종류 Wildcard SSL 입니다. (ex: *.jay.com) 종류에 따라 가격이 다르며, 신규서비스이기 때문에 미래가 어떻게 될지 모르니(😂) 1년으로 선택하고 결제를 진행합니다. 다음은 CSR을 입력하는 폼이 나옵니다. 자세히 보면 온라인 CSR Generator가 있어서 그걸 클릭하면 CSR을 생성할 수 있는 폼으로 ..
-
Session과 JWT에 대해 알아보자잇! (feat.인증, 인가)💻 프로그래밍/Django 2022. 6. 20. 02:09
안녕하세요! 개발자 JAY입니다! 오늘은 session과 jwt 에 대해서 알아보려고 합니다. 추가적으로 인증(Authentication)과 인가(Authorization)에 대해서도 이야기해보려고 해요! 1. 인증(Authentication)과 인가(Authorization)의 차이 먼저 인증과 인가에 대해서 알아보겠습니다. 그 이유는 session, jwt가 인증과 관련이 있고 간혹 인증과 인가를 헷갈리는 분들이 계시기 때문이에요! 알고 보면 정말 간단합니다! 먼저 인증(Authentication)은 말 그대로 내가 누군지 인증하는 겁니다. 예를 들어 회사에 들어갈 때 얼굴 인증 등으로 본인이 누구인지 인증을 하게 되죠? ID/PW를 통해 로그인하는 과정과 비슷합니다. 인가/권한 부여(Authoriz..
-
지.극.히. 개인적인 4년차 개발자의 성장곡선 🚀👨🏻💻 개발자 제이의 이야기 2022. 6. 11. 04:45
안녕하세요! 운동'했'던 개발자 Jay입니다😁 (슬프다...운동하는 개발자 타이틀 사라짐...) 오늘은 제가 정말 지.극.히 개인적으로 저의 경험으로 느낀 개발자의 성장에 대하여 이야기해보려고 합니다~ 저의 개인적인 경험을 바탕으로 하는 이야기지만 어느정도 공감이 되시리라 생각해요! 그럼 바로 저의 3년 8개월 동안의 개발자의 성장곡선을 확인해보겠습니다! (PS. 근데 쓰다보니 2022년 상반기 회고 같은 느낌이 돼버렸네요 😂ㅋㅋㅋ) 📈 3년 8개월 (4년차) 나의 성장곡선 정신없이 살다보니 눈 깜짝할 사이에 4년차를 맞이 했습니다...(언제 시간이 이렇게...) 그동안은 나 주니어 개발자야~ 이러면서 어느 정도 여유(?)가 있었는데 4년차에 들어서면서 약간의 부담감이 느껴지기도 합니다. 하루하루가 물경..
-
docker-compose 무중단 배포 1편 (blue, green)💻 프로그래밍/K8s & Docker 2022. 5. 29. 01:54
안녕하세요! 개발자 Jay입니다! 오늘은 CI/CD를 위한 docker-compose 무중단 배포에 대해서 정리해봤습니다! 다들 로컬에서 테스트를 하거나 서버에서 docker-compose up, down 등으로 새로 컨테이너를 띄우는 과정들을 해보셨을 겁니다! 만약 production 환경에서 이렇게 하게된다면 어떻게 될까요? 정답은 컨테이너가 재시작 되는 시점 동안 사용자들이 오류를 겪게 되겠죠?? 혹은 배포하면서 문제가 생겨서 컨테이너가 뜨지 않는다면 동일하게 오류를 겪게 되겠죠? ㅎㅎ 그렇기 때문에 production환경에서는 무중단 배포를 해야 합니다! 1. 무중단 배포 종류 무중단 배포는 크게 두가지 종류로 나뉜다고 합니다. - rolling update 배포 새로 배포되어야 하는 버전을 하나..