inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

streamlit import 불가

해결됨

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요, 비개발자로 streamlit 부분까지 따라왔는데 막혀버렸습니다 ^^; streamlit import가 되지 않아서 문의드립니다. 콘솔창에서 hello streamlit 입력했을 때 정상적으로 브라우저에 뜨는 것을 확인했는데, 아래처럼 VScode에서는 import가 되지 않습니다. 혹시 가상환경에 문제가 있는걸까요? inflearn-llm-application 가상환경에서 mkdir로 inflearn-streamlit을 만들었고 아래처럼 inflearn-streamlit 을 activate 한 상황입니다. 확인 부탁드리겠습니다! 감사합니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
rarexband 댓글 3 좋아요 0 조회수 474

프로퍼티 빈의 후처리기 도입 AnnotationUtils의 사용

미해결

토비의 스프링 부트 - 이해와 원리

강의 도중 AnnotationUtils 를 사용하여 애노테이션의 정보를 얻어오는 부분이 있습니다. MyConfigurationProperties annotation = AnnotationUtils .findAnnotation(bean.getClass(), MyConfigurationProperties.class); if (annotation == null) return bean; Map<String, Object> attributes = AnnotationUtils.getAnnotationAttributes(annotation); String prefix = (String) attributes.get("prefix"); return Binder.get(env).bindOrCreate(prefix, bean.getClass()); 여기에서 attributes 를 가져오지 않고 annotation.prefix() 를 사용해서 정보를 가지고 올 수도 있다고 생각됩니다만 AnnotationUtils 를 사용할 때의 다른 이점이 있는 것인가요?? MyConfigurationProperties annotation = AnnotationUtils .findAnnotation(bean.getClass(), MyConfigurationProperties.class); if (annotation == null) return bean; return Binder.get(env).bindOrCreate(annotation.prefix(), bean.getClass());

  • spring
  • spring-boot
  • spring-jdbc
현성 댓글 2 좋아요 0 조회수 264

WriteLock이 기존 진행 되는 ReadLock이 끝남을 기다리는 과정에 대해서 질문드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

int desired = (Thread.CurrentThread.ManagedThreadId << 16) & WRITE_MASK; while (true) { for(int i = 0; i < MAX_SPIN_COUNT; i++) { if (Interlocked.CompareExchange(ref _flag, desired, EMPTY_FLAG) == EMPTY_FLAG) return; } Thread.Yield(); } desired 부분에서 마스크를 통해 WriteThreadId를 제외하고 밀어버린 뒤 Interlocked부분에서 비교를 통해 ReadLock과 WriteLock이 없는지 비교하고 있습니다. 위 과정에서 만약 먼저 ReadLock이 잡혀있다면 ReadLock이 풀릴 때 까지 기다리게 되는데 만약 끊임없이 Read가 일어나 ReadLock이 풀리는 틈이 없어 Write가 되지않는 극단적인 경우는 일어나지 않는건가요? 혹시라도 일어나지 않는다면 Read 하는 과정이 매우 짧기 때문에 그런 일이 발생하지 않는 것인지 궁금합니다.

  • C#
  • unity
  • 네트워크
동혁 댓글 2 좋아요 0 조회수 180

24년 2회기출 35분 52초

해결됨

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

24년 2회기출 35분 52초 에 아스키코드 65,97 설명하시는데 65가 더 작은 소문자 a 라고 말한게 잘못말한거 같아요

  • java
  • 정보처리기사
정재호 댓글 2 좋아요 0 조회수 129

workdir 대신에 RUN mkdir /directory COPY 상대경로 /directory/복사할파일 이런식으로 구현해도 되나요 ?

해결됨

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

둘 중 뭐가 보편적으로 사용되는 편인지 궁금합니다! 1번 사안 WORKDIR /directory 2번 사안 RUN mkdir /directory COPY [복사할 파일의 상대경로] [/directory/복사할 파일]

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

DuckDB API 사용시 Connection Error가 발생합니다.

미해결

실리콘밸리 데이터 리더가 알려주는 기초 SQL

