inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

컨슈머 이벤트 중복 처리

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요! 자주 질문드리는데 정성껏 답변해주셔서 감사합니다! 동일한 이벤트가 중복 전송될 가능성이 있기 때문에 article-read 서비스에 이벤트 id를 통한 중복 처리 로직을 추가 하려고합니다. article-read 는 redis를 사용하고 있기 때문에 redis에 이벤트 id를 저장해 해결하려고했습니다. 예를 들어 article-read가 이벤트를 받았을때 redis 에서 이벤트 id 확인 동일한 이벤트 id가 저장돼 있으면 추가 처리 안하고 message ack redis 에서 이벤트 id 확인 동일한 이벤트 저장된게 없으면 서비스 로직 수행 서비스 로직 결과 redis 업데이트 처리 완료한 이벤트 id redis 저장 이런식으로 진행하려 했으나 만약 어떠한 문제로 인해 서비스 로직 결과 redis 업데이트 ( 성공 ) 처리 완료한 이벤트 id redis 저장 ( 실패 ) 하게되면 이벤트 처리는 성공했지만 처리된 이벤트 저장에는 실패해 추후에 중복 처리가 발생할 가능성이 생길 것 같습니다. 이러한 문제 해결을 위해 서비스 로직 결과 redis 업데이트 처리 완료한 이벤트 id redis 저장 두 작업을 하나의 트랜잭션으로 묶어 처리하려고했지만 rdb 와 동작이 다르기 때문에 (롤백 기능 제공 안함 등) 적절한 방법인지 판단이 안서는 상태네요 혹시 article-read에 이벤트 중복 처리를 한다고 하면 어떻게 구현이 가능할지 여쭤보고싶습니다

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
jhkim593 댓글 2 좋아요 0 조회수 75

4-9 낙관적 락, 비관적 락

해결됨

백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오

해당 강의 수강 중 Facade 패턴에 대해 알게 되었습니다 그런데 테스트 코드에만 Facade가 적용되어 있고 Controller에는 바로 서비스 코드를 호출하게 되어 있는데요. 학습용 예시 코드여서 이런 것인지 다른 의도가 있는것인지 궁금합니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
goldrex123 댓글 2 좋아요 0 조회수 73

[베개투자법 :자면서 돈버는 AI주식 자동매매머신] 종목을 100개까지 추가 하고자 합니다.

해결됨

베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신

안녕하세요. 강의 잘 들었습니다. 프로그램도 잘 작동합니다. 단지 종목수가 적어 종목을 100개까지 추가하고자 합니다. 어느 부분을 수정해야하는지 문의 드립니다.

  • python
  • 딥러닝
  • 빅데이터
  • FastAPI
  • 데이터-엔지니어링
호빛 댓글 2 좋아요 0 조회수 157

제대로 이해한게 맞나 궁금합니다

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

close() 메서드에서 synchronized와 if(closed){ return; } 조건문을 해준 이유가 해당 세션 종료시 close() 메서드 호출과 서버 종료시 SessionManager의 closeAll()을 통한 close() 메서드 호출이 동시에 되고 중복으로 호출 되는걸 막기 위해서 해준거라고 이해하면 될까요?

  • java
  • 네트워크
  • 객체지향
jkyjong 댓글 1 좋아요 0 조회수 110

셀레니움 PDF자료는 받을 수 있나요

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 내용중에 셀레니움 PDF자료를 보면서 하시던데, 받을 수 있는 곳이 있나요?

  • python
  • 웹-크롤링
Jay Kang 댓글 2 좋아요 0 조회수 128

첨부파일 삭제

해결됨

남박사의 파이썬으로 실전 웹사이트 만들기

@blueprint.route("/edit/<idx>", methods=["GET", "POST"]) @login_required def board_edit(idx): board = mongo.db.board try: doc = board.find_one({"_id": ObjectId(idx)}) except Exception: doc = None if not doc: flash("해당 게시물이 존재하지 않습니다.") return redirect(url_for("board.lists")) if str(session.get("id") or "") != str(doc.get("writer_id") or ""): flash("글 수정 권한이 없습니다.") return redirect(url_for("board.lists")) if request.method == "GET": return render_template("edit.html", data=doc, title="글수정") # --- POST --- title = (request.form.get("title") or "").strip() contents = (request.form.get("contents") or "").strip() deleteold = "deleteoldfile" in request.form # ✅ 체크박스 감지 old_file = doc.get("attachfile") filename = old_file f = request.files.get("attachfile") if f and f.filename: base, ext = os.path.splitext(secure_filename(f.filename)) new_name = f"{base}_{int(time.time())}{ext.lower()}" save_dir = app.config["BOARD_ATTACH_FILE_PATH"] os.makedirs(save_dir, exist_ok=True) f.save(os.path.join(save_dir, new_name)) if old_file: board_delete_attach_file(old_file) filename = new_name elif deleteold: if old_file: board_delete_attach_file(old_file) filename = None update_set = {"title": title, "contents": contents} if deleteold and filename is None: board.update_one({"_id": doc["_id"]}, {"$set": update_set, "$unset": {"attachfile": ""}}) else: update_set["attachfile"] = filename board.update_one({"_id": doc["_id"]}, {"$set": update_set}) flash("수정되었습니다.") return redirect(url_for("board.board_view", idx=str(doc["_id"]))) 챗지피티의 도움을 받아 작성했습니다. 근데 삭제 기능만 안되는데 왜 안돼는지 모르겠습니다..

  • python
