파이썬과 장고에 진심인 소프트웨어 개발자
파이썬/장고 질답 및 교육서비스, 파이썬 사랑방 주인장
파이썬 사랑방 with Django/React 커뮤니티 (구. Ask Django) 운영자
(전) Microsoft Azure MVP 어워드 수상 (2016년~2022년)
대외 활동
오프라인 교육 : SK텔링크, LS그룹, 삼성 디스플레이, 부산대학교 정보화본부, 서울대학교 벤처경영학연합전공, 패스트캠퍼스 웹서비스 개발 캠프 3기 등
기술 자문 : 유클리드소프트, 부산대학교, 한국산업기술평가관리원, 한국방송통신전파진흥원 등
여러분의 파이썬/장고/리액트 페이스메이커가 되겠습니다. 😉
안녕하세요. 파이썬과 웹개발을 사랑하는 20년차 소프트웨어 개발자 이진석입니다. 파이썬의 놀라운 생산성에 매료되어 임베디드 소프트웨어부터, PC 애플리케이션, 공장 자동화, 웹서비스, 앱개발까지 두루두루 파이썬으로 서비스해본 파이썬 홀릭입니다. 저는 생산성을 항상 고민하는 사람이고 파이썬이 아직까지 제게는 최고의 생산성을 안겨주는 최고의 선물입니다.
파이썬/장고/HTMX/리액트와 관련하여 궁금한 부분이 있거나 다양한 이야기 나누고 싶으신 분과 대화를 나누고 저의 경험을 나눠드리고자 멘토링을 시작하게 되었습니다.
멘토링이 도움이 되실 수 있는 분들
- 웹개발이 처음인데, 파이썬과 장고에 대해서 관심이 있으시고, 어떻게 시작해야할지 막막하신 분들
- 보다 효율적인 장고 웹 개발에 대해서 궁금하신 분들
- 작성하신 장고 코드에 대해서 코드 리뷰가 필요하신 분들
- 운영하는 강의에 대해서 궁금한 내용이 있으신 분들
운영 중인 강의
- (인프런) 장고 설계철학으로 시작하는 파이썬 장고 입문
- (인프런) 파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
- (인프런) ChatGPT 영어 상황극 채팅 서비스 만들기 (Feat. 파이썬/장고채널스)
- (인프런) 파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
- (인프런) 파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
진행 방식
- Google Meet을 통해 온라인으로 진행하구요. 화상은 끄셔도 괜찮습니다.
- 예약이 되면, 신청 시에 기입해주신 이메일과 문자 메시지를 통해 접속주소를 알려드립니다.
- 예약 시간은 상호 협의 하에 조정 가능합니다.
- 시간이 지나도 너무 신경 쓰지 않으셔도 괜찮습니다. 평균적으로 20분~30분 정도는 이야기를 더 나누는 편입니다.
준비하실 내용
가능하시다면, 다음의 내용을 신청 시에 "지식공유자에게 남길 메시지"로 보내주시거나, 멘토링 사전 안내의 이메일 주소로 미리 보내주시면, 제가 멘토링을 준비하는 데에 도움이 됩니다.
- 멘토링을 통해 얻고자 하는 목표
- 질문하려는 내용
---
당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)
강의
수강평
- 파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
- 장고 설계철학으로 시작하는 파이썬 장고 입문
- 파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
- 장고 설계철학으로 시작하는 파이썬 장고 입문
게시글
질문&답변
강의 자료 문의
강의의 첫 수업 페이지에서 전체 PDF를 다운로드하실 수 있습니다.https://www.inflearn.com/courses/lecture?courseId=332659&type=LECTURE&unitId=204794&tab=curriculum감사드리고, 화이팅입니다. :-)
- 0
- 2
- 27
질문&답변
강의 자료 문의
옙. 의견 감사드립니다.오늘 정리한 후에 다시 댓글 드리겠습니다. :)
- 0
- 2
- 27
질문&답변
선생님 학습 방법 질문이 있습니다.
안녕하세요.「섹션 2. 정적 웹문서에서 장고로 동적 웹문서까지 빠르게 맛보기」 챕터의 핵심은 SSR(Server-Side Rendering)과 CSR(Client-Side Rendering)의 차이를 이해하는 것입니다.두 방식 모두 데이터는 항상 서버에서 생성됩니다. 차이점은 데이터를 클라이언트에 전달하는 방법에 있습니다.• SSR: 서버에서 생성한 데이터를 HTML 문서에 미리 포함하여 전달합니다.• CSR: HTML과 데이터를 별도로 분리하여, 클라이언트에서 별도의 API 요청을 통해 데이터를 받아옵니다.이 챕터에서는 다음 내용을 중심으로 학습해보세요.• SSR과 CSR 방식에서 데이터가 언제, 어떤 경로로 클라이언트 UI에 전달되는지 명확히 정리하기• SSR과 CSR의 데이터 흐름(flow)을 종이에 그려 시각적으로 정리하기• SSR과 CSR의 구현 방식에는 다양한 방법이 존재한다는 점을 이해하기추가로, 코드 실습 부분은 완벽히 이해하지 않으셔도 괜찮습니다. 단지 개념을 익히기 위해 한 번 실습을 경험하는 것으로 충분합니다.살펴보시며, 다양한 질문 많이 남겨주세요. 화이팅입니다. ;-)
- 0
- 2
- 28
질문&답변
bulk_update에서 updated_at 필드
안녕하세요.김은혜 님께서 말씀하신 내용이 맞습니다.제 설명에서도 bulk_update 전에 .update_at 필드 값 지정이 없었고, bulk_update 호출 시에는 모델의 save 호출이 없기 때문에, 기존 updated_at 필드값으로 UPDATE 쿼리가 수행된 상황입니다.1) post.title 값 지정할 때 post.updated_at 필드 값도 timezone.now() 값을 지정하실 수도 있겠지만, 이는 매 포스팅마다 다른 시각을 지정하는 것인데요.2) .updated_at 값은 동일한 값으로 지정해도 된다면, updated_at 필드는 뺀 bulk_update 후에 아래와 같이 updated_at 필드 값을 일괄 변경해주시면 하나의 쿼리로 업데이트가 이뤄집니다.post_qs.update(updated_at=timezone.now())저는 두번째 방법을 추천드립니다.좋은 질문 주셔서 감사드립니다. 🙇화이팅입니다. :-)
- 0
- 1
- 41
질문&답변
정규표현식
안녕하세요.질문주신 대로 정규표현식 패턴에 오류가 있네요. ㅎㅎ 지적해주셔서 감사드립니다.아래와 같이 다시 구성해볼 수 있을 듯 합니다. :-)^20\d{2}/(0?[1-9]|1[0-2])/(0?[1-9]|[12]\d|3[01])$강의를 즐겨주시고, 이렇게 질문도 주셔서 다시 한 번 더 감사드립니다.화이팅입니다 !!! ;-)
- 0
- 2
- 47
질문&답변
Django-Components의 0.128 세팅
안녕하세요. 어느덧 django-components 버전도 0.129 버전이 되었네요.강의의 장고 프로젝트에 django-components 0.129 버전 대응 방법을 아래 링크에 정리해봤습니다.https://ai.pyhub.kr/django/components/django-components/setup아래 커밋을 통해서도 동작을 확인했으니, 확인해보시고 댓글 부탁드립니다. :-)https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/c0d965ac1a1df9a33986b70ff6d8a65e8b699fc9늦어서 죄송합니다.
- 0
- 3
- 112
질문&답변
유저목록 확인 문제 질문드립니다.
안녕하세요.장고 View 단에서 page not found가 뜨는 이유는 여러 가지 입니다.urlpatterns 리스트에서 매칭된 URL Pattern 을 찾지 못했을 때.두번째는 view 내에서 get_object_or_404 메서드 내에서 지정 name의 Room을 찾지 못했을 때, get_object_or_404 메서드 내부에서 Http404 예외가 발생하고 이것이 page not found 응답으로 이어갑니다.어떤 상황인지 파악하셔야 합니다. 단지 page not found 라고만 인지하시면 문제 해결이 어렵습니다. 현재 어떤 URL로 요청을 했고, 어떤 응답화면을 보고 계신지 확인을 하시면 좋습니다. settings.DEBUG = True 일 때에는 에러응답에 디버깅에 필요한 정보를 주거든요.요청 URL과 응답화면 스크린샷, 그리고 찾을려고 하시는 Room 레코드의 존재유무를 확인해서 보여주시겠어요?화이팅입니다. :-)
- 0
- 2
- 55
질문&답변
안녕하세요 선생님,
안녕하세요.self.scope["url_route"]["kwargs"] 사전은 websocket_urlpatterns 에 명시한 path에 정의한 값들로 구성됩니다. 장고 View 함수에서 인자로 전달받는 값과 같습니다.그러니 path("ws/chat//", ...) 처럼 room_pk 항목이 있으셔야 합니다.살펴보시고 댓글 남겨주세요. :-)
- 0
- 1
- 35
질문&답변
하나의 채팅방만 만들어보려고 하는데 잘 안되고 있습니다.
안녕하세요.TypeError: 'list' object is not callable 예외가 발생한 상황입니다. 에러 메시지를 잘 보시면 list 객체는 호출할 수 없다는 내용인데요. 리스트 객체를 호출한 상황이라는 거죠. 함수처럼 호출되어야하는 부분에 리스트 값이 들어간 상황으로 예상할 수 있습니다.asgi.py 코드를 보시면, AuthMiddlewareStack 미들웨어 스택에 urlpatterns 리스트를 그대로 넘기고 있습니다. AuthMiddlewareStack 는 asgi app (함수처럼 호출할 수 있습니다.)을 인자로 받고, asgi app을 반환합니다. 그런데 리스트를 넘기셔서 현재의 오류가 발생하신 듯 보입니다.urlpatterns 리스트는 URLRouter 앱으로 감싸주셔야 asgi app 으로 처리됩니다. AuthMiddlewareStack(URLRouter(urlpatterns + urlpatterns))와 같은 포맷으로 구현하심면 되실 듯 하구요.room_chat 뷰에서 미인증 유저로부터의 요청은 거부토록 먼저 구현하구요. 웹소켓 단에서는 Consumer에서 연결요청을 받을 때 connect 메서드가 호출이 되고, 이때 연결을 수락할려면 self.accept() 를 호출하여 요청을 수락하고, 연결을 거부할려면 self.close()를 호출하시어 거부하실 수 있습니다.살펴보시고 댓글 남겨주세요. 화이팅입니다. :-)
- 0
- 1
- 40
질문&답변
공유자님 이 강의 공부 방법에 대한 질문입니다.
안녕하세요.강의를 효과적으로 접근하는 방법은, 빠르게 전체를 훓으며 전체적인 큰 흐름(숲)을 먼저 파악하고, 이후에 반복 학습을 통해 세부 내용을 보완하는 방식입니다. 초반에는 강의의 각 챕터를 가볍게 따라가시며 전체적인 구조와 흐름을 이해하는 데 집중하시구요. 이 과정에서 이런 개념이 있구나 정도로만 인식하시는 것이 학습 부담을 줄이고 전반적인 맥락을 파악하시는 데 도움이 됩니다.그리고, 이 강의 하나를 온전히 이해하시게 되면 장고 중급자로서 이야기할 수 있을 정도로 다루는 내용이 깊습니다. 강의에서 장고를 포함한 웹 기술 전반을 다루므로 모든 내용을 완벽하게 익히지 않아도 됩니다. 차근차근 경험해보시며 이해도를 쌓아가시면, 자연스럽게 장고 위주의 웹 기술의 근본을 이해하실 수 있을 것입니다.더불어, 파이썬의 함수, 클래스, 상속, 일급함수, 장식자와 같은 파이썬 문법에 대해서는 장고 내에서도 많이 사용되므로, 시간을 들여 깊이있게 공부하시면 좋습니다.살펴보시며, 다양한 질문 많이 남겨주세요.화이팅입니다. :-)
- 0
- 2
- 76