실습 코드를 순서대로 진행하니 아래와 같은 에러가 발생했습니다. ********************* 확인해보니 3번째 셀에서 duckdb를 연결하고 %sql duckdb:///duckdb.db 그 아래에서 다음과 API로 연결을 시도하면 계속 에러가 발생합니다. duckdb_con = duckdb.connect("duckdb.db") ********************** 그래서 노트북 세션을 초기화하고 duckdb.db 파일을 삭제하고 3번째 셀을 실행하지 않고 duckdb API로 바로 연결하니 그때서야 제대로 연결되었습니다.

  • sql
  • 빅데이터
  • dbms/rdbms
  • 데이터-엔지니어링
  • duckdb
  • 데이터-리터러시
KyungJun Lee 댓글 4 좋아요 1 조회수 433

@Cacheable key 속성에서 page, size 파라미터값 null

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

BoardService.class @Cacheable( cacheNames = "getBoards", key = "'boards:page:' + #page + ':size:' + #size", cacheManager = "boardCacheManager" ) public List<Board> getBoards(int page, int size) { log.info("page={},size={}", page, size); Pageable pageable = PageRequest.of(page - 1, size); Page<Board> pageOfBoards = boardRepository.findAllByOrderByCreatedAtDesc(pageable); return pageOfBoards.getContent(); } BoardController.class @GetMapping public List<Board> getBoards( @RequestParam(name = "page", defaultValue = "1") int page, @RequestParam(name = "size", defaultValue = "10") int size ) { log.info("page={}, size={}", page, size); return boardService.getBoards(page, size); } #page, #size 값에 모두 null이 저장되는 것 같습니다. 위 코드에서처럼 BoardService.getBoards(), BoardController.getBoards() 두 메서드 전부 page, size 값을 로그로 출력해보니 각각 1, 10으로 여기서는 정상적으로 나오는데, 어디서 문제가 있는지 모르겠습니다. 구글링을 해도 마땅한 답을 구할 수 없어서 질문 남깁니다!

  • redis
  • nosql
  • query-tuning
  • performance-tuning
danseung 댓글 4 좋아요 0 조회수 355

카운터앱 구현하기에서 커스텀훅으로 관리하는 방법은 어떤가요?

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요! 카운터앱 구현하기를 조금 다르게 코드를 짜보았는데, 커스텀훅을 활용법에 익숙하지 않아서, 이렇게 구현하는 방법이 적절한지 감이 안와요.. 바쁘신데 죄송하지만 아래와 같은 커스텀훅 구현방식의 장단점에 대해서 알려주시면 감사하겠습니다! 먼저 useCount.jsx를 아래와 같이 작성하였구요 import { useState } from 'react'; function useCount() { const [num, setNum] = useState(0); const onClinkCount = (e) => { setNum(num + Number(e.target.value)) } return [num, onClinkCount]; } export default useCount; 아래는 넘버 조작 부분인 Controller.jsx const Controller = ({ onClinkCount }) => { return ( <div> <button onClick={onClinkCount} value="-1">-1</button> <button onClick={onClinkCount} value="-10">-10</button> <button onClick={onClinkCount} value="-100">-100</button> <button onClick={onClinkCount} value="+100">+100</button> <button onClick={onClinkCount} value="+10">+10</button> <button onClick={onClinkCount} value="+1">+1</button> </div> ) } export default Controller 카운트 넘버 표시부분인 Viewer.jsx const Viewer = ({ num }) => { return ( <div> <div>현재 카운트:</div> <h1>{num}</h1> </div> ) } export default Viewer 그리고 부모 컴포넌트인 App.jsx 입니다. import "./App.css" import Controller from './components/Controller' import Viewer from './components/Viewer' import useCount from './hooks/useCount' function App() { const [num, onClinkCount] = useCount(); return ( <div className='App'> <h1>Simple Counter</h1> <section> <Viewer num={num} /> </section> <section> <Controller onClinkCount={onClinkCount} /> </section> </div> ) } export default App 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • javascript
  • react
  • node.js
