inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

구글 애드 센스 정책 위반을 해결하기 위해선 도데체..

해결됨

비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE

아니 며칠이나 기다렸는데, 웹에 특별히 더 넣을 기능도 없는데, 어떻게 더 고품질로 만들죠...게시글도 15개이상 1000자이상 무조건 넣어야하나요~?ㅜ 정확히 뭐가 어디가 부족하다라고 해주면 좋은데 특별한 고지도 없고.. ,이렇게 웹승인 받기가 힘들면...어떻게 만들으라구..ㅜㅠ 혹시 방법있을까요 샘? 커서는 두리뭉실한 얘기만 해줘서 또 며칠이나 기다려서 실패하면 어떡하나 고민입니다. 그리고 커뮤니티 즉 회원가입,로그아웃 기능에 대해서 조금더 설명이나 관련 링크를 좀 주실수 있을까요?회원가입이나 뭐가 되야 결제시스템도 등록이 가능한데 그런게 없어서 계속 헤매고 있네요...

  • flutter
  • next.js
  • cursor
  • supabase
  • 바이브코딩
화이팅! 댓글 2 좋아요 0 조회수 218

제대로 이해한게 맞나 궁금합니다

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

close() 메서드에서 synchronized와 if(closed){ return; } 조건문을 해준 이유가 해당 세션 종료시 close() 메서드 호출과 서버 종료시 SessionManager의 closeAll()을 통한 close() 메서드 호출이 동시에 되고 중복으로 호출 되는걸 막기 위해서 해준거라고 이해하면 될까요?

  • java
  • 네트워크
  • 객체지향
jkyjong 댓글 1 좋아요 0 조회수 110

팔로우 추천 목록이 빈 배열로 들어옵니다.

해결됨

Next + React Query로 SNS 서비스 만들기