양성현 댓글 2 좋아요 0 조회수 102

messagerelayconfig클래스에서

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

bootstrapServers의 value값은 어디에 가져오는건가요? yml이나 properties파일은 없는 거 같은데..

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
leettletree 댓글 1 좋아요 0 조회수 54

Circuit Breaker 질문

해결됨

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

안녕하세요. circuit breaker 코드를 봤을 때 간략하게 circuit breaker가 이런거다 라고 설명해주셨지만, 추가로 궁금한 점이 있어 질문 드립니다. 만약 인스턴스가 여러개인 상황에서는 로컬 상황만 보는게 아니라 전체 인스턴스 상황을 봐야할 것 같은데 이럴 떄는 circuit breaker를 어떻게 사용해야 하는지 궁금합니다. 감사합니다.

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
HAHA 댓글 2 좋아요 0 조회수 98

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

영상에서 randint 입력하실 때 설명 툴팁 노출되는데 어떻게 하나요? 저는 입력하고 마우스를 함수 위에 올려두어야 설명이 나옵니다.

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

글자입력 여러번 실행기

미해결

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

안녕하세요, 18. 글자입력 관련하여 질문 드립니다. 수업에 있는 코드 5줄 (액션 ~ 액션.Execute)를 적고 실행하면 한글 파일이 새로 생성되면서 잘 실행되었습니다. 그렇지만 수업때는 마지막 Execute 라인만 실행하면 같은 작업이 여러번 반복이 된다고 하였는데 Pycharm에서 Alt+Shift+E를 눌러서 저 마지막 Execute 라인만 실행해도 같은 문서에 여러번 글자가 써지는 것이 아니라 새로운 한글 파일이 열리면서 실행이 되었습니다. 수업때 보이는 것처럼 하나의 파일에 글자를 여러 번 입력하려면 어떻게 해야 하나요?

  • python
  • 한컴오피스
이두형 댓글 1 좋아요 0 조회수 107

키움만 가능한가요?

해결됨

(GPT-5) 챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기

키움만 가능한가요? 기존에 한국투자증권을 사용하고 있는데 다를까요?

  • python
  • 인공지능(ai)
  • chatgpt
  • ai-활용-(ax)
우주 댓글 2 좋아요 0 조회수 160

미분 결과가 왜 저렇게 나오는지 궁금합니다.

미해결

강화학습 입문에서 Deep Q-learning/Policy Gradient까지

6:49쯤에, MSBE = (delta_{t+1})^2의 미분 결과가 2*(delta_{t+1})* (\partial(delta_{t+1}}); 합성함수의 미분, 의 형태가 아닌 화면에 나오는 것처럼 미분이 되는지 궁금합니다. 추가로 policy improvement step에서 각 action에 대해서 value가 높은 weight로 parameters을 업데이트 하면서 자동적으로 최적pi를 찾게 된다고 보는 게 맞는 이해일까요?

  • python
  • 딥러닝
  • 강화학습
  • pytorch
최규형 댓글 1 좋아요 0 조회수 98

이미지 생성오류 (코드업데이트가 너무 필요해보입니다..)

미해결

나도! 스프링으로 인공지능을 할 수 있다(인프1탄)

안녕하세요. 강의를 듣고있는 사람입니다. 버전이 변경되다보니 강의 내용을 그대로 수행한다면 정상적으로 작동하는 Project들이 몇 없네요.. DALL-E 2 모델로 이미지를 생성하는 경우 오류 발생 DALL-E 2 모델에서는 withQuality("hd")와 같은 옵션을 지원하지 않는다고합니다. 해당 라인을 제거해주시면 정상작동합니다. DALL-E 3 의 경우 withQuality를 지원하는데, 지정하지 앟는다면 standard 값이 기본으로 들어가며 hd를 원하시는 경우 따로 if ("dall-e-3".equals(model)) { optionsBuilder.withQuality("hd"); } 위와같이 옵션을 주입하여 사용하시면 될것같습니다.

  • java
  • spring
  • spring-boot
  • 인공지능(ai)
  • spring-ai
skyjoon2 댓글 1 좋아요 0 조회수 151

jpa entity 질문

해결됨

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

