inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

카프카를 도입하고 난 뒤 로그로 보여지는 장점을 발견하지 못하고 있습니다.

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요 강사님. 강의 마지막에 API서브모듈에서 직접 MySQL로 여러 쓰레드가 JPA save를 통해 INSERT하는 과부하가 발생하던 것을 카프카를 통해서 처리량을 조절할 수 있다고 말씀하셨습니다. 카프카를 사용하는 것만으로도 처리량이 조절된다는 뜻이 잘 이해가 가지 않습니다. 특히 컨슈머서브모듈에서 보여지는 로그를 확인해보면 여전히 단 건으로 SQL들이 전송되는 것을 확인할 수 있었는데요. 배치방식으로 여러 SQL을 한데 모아 한번에 SQL횟수를 줄여주는 것을 기대했으나 그렇지 않아 어떤 원리로 처리량이 줄어드는 것인지 이해를 못했습니다ㅠㅠ

  • java
  • docker
  • spring-boot
  • kafka
  • redis
창신동 장첸 댓글 2 좋아요 0 조회수 193

webpubsub연결 오류

해결됨

Azure Native로 나만의 GPT 만들기

강의 잘 듣고있습니다. 이번 강의에서 front와 API를 연결하는 작업 도중, 계속 마지막에 토큰까지는 잘 받아오지만 웹소켓을 못 만드는 문제가 발생했습니다. 문제가 무엇일까 계속 고민해보다가 이 강의 가장 처음에 강사님이 진행했던 =을 붙이는 작업이 떠올라 그 =을 다시 지워줬습니다. 그런데 해결이 됐습니다. 제 키에는 =가 마지막에 없더라구요... =가 있는 경우와 없는 경우가 존재하나봅니다. =의 차이가 혹시 무엇인지 알 수 있을까요? 그냥 암호의 일부분일까요?

  • javascript
  • python
  • mongodb
  • azure
  • FastAPI
안현준 댓글 2 좋아요 0 조회수 183

캐시 구현에서 Redis - MongoDB 스코프

미해결

배달앱은 어떻게 내 주변의 맛집을 찾을까?

제가 이해한 구조는 아래와 같습니다. Request -> API -> Service -> Entity Redis에서 캐시 조회 실패하면 redis에서 몽고 db collection 관련 함수를 직접 조회 하는 게 아니라 서비스로 돌아가서 서비스단에서 몽고 db collection 관련 함수를 호출하는게 맞지 않나요? 아니면 주신 코드 처럼 Entity 단에서는 서로를 호출하면서 작동하는게 맞나요?

  • python
  • mongodb
  • FastAPI
파사 댓글 2 좋아요 0 조회수 174

키생성 방식에 따른 성능

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요. 문제점 해결하기 강의에서 실습을 잘 진행했습니다. 실험을 하며 결과를 관측하던 중, @NoArgsConstructor(access = AccessLevel.PROTECTED) @RequiredArgsConstructor @Entity public class Coupon { @Id @GeneratedValue private Long id; } 위와 같이 @GeneratedValue를 적용하면 로그패턴도 달라지고 성능이 급격하게 나빠지더라고요 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) 로 지정하면 실습이 잘 진행됩니다. 왜 이런차이가 발생하는지 알 수 있을까요? strategy를 선택하지 않으면 AUTO이며 이는 mysql에서 IDENTITY를 선택한 것과 같게 나와야하는데 예상과 달라 질문드려봅니다.

  • java
  • docker
  • spring-boot
  • kafka
  • redis
창신동 장첸 댓글 2 좋아요 0 조회수 196

선생님 질문 있습니다.

미해결

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

1) request.META["HTTP_USER_AGENT"] 실습 5번 내내 NameError로 표기 되지 않습니다. 구글링해도 정확히 어떤 이유인지 잘모르겠습니다. 2) 아래 pwsh 느낌표가 왜 나오는지 궁금합니다.

  • react
  • python
  • django
  • web-api
  • htmx
lkh5040 댓글 1 좋아요 0 조회수 98

travis ci가 이제 유료화가 된 것 같습니다;;;

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

이거 무료로 할 수 있는 방법이 있을까요? 인강 진행이 안되네요.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
윤석배 댓글 2 좋아요 0 조회수 228

안녕하세요 선생님,

미해결

파이썬/장고로 웹채팅 서비스 만들기 (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 조회수 125

[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기 import문제

미해결

비전공자도 이해할 수 있는 Docker 입문/실전

현재 start.spring.io에서 의존성 두개 추가해서 generate 이후 demo.zip파일을 받았는데 압축을 풀고 setting.gradle을 눌렸더니 밑의 그림과 같이 뜹니다. 이게 압축을 푸는게 맞는건가요? 혹시 몰라서 이클립스를 다운받고 이클립스에서 zip파일을 import시키고 appcontroller생성 후 @Restconroller import하는 부분에서 어노테이션을 못찾습니다.

  • docker
  • docker-compose
  • docker-volume
  • docker-image
  • container
  • ecr
wsim 댓글 2 좋아요 0 조회수 260

해당 수업자료 이미지 블로그에 사용

미해결

비전공자도 이해할 수 있는 쿠버네티스 입문/실전

"강의 영상을 캡쳐해서 이미지로 써도 다 상관없으니까 기록으로 남겨보세요" 라고 하셨지만 혹시나 한번 더 확인차 블로그에 해당 자료 이미지 사용해도 되는거죠..?

  • docker
  • kubernetes
  • msa
  • infrastructure
  • container
처아미나 댓글 1 좋아요 0 조회수 173

gradle 빌드 환경 에 따른 도커파일 설정 값 문의

미해결

개발자를 위한 쉬운 도커

gredle 을 빌드 도구 설치 해보려 하는데 메이븐과 그래들 도커파일이 설정값이 많이 달라질까요? 빌드 환경이 무엇 이냐에 따라 도커파일 설정값들을 어떻게 해야 하는지 참조 할 수 있는 있는 사이트가 있을지 궁금합니다 같은 코드로 gradle일때 변경되는 설정 값에 대해 시간이 되신다면 pdf, 깃 파일, 강의 아무거나 넣어 주시면 너무 감사드리겠습니다 gradle 하나 겨우 배워놨는데 아래에 내용에 모두 메이븐 이라고 생각하니 슬프네유 ㅠ

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
홍태경 댓글 1 좋아요 0 조회수 174

%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

window 데스크탑에 도커 사용하려고 하는데요~

미해결

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

virtual box 로 리눅스 띄워서 도커를 사용하는 게 좋을까요? window 에서 도커 데스크탑을 사용하는 게 좋을까요? 성능이나 보안 관점에서 조금이라도 더 나은 게 있을까요? 서버용 pc는 아니고 그냥 일반 데스크탑 pc 입니다.

  • 네트워크
  • linux
  • docker
learnlearnlearn 댓글 1 좋아요 0 조회수 191

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

미해결

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

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

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

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

미해결

파이썬/장고로 웹채팅 서비스 만들기 (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

테스트

미해결

비전공자도 이해할 수 있는 쿠버네티스 입문/실전

kubectl config get-contexts kubectl config current-context

  • docker
  • kubernetes
  • msa
  • infrastructure
  • container
specimen 댓글 2 좋아요 0 조회수 81

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

미해결

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

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

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

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

해결됨

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

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

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

인기 태그

인프런 TOP Writers

주간 인기글