안녕하세요. 팔로우 추천 API는 팔로워 수가 많은 순으로 최대 3명을 가져오도록 되어 있는 것으로 알고 있습니다. 현재 발생하는 현상으로는 회원가입한 유저가 없는 경우에 기존 유저에게 추천 목록이 빈 배열로 나타납니다. 그런데 회원가입 후 로그인하면 추천 목록에 로그인한 본인 아이디가 뜨고, 로그아웃 후 기존 유저 A로 로그인하면 이전에 회원가입한 유저 아이디가 추천 목록에 나타납니다. 기존 유저 A가 그 회원가입 한 유저를 팔로우한 상태에서, 다른 기존 유저 B로 로그인하면 A가 팔로우했던 아이디가 추천 목록에서 사라져 있습니다. 팔로우나 언팔로우 기능을 사용할 때 데이터는 정상적으로 들어오는 것으로 확인되고, 팔로워가 있는 아이디가 추천 목록에 나타나야 하는데 빈 배열로 표시됩니다. 어느 부분을 점검해야 문제를 정확히 파악할 수 있을지 감이 잡히지 않아 질문 남겨봅니다..! import { MouseEventHandler } from "react"; import { User } from "@/model/User"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { useSession } from "next-auth/react"; type Props = { user: User; }; export default function FollowRecommend({ user }: Props) { const queryClient = useQueryClient(); const { data: session } = useSession(); const followed = !!user.Followers?.find((v) => v.id === session?.user?.id); // 팔로우 const follow = useMutation({ // 호출 시마다 userId를 전달 mutationFn: (userId: string) => { return fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/users/${userId}/follow`, { method: "POST", credentials: "include", }, ); }, onMutate: (userId: string) => { const data: User[] | undefined = queryClient.getQueryData([ "users", "followRecommends", ]); if (data) { // 내가 팔로우 하는 대상 // User 배열 중에 팔로우 버튼을 누른 대상의 userId를 찾아서 그 유저의 Followers 수정 const index = data.findIndex((users) => users.id === userId); const shallow = [...data]; shallow[index] = { ...shallow[index], Followers: [{ id: session?.user?.id as string }], _count: { ...shallow[index]._count, Followers: shallow[index]._count.Followers + 1, }, }; queryClient.setQueryData(["users", "followRecommends"], shallow); } }, onError: (error, userId: string) => { console.error("팔로우/언팔로우 에러:", error); console.log("실패한 userId:", userId); const data: User[] | undefined = queryClient.getQueryData([ "users", "followRecommends", ]); if (data) { const index = data.findIndex((users) => users.id === userId); const shallow = [...data]; shallow[index] = { ...shallow[index], // 내 아이디가 대상 유저의 팔로워 목록에서 빠져야함 Followers: shallow[index].Followers.filter( (f) => f.id !== (session?.user?.id as string), ), _count: { ...shallow[index]._count, Followers: shallow[index]._count.Followers - 1, }, }; queryClient.setQueryData(["users", "followRecommends"], shallow); } }, }); // 팔로우 끊기 const unfollow = useMutation({ mutationFn: (userId: string) => { return fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/users/${userId}/follow`, { method: "DELETE", credentials: "include", }, ); }, onMutate: (userId: string) => { const data: User[] | undefined = queryClient.getQueryData([ "users", "followRecommends", ]); if (data) { const index = data.findIndex((users) => users.id === userId); const shallow = [...data]; shallow[index] = { ...shallow[index], Followers: shallow[index].Followers.filter( (f) => f.id !== (session?.user?.id as string), ), _count: { ...shallow[index]._count, Followers: shallow[index]._count.Followers - 1, }, }; queryClient.setQueryData(["users", "followRecommends"], shallow); } }, onError: (error, userId: string) => { const data: User[] | undefined = queryClient.getQueryData([ "users", "followRecommends", ]); if (data) { const index = data.findIndex((users) => users.id === userId); const shallow = [...data]; shallow[index] = { ...shallow[index], Followers: [{ id: session?.user?.id as string }], _count: { ...shallow[index]._count, Followers: shallow[index]._count.Followers + 1, }, }; queryClient.setQueryData(["users", "followRecommends"], shallow); } }, }); const onFollow: MouseEventHandler<HTMLButtonElement> = (e) => { e.stopPropagation(); e.preventDefault(); if (followed) { console.log("언팔로우"); unfollow.mutate(user.id); } else { console.log("팔로우"); follow.mutate(user.id); } };

  • react
  • next.js
  • react-query
  • next-auth
  • msw
개미 댓글 1 좋아요 0 조회수 163

messagerelayconfig클래스에서

해결됨

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

bootstrapServers의 value값은 어디에 가져오는건가요? yml이나 properties파일은 없는 거 같은데..

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
leettletree 댓글 1 좋아요 0 조회수 54

Circuit Breaker 질문

해결됨

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

안녕하세요. circuit breaker 코드를 봤을 때 간략하게 circuit breaker가 이런거다 라고 설명해주셨지만, 추가로 궁금한 점이 있어 질문 드립니다. 만약 인스턴스가 여러개인 상황에서는 로컬 상황만 보는게 아니라 전체 인스턴스 상황을 봐야할 것 같은데 이럴 떄는 circuit breaker를 어떻게 사용해야 하는지 궁금합니다. 감사합니다.

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
HAHA 댓글 2 좋아요 0 조회수 97

이미지 생성오류 (코드업데이트가 너무 필요해보입니다..)

미해결

나도! 스프링으로 인공지능을 할 수 있다(인프1탄)

안녕하세요. 강의를 듣고있는 사람입니다. 버전이 변경되다보니 강의 내용을 그대로 수행한다면 정상적으로 작동하는 Project들이 몇 없네요.. DALL-E 2 모델로 이미지를 생성하는 경우 오류 발생 DALL-E 2 모델에서는 withQuality("hd")와 같은 옵션을 지원하지 않는다고합니다. 해당 라인을 제거해주시면 정상작동합니다. DALL-E 3 의 경우 withQuality를 지원하는데, 지정하지 앟는다면 standard 값이 기본으로 들어가며 hd를 원하시는 경우 따로 if ("dall-e-3".equals(model)) { optionsBuilder.withQuality("hd"); } 위와같이 옵션을 주입하여 사용하시면 될것같습니다.

  • java
  • spring
  • spring-boot
  • 인공지능(ai)
  • spring-ai
skyjoon2 댓글 1 좋아요 0 조회수 151

jpa entity 질문

해결됨

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

안녕하세요. Entity 선언 시 data class vs class 질문드리려고 합니다. 아래 질문은 data class를 기반으로 했지만 사실 궁금증 시작은 "class가 엔티티에 더 맞지 않나?" 라는 생각에 질문드립니다. 질문 1. data class 선언시 프록시 질문 제가 알기로 ManyToOne lazy loading할 때 프록시 기능을 사용한다고 알고 있습니다. data class가 자바 record와 마찬가지 final인 것으로 아는데 그렇다면 지연 로딩이 정상적으로 동작하지 않다고 생각됩니다. 혹시 여기서는 지연 로딩을 사용하지 않아서 data class를 사용하신 것인지 궁금합니다. 질문 2. data class 사용이 맞다면 equals & hashCode 질문 결궁 두 값 동일성을 비교할 때 id를 기반으로 하는 것이 성능에 좋을 것 같다고 생각됩니다. 혹시 실무에서 data class 나 class 사용하실 때 id기반으로 equals와 hashCode를 오버라이딩 하지 않고 전체 필드로 하시는지 궁금합니다. 질문 3. data class 목적 제가 알기로는 data class는 response와 같이 불변 데이터에 많이 쓰이는걸로 알고 있습니다. 그래서 copy와 같은 메서드를 제공하는 것으로 알고 있습니다. data class를 사용할 때 물론 copy를 사용하시진 않겠지만 영속성 컨텍스트 같은 기능을 쓰려면 직접 변경해야 합니다. 불변 클래스 목적과 jpa entity와 잘 맞지 않는 것 같아서 질문드립니다. 질문 4. equlas 질문 만약 양방향 참조가 있는 entity라면 무한 루프에 빠질 가능성이 없는지 궁금합니다. 이와 같은 이유로 2번을 질문 드렸는데 질문 2번에서 내용이 빠진 것 같아서 따로 한 번 더 질문 드립니다. 제가 실무에서 써보지 않았고 코틀린 관련해서는 경험이 부족해서 잘못된 질문이 있다면 알려주시면 다시 질문 남기겠습니다. 좋은 강의 감사합니다. 감사합니다.

  • java
  • spring
  • kotlin
  • mysql
  • spring-boot
HAHA 댓글 1 좋아요 0 조회수 104

CPU 캐시 때문에도 잔액이 200원이 될 수 있나요?

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. t1 t2 가 동시에 실행되지 않고, 약간의 시간차가 있는 상태에서 두 스레드가 CPU 캐시를 통해 balance를 읽어들이고 쓰면 잔액이 200원이 될 수 있을까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
happyrichman 댓글 2 좋아요 0 조회수 126

synchronized 메서드와 join 관련 질문이 있습니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 만약 무한정 대기할 수도 있는 상황에서 t1.join(50); t2.join(50); main의 코드를 이렇게 바꿔봤는데 결과가 똑같더라구요 이게 왜 그런지 알고 싶습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
박혁진 댓글 2 좋아요 0 조회수 82

fetchResults()는 더이상 권장되지 않는다는데 맞나요?

미해결

실전! Querydsl

찾아보니 아래처럼 나옵니다. ``` fetchResults() 는 Querydsl 5.x부터 deprecated(더 이상 권장되지 않음) 처리되었습니다. fetchResults() 는 count 쿼리 와 content 쿼리 를 내부적으로 두 번 실행 해서 결과를 가져옵니다. 즉, 전체 개수( total count )와 페이징된 결과( results )를 한 번에 반환하려고 했는데, JPA 환경에서는 count 쿼리 최적화 문제 SQL이 복잡해질 경우 성능 저하 문제 Querydsl 5.x 이후로는 직접 count 쿼리와 content 쿼리를 분리 해서 호출하는 방식을 권장합니다. ```

  • java
  • jpa
주영222 댓글 1 좋아요 0 조회수 198

정식 유료 라이센스 플러그인 설치

미해결

워드프레스 온라인 강의 플랫폼 제작

고객이 가장 먼저 보는곳, 홈페이지 Header 손쉽게 제작하기 에서 18:33분 쯤에 홈페이지 주소를 남겨달라고 요청하셔서 정식 유료 라이센스 플러그인을 위해 이렇게 주소 남깁니다! https://noviros.kr/ 아니면 jhkluck22@gmail.com 으로 파일 전송해주셔도 좋습니다 ^^ 감사합니다

  • HTML/CSS
  • wordpress
  • wordpress-themes
댓글 1 좋아요 0 조회수 84

혹시 일반적인 방법이 무엇일까요?

해결됨

한 입 크기로 잘라먹는 Next.js

예를 들어 로그인이 되지 않는 경우는 메뉴가 굳이 나올필요가 없어서.. 세션이 미존재면 보이지 않게 처리 했는데.... 이렇게 처리하는 방법이 일반적이지는 않을거 같은데.... 보통 로그인이 되지 않아 메뉴가 필요 없는 페이지는 어떻게 처리하나요? export default async function RootLayout({ children }: Readonly<{ topmenu: React.ReactNode; children: React.ReactNode; }>) { const cookie = (await cookies()).get("session")?.value; const session = await verify(cookie); return ( <html lang="en"> <body className={`${geistSans.variable} ${geistMono.variable} antialiased`} > {/* 세션이 undefined가 아닌 경우 TopNavigationMenu를 렌더링합니다. 'undefined'는 문자열이 아닌 JavaScript의 실제 undefined 값입니다. */} { session!==undefined&&<TopNavigationMenu/> } <main> {children} </main> </body> </html> ); }

  • react
  • typescript
  • next.js
  • 카카오공채-개발
shoncg 댓글 2 좋아요 0 조회수 75

인텔리제이 플러그인 연결 안 됨

해결됨

알면 칼퇴하는 Spring Boot 백엔드 바이브 코딩 맛보기

왤까요 저는 같은 SCP -SERVER 플러그인을 받았는데 이렇게 뜨고 클로드 연결도 안 되네요 ㅠㅠ 아 저는 커뮤니티가 아니라 울티메이트입니다 ㅠ

  • java
  • spring-boot
  • intellij-idea
  • claude
  • 바이브코딩
berichmore 댓글 2 좋아요 0 조회수 228

스트림에 대해서 질문(float)은 사용하는지

해결됨

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 기본형 특화 스트림 을 공부 하다가 갑자기 float가 생각나서 질문을 드립니다. 저가 코드를 쳐보니 스트림을 이용해서 스트림<Float>을 만들 수 있다는 것을 확인하였습니다. 현재 개발에서 float 및 스트림<Float>을 사용할까 입니다. double형도 있지만 float도 있어서 사용 할수 도 있겠다 싶어서요. 그래서 질문은 현시점에서 스트림<Float>및 Float 를 만들어서 어느 정도 사용하는지 알고 싶습니다. 답변 부탁 드립니다.

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
생각하는자 댓글 1 좋아요 0 조회수 76

웹 배포 시에 RN으로 만든 네비게이션은 어떻게 처리하나요?

해결됨

웹 개발자의 연봉을 올려주는 하이브리드앱 with Expo 프레임워크

React Native에서 바텀 네비게이션을 만들었다면, 웹에서는 바텀 네비게이션이 나오게하려면 어떻게 해야하나요?

  • react
  • react-native
  • next.js
  • expo
허광기 댓글 1 좋아요 0 조회수 116

첼린지 문의

해결됨

[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)

현재 바이브코딩 강의를 구입한 사람입니다. 저는 현재 자영업을하면서 향후 웹서비스 창업을염두해서 본강좌를 미리 구입해둔상태이고 학습을 할수있는 상황은아닙니다. 쿠폰보니까 첼린지 쿠폰이 발급되어있던데 이미 강의를 구입한사람일경우 첼린지강의를 신청하면 새로운내용을 더 얻어갈수있는건가요??? 기존강의구입자들은 첼린지를 어떻게 생각해야할지요?

  • react
  • next.js
  • cursor
  • 프롬프트엔지니어링
  • 바이브코딩
doomco 댓글 2 좋아요 0 조회수 97

기출문제 말고 선생님께서 문제는 안만들어주시나요 ?

해결됨

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

안녕하세요 현재 3회차 3번째 도전입니다. n잡에서 수강했고 개발자 취준생이라.. 기본적인 문법이나 이런건 다 알고있는데요.. 기출문제 풀이만 해주시나요 ?? 제가 원하는건 모의고사 처럼 같은유형의 다른 문제를 풀고싶거든요 ! 궁금해서 여쭤봅니다.

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

save() vs saveAndFlush DB 통신 횟수

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 영한님 안녕하세요. Spring Data JPA가 제공하는 save, saveAndFlush 메서드에 대해 궁금한 점이 있는데요. 흔히들 saveAndFlush는 save와 달리 트랜잭션 커밋시점이 아닌, 영속성 컨텍스트 변경 사항을 즉각 DB에 반영하여, DB 통신이 증가한다는 단점이 있다고 합니다. for (int i = 0; i < 3; i++) { repository.save(entity); } 그런데, 제가 의문이 드는 점은 save 메서드도 위와 같은 상황이 있을 때, 커밋 시점에 DB에 flush를 하기는 하지만, batch insert가 아니기 때문에 DB 통신 자체는 단 건으로 총 3번 일어나는 것 아닌가요? 따라서, DB 통신 자체에서 saveAndFlush가 얻는 이점은 없다고 생각되는 데 어떤 이점이 있을까요? 감사합니다

  • java
  • spring
  • spring-boot
  • jpa
jaesungyoun 댓글 1 좋아요 0 조회수 77

실습 중 작업영역 문의드려요

해결됨

[4주 완성] AI 바이브코딩으로 수익형 앱/웹 만들기

안녕하세요. 3:00 이정도 시점부터 기존 project-management 가 아닌 다른 폴더(코인~, FingerLuck )에서 실습을 하신거 같은데..디자인 변형 커서 룰 부터 이후 작업도요. project-management 에다가 실습을 해도 무방한건가요? 어느 시점부터 실습을 똑같이 따라 갈수 없는거 같아서요. 제가 뭘 놓친건가요? ㅠㅎㅎ

  • flutter
  • next.js
  • cursor
  • supabase
  • 바이브코딩
JungEun Choi 댓글 2 좋아요 0 조회수 63

kill-9 5TA Alarm

미해결

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

ItemWriter 구현체에 JpaPagingItemReader라고 Write 되어있다. fix 하라

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
wisehero 댓글 3 좋아요 1 조회수 63

인기 태그

인프런 TOP Writers

주간 인기글