inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

안녕하세요 선생님,

미해결

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

#consumers.py from asgiref.sync import async_to_sync from channels.generic.websocket import JsonWebsocketConsumer from chat.models import Room # 모든 유저가 고정된 채널 레이어 그룹을 가질것. class ChatConsumer(JsonWebsocketConsumer): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) SQUARE_GROUP_NAME = "square" self.group_name = [SQUARE_GROUP_NAME] self.room = None def connect(self): user = self.scope['user'] if not user.is_authenticated: self.close() else: room_name = self.scope['url_route']['kwargs']['room_pk'] try: self.room = Room.objects.get(pk=room_name) except Room.DoesNotExist: #지정 룸 pk에 룸 인스턴스가 없을 경우 웹소켓 연결요청 수락. pass else: self.group_name = self.SQUARE_GROUP_NAME is_new_join = self.room.user_join(self.channel_name, user) if is_new_join: async_to_sync(self.channel_layer.group_send)( self.group_name, { "type": "chat.user.join", "username": user.username, } ) async_to_sync(self.channel_layer.group_add)( self.group_name, self.channel_name ) self.accept() def disconnect(self, code): if self.group_name: async_to_sync(self.channel_layer.group_discard)( self.group_name, self.channel_name ) user = self.scope['user'] if self.room is not None: is_last_leave = self.room.user_leave(self.channel_name, user) if is_last_leave: async_to_sync(self.channel_layer.group_send)( self.group_name, { "type": "chat.user.leave", "username": user.username, } ) def chat_user_join(self, message_dict): self.send_json({ "type": "chat.user.join", "username": message_dict["username"], }) def chat_user_leave(self, message_dict): self.send_json({ "type": "chat.user.leave", "username": message_dict["username"], }) def chat_message(self, message_dict): self.send_json({ "type": "chat.message", "message": message_dict["message"], "sender": message_dict["sender"], }) def receive_json(self, content, **kwargs): user = self.scope["user"] _type = content["type"] if _type == "chat.message": message = content["message"] sender = user.username async_to_sync(self.channel_layer.group_send)( self.SQUARE_GROUP_NAME, { "type": "chat.message", "message": message, "sender": sender, } ) else: print(f"Invalid message type : ${_type}") room_name = self.scope['url_route']['kwargs']['room_pk'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ KeyError: 'room_pk' 이런 에러가 나서, urls.py, views.py, index.html도 맞춰줘 봤지만, 잘 해결이 되질 않습니다. 어떤식으로 이 에러를 처리해야할까요. 오늘도 좋은 하루 되시길 바랍니다. 감사합니다.

  • python
  • django
  • django-channels
sunnnwo 댓글 1 좋아요 0 조회수 117

상세페이지로 이동하는 url을 받아서 이동할때, url유형이 달라요

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

상세페이지 href속성을 찾아 기존페이지 url?상세페이지 url을 적용하여 실습을 성공해 오다가 난관에 부딪혔습니다. html속성값을 보니 아래와 같이 되어 있고 url에 붙이거나 해도 페이지가 로드 되지 않아 어려움을 겪고 있습니다. <a href="Javascript:view_content('869');">처리 일정 문의 드립니다.</a> 위와같은 href가 나타날때는 어떻게 상세페이지로 이동해야 하는지 궁금하고 이럴때 혹시 우회할 수 있는 대안이 있다면 알고 싶어요

  • python
  • 웹-크롤링
민소리 댓글 1 좋아요 0 조회수 123

인피티니스크롤 item의 rect Transform에 Nan값

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

몇몇개 게임 오브젝트가 안 보여서 확인해보니 rectTransfrom 값이 NaN이네요 왜 이럴까요?

  • C#
  • unity
  • 객체지향
댓글 2 좋아요 0 조회수 147

%0이 짝수라는뜻인가요?

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

50%2를 하면 25인데 25일경우에는 0이 아닌데 이해가 잘 안되어서요 그냥 %2=0이면 짝수라는 통용되는 개념인가요?

  • python
escho94 댓글 1 좋아요 0 조회수 156

continue에 관해서 질문드립니다

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

for i in range(10): print(i) if i < 5: continue elif i == 7: break 여기서 출력값이 01234567이 나왔는데 567이 나오는건 이해하겠는데 0부터 4는 if구문의 continue 때문에 건너뛰어야하는것 아닌가요..? 왜 이렇게 출력이 되는지 궁금해요

  • python
