inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

new 패키지명.Dto명 생략가능

미해결

실전! 스프링 데이터 JPA

JPQL에서 DTO를 조회할 때 new 패키지명.DTO명(...) 을 생략하고 바로 select m.id, m.name, t.name 이렇게 작성해도 DTO로 반환이 되는데 원래 가능한 내용인가요?? @Query("select new study.datajpa.dto.MemberDto(m.id, m.name, t.name) from Member m join m.team t") List<MemberDto> findMemberDto(); @Query("select m.id, m.name, t.name from Member m join m.team t") List<MemberDto> findMemberDtoNot();

  • java
  • spring
  • spring-boot
  • jpa
devwj20 댓글 2 좋아요 0 조회수 60

C언어 기출문제 변형에서 6번 문제입니다. 20:56

해결됨

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

20:56번의 문제가 잘 이해가 되지 않습니다. 특히나 다른 사람 질문 내용 봤는데도요 int arr[5] = {20,30,40,50,60} int *ptr; ptr= arr; ++*ptr이 왜 21인인가요? 실행 순서때문에 그런건가요? 제가 생각한건 사실 먼저 증가된다음 포인터가 호출될꺼라 생각을 해서 * (ptr+1) == *( arr +1) == arr[1] 을 생각하긴했거든요 *ptr++의 경우 *ptr은 주소 값이 아닌 주소값의 value를 가져오는거라 value값을 가지오는 과정 후에 ++연산이 들어간다고 생각을 해서 *ptr++==arr[0]++ == arr[0]+1로 생각을 했거든요 이부분에 대해 설명이 필요해서 돌려보는데 이해가 잘 안되서요 ++*ptr이 arr[0]+1인거랑 *ptr++가 arr[0+1]인 설명이 필요합니다. 일단 외울께요

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
달아단거 댓글 3 좋아요 0 조회수 68

17강 22:38

해결됨

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

printf("입력된 문자열: %s\n", str); 에서 str이 아니라, 그냥 str만 왔기 때문에 str의 값인 this is string이 나온 것이고, * 을 붙이고 *str이었다면 this is string에서 첫 글자인 t만 출력되는 것이지요?? 맞게 이해한건지 확인하고자 질문 드립니다.

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
가보자고 댓글 2 좋아요 0 조회수 65

mac) brew 설치 후 에러

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

계속 이런 애러가 뜨고 기존에 있던 질문 답변들도 확인해서 해봤는데도 해결이 안됩니다.

  • react
  • 인공지능(ai)
  • claude
Jay Byeongjoo Kim 댓글 2 좋아요 0 조회수 74

16강 2:17

해결됨

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

char * ptr_a=a; int *ptr_b=b; 왜 위와 같이 배열의 주소를 a, b로 선언한건지? 선언을 해야 하는건지? 이해가 안 가요 저렇게 되면 ptr_a의 메모리 주소는 a, ptr_b의 메모리 주소는 b가 되는거니까 출력할때 각각 a,b가 나올 줄 알았는데, 배열의 첫번째 요소로 되니까 헷갈려요ㅠ

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
가보자고 댓글 2 좋아요 0 조회수 59

부모 및 자식 생성자 출력 관련

해결됨

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