CHO HYUNGCHAN 댓글 2 좋아요 0 조회수 237

Region Rect 디버그할때 수치가 바뀌는걸 볼 수 없어요.

해결됨

Godot Engine 마리오라이크 2D PC 게임 만들기

배경화면이 X, Y 축으로 반복되면서 흐르는 걸 하는 중인데요... region_rect.position이 계속 증가하면 수치가 커지니까 Vector2.ZERO 로 초기화하는 부분을 하고 있어요. 코드는 작성했고 동작은 정상적으로 하는데 제 고도엔진 화면에서는 영상처럼 Region의 Rect.x Rect.Y의 수치가 변하지 않고 0으로 고정되어있는데 무슨 문제일까요?

  • 2d
  • godot-engine
  • gdscript
  • adventure
김태준 댓글 2 좋아요 1 조회수 295

async await 관련 질문

해결됨

2시간으로 끝내는 코루틴

안녕하세요. val job1 = async { apiCall1() } val job2 = async { apiCall2(job1.await()) } printWithThread(job1.await() + job2.await()) 만약, job1에 대한 결과를 메인 코루틴과 job2 코루틴 각각에서 사용하고 싶으면 위와 같이 작성하면 되나요? 제가 실제로 apiCall1에 print문을 넣어 보니까 1번만 출력이 되는 것을 확인했습니다. 만약, 위에 질문이 맞다면 코루틴 job을 생성하고 해당 결과를 받을 때는 항상 await() 함수를 호출하면 되나요? 여기서 궁금한 점은 만약 서버와 통신하는 api라고 한다면, 새롭게 호출하고 싶을 때도 있을 텐데 이럴 때는 어떻게 기존 값이 아닌 새로운 값을 받을 수 있는지도 궁금합니다. 감사합니다.

  • kotlin
  • coroutine
HAHA 댓글 2 좋아요 1 조회수 171

영상에서는 디버깅할때 Sprite2D에서 Region Rect 수치가 계속 변하는걸로 보이는데...

해결됨

Godot Engine 마리오라이크 2D PC 게임 만들기

어려운 점이 있으신가요? 망설이시지 말고 인프런이나 유투브에 질문을 남겨주세요. 가능한 시간에 답변을 남겨 드리겠습니다. 또는 아래 커뮤니티에도 도움을 요청해 보세요. Sweet Spot 디스코드 서버 - https://discord.gg/veAnCmBf 고도 엔진 코리아 디스코드 서버 - https://discord.com/invite/XK8Emsf 고도 엔진 코리아 네이버 카페 - https://cafe.naver.com/godotk 커뮤니티에 본인을 소개하고 직접 완성하신 작품도 자랑해보세요 :)

  • 2d
  • godot-engine
  • gdscript
  • adventure
댓글 1 좋아요 1 조회수 154

학습자료 통합본

해결됨

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

수업자료 PDF 통합본 언제쯤 나오나요? 이제 한 달이 채 안 남았네요ㅠㅠ

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

region

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

만약에 사용자가 한국에도 있고 다른나라 미국 프랑스 에도 있다고 한다면어떻게 해야할까요 ?

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
SJ 댓글 2 좋아요 0 조회수 112

노션이 뭐죠??

해결됨

코딩테스트 [ ALL IN ONE ]

그냥 구글폼에 제 메일주소 eovnfjfpa@naver.com 으로 교재 신청했는데 아직 안와서요 교재 좀 부탁드릴게요 노션이 뭔지 아무 설명이 없는데 메일로는 강의 교재가 안와서 문의드려요

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

파일에 대한 질문입니다.

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요 좋은 강의 잘 보고 있습니다! 파일에 대해서 질문이 있어서 합니다. 현재 저의 수준에서 User mode에서 파일이라 함은 장치를 추상화한 파일과 데이터 파일 두개가 존재한다고 보면 될까요? 장치를 추상화한 파일을 콘솔로 예를 들어서 설명해 주셔서 직관적으로는 이해는 간 것 같습니다. 그렇다면 데이터 파일의 경우 우리가 모니터로 보는 데이터 파일 또한 추상화한 데이터라고 생각하여 모니터로 표현된 파일에 DATA를 쓴다면 사실은 내부적으로 추상화된 파일에서 파일 시스템에 접근 후에 필터와 드라이버를 거쳐서 HDD나 SDD에 접근하여 실제 물리적인 부분?을 고친 것이다. 라고 이해하면 될까요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
amadeus20 댓글 2 좋아요 0 조회수 138