댓글 1 좋아요 0 조회수 126

확인부탁합니다_부록1의 순서

미해결

칼만 필터: 예제로 이해하는 상태추정의 수학적 원리

아래 순서가 부록 : 1 사전확률 &사후확률 부록 : 1 MLE & MAP 부록 : 1 베이즈 정리(Bayes Theorem) 이처럼 되는거가 맞지 않나요? 페이지번호가 그런거 같은데요 부록 : 1 베이즈 정리(Bayes Theorem) 부록 : 1 MLE & MAP 부록 : 1 사전확률 &사후확률

  • python
  • MATLAB
  • 선형대수학
  • kalman-filter
  • 확률과-통계
문병훈 댓글 1 좋아요 1 조회수 162

아이템 필터 기능

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

아이템 정렬에 추가적으로 필터기능을 넣고 싶습니다 현재 각 아이템의 id를 이용해 보여주고 싶은 아이템이 무엇인지 나타낼 수 있겠는데, 보여주지 않을 아이템을 어떻게 숨길지 모르겠습니다.

  • C#
  • unity
  • 객체지향
moonfgg 댓글 1 좋아요 0 조회수 162

Knight 오브젝의 NavMeshAgent 문제

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

선생님의 코드를 다 마치고 몬스터를 스폰하는 테스트를 하는 중에 위와 같은 오류가 떠서 이게 뭐지 하고 있는데 Knight 프리팹으로 가서 NavMeshAgent를 추가하고 테스트를 하니 정상적으로 몬스터가 스폰이 되어서 나왔습니다. 아마도 NavMeshAgent 를 사용한 이동 방식이 문제인거 같은데... 혹시 저와 같은 문제를 겪고 계신 분들은 이렇게 하면 해결이 되는구나.. 하고 조심스레 올려 봅니다.

  • C#
  • unity
sunrise3225 댓글 1 좋아요 0 조회수 116

하나의 채팅방만 만들어보려고 하는데 잘 안되고 있습니다.

미해결

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

