전체 글15 코린이의 GitHub action을 활용한 docker이미지 배포 1. 개요본 포스팅에서는 GitHub action, Docker, AWS EC2를 활용하여, 반쪽짜리 CI/CD를 구축하는 방법에 대해서 알아보겠습니다.코드가 필요하신 분은 "3. Docker란?" 목차로 넘어가시면 됩니다.근 한 달간을 투자한 프로젝트의 마감일이 다가왔습니다. 해당 프로젝트를 배포하기 위해 조언을 얻던 중, 수작업으로 배포를 하는 것보다 쉬운 CI / CD 구축 방법이 있다고 해서, 따라하게 되었습니다. 이번글의 목적은 다양한 내용을 다루기 때문에 구체적인 방법과 개념에 대해서는 간략하게 설명하고 넘어가겠습니다.2. CI / CD란?코딩에 막 입문한 분이시라도, CI / CD에 대해서 많이 들어보셨으리라. 생각합니다. 본 포스팅에서는 흐름을 다루기 때문에 자세하게 다루지 않습니다. 따라.. 2024. 10. 11. [HTTP] 자주 사용되는 상태 코드 알아보기(짤막팁 3편) 1. 개요본 포스팅에서는 자주 사용되는 HTTP 상태 코드에 대해서 알아보겠습니다.현재 DRF를 기반으로 한 'ict 교육 플랫폼'만들기 프로젝트를 진행하고 있습니다. 백엔드 부분에서 어떤 status를 반환해야할지 알아보고, 프론트엔드와 연동할 때를 대비하기 위해서 작성되었습니다.2. 200번대200번대의 코드는 성공을 나타냅니다.200 OK요청에 대해 서버가 정상적으로 요청을 처리했을 때 반환HTTP메서드(GET, POST, PUT, DELETE)에 대한 201 Created요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었음을 나타냄주로 POST 요청에 사용204 No Content요청이 성공적으로 처리되었으며, 반환할 데이터가 없음을 나타냄주로 DELETE 요청에 사용3. 300번대리다이렉션.. 2024. 9. 27. [Django] select_related(), prefetch_related()란?(N+1문제 해결법) 1. 개요본 포스팅에서는 N+1문제가 무엇인지에 대해 알아보겠습니다. 이후 select_related와 prefetch_related메서드란 무엇인지 다루고, 이를 활용하여 N+1문제를 해결하는 방법에 대해 알아보겠습니다. 지난번 포스팅에서는 annotate메서드에 대해서 다루었습니다. 해당 메서드를 공부는 과정에서 select_ralated와 prefetch_related메서드를 접하게 되었습니다. 따라서, 이번 포스팅을 작성하게 되었습니다. annotate에 대한 추가적인 정보는 아래 링크를 통하시면 됩니다.[Django] annotate()란? - annotate 사용법(with. only(),values() 쿼리 최적화) 2. N+1 문제란?select_related와 prefetch_relat.. 2024. 9. 19. [Django] annotate()란? - annotate 사용법(with. only(),values() 쿼리 최적화) 1. 개요지난주에 Django를 활용한 블로그 만들기 프로젝트를 진행하였습니다. 다른 분들의 코드가 궁금하여, GitHub에 있는 코드를 리뷰했습니다. 사용해 본 적 없었던 annotate() 메서드를 사용한 코드가 있었습니다. 이 메서드는 카테고리와 태그별로 작성된 포스트의 숫자를 쿼리셋에 추가하기 위해 사용되었습니다. 처음 본 annotate() 메서드를 공부해 보았고, Django의 ORM에 있어서 몰라서는 안 되는 유용한 기능이란 사실을 알게 되었습니다. 본 포스팅에서는 annotate()가 무엇인지 알아보고, 프로젝트에서 어떻게 사용되었는지 살펴보겠습니다. 이후 쿼리 최적화에 대한 내용을 다루고 포스팅을 마치겠습니다.2. annotate()란?영어 사전에서 annotate를 검색하면, 주석을 달.. 2024. 9. 13. [Django] F객체, Q객체란? - ORM에서 F,Q 사용하기(짤막팁 2편) 1. 개요이번 포스팅은 Django의 ORM에서 사용되는 F객체와 Q객체에 대해 알아보겠습니다.2. F객체2.1 F객체란?DB 레벨에서 데이터를 직접 연산하거나 참조할 수 있도록 도와주는 객체입니다. 이를 사용하면 데이터를 메모리로 쿼리셋 형태로 불러오지 않습니다. 연산은 DB에서 직접 수행하기 때문에 효율적입니다. 주로 다음과 같은 세 가지 목적을 위해 사용합니다.필드 간의 값 비교필드 값을 이용한 계산필드 값의 업데이트2.2 F객체 사용법예시로 사용할 Product 모델의 코드와 테이블 구조입니다.from django.db import modelsclass Product(models.Model): name = models.CharField(max_length=255) # 상품 이름 sto.. 2024. 9. 8. [Django] Signals 사용법 - 프로필 자동 생성, 좋아요 숫자 갱신(signal 표로 정리) 1. 개요지난주에 Django를 활용한 웹 블로그 만들기 프로젝트를 진행하였습니다. 계정 생성 시 자동으로 프로필이 생성되고, 좋아요 숫자가 자동으로 갱신되는 기능을 구현하기 위해 Django의 signals라는 기능을 사용했습니다. 이 기능을 활용하기는 했지만, signals에 대해 충분히 이해하지 못하였기에, 정리할 겸 포스팅을 남기기로 하였습니다. 본 포스팅에서는 signals가 무엇인지 알아보고, 프로젝트에서 사용된 실제 코드를 보며 사용 예시를 살펴보겠습니다. 또한 장단점을 파악해보며 포스팅을 마치겠습니다.2. Signals란?영어 단어 뜻 그대로 신호입니다. Django에는 "signal dispatcher"라는 기능이 포함되어있습니다. 이 기능은 특정 발신자(sender)에서 지정한 동작이 .. 2024. 9. 5. [모두의 연구소] 오름 캠프 장고(Django) 백엔드 개발 과정 2기 - 중간 후기 1. 개요오늘의 포스팅은 현재 수강 중인 [모두의 연구소 백엔드 과정 2기]에 대한 중간 후기에 대한 내용입니다. 지금까지는 주어진 과제를 닥치는 대로 진행했습니다. 현재 상황을 점검하는 시간이 필요하다고 느껴 이 포스팅을 작성하게 되었습니다. 본 포스팅에서는 '내가 무엇을 했는가?', '어떤 내용을 배웠는가?', '무엇을 느꼈는가?' 그리고 '무엇을 하고 싶은가?' 등의 질문을 통해 현재의 '나'를 정리하고, 정리된 내용을 포스팅에 녹여내 보려 합니다. 그리고 이 내용을 바탕으로, 앞으로의 학습 방향을 설정하고, 목표를 다시 한번 명확히 하고자 합니다.2. [모두의 연구소] 백엔드 과정 2기 강의 방식2.1 강의 방식평일 오전 9시부터 오후 4시까지 점심시간을 제외한 6시간의 강의와 2시간의 자습 시간.. 2024. 8. 26. GitHub 충돌했을 때 해결하는 방법(Web editor, 터미널 명령어) 1. 개요오늘의 포스팅은 GitHub에서 충돌했을 때 이를 어떻게 해결하는지에 대한 것입니다. 최근 작은 기능들을 만들고 GitHub에 커밋하는 일이 잦아졌고, 이 과정에서 GitHub을 다루는 능력이 중요하다는 것을 다시 한번 느끼게 되었습니다. 앞으로 기능이 커짐에 따라서 커밋하는 일이 더욱 많아질 것이고, 더불어 병합(merge)도 빈번해질 것입니다. 이 과정에서 충돌(conflict) 문제가 자연스럽게 생길 것입니다. 이러한 상황을 대비하여 내용을 정확하게 공부하고, 공유하고 싶어서 포스팅하게 되었습니다. 2. 충돌이 발생하는 이유충돌이 발생하는 이유는 동일한 파일의 동일한 부분을 수정할 때 발생합니다. 아래의 예시를 통해 구체적으로 알아보겠습니다. 아래 코드가 원본 상태라고 가정해 봅시다. 이제.. 2024. 8. 23. 부트 캠프 세미나 발표와 후기 1. 개요 부트 캠프를 진행하면서, 첫 번째로 세미나를 열어서 발표하는 기회를 얻게 되었습니다. 이번 포스팅은 세미나에서 발표한 후기를 공유하고자 합니다.2. 세미나 준비 과정2.1 세미나 주제 선정 배경 부트 캠프의 멘토님께서 의존성 관리 도구인 PDM을 주제로 세미나를 열어보는 것은 어떻겠냐는 제안을 주셨습니다. 마침, Django를 배우기 직전이었고, 이왕이면 같이 공부하시는 분들에게 유익한 세미나를 하고 싶다는 생각이 있었습니다. PDM은 이에 부합하는 주제라 생각되었고, PDM을 효과적으로 설명하기 위해 필요한 내용들을 고민하다 보니, 자연스럽게 발표 내용과 주제가 정리되었습니다.2.2 자료 준비 과정자료 준비 자체는 오래 걸리지 않았습니다. 부트 캠프를 진행하며 공부해 온 내용이었기 때문에 머.. 2024. 8. 13. 7/27 파이썬 웹 세미나 참가 후기 1. 개요 오늘은 '파이썬 웹 세미나'에 참가하고 난 후기를 포스팅하겠습니다. 24년 7월 27일 13시부터 17시까지 모두의 연구소 역삼지점에서 '파이썬 웹 세미나'가 있었습니다. 주최 측은 '사단법인 파이썬 한국 사용자 모임'이었습니다. 이 세미나에 참석하게 된 계기는 개발자를 준비하는 사람이라면 한 번쯤 들어보면 좋을 것이라는 추천을 받아 세미나에 참가하게 되었습니다. 개발에 막 입문한 터라 이해한 내용은 정말 얕았지만, 세미나에서 느꼈던 감정을 잊지 않고자 글로 남기게 되었습니다. 2. 타임 테이블 총 4개의 발표가 있었습니다. 각 발표는 대략 30분 정도로 2시간 정도의 시간이 배정되었고, 4시간 중 나머지 2시간은 참석한 사람들 간의 커뮤니케이션 시간이었습니다. 13시에 시작하여 2개의 발표가.. 2024. 8. 3. 이전 1 2 다음