inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

강의록 오타 제보

해결됨

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

[제보 내용] 대상 강의록: 7. 중첩 클래스, 내부 클래스1.pdf 위치: p.3 의 두 번째 코드 블록(= process() 있는 곳) 오타 내용: 수정 전: int lcoalVar = 0; 수정 후: int localVar = 0; 궁금한 내용이 생겨 복습하러 왔다가 겸사겸사 오타도 발견하고 가네요. 항상 좋은 강의 감사합니다!

  • java
  • 객체지향
dev.rudevico 댓글 2 좋아요 0 조회수 92

docs 파일 못찾음

미해결

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

국정자원 화재로 인해... docs 파일을 내려받을수가 없네요 ㅠ 어떻게 해야할까요?

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
양동우 댓글 2 좋아요 0 조회수 136

6. 변수 선언과출력 / 18:46 / JAVA 개행관련 문의

해결됨

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

강의 앞부분에서는 JAVA에서는 print 뒤에 ln을 붙여서 개행한다고 설명해 주셨습니다. 그런데 뒷부분 예제에 Systenm.out.print("Character:"+ch+"\n"); 이런 명령문구가 있는데 정답 해설하실 때도 \n에 대해서는 설명 안해주시네요. 작성해 주신 출력 결과를 보면 Character:A가 출력되고 개행이 되는 것 같은데, JAVA에서 +"\n"으로도 개행을 할 수 있는건가요?

  • python
  • java
  • c
  • 정보처리기사
태0 댓글 2 좋아요 0 조회수 68

빌드 후 libs 없음

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] build까지 성공했는데 해당 경로로 들어갔을 때 libs가 없네요 이런 경우에는 빌드가 제대로 되지 않은건가요?

  • java
  • spring
  • mvc
  • spring-boot
현정 댓글 1 좋아요 1 조회수 178

2025년 2회 18번

해결됨

2026 벼락치기 합격! 기출문제 집중 정보처리기사 실기

best에서 어떤 연유로 t부터 출력이 되는것인가요 이해가 안가네요

  • python
  • java
  • c
  • 정보처리기사
  • database
홍성준 댓글 2 좋아요 0 조회수 131

배열포인터 질문

해결됨

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

6:57 에서 printf("%c\n", *ptr_a); 만약 이렇게 배열을 포인터로 선언한 배열 포인터 변수를 넣는다면, 출력은 hello가 되는게 맞을까요??

  • python
  • java
  • c
  • 정보처리기사
이진우 댓글 2 좋아요 0 조회수 56

동시 접근 시 lock을 통한 성능 저하 문제

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

강의를 보다보니 궁금한 점이 있어 질문 남깁니다. 첫번째로 궁금한 점은 AbstractPagingItemReader의 코드를 doRead 함수 안에서 lock을 잡고 있으며, doReadPage가 끝난 후 lock을 푸는 것을 확인할 수 있었습니다.. doReadPage에 실제로 paging 로직이 존재하니 사실상 paging 로직은 직렬로 수행되는 것과 다를 바 없을 것이며, 성능적으로 크게 증가하지 않을 것 같다는 생각이 드는데요.. (거의 직렬 처리와 유사할 것 같다는 생각이 드네요..) 사실상 병렬 처리라해도 Reader쪽에서 성능 향상이 거의 없다고 보면 될까요? 두번째로 궁금한 점은 AbstractPagingItemReader 상위 클래스인 AbstractItemCountingItemStreamItemReader의 read 함수를 보니 멤버 변수인 currentItemCount를 증가시키는 로직이 존재하더라구요.. 이 부분도 병렬처리에 문제가 될 것 같다는 생각이 들고 해당 클래스의 주석에도 "Subclasses are inherently <b>not</b> thread-safe." 라고 적혀있는 것으로 봐서는 문제가 존재하는 것 같은데요.. 그럼에도 불구하고 기능상 영향이 없으니 하위 클래스인 AbstractPagingItemReader는 thread-safe하다고 나와있는 것이라고 생각하면될까요??

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
박정선 댓글 2 좋아요 1 조회수 106

sizeof 함수 결과

해결됨

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

함수와 재귀함수 (v2) 챕터에서 31:05 int size - sizeof(myAraay) / sizeof(myArray[0]); 값이 왜 5개 나오는지 설명 부탁드립니다.

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

이론 요약본 pdf파일 어디서 다운받을 수 있나요?

해결됨

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

안녕하세요. 방금 결제하고 여기저기 찾아봐도 이론 요약본 pdf파일을 어디서 다운받는지 잘 모르겠네요. 제가 인프런 사용이 처음이라서 번거로우시겠지만 답변 부탁드립니다, 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
태0 댓글 2 좋아요 0 조회수 92

25년 2회 12~16 라운드로빈

해결됨

2026 벼락치기 합격! 기출문제 집중 정보처리기사 실기

대기시간 구할 때 대기시간 = 도착시간+실행시간인데 만일 P4의 도착시간이 5초라고하면 계산이 달라지는 것 같습니다. P1이 그전에 종료가 되서.. 이럴 땐 어떻해야할까요

  • python
  • java
  • c
  • 정보처리기사
  • database