안녕하세요 선생님. 인증받지 않은 유저의 웹소켓 접근을 거부하려고 하는데요, Traceback (most recent call last): File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/django/contrib/staticfiles/handlers.py", line 101, in __call__ return await self.application(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/channels/routing.py", line 62, in __call__ return await application(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/channels/sessions.py", line 47, in __call__ return await self.inner(dict(scope, cookies=cookies), receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/channels/sessions.py", line 263, in __call__ return await self.inner(wrapper.scope, receive, wrapper.send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/channels/auth.py", line 185, in __call__ return await super().__call__(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/sunnnwo/workspace/pongchatT/venv/lib/python3.11/site-packages/channels/middleware.py", line 24, in __call__ return await self.inner(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: 'list' object is not callable WebSocket DISCONNECT /ws/chat/test/chat/ [127.0.0.1:61013] HTTP GET /chat/ 200 [0.01, 127.0.0.1:61007] /Users/sunnnwo/workspace/pongchat/mysite/asgi.py changed, reloading. Watching for file changes with StatReloader 아래와 같이 설정하고 실행해봤는데, 위와 같은 에러가 발생했습니다. AuthMiddlewareStack을 이용하여 인증된 사용자만 채팅할 수 있게 하려면 어느 부분을 수정해야할까요. 감사합니다. 좋은 하루되세요. asgi.py application = ProtocolTypeRouter({ "http" : django_asgi_app, "websocket" : AuthMiddlewareStack( app.routing.websocket_urlpatterns + chat.routing.websocket_urlpatterns, ), }) consumers.py from asgiref.sync import async_to_sync from channels.generic.websocket import JsonWebsocketConsumer # 모든 유저가 고정된 채널 레이어 그룹을 가질것. class ChatConsumer(JsonWebsocketConsumer): SQUARE_GROUP_NAME = "square" groups = [SQUARE_GROUP_NAME] def receive_json(self, content, **kwargs): # user = self.scope["user"] user = self.scope["user"] _type = content["type"] if not user.is_authenticated: self.close() else: if _type == "chat.message": message = content["message"] async_to_sync(self.channel_layer.group_send)( self.SQUARE_GROUP_NAME, { "type": "chat.message", "message": message, } ) else: print(f"Invalid message type : ${_type}") def chat_message(self, message_dict): self.send_json({ "type": "chat.message", "message": message_dict["message"], }) chat/routing.py from django.urls import path, re_path from chat import consumers websocket_urlpatterns = [ path("ws/chat/<str:room_name>/chat/", consumers.ChatConsumer.as_asgi()), ] chat/urls.py urlpatterns=[ path("", views.index, name = "index"), path("<str:room_name>/chat/", views.room_chat, name = "room_chat" ), ]

  • python
  • django
  • django-channels
sunnnwo 댓글 1 좋아요 0 조회수 140

한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.

미해결

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

선생님 강의랑 블로그 참고해서, 문서 내 특정 문자들을 찾아서 수식으로 바꾸는 작업을 진행했습니다. A라는 문자가 문서 내에 있으면, 찾기 기능으로 찾은 뒤에 수식 편집기를 열어서 rm A로 바꿔주는 작업을 합니다. 그런데 문자를 전부 수식으로 바꾸고 나니 글자들의 간격이 다 벌어져있네요... 수식을 누르고 방향키로 빠져나오거나, 개체 속성에 들어갔다 나오면 다시 돌아오는 상황입니다. 왜 이런 일이 발생하는지 잘 모르겠고, 어떻게 해결할 수 있을까요? https://employeecoding.tistory.com/194 수식 넣을 때 코드는 이 게시글에 있는 코드를 사용했습니다.

  • python
  • 한컴오피스
손주환 댓글 1 좋아요 1 조회수 797

수강평 인증 이벤트 끝났나요?

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 어떤 알고리즘을 학습하고 계신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊

  • python
  • 코딩-테스트
  • 알고리즘
  • data-structure
댓글 2 좋아요 0 조회수 215

보유 특허 검색 페이지에서 검색이 되지 않습니다.

미해결

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

8-1. 사이트의 글목록을 크롤링하여 엑셀에 담기 강의 관련입니다. 예전에 흘려듣기 식으로 이 강의를 봤을 때는 분명 강의 내용과 같이 연세대학교 산학협력단의 보유 특허 검색 페이지에서 검색이 되었었는데요. 본격적으로 따라하며 익혀보려고 해당 웹페이지에 가보니 예전과 달리 검색이 되지 않습니다.(아래와 같이 보임) 연세대학교 산학협력단 홈페이지의 문제라면 일코님의 문제가 아니긴 하지만 해당 홈페이지를 이용하여 실습하는 입장에서는, 기존에 멀쩡하던 강의가 실용성을 확 잃게 되는 듯한 안타까움이 있습니다. 제가 확인한 것처럼 현재는 보유 특허 검색이 안되는 것이 맞는지 한 번 확인 부탁드립니다. 또한 이 상태로 동일한 내용을 따라하기 실습이 가능한지를 확인 부탁드립니다. 동일하게 따라하기 실습을 못한다면 이 챕터는 넘겨야 될 거 같습니다. 제가 크롤링 경험이 많고 능숙하다면 어떻게든 도움이 되겠으나, 아직 전혀 모르는 분야인 크롤링에서 정처없이 헤맬 거 같아서 그렇습니다. 일단, 요 챕터 말고 실습이 가능한 다른 부분 부터 공부해 볼게요. 감사합니다.

  • python
  • 한컴오피스
  • 레벨업
learner 댓글 1 좋아요 1 조회수 158

공유자님 이 강의 공부 방법에 대한 질문입니다.

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

이 강의는 어떤 식으로 접근해야 되나요? 이런 것이 있구나~ 라고 생각하고 넘어가야 하나요? 아니면 하나하나 다 알아가면서 넘어가는 것이 좋나요?

  • react
  • python
  • django
  • web-api
  • htmx
주인국 댓글 2 좋아요 0 조회수 222

도커와 연동 관련 질문드립니다.

미해결

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

version: '3.8' services: postgres: image: postgres:14 env_file: .env volumes: - postgres_data:/var/lib/postgresql/data networks: - backend django: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" volumes: - ./backend:/app - static_volume:/app/myproject/staticfiles - ./frontend:/app/myproject/myapp/static/myapp - media_volume:/app/myproject/media depends_on: - postgres - redis environment: - PYTHONUNBUFFERED=1 - DJANGO_SETTINGS_MODULE=myproject.settings env_file: .env networks: - frontend - backend redis: image: redis:6 networks: - backend nginx: build: ./nginx volumes: - media_volume:/usr/share/nginx/html/media - static_volume:/usr/share/nginx/html/static - ./frontend:/usr/share/nginx/html/frontend ports: - "8443:8443" depends_on: - django networks: - frontend - backend adminer: image: adminer:latest restart: always ports: - "8080:8080" networks: - backend depends_on: - postgres volumes: postgres_data: static_volume: media_volume: networks: backend: frontend: docker-compose 설정인데요, 저희 팀원이 만들때 templates 폴더를 안쓰고 전부 .js 파일로 만들어놨습니다. 이런 경우 채팅 모듈을 추가하려고하면 어떤 방식으로 해야할까요. 강의외적인 부분 질문드려서 죄송합니다.

  • python
  • django
  • django-channels
sunnnwo 댓글 3 좋아요 0 조회수 246

2일차 참조 답안

미해결

6일 만에 배우는 파이토치 딥러닝 기초

2일차 참조 답안을 보면 학습을 두 번 시키는 이유가 있을까요? 학습을 두 번 시키면 과적합이 발생하지 않나요?

  • python
  • 딥러닝
  • pytorch
  • cnn
남길우 댓글 2 좋아요 0 조회수 162

알파벳 빈도수 세기 정답

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

def find_alphabet_occurrence_array(string): alphabet_occurrence_array = [0] * 26 for char in string: if not char.isalpha(): continue arr_index = ord(char) - ord('a') -> alphabet_occurrence_array[arr_index] += 1 return alphabet_occurrence_array print("정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Hello my name is sparta")) print("정답 = [2, 1, 2, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Sparta coding club")) print("정답 = [2, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("best of best sparta")) 안녕하세요! 1주차 알고리즘과 친해지기 (2) 애서 첫번째 Hello my name is sparta 의 정답이 왜 "정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 인가요? [3, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 아닌가요?

  • python
  • 코딩-테스트
  • 알고리즘
  • data-structure
maran0119 댓글 3 좋아요 0 조회수 241

스킬트리 질문입니다

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

스킬트리의 xNode에서 노드 하나에 In 으로 들어오는 포트는 여러개가 설정가능한데 out 도 여러개로 나가게 하고 싶은데 잘 되지 않아 이 부분의 해결방법에 대한 조언을 질문드립니다.

  • unity
  • modules
coffeecat0213 댓글 3 좋아요 0 조회수 176

채팅방 참여자 목록 - 채팅방 입장/퇴장 실시간 이벤트 처리

미해결

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

해당 기능을 구현까지 완료했고, 결과는 도출합니다. 궁금한 점이 사용자가 채팅방을 나간 후 퇴장 처리 메세지가 창에 나타날 때 Delay? 나간 후 한참 시간이 지난 후에 나타나는데, 자연스러운 상황인지 아니면 제가 잘못한 건지 판단이 되지 않습니다..

  • python
  • django
  • django-channels
임찬 댓글 2 좋아요 0 조회수 208

애니메이션 질문

해결됨

책 3권을 영상으로 만든 Unity 게임 개발

그 처음 스워드맨 애니메이션 만들때 스워드맨idle은 스프라이트 클릭해서 이미지를 추가시켰는데 왜 스워드맨 어택모션은 추가시키지말고 드래그해서 아는지 다시 한번 설명해주실 수 있나요?? 이해가 잘 안되서요 그리고 스워드맨 idle처음 생성할때 왜 마지막 점포인트는 삭제하는지 알 수 있을까요

  • C#
  • unity
킴주니 댓글 1 좋아요 1 조회수 135

네이버 쇼핑 여러페이지 크롤링 방법

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

네이버 지식인 여러페이지 정적 크롤링은 강의에 있어서 따라하니 잘 되는데 동적 페이지 크롤링인 네이버 쇼핑은 for i in 코드를 넣으니 넘어가지지가 않네요 ㅜㅜ 동적 페이지 크롤링인 네이버 쇼핑 여러페이지 넘어갈때는 다른 코드를 작성해야하는걸까요? 네이버 지식인 여러페이지 크롤링 할 때처럼 하니 페이지가 안넘어가지네요...

  • python
  • 웹-크롤링
원트 댓글 2 좋아요 0 조회수 797

인기 태그

인프런 TOP Writers

주간 인기글