강의: 업캐스팅(부모 형태, 자식 생성자) 13:29에 나오는 업캐스팅 문제 예시 5번과 15:57에 나오는 업캐스팅 문제 예시 7번 차이에 대해서 A b = new B(1); 둘 다 같은 조건에서 13:29에는 super가 없어도 부모 기본 생성자가 생성되면서 정상 출력이 되는데, 여기에서 super가 없는데 왜 부모 기본 생성자가 출력이 되는지 이해가 안 됩니다. public B(int i) { System.out.println("생성자 BB" + i); } 15:57에는 비록 super가 뒤에 있지만 Public B(int i) { System.out.println("생성자 BB" + i); super(10); 문제 예시 5에 따르면 예시 7 역시 부모 기본 생성자가 생성되지 않나요?

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

부모 및 자식 생성자 출력

해결됨

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

업캐스팅(부모 형태, 자식 생성자) 14:09 A b = new B(1); 에서 코드 따라가면 public B(int i) { System.out.println("생성자 BB" + i); { 이고 부모 생성자를 호출하는 super가 없는데 왜 부모 기본 생성자가 출력되었나요?

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

근본적인 질문

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

클로드 코드 프로그램을 사용하지 않고 굳이 터미널을 이용한 작업을 하는 이유가 무엇인가요? 여기저기 강좌를 봐도 터미널로만 수업하긴 해서 그냥 그게 맞는거겠지 하고 수업을 듣고 있는데요. 명령프롬프트를 배우는 이유는 무엇인가요?

  • react
  • 인공지능(ai)
  • claude
js ko 댓글 2 좋아요 0 조회수 76

수업 자료 사이트가 또 바뀌었을까요?

미해결

이거 하나로 종결-고품질 리액트와 스프링부트 65시간 풀스택 개발 강의(도커, AWS, GITHUB-ACTIONS)

https://webstoryboy.co.kr/category/Reference/HTML 로 주소가 변경되었다고 올려주셨는데 404 에러가 뜨네요. 강의자료 다운만 받으면 해당 사이트에 있는 내용은 따로 필요가 없을까요?

  • react
  • aws
  • docker
  • spring-boot
  • github-actions
권재현 댓글 1 좋아요 0 조회수 36

cursor UI

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

좌측은 커서를 다운받고 처음 실행시켰을 때 나오는 화면입니다. 그리고 좌측 사진에서 우측 상단에 IDE-> 를 클릭하였을 때 나오는 화면이 우측사진입니다. 우측 사진의 화면이 수업에서 나오는 화면과 같은 화면인데 항상 우측 화면이 기본값으로 세팅할 수는 없나요?

  • react
  • 인공지능(ai)
  • claude
미니골드 댓글 1 좋아요 0 조회수 58

제7강 : sonnet으로 변경후 model 확인거 따라하는데 안됨

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

sonnet으로 변경후 model 확인거 따라하는데 안됨 변경전도에도 /model 명령어를 못찾는것 같아요 path 등이 이상한가요?

  • react
  • 인공지능(ai)
  • claude
Sarah 댓글 2 좋아요 0 조회수 65

미션6 진행 관련 .html파일 미저장

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

제목 그대로 실행했는데, 계산기, 카운터앱, 할일목록앱, 스톱워치 앱이 html로 작성된 것 은 확인되었으나, 같은 폴더내에 파일로 자동 저장되지 않고, 토큰을 사용해서 파일로 저장되게끔 명령해야 되는데, 이렇게 저장해야 하는지요?

  • react
  • 인공지능(ai)
  • claude
lee sangyoun 댓글 2 좋아요 0 조회수 61

.claude 가 없습니다. 왜그런가요

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

새로 프로젝트를 만들려고 NEXT.JS , ShadCN 도 설치했는데 .claude가 보이지 않습니다. 왜 그런지 모르겠어요

  • react
  • 인공지능(ai)
  • claude
김주일 댓글 2 좋아요 0 조회수 66

클로드 접속이 안되고 있습니다.

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

어제 구글계정 새로 개설하고요. 커서랑 클로드 결제까지 마친 계정이 사용중지 되었다고 하는데요. 이런경우는 어떻게 해결하면 좋을까요? 학습용으로 사용중이였는데요.ㅠ

  • react
  • 인공지능(ai)
  • claude
클로드뉴비 댓글 2 좋아요 0 조회수 69

playwright 설치시 같이 설명해주세요 아니면 저같이 실수가 나오네요

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

--scope 는 @playwright/mcp 자체의 옵션이 아니라, Claude Code에서 MCP 서버를 등록할 때 쓰는 claude mcp add 명령의 옵션입니다. 그래서 npx @playwright/mcp@latest 에 직접 붙이면 인식이 안 됩니다. Claude Code에 프로젝트 범위로 등록하고 싶다면 claude mcp add playwright --scope project -- npx @playwright/mcp@latest 단순히 playwright mcp 서버만 실행하고 싶다면 ( --scope 없이) npx @playwright/mcp@latest 목적에 따라 어떤 걸 원하시는지 알려주시면 정확히 안내해 드릴게요.

  • react
  • 인공지능(ai)
  • claude
김주일 댓글 1 좋아요 0 조회수 56

git 복수로 커밋하기

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

프로젝트를 3번째를 만들면서 커밋을 할려고 버튼(기호생략)을 누르면 기존의 프로젝트의 커밋화면으로 이동합니다. 제가 무엇을 잘못한거가요 쉽게 알려주세요

  • react
  • 인공지능(ai)
  • claude
김주일 댓글 3 좋아요 0 조회수 80

Context7 설치 방법 바뀐 듯 한데...

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

Context7 깃헙에 들어가도 영상과 같이 claude code remote server connection같은 건 없고 설치 방법이 바뀐듯 합니다....

  • react
  • 인공지능(ai)
  • claude
훈 지 댓글 2 좋아요 0 조회수 71

\init를 할때마다 Claude.md파일이 자동으로 업데이트 되는지 궁금합니다.

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

\init를 마지막에 매번 하면 Claude.md가 업데이트 되는건가요?? 이전강의 \init초기화 에서 보면 _ claude가 프로젝트 전체를 분석해서 현재 상황을 완벽하게 이해한 다음 claude.md파일을 자동생성한다 라고 하셨습니다. 그 프로젝트를 이어서 진행하고 마지막에 \init를 하면 기존에 있던 md파일에 자동으로 업데이트가 되는건지 궁금합니다.

  • react
  • 인공지능(ai)
  • claude
  • init
  • 자동업데이트
alsekfrwh 댓글 2 좋아요 0 조회수 59

9강 35분경 질문있습니다

해결됨

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

표에서는 토탈값이 계속 계산되지만 이는 계산과정에 있어 필요할까봐 넣어주신 예시사항일뿐인거고 코드상으로는 I가 15가 되어서 for문이 종료되었을때의 기준 sumQ와 R 을 더하여 Total값이 50이 되는과정 한번만 있는게 맞는걸까요? 토탈이 계속 증가할 이유를 찾지 못하겠어서 질문드립니다

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

"포스트 생성에 실패했습니다" 실패 문구와 함께 에러가 발생합니다ㅠㅠ

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 정환님! 정환님의 강의를 들으면서 코드를 따라 작성해보다가 포스트와 이미지를 최종적으로 업로드 하는 과정에서 아래의 캡쳐 사진과 같이 포스트 생성에 실패했다는 에러 메시지가 뜨게됩니다. 네트워크 탭에 보면, 포스트 부분은 잘 전달이 되는거같은데 이미지 생성에 관한 결과가 보이지 않는 것으로 보아 이미지 생성 관련 코드에서 문제가 생긴것같은데 무슨 문제일까요??..ㅠ 아래는 해당 코드들입니다. 이미지 생성 관련 코드를 가져왔는데 혹여나 다른 부분의 코드가 필요하면 추가 업로드 드리겠습니다. api/post.ts import type { PostEntity } from './../types'; import supabase from '@/lib/supabase'; export async function createPost(content: string) { const { data, error } = await supabase .from('post') .insert({ content }) .select() .single() if (error) throw error return data } export async function createPostWithImages({ content, images, userId }: { content: string images: File[] userId: string }) { // 1. 새로운 포스트 생성 (맨 위에서 생성한 포스트 비동기 함수 가져오기) const post = await createPost(content) if (images.length === 0) return post // 2. 이미지 업로드 try { const imageUrls = await Promise.all( images.map((image) => { const fileExtension = image.name.split(".").pop() || "webp" const fileName = `${Date.now()}-${crypto.randomUUID()}.${fileExtension}` const filePath = `${userId}/${post.id}/${fileName}` return uploadImage({ file: image, filePath }) }) ) // 3. 포스트 테이블 업데이트 const updatedPost = await updatePost({ id: post.id, image_urls: imageUrls }) return updatedPost } catch(error) { await deletePost(post.id) throw error } } export async function updatePost(post: Partial<PostEntity> & { id: number }) { const { data, error } = await supabase .from("post") .update(post) .eq("id", post.id) .select() .single() if (error) throw error return data } export async function deletePost(id: number) { const { data, error } = await supabase .from("post") .delete() .eq("id", id) .select() .single() if (error) throw error return data } hooks/mutations/post/use-create-post.ts import type { UseMutationCallback } from './../../../types'; import { createPost, createPostWithImages } from '@/api/post'; import { useMutation } from '@tanstack/react-query'; export function useCreatePost(callbacks?:UseMutationCallback) { return useMutation({ mutationFn: createPostWithImages, onSuccess: () => { if(callbacks?.onSuccess) callbacks.onSuccess() }, onError: (error) => { if (callbacks?.onError) callbacks.onError(error) } }) } components/modal/post-editor-modal.tsx import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogTitle } from '@/components/ui/dialog' import { useCreatePost } from '@/hooks/mutations/post/use-create-post' import { usePostEditorModal } from '@/store/post-editor-modal' import { useSession } from '@/store/session' import { ImageIcon, XIcon } from 'lucide-react' import { useRef, useState, useEffect, ChangeEvent } from 'react' import { toast } from "sonner" import { Carousel, CarouselContent, CarouselItem } from '../ui/carousel' type Image = { file: File, previewUrl: string } export default function PostEditorModal() { const session = useSession() const { isOpen, close } = usePostEditorModal() const { mutate: createPost, isPending: isCreatePostPending } = useCreatePost({ onSuccess: () => { close() }, onError: (error) => { toast.error("포스트 생성에 실패했습니다", { position: "top-center" }) } }) const [content, setContent] = useState("") const [images, setImages] = useState<Image[]>([]) const textareaRef = useRef<HTMLTextAreaElement>(null) const fileInputRef = useRef<HTMLInputElement>(null) const handleCloseModal = () => { close() } const handleCreatePostClick = () => { if (content.trim() === "") return createPost({ content, images: images.map((image) => image.file), userId: session!.user.id }) } const handleSelectImages = (e:ChangeEvent<HTMLInputElement>) => { if (e.target.files) { const files = Array.from(e.target.files) files.forEach((file) => { setImages((prev) => [ ...prev, { file, previewUrl: URL.createObjectURL(file) }, ]) }) } e.target.value = "" } const handleDeleteImage = (image:Image) => { setImages((prevImages) => prevImages.filter((item) => item.previewUrl !== image.previewUrl)) } useEffect(() => { if (textareaRef.current) { textareaRef.current.style.height = "auto" textareaRef.current.style.height = textareaRef.current.scrollHeight + "px" } }, [content]) useEffect(() => { if (!isOpen) return textareaRef.current?.focus() setContent("") setImages([]) }, [isOpen]) return ( <Dialog open={isOpen} onOpenChange={handleCloseModal}> <DialogContent className="max-h-[90vh]"> <DialogTitle>포스트 작성</DialogTitle> <textarea disabled={isCreatePostPending} ref={textareaRef} value={content} onChange={(e) => setContent(e.target.value)} className="max-h-125 min-h-25 focus:outline-none" placeholder="무슨 일이 있었나요?" /> <input onChange={handleSelectImages} ref={fileInputRef} type="file" accept="image/*" multiple className="hidden" /> {images.length > 0 && <Carousel> <CarouselContent> {images.map((image) => <CarouselItem className="basis-2/5" key={image.previewUrl}> <div className="relative"> <img src={image.previewUrl} className="h-full w-full rounded-sm object-cover" /> <div onClick={() => handleDeleteImage(image)} className="absolute top-0 right-0 m-1 cursor-pointer rounded-full bg-black/30 p-1" > <XIcon className="h-4 w-4 text-white"/> </div> </div> </CarouselItem>)} </CarouselContent> </Carousel>} <Button onClick={() => { fileInputRef.current?.click() }} variant={"outline"} className="cursor=pointer" > <ImageIcon/> 이미지 추가</Button> <Button disabled={isCreatePostPending} onClick={handleCreatePostClick} className="cursor=pointer"> 저장 </Button> </DialogContent> </Dialog> ) }

  • react
  • typescript
  • react-query
  • supabase
  • zustand
rkdla666 댓글 2 좋아요 0 조회수 57

인기 태그

인프런 TOP Writers

주간 인기글