홍성준 댓글 1 좋아요 0 조회수 132

COUNT 쿼리에 LIMIT

해결됨

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

안녕하세요 COUNT 쿼리에 LIMIT 를 지정하는 이유가 있을까요? 설명해주셨는데 놓친건지 모르겠네요ㅜ

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Dev Jeon 댓글 2 좋아요 0 조회수 80

5:20 널문자관련

해결됨

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

앞선 코드에서는 구조체의 name(char x[]배열)에 데이터를 넣고 널문자를 넣지 않았는데 넣나 안넣나 상관이 없나요?

  • python
  • java
  • c
  • 정보처리기사
진우 댓글 2 좋아요 0 조회수 51

25년 2회 8~11

해결됨

2026 벼락치기 합격! 기출문제 집중 정보처리기사 실기

9분48초에서 첫번째 ref.x(2)는 child로 가고 ref.id()는 parent로 가는지 다시 정확하게 설명부탁드립니다

  • python
  • java
  • c
  • 정보처리기사
  • database
홍성준 댓글 1 좋아요 0 조회수 105

메모리 주소 및 배열 관련

해결됨

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

포인터 조작과 출제 패턴 (2. 포인터 증가/감소, 이중 포인터) 9:35 printf("%c\n", *(ptr_a+1)); 여기서 ptr은 str[] 배열이기 때문에 H값이 온다는 것은 이해를 했는데 printf할 때 배열 단위로 오면 printf("%c\n", *(ptr_a+1)) 오는 것 같고 배열에서 특정 위치를 표현하는 printf("%c\n", ptr_a[1])가 오는 것 같은데 같은 배열을 이용하는 건데 * 사용 대해서 차이가 위 설명이 맞을까요?

  • python
  • java
  • c
  • 정보처리기사
dhkdxo12 댓글 2 좋아요 0 조회수 76

메모리 주소 및 배열 관련

해결됨

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

포인터 조작과 출제 패턴 (2. 포인터 증가/감소, 이중 포인터) 3:36 배열의 경우는 메모리 주소와 같은 개념이라고 이해했는데 char *ptr_a=a; 경우 a는 배열 내 첫번째 요소를 의미하는 것으로 "H"로 지정된다는 것을 이해를 했습니다. 다만, printf("%c/n", * ptr_a);에서 변수 앞에 출력하고자하는 변수 앞에 *가 있으면 해당 메모리 주소의 값으로 출력이 된다고 하였는데 배열일 경우, printf("%c/n", *ptr_a) 값과 printf("%c/n", ptr_a) 값은 같은건가요? 일반적으로 *가 없으면 메모리 주소를 출력하는 것으로 알고 있습니다.

  • python
  • java
  • c
  • 정보처리기사
dhkdxo12 댓글 2 좋아요 0 조회수 61

tax_with_markdown.docx 에 테이블 값 오타

미해결

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

연봉 1억4천만원 소득세가 다르게 나와서 문서 확인하니 테이블에 있는 값이 오타네요...ㅜㅜ 1536만원인데 3706만원으로 된부분과 42퍼센트도 오타...제가 발견한건 두군데임

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
김연준 댓글 2 좋아요 0 조회수 81

혹시 다음 편은 언제쯤 오픈할까요?

미해결

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

안녕하세요 토비님. 강의 잘 수강하고 있습니다. 아직 강의 초반부만 들었지만, 아주 감명깊게 수강중입니다. 혹시 다음강의 오픈은 언제쯤 예상하고 계실까요?

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

코딩 언어와 교재 간 불일치

해결됨

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

포인터의 개념과 활용 (1.메모리 주소에 접근하자) 챕터에서 10:21 챕터 화면에는 printf("%d\n", pointer); 교재에는 printf("%d\n", *pointer); 서로 달라서 뭐가 맞는건지 모르겠습니다.

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

단일연산

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. final Stock stock = stockRepository.getByProductId(productId); stock.decrease(quantity); stockRepository.save(stock) public void decrease(final Long quantity) { if (this.quantity - quantity < 0) { throw new RuntimeException("재고 부족"); } this.quantity -= quantity; } 락을 건 이유는 decrease 로직에서 quantity를 줄이고 다시 저장했기 때문이라 생각했습니다. stock 상태가 코드레벨 에서 변하기 때문에 발생하기 때문입니다. 다만 코드레벨에서 변경하지 않고 디비에서 직접 변경한다면(update stock quantity=quantity-1 과 같이) update 자체가 배타락이기 때문에 굳이 락을 걸지 않아도 된다고 판단하였습니다. 그래서 단일 연산으로 해결할 수 없는 상황은 quantity 필드 뿐만 아니라 다른 필드에도 영향이 미칠 때라 생각했습니다. stock 필드에 soft delete 필드 delYn을 추가하고, 코드 상에서 만약 재고가 0이면 delYn=True 로 바꾼다 이런 경우일 것 같은데 제가 생각한게 맞을까요? 단일 연산으로도 정합성을 유지할 수 있는데 왜 stock을 다시 저장하는지 모르겠습니다

  • java
  • spring
  • 동시성
