inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

실무 OCR을 위한 심도 질문

해결됨

진짜 현장에서 통하는 OCR, 이렇게 만듭니다.

안녕하세요? 강사님 실무에 적용할 수 있는 상세 내용과 강사님만의 know-how를 알려 주셔서 감사합니다. 더 깊게 이해하고 싶은 마음에 다소 질문이 길고 복잡한 점을 이해해 주시면 감사하겠습니다. 1. 최신 OCR model 성능을 보여주셨는데, 결국은 multi modal LLM을 쓰면 만사 능통한 것처럼 결론이 내려집니다. 그렇다면 OCR model보다는 image처리가 가능한 LLM model 비교하는 게 더 맞다고 생각이 듭니다. 어떻게 생각하시나요? 2. LLM image처리가 좋아짐으로써, 굳이 opencv로 처리하지 않아도 그 결과가 좋을 것 같습니다. 앞으로도 이러한 작업이 필요할까요? (그냥 LLM에 넣는 것과 opencv로 전처리한 것과 비교하는 실험도 첨부해 주셨으면 좋겠습니다.) 3. 보통 기업에서 OCR을 사용할 때는 개인정보를 포함한 문서가 많습니다. 외부 LLM 사용을 꺼릴 때가 많습니다. sLLM으로 처리하고 싶은데, function calling이나, pydantic과 같은 양식 처리가 어렵습니다. 어떻게 해결할 수 있을까요? 4. pipeline을 정리하면, opencv 전처리 -> cropping -> LLM 구조입니다. 원하는 양식대로 만드는 작업은 LLM 성능과 prompt의 역량으로 보입니다. 문제는 문서의 양식이 다양해서 한 문서 양식을 추출할 때마다 복잡한 prompt를 작성해야 하는 것일까요? 또한 문서 종류가 달라질 때마다 수정해야 할까요? 만약 이러한 것이라면 기존 OCR과 같이 문서 종류별로 OCR format이 다 다르게 정해져야 할텐데, 어떻게 해결할 수 있을까요? 전단지말고 다른 여러 문서들도 똑같이 적용될 수 있는지 다양한 문서들에 대한 OCR 작업 예시 강의를 더 올려주시길 바랍니다.

  • python
  • 컴퓨터-비전
  • openai
  • 인공지능(ai)
  • openai-api
이미승리하였다 댓글 2 좋아요 1 조회수 161

링크드 리스트 추가 강의 문의

해결됨

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

정보처리기사 강의 듣고 있는 수강생입니다. 1회차때 아쉽게 떨어지고 2회차 준비중에 있는데요. 혹시 링크드리스트 관련해서 다뤄주실 생각은 없으신지 여쭤봅니다.

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

메타클래스 오류가 납니다

미해결

모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)

s2 = type('SampleB',(object,),dict(attr1='100', attr2='hi', add=lambda self,x,y:x+y)) s3 = s2() print(s3.add(10,20)) 위에처럼 작성헀는데 add함수에 오류가납니다 SampleB" 클래스의 "add" 특성에 액세스할 수 없음 특성 "add" 알 수 없음 basedpyright 라고나오네요

  • python
daeyeon ko 댓글 2 좋아요 0 조회수 109

2024년 3회 기출문제 강의 태블릿 app 으로 재생 안됨

해결됨

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

안녕하세요. 정보처리기사 실기 2024년 3회 기출문제가 태블릿 혹은 핸드폰 app 으로 재생이 안됩니다. 노트북이나 pc 로는 재생이 됩니다.

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

7분 35초

해결됨

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

출력값 3번째줄에 있는 Tesla Model 3 start는 eCar.start();에서 start가 부모 클래스안에 있으니까 거기에 입력하여 출력하고 eCar.stop();와 eCar.checkBattery();는 자식값에 재정의하였기에 재정의한 데에 넣어 출력하는 건가요?

  • python
  • java
  • c
  • 정보처리기사
라따뚜이 댓글 2 좋아요 0 조회수 50

8:38 업캐스팅 질문

해결됨

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

업캐스팅일 때 부모 클래스에서 this.draw();가 있어도 자식 클래스의 draw 메서드를 출력하나요?

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

8분 40초

해결됨

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

출력값에서 왜 person1==person2 : false가 나오는 이유가 동일한 메모리 위치가 아닌 각각 person1, person2에 위치 하고 있어서 false인가요?

  • python
  • java
  • c
  • 정보처리기사
라따뚜이 댓글 2 좋아요 0 조회수 58

HTML 문법 공부

해결됨

실전! Django 입문 [최신 5.2 버전]

내용을 따라가면서 먼저 HTML 문법을 알아야 하겠다는 생각입니다. 교재나 공부할 수 있는 방법에 대해서 조언 부탁드립니다. 따로 책을 보는 것이 좋은지, 아니면 별도의 온라인 강의를 듣는게 좋은지 ?

  • python
  • django
  • aws
  • rest-api
  • drf
Young Sang Hwang 댓글 2 좋아요 0 조회수 101

5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의

미해결

실전! Querydsl

