inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

간단한 모델 서빙용으로 FastAPI를 공부하려고 합니다.

미해결

FastAPI 완벽 가이드

안녕하세요. 현재 팀 단위 프로젝트를 진행 중이며, Python으로 구현한 모델을 API 형태로 서빙하는 역할을 맡아 FastAPI를 공부하려고 합니다. LLM 모델을 로드하고 추론 요청을 처리하는 모델 서버 용도로 FastAPI를 활용할 계획이며, Spring 백엔드에서 해당 서버를 호출하는 구조를 고려하고 있습니다. 이 강의가 모델 서빙을 직접적으로 다루는 강의는 아니지만, FastAPI에 대해 전혀 모르는 상황이라 우선 강의를 통해 기본기를 익히고자 합니다. 모델 서버 구축 목적이라면 강의에서 어떤 섹션들을 필수적으로 들어야하는지 강사님의 의견을 듣고 싶습니다. 감사합니다.

  • python
  • sql
  • sqlalchemy
  • FastAPI
Staty 댓글 1 좋아요 0 조회수 149

제네릭 반환값 및 파라미터 선언 방식의 변화 <T> T

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 안녕하세요. 17강에서 와일드카드 공부 중인데, 갑자기 와일드카드 예시에서 기존에 제네릭 예제에서는 사용하지 않던 문법들이 보여서요. 와일드카드를 쓰지 않는 제네릭 메서드인데도 갑자기 메서드 선언 방식이 바뀐 것 같아요. 왜 기존에는 반환값으로 <T> T 를 적었는데 왜 이번 강의에서는 <T> 만 적는 것인지 모르겠어요. 그리고 이전에는 파라미터로 T t 를 넘겼는데, 왜 지금은 Box<T> box 를 통째로 넘기는 것인지도 이해가 안 가요. static <T> void printGenericV1(Box<T> box) { System.out.println("T = " + box.get()); } 이전 제네릭 강의에서 사용한 방식 public <T> T printAndReturn(T t) { System.out.println("animal.className: " + animal.getClass().getName()); System.out.println("t.className: " + t.getClass().getName()); return t; } 감사합니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
슝슝 댓글 1 좋아요 0 조회수 95

where 대신 having을 써도 되나요?

미해결

김영한의 실전 데이터베이스 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] select * from products p1 where price >= ( select avg(p2.price) from products p2 where p2.category = p1.category); 대신에 select name,price from products p1 where price >= (select avg(p2.price) from products p2 group by category having p1.category=p2.category); 으로 써도 문제 없나요?

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
escho94 댓글 1 좋아요 0 조회수 127

Delivery @OneToOne

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Delivery에 있는 @OneToOne(mappedBy = "delivery", fetch = LAZY) private Order order; 에서 인텔리제이가 fetch = LAZY에 노란줄이 떠서 확인해보니 Specifying FetchType.LAZY for the non-owning side of the @OneToOne association will not affect the loading. The related entity will still be loaded as if the FetchType.EAGER is defined. 이런 메세지가 뜹니다. 찾아보니 Lazy를해도 Eager로 동작한다는 거 같은데.. 실제로 테스트를 해보니 Eager로 동작 하고 있어서 여기에 OneToOne인데 lazy로 동작해도 상관없는걸까요?? 아니면 제가 어떤걸 놓친건지 궁금합니다

  • java
  • jpa
Cola 댓글 1 좋아요 0 조회수 89

주문 내역에 대한 고객 데이터

미해결

김영한의 실전 데이터베이스 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ [질문 내용] 강사님께서 주문 내역에 대한 데이터면 이제 주문(orders) 테이블을 기준으로 하는것이 좋겠다 정도는 이제 느낌이 올거에요 라고 하셨는데 전혀 느낌이 오지않아서 흑흑... 제가 생각하기엔 ~에 대한 [고객 데이터]이니까 users가 주인공이여서 그걸 기준으로 잡는다고 생각했는데요 ~ 에 대한일때 ~물결표시있는 부분을 기준으로 잡아야하나요?

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
escho94 댓글 2 좋아요 0 조회수 101

중급1편, 래퍼클래스 문제와풀이2 로또제너레이터 질문

미해결

김영한의 실전 자바 - 중급 1편