안녕하세요. Entity 선언 시 data class vs class 질문드리려고 합니다. 아래 질문은 data class를 기반으로 했지만 사실 궁금증 시작은 "class가 엔티티에 더 맞지 않나?" 라는 생각에 질문드립니다. 질문 1. data class 선언시 프록시 질문 제가 알기로 ManyToOne lazy loading할 때 프록시 기능을 사용한다고 알고 있습니다. data class가 자바 record와 마찬가지 final인 것으로 아는데 그렇다면 지연 로딩이 정상적으로 동작하지 않다고 생각됩니다. 혹시 여기서는 지연 로딩을 사용하지 않아서 data class를 사용하신 것인지 궁금합니다. 질문 2. data class 사용이 맞다면 equals & hashCode 질문 결궁 두 값 동일성을 비교할 때 id를 기반으로 하는 것이 성능에 좋을 것 같다고 생각됩니다. 혹시 실무에서 data class 나 class 사용하실 때 id기반으로 equals와 hashCode를 오버라이딩 하지 않고 전체 필드로 하시는지 궁금합니다. 질문 3. data class 목적 제가 알기로는 data class는 response와 같이 불변 데이터에 많이 쓰이는걸로 알고 있습니다. 그래서 copy와 같은 메서드를 제공하는 것으로 알고 있습니다. data class를 사용할 때 물론 copy를 사용하시진 않겠지만 영속성 컨텍스트 같은 기능을 쓰려면 직접 변경해야 합니다. 불변 클래스 목적과 jpa entity와 잘 맞지 않는 것 같아서 질문드립니다. 질문 4. equlas 질문 만약 양방향 참조가 있는 entity라면 무한 루프에 빠질 가능성이 없는지 궁금합니다. 이와 같은 이유로 2번을 질문 드렸는데 질문 2번에서 내용이 빠진 것 같아서 따로 한 번 더 질문 드립니다. 제가 실무에서 써보지 않았고 코틀린 관련해서는 경험이 부족해서 잘못된 질문이 있다면 알려주시면 다시 질문 남기겠습니다. 좋은 강의 감사합니다. 감사합니다.

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
HAHA 댓글 1 좋아요 0 조회수 104

CPU 캐시 때문에도 잔액이 200원이 될 수 있나요?

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. t1 t2 가 동시에 실행되지 않고, 약간의 시간차가 있는 상태에서 두 스레드가 CPU 캐시를 통해 balance를 읽어들이고 쓰면 잔액이 200원이 될 수 있을까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
happyrichman 댓글 2 좋아요 0 조회수 126

synchronized 메서드와 join 관련 질문이 있습니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 만약 무한정 대기할 수도 있는 상황에서 t1.join(50); t2.join(50); main의 코드를 이렇게 바꿔봤는데 결과가 똑같더라구요 이게 왜 그런지 알고 싶습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
박혁진 댓글 2 좋아요 0 조회수 82

system 메세지는 정의가 되어 있는 건가요?

미해결

입문자를 위한 LangChain 기초 — v1.0+ 업데이트

안녕하세요. 소스 내용중에 아래와 같은 것이 있습니다. ("system":"이 시스템은 여행 전문가 입니다."), ("user":"{user_input}"), 사용자의 질문이 뭐가 들어올지 모르는 상황에서 여행 전문가라고 지정하는 것이 의미가 있는 것인지요?

  • python
  • llm
  • langchain
  • openai-api
TaeJoon Park 댓글 2 좋아요 0 조회수 71

fetchResults()는 더이상 권장되지 않는다는데 맞나요?

미해결

실전! Querydsl

찾아보니 아래처럼 나옵니다. ``` fetchResults() 는 Querydsl 5.x부터 deprecated(더 이상 권장되지 않음) 처리되었습니다. fetchResults() 는 count 쿼리 와 content 쿼리 를 내부적으로 두 번 실행 해서 결과를 가져옵니다. 즉, 전체 개수( total count )와 페이징된 결과( results )를 한 번에 반환하려고 했는데, JPA 환경에서는 count 쿼리 최적화 문제 SQL이 복잡해질 경우 성능 저하 문제 Querydsl 5.x 이후로는 직접 count 쿼리와 content 쿼리를 분리 해서 호출하는 방식을 권장합니다. ```

  • java
  • jpa
주영222 댓글 1 좋아요 0 조회수 198

설문 제출관련 문의

해결됨

《Do it! LLM을 활용한 AI 에이전트 개발 입문》 완독 챌린지

도서 내용 관련 질문은 Do it! 스터디룸에 남겨주시면 빠르게 확인이 가능합니다. *Do it! 스터디룸: https://cafe.naver.com/doitstudyroom 기타 질문은 이곳에 남겨주세요! 알림 글중에 *챌린지 설문을 제출해 주시지 않은 분들께는 기프티콘 발송이 어렵습니다. 설문을 제출하셨는지 꼭 확인해 주세요! 1주차 미션과제는 제출했는데 설문 제출하는 곳이 별도 있는지요?

  • python
  • 업무-생산성
  • 인공지능(ai)
  • chatgpt
  • ai-활용-(ax)
김성중 댓글 1 좋아요 1 조회수 65

설명하실 때 해상도를 작게 하고 해주세요.

미해결

파이썬과 엑셀로 하는 업무자동화

설명하실 때, 창을 너무 작게 하고 설명해서 전체 창으로 봐도 잘 안보입니다. 설명 뿐만 아니라 이 강의를 보는 사람입장에서도 제작해주시면 좋겠습니다.

  • python
  • excel
cool619 댓글 1 좋아요 0 조회수 77

인기 태그

인프런 TOP Writers

주간 인기글