묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
Logging 질문
LOGGING ={ 'version':1, 'disable_existing_loggers':False, 'handlers':{ 'file':{ 'level':'DEBUG', 'class':'logging.FileHandler', 'filename':os.path.join(BASE_DIR, 'logs/django.log'), 'formatter':'json', }, 'console':{ 'class':'logging.StreamHandler', 'formatter':'json', }, }, 'formatters':{ 'json':{ 'class': 'pythonjsonlogger.jsonlogger.JsonFormatter', 'format': '%(asctime)s %(levelname)s %(name)s %(message)s', }, }, 'root':{ 'handlers':['file','console'], 'level':'DEBUG', }, 'loggers':{ 'django':{ 'handlers':['file','console'], 'level': 'DEBUG', 'propagate':False, }, }, runserver 하는 순간 {"asctime": "2025-02-14 20:41:50,823", "levelname": "DEBUG", "name": "django.utils.autoreload", "message": "File C:\\Users\\moon\\miniforge3\\envs\\workout\\Lib\\site-packages\\PIL\\__init__.py first seen with mtime 1739352505.781736"} 이런 변경한 적 없는 것들이 자동리로드 되면서 콘솔에 계속 올라옵니다. 이유가 궁금합니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
자세한 설명 부탁드려요 ㅜ
강사님 안녕하세요우선 너무 잘 듣고 있고 좋은 강의 정말 감사합니다 .그런데 수업 내용이 자꾸 현재 버전과 달라서 너무 헷갈려요..설명하시는 단축키나, 어디에 들어가 어떻게 입력해야하는지방법에 대한 설명 없이 내용뿐인 것들이 있어 따라가기 어려운듯해요 ㅜ profiling 한글폰트설정 부록 강의 올려주신 부분에서터미널 들어가서 경로를 입력하라고 하시는데어떤 형식으로 어디부터 어디까지 써서 입력해야하는지 모르겠어요..~/opt/anaconda3/lib/python3.12/site-packages/pandas_profiling 이렇게 따라 입력하면 저는 아무 반응도 안일어나는데 어떻게 해야할까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
ui 파일을 py파일로 변환
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서는 너무 짧게 지나가서, 해결을 못하고 있습니다.컴알못이라,, 자세히 설명 부탁드립니다 ㅠ,.ㅠ...프로젝트 폴더를 06.GUI폴더로 설정=>어디서 어떻게 클릭해서 설정하는지 모르겠습니다.터미널에서 해당 명령어를 실행 "pyside6-uic ui -o py"=>1번부터가 막혀서 실행을 못하고 있습니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
boj 3020
안녕하세요 ! 수강전 문제를 풀어보았는데풀었던 방법이 attributeError 런타임에러가 나왔습니다. 하기 방법에 매몰이 되어서 강의에 집중이 안되어서 이렇게 질문하게 되었습니다 ㅠㅠ 이렇게 풀면 메모리나 시간초과가 날까요? 그리고 어디가 틀려서 런타임에러가 나는지 알수있을까요?import sys # sys.stdin = open('./input.txt', 'r') input = sys.stdin.readlines().strip() from collections import defaultdict W, H = map(int, input().split()) lit = [int(input()) for _ in range(W)] # print(lit) # dict_ = defaultdict() ans = defaultdict() points = [] for y, v in enumerate(lit): if y % 2 == 0: for x in range(H-v, H): points.append((x, y)) else: for x in range(v): points.append((x, y)) for x, z in points: if x in ans.keys(): ans[x] += 1 else: ans[x] = 1 # print(ans) low_cnt = sorted(ans.values())[0] cnt = 0 for k, a in ans.items(): if a == low_cnt: cnt += 1 print(f'{low_cnt} {cnt}')
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
유저목록 확인 문제 질문드립니다.
def room_users(request, room_name): # room_name으로 해당 방을 찾기 room = get_object_or_404(Room, name=room_name) # 사용자가 방에 참여한 상태인지 확인 if not room.is_joined_user(request.user): return HttpResponse("Unauthorized user", status=401) # 방에 접속 중인 사용자 목록 가져오기 username_list = room.get_online_usernames() return JsonResponse({ "username_list": username_list, }) 저는 하나의 채팅방만 사용하기때문에 room_pk가 아니라 room_name을 전달했습니다. 근데 page not found가 뜹니다. 제가 생각기로는 name = room_name 전달이 제대로 안되어서 이렇게 뜨는거같습니다. room_pk에 관한 부분을 제대로 처리하지 못해 접속하거나 나갈때 뜨는 메세지도 제대로 작동하지 않고 있습니다.class Room(OnlineUserMixin, models.Model): owner = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="owned_room_set", ) name = models.CharField(max_length=100) class Meta: ordering = ["-pk"] @property def chat_group_name(self): return self.make_chat_group_name(room=self) chat/routing.pyfrom 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 from django.urls import path from app.urls import urlpatterns from chat import views # 향후 url reverse에 활용 app_name = "chat" urlpatterns=[ path("", views.index, name = "index"), path("<str:room_name>/chat/", views.room_chat, name = "room_chat" ), path("<str:room_name>/users/", views.room_users, name = "room_users" ), ] consumers.pyfrom asgiref.sync import async_to_sync from channels.generic.websocket import JsonWebsocketConsumer from chat.models import Room # 모든 유저가 고정된 채널 레이어 그룹을 가질것. class ChatConsumer(JsonWebsocketConsumer): SQUARE_GROUP_NAME = "1" group_name = [SQUARE_GROUP_NAME] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) def connect(self): user = self.scope['user'] self.group_name = self.SQUARE_GROUP_NAME if not user.is_authenticated: self.close() else: is_new_join = self.group_name 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}") 질문 받아주셔서 감사합니다. 선생님의 파이썬 장고 가이드를 다 보고 이 강의 질문하는게 맞다고 생각합니다. , 제 팀프로젝트 데드라인이 임박하여 파이썬 장고 가이드를 다 보지 못하고, 제대로 공부하지 못하고 채널스를 공부하게 되어 이런 질문을 드리게되는거같아 죄송합니다. 프로젝트가 끝나도 장고 놓지 않고 제대로 이해할수있게 공부하겠습니다. 감사합니다ㅠ
-
해결됨Azure Native로 나만의 GPT 만들기
webpubsub연결 오류
강의 잘 듣고있습니다. 이번 강의에서 front와 API를 연결하는 작업 도중, 계속 마지막에 토큰까지는 잘 받아오지만 웹소켓을 못 만드는 문제가 발생했습니다. 문제가 무엇일까 계속 고민해보다가 이 강의 가장 처음에 강사님이 진행했던 =을 붙이는 작업이 떠올라 그 =을 다시 지워줬습니다. 그런데 해결이 됐습니다. 제 키에는 =가 마지막에 없더라구요... =가 있는 경우와 없는 경우가 존재하나봅니다. =의 차이가 혹시 무엇인지 알 수 있을까요? 그냥 암호의 일부분일까요?
-
미해결배달앱은 어떻게 내 주변의 맛집을 찾을까?
캐시 구현에서 Redis - MongoDB 스코프
제가 이해한 구조는 아래와 같습니다.Request -> API -> Service -> Entity Redis에서 캐시 조회 실패하면 redis에서 몽고 db collection 관련 함수를 직접 조회 하는 게 아니라 서비스로 돌아가서 서비스단에서 몽고 db collection 관련 함수를 호출하는게 맞지 않나요? 아니면 주신 코드 처럼 Entity 단에서는 서로를 호출하면서 작동하는게 맞나요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
선생님 질문 있습니다.
1) request.META["HTTP_USER_AGENT"] 실습 5번 내내 NameError로 표기 되지 않습니다. 구글링해도 정확히 어떤 이유인지 잘모르겠습니다.2) 아래 pwsh 느낌표가 왜 나오는지 궁금합니다.
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (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도 맞춰줘 봤지만, 잘 해결이 되질 않습니다. 어떤식으로 이 에러를 처리해야할까요. 오늘도 좋은 하루 되시길 바랍니다. 감사합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
상세페이지로 이동하는 url을 받아서 이동할때, url유형이 달라요
상세페이지 href속성을 찾아 기존페이지 url?상세페이지 url을 적용하여 실습을 성공해 오다가 난관에 부딪혔습니다. html속성값을 보니 아래와 같이 되어 있고 url에 붙이거나 해도 페이지가 로드 되지 않아 어려움을 겪고 있습니다. <a href="Javascript:view_content('869');">처리 일정 문의 드립니다.</a>위와같은 href가 나타날때는 어떻게 상세페이지로 이동해야 하는지 궁금하고 이럴때 혹시 우회할 수 있는 대안이 있다면 알고 싶어요
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
%0이 짝수라는뜻인가요?
50%2를 하면 25인데 25일경우에는 0이 아닌데 이해가 잘 안되어서요그냥 %2=0이면 짝수라는 통용되는 개념인가요?
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
continue에 관해서 질문드립니다
for i in range(10): print(i) if i < 5: continue elif i == 7: break여기서 출력값이 01234567이 나왔는데 567이 나오는건 이해하겠는데 0부터 4는 if구문의 continue 때문에 건너뛰어야하는것 아닌가요..? 왜 이렇게 출력이 되는지 궁금해요
-
미해결임장환의 칼만 필터(Kalman Filter) 1
확인부탁합니다_부록1의 순서
아래 순서가부록 : 1 사전확률 &사후확률부록 : 1 MLE & MAP부록 : 1 베이즈 정리(Bayes Theorem) 이처럼 되는거가 맞지 않나요? 페이지번호가 그런거 같은데요부록 : 1 베이즈 정리(Bayes Theorem)부록 : 1 MLE & MAP부록 : 1 사전확률 &사후확률
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (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.pyfrom 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.pyfrom 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.pyurlpatterns=[ path("", views.index, name = "index"), path("<str:room_name>/chat/", views.room_chat, name = "room_chat" ), ]
-
미해결직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.
선생님 강의랑 블로그 참고해서, 문서 내 특정 문자들을 찾아서 수식으로 바꾸는 작업을 진행했습니다.A라는 문자가 문서 내에 있으면, 찾기 기능으로 찾은 뒤에 수식 편집기를 열어서 rm A로 바꿔주는 작업을 합니다.그런데 문자를 전부 수식으로 바꾸고 나니 글자들의 간격이 다 벌어져있네요...수식을 누르고 방향키로 빠져나오거나, 개체 속성에 들어갔다 나오면 다시 돌아오는 상황입니다.왜 이런 일이 발생하는지 잘 모르겠고, 어떻게 해결할 수 있을까요?https://employeecoding.tistory.com/194수식 넣을 때 코드는 이 게시글에 있는 코드를 사용했습니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
수강평 인증 이벤트 끝났나요?
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
미해결직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
보유 특허 검색 페이지에서 검색이 되지 않습니다.
8-1. 사이트의 글목록을 크롤링하여 엑셀에 담기 강의 관련입니다. 예전에 흘려듣기 식으로 이 강의를 봤을 때는 분명 강의 내용과 같이 연세대학교 산학협력단의 보유 특허 검색 페이지에서 검색이 되었었는데요.본격적으로 따라하며 익혀보려고 해당 웹페이지에 가보니 예전과 달리 검색이 되지 않습니다.(아래와 같이 보임) 연세대학교 산학협력단 홈페이지의 문제라면 일코님의 문제가 아니긴 하지만 해당 홈페이지를 이용하여 실습하는 입장에서는,기존에 멀쩡하던 강의가 실용성을 확 잃게 되는 듯한 안타까움이 있습니다.제가 확인한 것처럼 현재는 보유 특허 검색이 안되는 것이 맞는지 한 번 확인 부탁드립니다.또한 이 상태로 동일한 내용을 따라하기 실습이 가능한지를 확인 부탁드립니다.동일하게 따라하기 실습을 못한다면 이 챕터는 넘겨야 될 거 같습니다. 제가 크롤링 경험이 많고 능숙하다면 어떻게든 도움이 되겠으나, 아직 전혀 모르는 분야인 크롤링에서 정처없이 헤맬 거 같아서 그렇습니다. 일단, 요 챕터 말고 실습이 가능한 다른 부분 부터 공부해 볼게요. 감사합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
공유자님 이 강의 공부 방법에 대한 질문입니다.
이 강의는 어떤 식으로 접근해야 되나요?이런 것이 있구나~ 라고 생각하고 넘어가야 하나요? 아니면 하나하나 다 알아가면서 넘어가는 것이 좋나요?
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (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 파일로 만들어놨습니다. 이런 경우 채팅 모듈을 추가하려고하면 어떤 방식으로 해야할까요. 강의외적인 부분 질문드려서 죄송합니다.
-
미해결6일 만에 배우는 파이토치 딥러닝 기초
2일차 참조 답안
2일차 참조 답안을 보면 학습을 두 번 시키는 이유가 있을까요? 학습을 두 번 시키면 과적합이 발생하지 않나요?