inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

실무 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 조회수 158

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

해결됨

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

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

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

TotalCounter을 작성할때

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

저는 처음에 과제를 할때 setTotal 을 직접 prop 으로 내렸는데 handleTotal 을 만들어서 함수로 내려준 이유가 있을까요?? 차이점과 장단점에 대해서가 궁금합니다. import Counter from "./Counter"; import React, { useState } from "react"; function Main() { const [Total, setTotal] = useState(0); return ( <main> <h2>Main Component</h2> <h1>{Total}</h1> <br /> <br /> <Counter Total={Total} setTotal={setTotal} /> <br /> <br /> <Counter Total={Total} setTotal={setTotal} /> </main> ); } export default Main;

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
조성경 댓글 2 좋아요 0 조회수 74

메타클래스 오류가 납니다

미해결

모두를 위한 파이썬 : 필수 문법 배우기 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 조회수 108

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

해결됨

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

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

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

layout 컴포넌트 내 클라이언트 컴포넌트

해결됨

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

안녕하세요~ 강의 내용 중 궁금한게 있는데요 layout에선 usepathname, usesearchparams 와 같은 값에 접근할 수 없기 때문에 'use client' 지시어를 활용해 클라이언트 컴포넌트를 통해 해당 값에 접근해야한다 라고 말씀해주셨는데 이 개념은 단순 서버 컴포넌트와 클라이언트 컴포넌트에 따른 차이점과 동일한 의미 아닌가요?? next.js 자체가 서버컴포넌트 일 경우 usepathname, usesearchparams 와 같은 훅을 사용할 수 없는데 Page.tsx 컴포넌트도 마찬가지 아닌가요?? 'layout에선' usepathname, usesearchparams 와 같은 값에 접근할 수 없기 때문에 'use client' 지시어를 활용해 클라이언트 컴포넌트를 통해 해당 값에 접근해야한다. 라는 말씀이 Page.tsx 에서의 사용법과 어떤 차이점이 있는지 잘 이해가 가질 않습니다... 아 참고로 next 클라이언트 페이지 라우팅 시 layout영역은 리렌더링 되지 않고 page.tsx 영역만 렌더링된다라는 partial rendering 개념은 이해했습니다. 강의랑 유튜브 항상 잘 보고있습니다. 양질의 영상 제공해주셔서 감사합니다!

  • react
  • typescript
  • next.js
변재정 댓글 2 좋아요 0 조회수 113

Kakao AdFit, Stripe 내용

미해결

제로베이스부터 배우는 웹개발의 개념과 바이브 코딩

광고 삽입법 (Google AdSense, Kakao AdFit) 결제 연동 (Toss Payments, Stripe) 강의 소개에 Kakao AdFit, Stripe 언급도 있었는데 강의를 쭉 봤을 땐 내용이 없더라구요. 혹시 제가 놓친 부분이 있을까요?

  • react
  • 웹앱
  • next.js
  • cursor
  • 인공지능(ai)
Donghoon Song 댓글 2 좋아요 0 조회수 93

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 조회수 98

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

해결됨

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

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

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

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 조회수 69

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

해결됨

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

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

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

모바일 화면 전환

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

네비게이션 바 만들 때, 데스크탑에서 모바일로 화면 전환하는 거 어떻게 해요?

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
yosemyti 댓글 1 좋아요 0 조회수 150

drizzle-zod로 변환한 videoUpdateSchema를 z.infer로 추론하면 타입에러가 나타납니다.

미해결

Next.js 15로 완성하는 실전 YouTube 클론 개발

'BuildSchema<"update", { id: PgColumn<{ name: "id"; tableName: "videos"; dataType: "string"; columnType: "PgUUID"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; ... 4 more ...; generated: undefined; }, {}, {}>; ... 15 more ...; updatedAt: PgColumn<...>...' 형식이 'ZodType<any, any, any>' 제약 조건을 만족하지 않습니다. 'ZodObject<{ id: ZodOptional<ZodUUID>; title: ZodOptional<ZodString>; description: ZodOptional<ZodNullable<ZodString>>; ... 13 more ...; updatedAt: ZodOptional<...>; }, { ...; }>' 형식에 'ZodType<any, any, any>' 형식의 type, parse, getType, getOrReturnCtx 외 7개 속성이 없습니다. 라는 에러 문구가 코드 에디터에 나타납니다.

  • react
  • postgresql
  • 클론코딩
  • next.js
  • tailwindcss
  • drizzle
차동민 댓글 1 좋아요 0 조회수 162

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (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 조회수 81

업캐스팅 호출 관련

해결됨

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

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

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

배포에 문제가 있네요. 로켓 아이콘은 어디있고, vercel배포는 어디있나요?

미해결

하루만에 배우는 ChatGPT API

다음과 같은 양식으로 남겨주세요. 질문을 한 배경 : 질문내용 : 진심으로 하나도 안보입니다. 도대체 어디서 배포하는거죠? 템플릿이 다르면 어떻게 다른지까지 정확히 알려주시면 감사하겠습니다. 찾지를 못하니, 강의 듣는데 중간 흐름이 너무 끊기네요

  • react
  • netlify
  • chatgpt
  • vercel
자,력/자소,쿠,CS지,올원,깃레 댓글 2 좋아요 1 조회수 91

인기 태그

인프런 TOP Writers

주간 인기글