코루틴 실행 순서 궁금합니다.

해결됨

2시간으로 끝내는 코루틴

안녕하세요. 먼저 선생님 강의가 도움 많이 되고 있습니다. 감사합니다. 질문이 두 가지 있습니다. 질문 1. fun main() = runBlocking { println("START") launch { println("1") } launch { println("2") } launch { println("3") } launch { println("4") } yield() println("END") } 이런식으로 되어 있다면 yield실행 후에 1~4번 중 어떤게 출력될지는 랜덤인건가요? 실제 실행 시에는 순서대로 되는걸 확인 했는데, 이게 항상 launch가 호출된 순서대로 출력되는건가요? 질문 2. fun main() = runBlocking { println("START") launch { println("1") } launch { println("2") } launch { yield() println("3") } launch { println("4") } yield() println("END") } 만약 3번에 yield 가 있다면, 어떻게 되는건가요? 3번에 들어온 순간 끝나지 않은 Coroutine 중에서 랜덤하게 호출되는건가요? 아니면 main으로 가서 END가 출력되는건가요? 감사합니다.

  • kotlin
  • coroutine
HAHA 댓글 2 좋아요 1 조회수 270

EU-GDPR 주요 용어

미해결

2026년 CPPG 자격증 취득 과정 (최신판)

수령인에서의 비고란 내용이 이해되지 않습니다. 비고란에서의 내용은 결국 GDRP의 수령인과 제3자를 구분하는 범위에 대한 이야기일까요??

  • security
  • cppg(개인정보관리사)
csa8888 댓글 2 좋아요 0 조회수 318

버튼 스타일링에서 Material State Property는 Depreciated?

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

depreciated되어 다른걸 사용 권장한다며 단어가 크로스아웃되어 나옵니다. 그래도 사용해야 할까요?

  • flutter
  • 클론코딩
JY Hwang 댓글 2 좋아요 0 조회수 200

ios 캐시 삭제 방법 알 수 있을까요?

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

아래 방법을 진행하고 앱을 실행해도 앱이 사용자의 위치를 사용하도록 허용하시겠습니까? 라는 알림이 나오지를 않습니다. 혹시 방법이 있을까요!? 방법 1. 설정 -> 개발자 -> Xcode 프로젝트 빌드 파일 -> 2개 삭제 방법 2. npx react-native start --reset-cache 방법 3. yarn cache clean

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
강프로그래머 댓글 2 좋아요 0 조회수 640

navigationBarTitle에 대해 (질문X, 공유O)

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

안녕하세요. 먼저, macOS를 Sequoia로 업데이트 하면서 Xcode도 15에서 16으로 업데이트 했습니다. 강의 6분 50초 정도부터 navigationTitle 관련된 코드 작성을 해주시는데 이전 OS나 Xcode15에서는 강의 내용대로 작성하면 제대로 되었던게 업데이트를 하고나니 안되더라구요. 찾아보니 Xcode 16에서는 내비게이션 타이틀과 툴바의 상호작용이 일부 변경되었다고 합니다. 하단에 .navigationBarTitleDisplayMode(.inline) 을 추가하니 강의 내용과 동일하게 나타났습니다. 코드는 아래에 첨부하겠습니다. .navigationTitle("프로필 편집") .navigationBarTitleDisplayMode(.inline) .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } 게시판 내용과 어긋나거나 잘못된 정보면 말씀해 주세요. 감사합니다.

  • ios
  • firebase
  • swiftui
  • mvvm
Reach 댓글 2 좋아요 3 조회수 156

인기 태그

인프런 TOP Writers

주간 인기글