Querydsl fetchResults(), fetchCount() Deprecated(향후 미지원) Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다. 안녕하세요 최근 강의를 구매하고 좋은 강의 잘 들었습니다. 하지만 querydsl은 향후 강의에 나와있는 방식으로는 page처리를 못하게 되는데 이에 맞는 강의도 올라가는 것인가요?

  • java
  • jpa
최어진 댓글 2 좋아요 1 조회수 233

셀레니움 자동화시 클릭 문제

해결됨

[DS 뭐하니- 첫 번째 이야기] 이틀에 하나씩 만드는 웹 크롤링

안녕하세요. 수업 잘 들었습니다. selenium 으로 자동화할때 검색창에 단어를 쓰는 거 까지는 잘 되는데 상세검색에서 클릭을 자동화하는 법은 어려울까요? 단순히 단어를 입력하고 엔터를 누르는 형식으로는 한계가 있어 질문드려요

  • python
  • 웹-크롤링
양사장 댓글 3 좋아요 1 조회수 133

DTO 대신 Form 사용은 안되나요?

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원 등록 api 에서 아래 코드 처럼 saveMemberV1 메서드의 반환값은 new CreateMemberResponse(id)입니다. @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member){ Long id = memberService.join(member); return new CreateMemberResponse(id); } 근데 MemberForm.java 에 id를 추가하고 이걸로 리턴받으면 안되나요? 왜 굳이 DTO 를 만들어서 리턴하나요?

  • java
  • spring
  • spring-boot
  • jpa
박선정 댓글 1 좋아요 0 조회수 160