[질문 내용] 여기에 질문 내용을 남겨주세요. { private final Random random = new Random(); private int[] lottoNum; private int count; public int[] generate() { lottoNum = new int[6]; count = 0; while (count < 6) { //1-45 숫자 생성 int num = random.nextInt(45) + 1; //중복 제거 필요 if (isUnique(num, count)) { lottoNum[count] = num; count++; } } return lottoNum; } public boolean isUnique(int num, int count) { if(lottoNum[count]==num){ return false; } else {return true;} } } isUnique 메서드를 이렇게 작성하면 중복제거가 안 되는 이유가 뭘까요

  • java
  • 객체지향
칼라똥 댓글 1 좋아요 0 조회수 111

문제 링크 변경

해결됨

SQL 코딩테스트를 위한 첫 걸음

2번째 문제 링크가 변경된 듯 해요 https://leetcode.com/problems/classes-with-at-least-5-students/

  • sql
  • mysql
  • 코딩-테스트
화를참자 댓글 2 좋아요 0 조회수 99

history_creted_at과 valid_from

미해결

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

안녕하세요, 강의에서 valid_from과 valid_to를 사용하는 경우 history_created_at이 빠져있는데 이게 개념적으로는 같아서 제거가 된 게 맞는지 궁금합니다!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
이택승 댓글 2 좋아요 1 조회수 92

8:00

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 CPU 스케줄링은 강의에 나오지 않았었는데 알아서 공부해야하는 부분인가요?

  • python
  • java
  • c
  • 정보처리기사
maritime23 댓글 1 좋아요 0 조회수 104

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 접근제어자 - 쇼핑카트 문제에서 장바구니 상품출력 메서드인 displayItems()와 전체 가격 합을 구하는 calculateTotalPrice() 이거로 나누셨는데, 나누는 이유는 유지보수(나중에 소스 수정) 하기에 좋아서 나누셨겠죠? 근데 만약 안나눈다고 가정한다면.. 이런식으로 한 메서드 안에 넣어도 되는 것인지 궁금합니다. 실행 결과는 똑같이 나옵니다. 감사합니다.

  • java
  • 객체지향
댓글 1 좋아요 0 조회수 107

어댑터에서 도메인에 직접 의존하는 경우에 대해

미해결

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

안녕하세요. 좋은 강의 잘듣고 많이 배우고 있습니다. 좋은 강의 만들어주셔서 감사합니다. 다름이 아니라, 어댑터에서 엔티티에 의존성을 가지는 것이 크게 문제되지 않는다고 말씀주신 내용에 의문이 있어 질문드립니다! 어댑터에서 도메인에 직접 의존하는 것을 막기 위해서 변환 역할을 하는 매퍼 클래스나 DTO에서 엔티티를 자기 자신으로 변환하는 로직을 가지는 것은 어떨까요? 타이트하게 룰을 잡는 케이스를 가정한다면, application layer 내부에 port가 존재할 것이고 이 port에서 return 하는 dto도 application layer일 것이고, 이 dto 안에서 Entity를 받아서 자기 자신으로 변환하는 로직을 가진다면 entity가 application 밖으로 나가지 않을 수 있지 않을까요? (controller, repository 등 마찬가지입니다) 그리고 dto를 application에서 변환하는 것이 로직의 침투라고 표현하시기도 했는데, 그렇다면 provided port 역시 어댑터의 요구가 침투하는 구조라고 볼 수도 있을 것 같기도 합니다.. (생각해보니 이상적으로는 계층별로 DTO를 생성하는게 맞다고 생각은 들지만, "엔티티를 반환하는 트레이드오프가 굉장히 효율적이고 정당하다"라고 말씀하신 것 같다고도 생각이 듭니다) 강의에서 항상 기술이 등장한 배경과 사상을 이해하고, 이를 바탕으로 정당하게 규칙을 스스로 정하는 것을 강조하시는 것 같습니다. 그래서 강의에서 말씀하신 내용이 비슷한 맥락으로, "절대 노출되면 안된다"라는 것에 대한 반박이라고 받아들여지긴 합니다만.. 그래도 바깥쪽으로 노출하지 않는 것이 의존성 관리 차원에서 더 좋지 않을까하는 생각에 질문드립니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
개발덕후 댓글 2 좋아요 0 조회수 194

함수 기반 인덱스 (Function-Based Index)

미해결

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

안녕하세요 영한님!! 항상 좋은 강의 만들어주셔서 감사합니다! 함수 기반 인덱스 생성에서 질문이 있어서 글을 남깁니다! 강의를 들으면서 함수 기반 인덱스를 생성하면 가상 컬럼이 없고, 인덱스만 만들어진다고 이해했습니다. 그래서 product_json 테이블에 만들어진 가상 컬럼과 idx_v_storage 인덱스를 drop한 다음 각각 두가지 방식으로 테스트를 해보았는데요 CREATE INDEX idx_func_storage ON product_json (( CAST(attributes->'$.storage' AS UNSIGNED))); EXPLAIN SELECT * FROM product_json WHERE attributes->'$.storage' = 256; 이렇게 할 경우엔idx_func_storage 인덱스를 잘 타는 걸로 나왔지만, CREATE INDEX idx_func_storage ON product_json ((JSON_VALUE(attributes, '$.storage' RETURNING UNSIGNED))); EXPLAIN SELECT * FROM product_json WHERE attributes->'$.storage' = 256; 이 경우에는 FULL TABLE SCAN 이 되고, 인덱스도 NULL로 나왔습니다. 두 방식 모두 각각 idx_func_storage 인덱스는 잘 생성이 되었는데도 JSON_VALUE() 방식에서는 인덱스를 사용하지않았습니다 그래서 AI에게 물어보니 MySQL functional index는 WHERE절의 표현식이 인덱스 정의와 문자 수준으로 동일해야 한다. 이유는 가상 컬럼 방식에서는 MySQL이 내부적으로 expression rewrite 과 virtual column substitution를 더 적극 수행하지만 functional index는 표현식 exact match 요구가 훨씬 엄격하기 때문이다. CREATE INDEX idx_func_storage ON product_json ((CAST(attributes->'$.storage' AS UNSIGNED))); 이렇게 인덱스를 생성했다면 EXPLAIN SELECT *FROM product_json WHERE CAST(attributes->'$.storage' AS UNSIGNED) = 256; 이렇게 WHERE 절을 작성해야 하고 CREATE INDEX idx_func_storage ON product_json ((JSON_VALUE(attributes, '$.storage' RETURNING UNSIGNED))); 이렇게 인덱스를 생성했다면 EXPLAIN SELECT * FROM product_json WHERE JSON_VALUE(attributes, '$.storage' RETURNING UNSIGNED) = 256 이렇게 WHERE 절을 작성해야 한다고 답변해주었는데요! 이렇게 각각 테스트 해보면, 인덱스를 잘 타는 것으로 나옵니다..! 또한 CAST()로 인덱스를 생성한 경우 WHERE절에 JSON_VALUE()를 사용한 쿼리는 Index를 사용하지않고, FULL TABLE SCAN을 했으며, JSON_VALUE()로 인덱스를 생성한 경우 WHERE절에 JSON_VALUE()를 사용했을 경우에만 Index를 사용했습니다. 제 테스트에서는 CAST() 기반 인덱스는 WHERE절 축약 표현식에서도 인덱스를 사용하였고, WHERE절 JSON_VALUE()는 인덱스를 사용하지 않았습니다. JSON_VALUE() 기반 인덱스에서는 WHERE절에 동일한 JSON_VALUE() 표현식을 사용했을 경우에만 인덱스를 사용하는 것으로 보였습니다 이게 맞는 걸까요? 아니면 제가 잘못 확인한 걸까요?, 또한 functional index 매칭 규칙 실제 범위가 어디까지 인지? AI가 답변해준 동작 방식이 맞는 건지도 여쭤보고 싶습니다! (제 MySQL버전이 8.0.41이네요,,) 영상을 다시 잘 보니, 2:18 분에 idx_func_storage 인덱스를 CAST() 구문으로 생성하시고, 2:25분에 확인하실 때, EXPLAIN의 결과에서 idx_v_storage인덱스가 나오긴 합니다!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
사야 댓글 1 좋아요 0 조회수 112

printf문 문법

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요! 변수 선언과 출력파트 16:19에서 printf 3번째줄에 \n와 Double사이에 콤마 있어야 되는거죠?

  • python
  • java
  • c
  • 정보처리기사
백인혁 댓글 2 좋아요 0 조회수 77

mac erwin 설치 관련

미해결

[2026] 비전공자도 한 번에 합격하는 SQLD 올인원

밑에 분이랑 똑같은 질문입니다.. 받아 놓으신 자료 설치 했는데 라이센스 키가 필요하네요 ㅠㅠ 비즈니스 메일로 어떻게 다운 받아야 하나요?

  • sql
  • 빅데이터
  • 코딩-테스트
  • 데이터-엔지니어링
  • SQLD
Lee 댓글 2 좋아요 1 조회수 232

SQL 파일 다운로드

미해결

SQL 코딩테스트를 위한 첫 걸음

안녕하세요! MySQL 설치 및 연동 - 4:37 에 말씀해주신 인프런에 첨부된 SQL 파일을 찾을 수가 없습니다... 해당 강의 자료를 다운 받아도 pdf 파일만 다운로드 됩니다. 혹시 다운로드 위치를 알려주실 수 있을까요? 감사합니다 강의 잘 듣겠습니다!

  • sql
  • mysql
  • 코딩-테스트
규진 댓글 2 좋아요 0 조회수 104

기출문제의 뜻이 뭔지 궁금합니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

스위치 케이스문 5분 문제에 대한 질문입니다. 예제를 보여주며, 기출문제입니다. 라고 하시는데 이게 실제로 예전 실기에 나왔던 문제라는 뜻인가요? 아니면 임의로 만든 시험에 나올법 한 문제인가요 아니면 필기에서 나온 문제인가요?

  • python
  • java
  • c
  • 정보처리기사
안녕1233 댓글 2 좋아요 0 조회수 113

휴대폰으로 Q&A 남기는 법 문의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 상기 제목과 같이 문의 합니다. 휴대폰으로는 질문이 불가한가요?

  • python
  • java
  • c
  • 정보처리기사
김가현 댓글 2 좋아요 0 조회수 65

comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요. 식별 vs 비셕별에 대한 db 설계 관련 내용 중에 영한님께서 일대다의 경우인 board 테이블(one)과 comment(many)에서 board 테이블의 id가 식별관계로 사용되는 경우 comment의 id는 채번을 따서 사용해야하고 시퀀스나 auto increment를 사용할 수 없다고 하셨는데 그 이유가 궁금합니다. 어쨋든 board 테이블의 id값은 row마다 존재하기에 각 comment row의 데이터가 어떤 board에 속하는지 그리고 순서도 asc 순으로 보장된다고 생각하는데요.. 꼭 채번을 사용해서 만들어야한다고 설명해주신 이유가 무엇인지 궁금합니다. 더구나 max+1 같은 경우 comment의 id값이 중복될 여지도 있다고 생각하는데요.. 설명해주시면 감사하겠습니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
변현진 댓글 4 좋아요 0 조회수 165

추후 강의 질문있습니다

미해결

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

안녕하세요! 늦었지만 새해복 많이받으세요! 신입때 영한님 강의 봤었는데 벌써 6년차에 접어들고 있습니다..! 다름이 아니라 최근 실무에서 레거시 코드를 개선하면서 고민을 많이 하고 있는데요 주변에 시니어분들이 있으나 아키텍처에 대해서 크게 고민하고 있지 않아 제가 고민 후 적용해보고 있습니다. 예를 들어 레이어드 아키텍처로 구현되어 있는 프로젝트가 있으나 규모가 커지면서 점점 유지보수가 힘든 지경까지 왔는데요 (메서드 하나에 1천 줄... 이상) 이런 상황에서 DDD 아키텍처를 이용해서 코드를 작성해보고 있습니다. 하지만 아무래도 혼자 공부하고 혼자 해보다보니 이게 맞는건지 제대로 하는건지 궁금한 부분이 꽤나 많습니다. 그래서 질문은 향후 아키텍처에 관련된 강의 계획이 있으신지 너무 궁금합니다...!! 클린아키텍처, 핵사고널, DDD 다양한 방법과 적용된 프로젝트가 많은데 이런 강의도 하실 예정이신지.. 없으시다면 꼭 해주셨으면 합니다!! 아무튼 강의 계속 보면서 많은 도움 받고 있습니다 감사합니다!! 다시 한번 새해 복 많이 받으세요!

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
치즈초코우유 댓글 2 좋아요 0 조회수 154

[Day23] 정답 데이터와 동일함에도 오답 처리됩니다.

해결됨

데이터 분석을 위한 SQL 문제풀이 (Advent of SQL 2024)

안녕하세요. solvesql을 통해 "유량(Flow)과 저량(Stock)" 문제를 접하게 된 사용자입니다. 다름이 아니라, 현재 정답 데이터와 제출 데이터가 동일함에도 불구하고 아래와 같이 오답 처리되는 현상이 발생하고 있습니다. 인터넷에서 찾은 다른 사람들의 코드와 제 코드 사이의 차이도 크게 보이지 않는 상황입니다. 해당 현상 한 번 검토 부탁 드리겠습니다. 참고로 제 코드와 오답 메세지 첨부 드립니다. [ 코드(MySQL) ] SELECT Ay AS "Acquisition year" , Flow AS "New acquisitions this year (Flow)" , SUM(Flow) OVER (ORDER BY Ay) AS "Total collection size (Stock)" FROM ( SELECT DATE_FORMAT(acquisition_date, '%Y') AS Ay , COUNT(artwork_id) AS Flow FROM artworks WHERE acquisition_date IS NOT NULL GROUP BY DATE_FORMAT(acquisition_date, '%Y') ) A ORDER BY 1; [ 오답 메세지 ] 감사합니다.

  • sql
  • mysql
sdjdr87 댓글 3 좋아요 0 조회수 129

인기 태그

인프런 TOP Writers

주간 인기글