ililil 댓글 2 좋아요 0 조회수 100

mac으로 hugging face 양자화 공유합니다.(질문도 있습니다)

미해결

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

안녕하세요. 강의에서 나오는 BitsAndBytesConfig 를 통한 양자화 예시에서 CUDA 가 필수로 요구되어 macbook에서 진행할 수 있는 방안을 찾다가 mlx_lm 을 통해서 MPS(mac의 gpu)를 활용하여 양자화가 가능하단 사실을 알게되어 공유드리고자 합니다. 아마 맥북 사용자도 꽤 많을 것으로 예상됩니다. langchain에서 MLXPipeline 을 제공하지만 이를 사용했을 때 현재 invoke시 호출되는 _call 메서드 내부에서 generate_step 이 mlx_lm에서 제공은 하지만 MLXPipeline 에서 제대로 불러올 수 없어 RunnableLambda 를 통해서 에러를 우회해봤습니다.(Q? 강사님은 혹시 해결 방법을 알고 계실까요? 공홈 코드가 다 안 되네요 ㅜㅜ 오류 코드는 맨 아래 첨부하겠습니다. ) 먼저 양자화 진행하는 방식입니다. cli를 통한 command 또는 python-api 를 활용하는 방법 두 가지가 있습니다. 자세한건 링크 첨부하겠습니다. 양자화 개념에 대해서 자세히 나오니 참고하면 좋으실 듯 합니다. 링크: [quantization with xlm_lm]( https://developer.apple.com/kr/videos/play/wwdc2025/298/?time=187 ) mlx_lm을 통한 양자화 먼저 양자화한 model을 local path에 저장합니다. 그 전에 apple의 gpu를 확인할 수 있는 코드 부분은 처음 부분에서 확인하실 수 있습니다. 사실 python코드를 싸는 것보다 command로 양자화 진행하는게 편한 것 같습니다. 전 projection layer와 embedding layer는 다른 layer보다 높은 bit로 해주는게 좋다고 하여 python으로 진행했습니다. dequantize on-the-fly(게산 추론) 시 더 좋다고 합니다. # mac에서 mps를 사용한 예제 import torch from mlx_lm.convert import convert print("MPS available on this device =>", torch.backends.mps.is_available()) # projection layer & embedding layer는 6bit, 양자화 가능한 layer는 4bit, 양자화 불가능은 False return def mixed_quantization(layer_path, layer): if "lm_head" in layer_path or 'embed_tokens' in layer_path: return {"bits": 6, "group_size": 64} elif hasattr(layer, "to_quantized"): return {"bits": 4, "group_size": 64} else: return False # quantization 진행 convert( hf_path="microsoft/Phi-3-mini-4k-instruct", mlx_path="./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit", dtype="float16", quantize=True, q_bits=4, q_group_size=64, quant_predicate=mixed_quantization ) $) mlx_lm.convert --hf-path "mistralai/Mistral-7B-Instruct-v0.3" \ --mlx-path "./mistral-7b-v0.3-4bit" \ --dtype float16 \ --quantize --q-bits 4 --q-group-size 64 --upload-repo "my-name/mistral-7b-v0.3-4bit" Langchain과 연계하기 from functools import wraps from langchain_core.runnables import RunnableLambda from langchain_core.output_parsers import StrOutputParser from mlx_lm import generate, load quantized_model_path = "./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit" model, tokenizer = load(quantized_model_path) def runnable_wrapper(func): """RunnableLambda wrapper function""" @wraps(func) def wrapper(*args, **kwargs): return RunnableLambda(func) return wrapper @runnable_wrapper def create_chat_prompt(question): messages = [ { "role": "system", "content": """ You are an expert in information retrieval and summarization. Your job is to read the provided text and produce a precise, faithful, and concise summary. Prioritize the author’s main claim, key evidence, and conclusions. Use plain English and avoid filler. Do not invent facts that aren’t present in the input. """ }, { "role": "user", "content": f""" Question: {question} """ } ] prompt_without_tokenized = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False) prompt_with_tokenized = tokenizer.apply_chat_template(messages, add_generation_prompt=True) print("생성된 prompt👇\n", prompt_without_tokenized) return prompt_with_tokenized @runnable_wrapper def run_llm_with_mlx(prompt): return generate(model=model, tokenizer=tokenizer, prompt=prompt) @runnable_wrapper def output_parser(answer): return answer.replace("<|end|>", "") chain = create_chat_prompt() | run_llm_with_mlx() | output_parser() 오류 코드 llm.invoke 에서 에러가 발생하며 TypeError: generate_step() got an unexpected keyword argument 'formatter' 라는 에러가 발생합니다. from langchain_community.llms.mlx_pipeline import MLXPipeline from mlx_lm import load model_path = "./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit" model, tokenizer = load(model_path) llm = MLXPipeline( model=model, tokenizer=tokenizer ) llm.invoke("what's my name?")

  • llm
  • langchain
  • rag
  • mac
  • 양자화
  • huggingface
rlwjd31 댓글 2 좋아요 0 조회수 177

인기 태그

인프런 TOP Writers

주간 인기글