inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Kotlin + Spring MVC 사용 시 Dispatchers 생략

미해결

안녕하세요~ 현재 아래 기술 스택을 사용한 API 서버가 존재합니다. Spring Boot 3 Kotlin JPA(JDBC) WebClient 예를 들면 아래와 같이 구성되어 있고, @RestController class SampleController( private val service: SampleService ) { @GetMapping("/sample") suspend fun start() { service.withoutDispatchers() } } @Component class SampleClient { private val webClient: WebClient by lazy { WebClient.builder() .baseUrl("https://api.com") .build() } suspend fun fetch(): Int { return webClient.get() .uri { uriBuilder -> uriBuilder.path("/number").build() } .retrieve() .awaitBody() } } interface SampleRepository : JpaRepository<SampleEntity, Long> @Service class SampleService( private val client: SampleClient, private val repository: SampleRepository, ) { suspend fun withoutDispatchers(): Int = coroutineScope { // non-blocking val deferred: Deferred<Int> = async { client.fetch() } // blocking val entity: List<SampleEntity> = repository.findAll() deferred.await() + entity.size } } Controller에서부터 suspend function으로 시작되면 Dispatchers.Unconfined를 사용하여 API 요청에 의해 할당받은 Tomcat 스레드를 그대로 사용하는 것으로 알고 있습니다. 이후 Service 레이어에서 suspend function이 동일하게 Dispatchers.Unconfined를 유지하기 때문에 요청 시 Tomcat 스레드는 그대로 사용되고 WebClient 요청 시 Dispatchers.IO를 사용하면, Tomcat 스레드와 별개로 Dispatchers 스레드 풀에서 스레드를 가져와 사용하는 것으로 알고 있습니다. 1번의 요청에서 Tomcat 스레드 1개 + Dispatchers 스레드 1개 = 총 2개가 사용됩니다. WebClient 요청 시 Dispatchers.IO를 생략하고 Dispatchers.Unconfined를 유지하면 , 코루틴의 재개 시 WebClient 응답을 동일한 Tomcat 스레드가 처리하게 하여 스레드 1개만을 사용하는 것이 서버에 더 효율적이지 않을까? 하는 생각이 들었습니다. 스레드가 Blocking되어도 WebClient의 NIO 이벤트 루프에 들어온 요청은 처리되어 응답에 대한 처리만 대기하고 있을 것이고, 테스트해보았을 때도 WebClient의 요청을 시작한 스레드가 JPARepository를 사용하는 코드에 의해 Blocking되어도 await()에서 문제 없이 응답을 받아올 수 있었습니다. 혹시 제가 생각하지 못한 또 다른 문제가 있을까요? 제가 혹시 잘못 알고 있는 부분이 있거나 Dispatchers.IO를 생략하지 못 하는 이유가 있다면 설명해주시면 감사하겠습니다!

  • springboot
  • kotlin
  • coroutine
  • jpa
  • jdbc
  • blocking
  • webclient
  • non-blocking
kbm0598 댓글 1 좋아요 0 조회수 50

41 First Missing Positive

해결됨

코딩 테스트 합격을 위한 리트코드 핵심 문제 풀이

안녕하세요. 본 문제에 대한 해설에 있어서 다른 문제와는 다르게, 문제 해결 과정까지 가는 인과적 사고과정이 좀 더 보충되면 문제를 이해하고, 응용하는데 도움이 될 것 같습니다. 감사합니다.

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

NonNullApi를 NullMarked로 대체하라고 합니다.

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

spring 7 버전에서 부터는 NonNullAPI이 deprecated 되는 것 같습니다. 대신 NullMarked로 대체하면 된다고 합니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
Gomgomi 댓글 2 좋아요 0 조회수 209

Iterable 관련 설명 중 의문점

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

정렬알고리즘[개념] - 전반부 의 약 14분 37초 즈음에 "Iterable 객체는 순서가 있는 객체로, list, tuple, set, dictionary, strings 등이 있다." 라고 하셨습니다만, 제가 알기로는 set의 경우 순서가 있는 객체는 아닙니다. 혹시 이에 대해 확인해주실 수 있을까요? 혹시 사람들이 이 개념에 대해 헷갈려할 수 있을 것 같아 문의 남깁니다.

  • python
  • 코딩-테스트
  • 알고리즘
wnghks7787 댓글 1 좋아요 1 조회수 102

강의자료 부탁드립니다.

해결됨

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

optional94@naver.com 열심히 따라배워보겠습니다 감사합니다!

  • python
optional94 댓글 0 좋아요 0 조회수 62

섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?

미해결

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

질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리 업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다. 다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ==================================== 안녕하세요 일코님! 강의 너무 유용하게 잘 듣고 있습니다. 저는 OCR로 수학문제를 인식하여서 (Mathpix API 사용) Latex로 변환하고, 그 Latex를 다시 HWP로 변환하는 프로그램을 만들어보려고 합니다. 그런데 나머지 부분은 그럭저럭 찾아가면서 해볼 수 있는데, 한가지 문제가 있습니다. 바로 레이아웃 설정이 마음대로 안되더라구요. 아래 캡쳐 이미지를 예시로 들어보면 좌우 여백을 설정하는 것을 어떻게 할 수 있을까요? 가운데 선을 넣어서, 양 옆에 문제를 넣도록 하는 레이아웃을 어떻게 넣을 수 있을까요? 2번이 수행되었다고 쳤을 때, 각각의 문제의 위치를 지정하는 것을 어떻게 컨트롤 할 수 있을까요? 이 부분 강의도 보고, 가이드도 찾아봐도 어려워서 여쭤봅니다 ㅠㅠ 혹시 이메일로 전달주시는게 편하시다면 seize.win@gmail.com 으로 메일 주셔도 감사드리겠습니다! 감사합니다.

  • python
  • 한컴오피스
김기환 댓글 1 좋아요 0 조회수 105

자막오류 수정가능한가요?

해결됨

실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지

클래스로 클래스를 만드는 메타클래스(Metaclasses)에 대해서 알아보기 3:30초부터 추추추추추춫추추추추추추추로 자막이 나옵니다.

  • python
  • 알고리즘
dlclxkzk87 댓글 1 좋아요 0 조회수 103

dict의 Key를 바꾸는 방법

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

강의 내에서는 Value를 바꾸는 방법은 있는데 Key를 바꾸는 방법은 없는지 궁금합니다. 실무에서는 Value 뿐 아니라 Key값을 바꿔줘야 될 수도 있을 것 같아서요.

  • python
bokyung.kim 댓글 1 좋아요 0 조회수 88

readme 관련 질문 있습니다.

미해결

포트폴리오 어나더레벨 | 합격하는 이력서 작성법

안녕하세요 큰돌님 강의를 즐겨보는 취준생입니다. 강의를 보며 궁금한 점들이 있어 질문 남깁니다. 간단하게 제 상황을 말하면 1년 정도 SI 업체 다니다가 현재는 군대에서 취준하고 있고 6월에 전역하면서 동시에 취업을 하는 것을 목표로 하고 있습니다. Q1: Readme 파일을 잘 꾸미는게 중요하다고 말씀주셨는데, 제가 했던 프로젝트들이 전부 회사에서 혼자 진행한 프로젝트들이여서 모두 private 인 상황입니다. 이럴 경우에는 Readme 파일에 꾸미기 보다는 노션에 따로 정리하는게 맞을까요?? Q2: QnA 글을 보니 큰돌님께서는 이력서와 포트폴리오를 같이 준비하라고 하신걸 봤습니다. 근데 토스채용 같이 이력서와 포트폴리오를 같이 제출해야되는 상황에서는 어떻게 해야될까요?

  • HTML/CSS
  • javascript
  • python
  • java
  • 포트폴리오
김민웅 댓글 1 좋아요 0 조회수 115

강의자료부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

4carchip@naver.com 열심히 따라배워보겠습니다 감사합니다!

  • python
정해윤 댓글 1 좋아요 0 조회수 78

수강기간 연장 문의

미해결

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 강사님, 실기 시험 회차를 하나 놓치게 되어 올해 9월 실기시험을 준비하게 되었습니다. 수강 기간이 4월 14일까지라서 연장하고 싶은데 방법이 있을까요? ㅠㅠ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
nye0814 댓글 2 좋아요 0 조회수 85

[공유] 스프링부트 4.x 버전 mybatis 연동

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter 여기 보시면 현재 기준 버전이 4.0.1 나왔습니다. build.gradle의 dependencies에 //MyBatis 스프링 부트 4.0.1 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:4.0.1' 로 버전 수정하면 잘 됩니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
tmdwhd319 댓글 1 좋아요 0 조회수 297

프리젠테이션 도구

해결됨

안티그래비티 CLI 하네스 엔지니어링

https://corazzon.github.io/slides/ai_py_dev_env.html 페이지는 어떤 도구로 작성된 프리젠테이션일까요? 회사 가이드 작성할 때 활용해 보고 싶습니다. ^^ 미리 감사 드립니다.

  • python
  • vscode
  • gemini
ChangHwan Jang 댓글 1 좋아요 0 조회수 105

숫자 읽기 프롬프트 강의 내용 질문 합니다

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

업로드 까지 정상 작동 되는걸 확인 했읍니다 그런데 한가지 궁금 한것이 있어 질문 합니다 숫자 관련 인데요 "하나" 를 "한" 으로 읽더라구요 제가 설정 을 잘못해서 인지 프롬프트 를 수정 해야 하는지 질문 드립니다 수고 하세요

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
aa27998417 댓글 1 좋아요 0 조회수 61

[ERROR: Can’t determine which item to use]

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

ID 끌어다 놨는데 이런 에러가 납니다... 정작 n8n outputlog는 딴소리를 하고 있어요.. 혹시 비슷한 증상 있으신분 계실까요

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
zero013 댓글 1 좋아요 0 조회수 74

Model output doesn't fit required format

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

제가 만들었을때 이 오류가 떠서 선생님께서 만드신 n8n을 복사해서 사용해도 이 오류가 뜨네요 이미지 프롬포트 생성 LLM에서 Structured Output Parser 오류가 뜹니다 확인부탁드립니다 ㅠㅠ 따른 질문들 방법으로 해봐도 고쳐지지 않습니다 Model output doesn't fit required format To continue the execution when this happens, change the 'On Error' parameter in the root node's settings

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
kyohyun58 댓글 1 좋아요 0 조회수 92

h2 console 접속했을 테이블 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

ddl-auto: create로 설정되어 있어서 자동으로 테이블이 생성되게 되어 있다는 말은 이해가 되는데요. BOOK, USER, USER_LOAN_HISTORY의 테이블 컬럼명과 컬럼의 특성등은 따로 어디에 명시해둬야 참고를 해서라도 만들지 않나요? mysql에서 만들때는 저희가 직접 console창에서 직접 설정해서 create해줬는데, 해당 테이블 구조는 테이블이 생성될때 무엇을 참고해서 만들고 있는건지 문의 드립니다. 감사합니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
김동현 댓글 1 좋아요 1 조회수 90

TodoDTO test 함수

미해결

코드로 배우는 React 19 with 스프링부트 API서버

소스 내용은 @Override public TodoDTO get(Long tno) { Optional<Todo> result = todoRepository.findById(tno); Todo todo = result.orElseThrow(); TodoDTO dto = modelMapper.map(todo, TodoDTO.class); return dto; } 에러 메시지 입니다. 참말로... 이해를 못하겠네요... 테스트가 계속 실패하는데 어디를 확인을 해봐야 할까요? ㅡㅡ;; (등록 testRegister는 잘 test 되고요)

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
bluescreen 댓글 3 좋아요 0 조회수 116

인기 태그

인프런 TOP Writers

주간 인기글