마지막 프로젝트 수정 코드 - 커밋
해결됨
한 입 크기로 잘라먹는 Next.js
마지막 한입 프로젝트 코드 전체 커밋이 안되어 있어서요! 깃에는 예전 코드라 현재 버전에 맞지 않습니다. 계속해서 배포가 되지 않습니다.
- next.js
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
한 입 크기로 잘라먹는 Next.js
마지막 한입 프로젝트 코드 전체 커밋이 안되어 있어서요! 깃에는 예전 코드라 현재 버전에 맞지 않습니다. 계속해서 배포가 되지 않습니다.
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
// 함수선언 함수를 생성하는 것 function greeting(){ console.log("안녕하세요"); } greeting(); let area1 = getArea(20, 30); console.log(area1); getArea(40, 200000); // 함수 호이스팅 // -> 끌어올리다 라는 뜻. //함수가 선언되는 순서는 중요하지 않다! function getArea(width, height){ function another(){ //증첩함수 console.log('another'); } another(); let area = width*height; // console.log(area); return area; <------------------------- 여기 return이 반환값이라고 하셨잖아요. getArea(40, 200000) = area 와 같다고 생각하면 되는거죠? 그리고 그걸 화면에 출력하기 위해서는 꼭 변수에 담아야 하는거죠? 그건 알겠는데 왜 변수에 담아야 나오는 건지 궁금합니다!! }
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. Index.html 설정 후 localhost:8080 하여도 welcome page가 뜨지 않습니다. 1:36 확인 부탁드립니다. 감사합니다.
미해결
스프링 시큐리티 OAuth2
FormLoginConfigure에서 생성하는 필터가 UsernamePasswordAuthenticationFilter라고 말씀해주셨는데(8:37) ㅎ initDefaultLoginFilter 메서드에서 생성되는 필터 클래스가 DefaultLoginPageGenerationgFilter인거같은데 맞을까요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요. select * from article where board_id= 1 order by article_iddesc limit 30 offset 90; 해당 쿼리문을 날렸을 때의 문제점을 설명하는 부분에서 이해가 잘 가지 않는 부분이 있어 질문드립니다! 제가 기억하는 내용이 틀릴 수도 있어 질문드립니다! 제가 알고있던 바로는 Secondary index에 의해 만들어진 자료구조에서 leaft노드는 원본 데이터의 주솟값을 가진다고 알고있었습니다. 따라서 강의의 설명에서는 article id를 가지고 다시 clustered index를 통해 조회한다 했지만 바로 O(1)으로 원본 데이터에 접근한다는 이해는 틀린것일까요? 틀렸다면 어떤 부분일까요? 좋은 강의 잘 듣고있습니다! 감사드립니다! 학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 연관관계 를 사용할 경우 연관관계 주인을 설정해야 하는건 이해를 했습니다. @Entity public class Team { @Id @GeneratedValue private Long id; private String name; @OneToMany private List<Member1> members = new ArrayList<>(); } @Entity public class Member1 { @Id @GeneratedValue private Long id; private String username; @ManyToOne @JoinColumn(name = "team_id") private Team team; } 위와 같은 엔티티 구조일 경우 Team 에서도 Member1 에 대한 정보를 알수 있으며 Member1 에서도 Team 에 대한 정보를 알수 있습니다. 이후 둘의 데이터를 삽입한다는 가정하에 다음과 같이 Member 를 먼저 생성후 Team 에 입력할수도 있고 Member1 member1 = new Member1(); member1.setUsername("member1"); em.persist(member1); Team team1 = new Team(); team1.setName("teamA"); team1.getMembers().add(member1); em.persist(team1); 반대로 Team 을 먼저 생성한 뒤에 Member 에게 알려줄수도 있습니다. Team team = new Team(); team.setName("teamA"); em.persist(team); Member1 member = new Member1(); member.setUsername("member1"); member.setTeam(team); em.persist(member); 문제는 여기서 부터 인데... 연관관계 주인을 사용하는 이유는 JPA 에 혼란(?) 을 주지 않기 위함이다 라고 외우고 있는 상태입니다. "mappedBy 를 사용하여 한쪽에서는 쓰기만 가능하도록 동작하도록 한다. " 근데 이게 연관관계 주인하고 무슨 상관인지 잘 모르겠습니다. 그냥 둘다 읽고 쓰고 업데이트 다 가능해도 객체 입장에서는 큰 문제가 없을거 같은데.. 굳이 연관관계 주인이라는 개념을 도입해서 사용하는 이유를 잘 모르겠습니다. 가령 DB 에서는 Team 테이블의 ID 값이 변경이 필요할 경우 그 와 함께 연관되어 있는 Member 테이블에 team_id 값을 변경해줄수도 있고 반대 상황에서도 변경이 가능한데.. 뭔 차이 인지 잘 모르겠습니다.
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요. 섹션 6 퀴즈 내에 5번 문항에서 문제 설명과 해설에 dynamic 옵션의 값이 "force-static"이 아닌 "false static"으로 잘못 나온 것 같은데 확인 부탁드립니다.
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 BookCreateRequest 객체에 name 을받는 생성자를 만들었더니 아무것도 안받는 생성자도 만들어야 정상 작동하더라구요 근데 아예 생성자를 안만드니까 바로 정상 작동하던데 무슨 차이가 있는건가요?
미해결
스프링 시큐리티 OAuth2
httpSecurity 클래스의 메서드 authorizeHttpRequests, formLogin, apply 메서드들의 인자값이 다 바뀌었네요 혹시 3.xx 버전으로 작성된 코드가 있을까요?
해결됨
React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
ch-7-2에서 포스트 상세 조회 router 안에서 ipify.org api를 호출하는데 포스트 상세 조회 API를 클라이언트에서 호출할 경우 서버에서 ipify.org api를 호출하기 때문에 의도한바와 다르게 서버 ip 주소가 나오고 클라이언트 IP는 req.ip를 통해서만 얻을 수 있지않나요?? const response = await axios.get("https://api.ipify.org?format=json"); ip = response.data.ip;
해결됨
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
다른 파일들은 잘 모르겠는데 일단 01-common.mdc 이 파일은 수업에 사용하신 것보다 내용이 적어 보여요. 파일 확인 부탁 드리겠습니다.
미해결
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
안녕하세요. 수강생입니다. 혹시 수업에 사용중이신 Cursor가 버전이 어떻게 되나요. 저는 1.5.9 버전인데 커서 핵심 기능과 Rules 설정하면이 좀 달라서요. 프로젝트 Rules 화면도 다르고 Add Rule시 제가 사용하는 버전은 아래와 같이 나옵니다. 어떤 Rules를 설정을 해야할지 답변 부탁드립니다. 감사합니다.
미해결
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
피그마에 접속해서 MCP 플러그인 을 설치하려고 했는데 더하기 버튼이 안 보입니다. 아래와 같은 버튼들만 보이는데 어떻게 해야하나요?
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
2.13) 비동기 작업 처리하기 2. Promise 강의에서, if 문을 활용한 타입 검증 시 오류인 상황(else) 에서의 reject 가 정상 동작하지 않습니다. /* Promise */ const promise = new Promise((resolve, reject) => { // 비동기 작업 실행 함수 : executor setTimeout(() => { let num = 10; num = '10'; console.log(num); if (typeof num === 'number') { // 성공일 때 호출 resolve(`${num}은 숫자입니다.`); } else { // 실패일 때 호출 reject(`${num}은 숫자가 아닙니다.`); } }, 1000 * 1); }); 위 코드에서, num 타입을 string 으로 변경했을 때 else 문이 진행되는 것으로 기대했습니다. 이때, 브라우저의 디버거에서 오류를 발생시키면서 정상 동작되지 않습니다. 터미널에서는 UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 라는 오류가 발생됩니다. catch 문 없이 reject 를 단독으로 사용하는 것에 문제가 있는 것 같은데, 예제와는 다르게 동작하는 것 같아 문의드립니다.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 교안에 있는 7페이지에 운영체제와 프로세스, 스레드 그림에서 공유되는 부분에 코드, 힙, 기타가 있는데 데이터 영역도 공유되는게 맞는지 궁금해서 질문드립니다. 감사합니다.
미해결
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
안녕하세요 강사님. node.js 강의 수강을 이제 막 시작한 프론트엔드 개발자 수강생입니다. 1. 모든 강의는 node.js 14 버전 기준으로 녹화가 된게 맞나요? 맞다면 22LTS 버전으로 설치해도 강의를 수강하는데 문제는 없을까요? 2. 그리고 프로젝트 생성 처음부터 typescript 적용하고 싶은데, 초보자에게 괜찮을까요? 비추천이시라면 typescript 없이 시작하려고 합니다. 감사합니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] gradle-groovy와 gradle - kotlin중에 뭘로 해야하나요?
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의를 듣다가 생각나게 된 것이 앞서 배운 @MappedSuperClass가 생각이 났습니다. 이것도 각 엔티티에 공통된 속성을 정해줄 수 있었는데요. 어떤 차이점이 있는지 궁금합니다.
미해결
인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트
✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 안녕하세요 . 강의 수강중 질문이 생겨서 여기에 이렇게 남깁니다. Courses 테이블에서 Lectures 테이블과 일대다 관계를 이렇게 해주셨는데요. model Course { id String @id @default(uuid()) slug String @unique title String shortDescription String? @map("short_description") description String? @map("description") thumbnailUrl String? @map("thumbnail_url") price Int @default(0) discountPrice Int? @map("discount_price") level String @default("beginner") instructorId String @map("instructor_id") isPublished Boolean @default(false) @map("is_published") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") sections Section[] lectures Lecture[] categories CourseCategory[] enrollments CourseEnrollment[] reviews CourseReview[] questions CourseQuestion[] instructor User @relation(fields: [instructorId], references: [id]) @@map("courses") } model Section { id String @id @default(uuid()) title String description String? order Int courseId String @map("course_id") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") lectures Lecture[] course Course @relation(fields: [courseId], references: [id], onDelete: Cascade) @@map("sections") } model Lecture { id String @id @default(uuid()) title String description String? order Int duration Int? isPreview Boolean @default(false) @map("is_preview") sectionId String @map("section_id") courseId String @map("course_id") videoStorageInfo Json? @map("video_storage_info") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") section Section @relation(fields: [sectionId], references: [id], onDelete: Cascade) course Course @relation(fields: [courseId], references: [id], onDelete: Cascade) activities LectureActivity[] @@map("lectures") } 궁금한점은 이미 저희가 나중에 DTO 에서 코스 테이블 레코드 를 가져오면 Sections 테이블과 이미 일대다 관계가 되어있기떄문에 Sections 테이블에서 레코드를 가져오면서 Sections 테이블이 이미 Lectures 와 일대다 관계가 되어있기 떄문에 코스 테이블에서 레코드 가져오면 섹션 테이블 안에 이미 렉쳐 레코드도 같이 따라오는데 코스 테이블에서 따리 중독 관계를 해두신 이유가 궁금합니다. 시간 내주셔서 감사합니다
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
좋은 강의 감사합니다! 함수(메서드) 선언과 호출 강의를 듣는중인데, 리턴값 관련해서 질문이 생겨서 글을 남기게되었습니다. 현재 리턴값이 있고, 없고의 차이를 크게 못느끼겠어서 질문을 남기게 되었습니다. 현재 이해한것은 리턴을 해주게 되면, 호출 한곳에 값을 돌려준다고 이해를 했는데, 리턴을 안하면 함수의 정의가 된곳에서 진행을 한다고 이해를 했는데, 이때 System.out.printIn(); 을 하면 출력이 되는것도 확인이 된는것을 봤습니다(17:45) 결과적으로 리턴값이 있고 없고의 차이를 크게 못느끼겠어서 이렇게 질문을 남기게되었습니다.