[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 환경설정 PDF 강의 자료에서는 검증용 Q 타입 생성 Gradle IntelliJ 사용법 Gradle -> Tasks -> build -> clean Gradle -> Tasks -> other -> compileQuerydsl 이라고 되어 있는데 부트 3.0 이후부터는 build.gradle에서 compileQuerydsl 부분이 빠져있기 때문에 'Gradle -> Tasks -> other -> compileQuerydsl' 문구가 다른 문구로 대체되어야 하지 않을까요? 저는 clean 클릭 후 Gradle -> Tasks -> build -> build 를 클릭해서 해결했지만 clean 클릭 후 더 나은 방법이 있지 않을까 싶어서 clean 후 어떤 버튼을 클릭해야 할지 문의드립니다.

  • java
  • jpa
happyrichman 댓글 1 좋아요 1 조회수 236

C언어에서 포인터, 배열, 문자연산

해결됨

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

안녕하세요 선생님 항상 강의 잘 듣고 있습니다. 문제를 푸는 중에 궁금했던 건데요. 이런 코드에서 어떨 때는 배열 내 위치를 하나 더 움직이고 어떨 때는 ASCII 코드의 그 다음 알파벳을 뱉는데 이게 너무 헷갈립니다..ㅠ 주소에서 연산을 하는 거면 배열에서 위치를 옮기고 값에서 연산을 하는거면 ASCII코드에서 다음 알파벳을 뱉으면 되는건가요..? 주석에 제가 이해하는 법을 적어놨는데 이렇게 이해하면 되는걸까요? 특히, printf("%s", a+2); 이런 부분 같은 경우에는 a+2에서 a는 시작주소를 뜻하니 a[0], 따라서 a[0]+2 --> a[0]은 값이니 h, h라는 값에서+2하니까 j 이런 사고 과정으로도 흘러가는 거 같아 헷갈립니다..ㅠㅠ 답변 주시면 감사하겠습니다! # include <stdio.h> int main() { char a[6] = "hello"; printf("%s", a+2); // a는 시작주소(=a[0])를 뜻하니 a[0]의 주소에서 2번 옮김? -> llo printf("%c", a[1]+2); //a[1]은 값으로 e를 뱉으니 ASCII? -> g printf("%c", *a+1); // *a는 a[0]의 값 h를 뱉으니 ASCII? -> i printf("%c", *(a+1)); //(a+1)은 a[0]에서 하나를 더 움직인 주소 ->의 값 = e printf("%c", a[1]); // a[1] = e return 0; } 출력값 : llogiee

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

28분 20초 강의 기출 문제 3번 질문 있습니다.

해결됨

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

public Person(String val) 생성자 함수 부분에서 this.name이 아니라 name이어도 되나요?

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

실무에서 테스트 케이스 작성 시

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 수강 잘 하던 도중 질문이 생겨 여쭤봅니다. 강의에서는 Service 계층에서만 테스트를 하고 있고 Repository 계층에서는 따로 진행하지 않고 있습니다. 실무에서도 어차피 Service 계층이 Repository 계층을 당겨서 사용하는 것이기에 Service 계층에 대해서만 테스트 케이스를 작성하면 충분할까요 ? 그리고 강의에서 Member의 Name을 unique로 잡으라고 말씀하시고 있는데, 실무에서는 id로 검증하는 것이 올바른 방법이겠죠 ?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
wonderwall09in 댓글 1 좋아요 0 조회수 142

강의자료 부탁드립니다

미해결

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

yewon0330v@naver.com 으로 부탁드립니다.

  • python
전예원 댓글 1 좋아요 0 조회수 63

로그인 관련 커스텀 훅 만들기 -> 부분 질문입니다.

미해결

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

현재 loginSlice.tsx에서 오류가 나고 있습니다.. 아래와 같은 메세지를 접했습니다. useCustomLogin.tsx:2 Uncaught SyntaxError: The requested module '/src/store.tsx' does not provide an export named 'AppDispatch' (at useCustomLogin.tsx:2:10) 어느부분을 손 봐야할까요? vite 6.3버전으로 이용하고 있습니다. loginSlice.tsx import { createAsyncThunk, createSlice } from "@reduxjs/toolkit" import { loginPost } from "../api/memberApi" import { removeCookie, setCookie } from "../util/cookieUtil" export interface LoginInfo { email:string, nickname:string, accessToken: string, refreshToken: string, roleNames: string[], status: string } const initState:LoginInfo = { email: '', nickname: '', accessToken:'', refreshToken: '', roleNames: [], status: '' } export const loginPostAsync = createAsyncThunk('loginPostAsync', ({email, pw}: {email:string, pw:string}) => { console.log("---------------loginPostAsync---------------------") console.log(email, pw) return loginPost(email, pw) }) const loginSlice = createSlice({ name: 'loginSlice', initialState: initState, reducers: { save: (state, action) => { console.log("save...........") return action.payload }, logout: (state, action) => { console.log("logout..........") removeCookie("member") } }, extraReducers :(builder) => { builder.addCase(loginPostAsync.fulfilled , (state, action) => { console.log("loginPostAsync.fulfilled") const newState:LoginInfo = action.payload newState.status = 'fulfilled' setCookie("member", JSON.stringify(newState), 1) return newState }) .addCase(loginPostAsync.pending, (state, action) => { console.log("loginPostAsync.pending") state.status = 'pending' }) .addCase(loginPostAsync.rejected, (state, action) => { console.log("loginPostAsync.rejected") state.status = 'rejected' }) } }) export const { save, logout} = loginSlice.actions export default loginSlice.reducer useCustoLogin.tsx import { useDispatch, useSelector } from "react-redux" import { AppDispatch, RootState } from "../store" import { Navigate, useNavigate } from "react-router" import { loginPostAsync, logout, save } from "../slices/loginSlice" import { useEffect } from "react" import { getCookie } from "../util/cookieUtil" const useCustomLogin = () => { const dispatch = useDispatch<AppDispatch>() //로그인 상태 객체 const loginState = useSelector((state: RootState) => state.loginSlice) //로그인 여부 const loginStatus = loginState.status //fulfilled, pending, rejected useEffect(()=> { if(! loginStatus ) { const cookieData = getCookie("member") if(cookieData){ dispatch(save(cookieData)) } } }, []) const navigate = useNavigate() const doLogin = async (email:string, pw:string) => { dispatch(loginPostAsync({ email, pw })) } const doLogout = () => { dispatch(logout(null)) } const moveToLogin = () => { navigate("/member/login") } const moveToLoginReturn = () => { //--------로그인 페이지로 이동 컴포넌트 return <Navigate replace to="/member/login"/> } const moveToPath = (path:string) => { //----------------페이지 이동 navigate({pathname: path}, {replace:true}) } return {loginState, loginStatus, doLogin, doLogout,moveToLogin,moveToLoginReturn,moveToPath} } export default useCustomLogin store.tsx import { configureStore } from "@reduxjs/toolkit"; import loginSlice from "./slices/loginSlice"; const store = configureStore({ reducer: { "loginSlice": loginSlice, } }) export type AppDispatch = typeof store.dispatch export type RootState = ReturnType<typeof store.getState> export default store

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
별다방 댓글 2 좋아요 0 조회수 82

업캐스팅 호출 관련

해결됨

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

6:39초에서는 왜 A b = new B(); //를 거치지않고 업캐스팅 형태에서 b.paint();로 바로 가고 10:40초에서는 왜 A b = new B(); 를 풀고 b.paint(); 로 가나요?

  • python
  • java
  • c
  • 정보처리기사
이지훈 댓글 3 좋아요 0 조회수 72

13:15초 명시적 호출이 되지 않는지에 대한 궁금증

해결됨

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

안녕하세요 강의 잘보고 있습니다. 13:15초에서 자식 호출 이전에 부모 호출을 통해 Constructor of A가 출력되는데 제가 궁금한 점은 B상속 이후 그러니까 class B extends A public B() { super.paint() //해당부분에서 왜 명시적 호출이 이루어지지 않는지가 궁금합니다 제가 생각했을 때는 super.paint()에 대한 매개변수가 지정되지 않았기 때문이다 public B() { 에 void가 추가되지 않았기 때문이다 라고 생각되는데 답변 주시면 감사하겠습니다.

  • python
  • java
  • c
  • 정보처리기사
이지훈 댓글 3 좋아요 0 조회수 76

인기 태그

인프런 TOP Writers

주간 인기글