inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

리액트 컴포넌트 라이프 사이클 중 update 관련 질문

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요 강사님! 항상 좋은 강의 감사합니다:) 강의를 보던 중 강사님 께서는 update 단계에서 useEffect의 두번째 인수 deps를 생략하라고 하셨는데 아래와 같이 deps에 state값들(count, input)을 주고 변화 시켜도 콘솔에 생략했을 때와 똑같이 update가 출력되는 것을 확인했는데 무슨 차이인지 궁금합니다! <deps 생략 코드> useEffect(() => { if (!isMount.current) { isMount.current = true; return; } console.log("update"); }); <deps 추가 코드> useEffect(() => { if (!isMount.current) { isMount.current = true; return; } console.log("update"); }, [count, input]);

  • javascript
  • react
  • node.js
kwkw 댓글 2 좋아요 1 조회수 234

moveToList 질문드려요

미해결

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

상품쪽 moveToList에서 page하고 size추가 안해도 useCustomMove 이쪽에 const page = getNum(queryParams.get('page'), 1) const size = getNum(queryParams.get('size'), 10) 이렇게 되어있어서 따로 moveToList에서 page하고 size를 안넣어도 잘 이동이 되던데 잘못된걸까요??

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
이주영 댓글 2 좋아요 0 조회수 76

자바 입문 메서드 호출과 값 전달2

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 여기서 코드 상으로는 sout 1,4,2,3 순서로 작성하였는데 출력결과에서는 어떻게 1,2,3,4 순서대로 출력되는지 궁금합니다.

  • java
  • 객체지향
양진주 댓글 2 좋아요 0 조회수 160

@ManyToOne(fetch = FetchType.LAZY) 하고 콘솔에 select 쿼리문

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 내용] 단방향 연관관계 영상 22분 10초 쯤에서 Member클래스에 Team 필드 어노테이션으로 @ManyToOne(fetch = FetchType.LAZY)를 지정하고 서버를 재실행하였을 때 김영한 강사님 콘솔에서는 쿼리가 지연로딩되어 분리돼서 Member와 Team이 따로 조회가 되는걸로 나와있는데요 저도 같은 환경으로 실행하였을 때는 한 DB테이블만(MEMBER) 만 조회돼서 나오는데 왜 이러는 것인지 궁금합니다 .

  • java
  • jpa
soojinkimss 댓글 1 좋아요 0 조회수 105

./gradlew build 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] .\gradlew build를 했더니 오류가 떠요 PS C:\Users\chyt7\OneDrive\바탕 화면\study\hello-spring> .\gradlew build > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/chyt7/OneDrive/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/study/hello-spring/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 2s 7 actionable tasks: 1 executed, 6 up-to-date

  • java
  • spring
  • mvc
  • spring-boot
cye7066 댓글 2 좋아요 0 조회수 327

해시 알고리즘 9 - 해시 충돌 구현의 마지막 코드 도식화

미해결

김영한의 실전 자바 - 중급 2편

안녕하세요! 제가 이해하고 있는 부분이 맞는지 궁금합니다. LinkedList<Integer>[ ] buckets = new LinkedList<>[ ] 를 하면, LinkedList<Integer> 타입을 갖을 수 있는 배열이 생성되고, buckets[0] , buckets[1] .. .. 처럼 인덱스 번호를 이용해서 접근가능합니다. 여기서 궁금한점은 LinkedList<Integer> 타입으로 구성된 각 배열들은 LinkedList<Integer>의 인스턴스가 생성된것이 아니라, 단지 LinkedList<Integer>의 타입을 갖을 수 있는 참조 변수 인건가요?? 그 후에 각 참조변수 안에서 new LinkedList<>의 코드를 사용해서, LinkedList<>의 인스턴스가 생성되어 연결된것인가요?? 그렇기 때문에, add 메소드에서, buckets[1].add와 같은 문장이 생성될 수 있었는지 여쭤보고싶습니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
김예린 댓글 1 좋아요 0 조회수 159

타임리프 에서 겹따옴표 내부에 홀따옴표 이후 변수 표기 방법

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요?  2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] onclick=겹따옴표 내부에 홀따옴표 이후 변수가 제대로 표현이 안되는데 어떻게 해야 할까요? 예를 들어 원하는건 다음과 같습니다. onclick="location.href='/edit/변수'" 변수의 형태는 ${item.id} 입니다. 아래와 같이 시도를 해보았습니다. th:onclick="|location.href='@{/edit/${item.id}}'|" 위와 같이 시도를 해 보았는데 웹페이지 소스보기를 하면 아래와 같이 출력이 됩니다. onclick="location.href=&#39;/edit/${item.id}&#39;" 홀따옴표 앞에 역슬래시, 백틱 등등 해볼건 다 해보았는데 잘 안되네요. 뭔가 분명히 방법이 있을 것인데요. 조언 부탁 드립니다. 감사합니다.

  • java
  • spring
  • mvc
  • spring-boot
jyuvenia 댓글 1 좋아요 0 조회수 103

일기 수정 content 기본 값이 원래 일기 내용으로 안보이고..

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

제가 1번 일기 수정을 누르고 수정 페이지에 들어가면 1번일기의 오늘의 일기 기본값으로 "1번 일기 내용"(원본 content) 있어야 하잖아요? 근데 content 표기는 안되고 placeholder만 보입니다.. 아래는 코드입니다 import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import Button from "./Button"; import "./Editor.css"; import EmotionItem from "./EmotionItem"; const emotionList = [ { emotionId: 1, emotionName: "완전 좋음" }, { emotionId: 2, emotionName: "좋음" }, { emotionId: 3, emotionName: "그럭저럭" }, { emotionId: 4, emotionName: "나쁨" }, { emotionId: 5, emotionName: "끔찍함" }, ]; const getStringedDate = (targetDate) => { // 날짜 -> YYYY-MM-DD let year = targetDate.getFullYear(); let month = targetDate.getMonth() + 1; let date = targetDate.getDate(); if (month < 10) { month = `0${month}`; } if (date < 10) { date = `0${date}`; } return `${year}-${month}-${date}`; }; const Editor = ({ initData, onSubmit }) => { const [input, setInput] = useState({ createdDate: new Date(), emotionId: 3, content: "", }); const nav = useNavigate(); useEffect(() => { if (initData) { setInput({ ...initData, createdDate: new Date(Number(initData.createdDate)), }); } }, []); const onChangeInput = (e) => { let name = e.target.name; let value = e.target.value; if (name === "createdDate") { value = new Date(value); } setInput({ ...input, [name]: value, }); }; const onClickSubmitButton = () => { onSubmit(input); }; return ( <div className="Editor"> <section className="date_section"> <h4>오늘의 날짜</h4> <input name="createdDate" onChange={onChangeInput} value={getStringedDate(input.createdDate)} type="date" /> </section> <section className="emotion_section"> <h4>오늘의 감정</h4> <div className="emotion_list_wrapper"> {emotionList.map((item) => ( <EmotionItem onClick={() => onChangeInput({ target: { name: "emotionId", value: item.emotionId, }, }) } key={item.emotionId} {...item} isSelected={item.emotionId === input.emotionId} /> ))} </div> </section> <section className="content_section"> <h4>오늘의 일기</h4> <textarea name="content" value={input.content} onChange={onChangeInput} placeholder="오늘은 어땠나요?" ></textarea> </section> <section className="button_section"> <Button onClick={() => nav(-1)} text={"취소하기"} /> <Button onClick={onClickSubmitButton} text={"작성완료"} type={"POSITIVE"} /> </section> </div> ); }; export default Editor;

  • javascript
  • react
  • node.js
삘쏘굿 댓글 2 좋아요 0 조회수 192

배열에서의 시간복잡도와 Object

미해결

김영한의 실전 자바 - 중급 2편

안녕하세요 . int 타입의 경우 배열을 생성하였을때 int는 4바이트로 메모리크기가 정해져있고 그에 따라 (배열주소 * int의크기(4)) 로 O(1) 로 찾을 수 있다고 이해했습니다. 그럼 그렇다면 Object [] 배열의 경우에도 동일하게 동작하나여? Object나 다른 참조타입의 경우에도 메모리에서 각각의 인덱스의 참조주소가 동일한 크기를 가지고 배열이 생성될까요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
yongjun413 댓글 1 좋아요 0 조회수 84

[2-1] 강의링크 메모용

미해결

실무 중심! FE 입문자를 위한 React

https://codesandbox.io/p/sandbox/2-1-29k09?file=%2Fsrc%2Findex.js%3A9%2C1

  • react
  • redux
  • node.js
  • sass
  • swr
o hell 댓글 1 좋아요 4 조회수 939

onSubmit 함수안에서 입력 했는지 판별하기

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

const onSubmit = () => { if (input.name === "") { // 이름을 입력하는 DOM 요소에 포커스 inputRef.current.focus(); } }; 위 코드는 강사님께서 알려주신 onSubmit함수인데 콘솔에 하나하나 찍어가면서 공부하다 보니까 inputRef.current가 가리키는 것이 input 태그여서 아래와 같이 조건문의 조건을 바꿔서 돌려봐도 잘 나오는데 input.name과 inputRef.current.value가 같은 것을 가리켜서 그런건지 궁금합니다! const onSubmit = () => { if (inputRef.current.value === "") { // 이름을 입력하는 DOM 요소에 포커스 inputRef.current.focus(); } }; 혹시 몰라서 input태그도 올립니다! <div> <input ref={inputRef} name="name" value={input.name} onChange={onChange} placeholder="이름" /> </div>

  • javascript
  • react
  • node.js
kwkw 댓글 2 좋아요 0 조회수 145

프록시 호출 문제

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

Member findMember = em.getReference(Member.class, member.getId()); System.out.println("findMember.getClass() = " + findMember.getClass()); //System.out.println("findMember.getId() = " + findMember.getId()); //em.detach(findMember); //em.clear(); //em.close(); System.out.println("findMember.getUsername() = " + findMember.getUsername()); 강의 38:40 초 내용 입니다 강의에선 em.close 를 하면 초기화 예외가 발생하는데 시간이 지나서 좀 바뀐건지 em.detach, clear 는 예외가 발생하는데 close 는 영속성 컨텍스트가 꺼지지 않고 정상적으로 작동을 해서 username 이 출력이 되네요 다른 분들도 그런건지 확인 차 질문드립니다

  • java
  • jpa
IGOR 댓글 1 좋아요 1 조회수 126

JDBC URL 연동 문제

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JDBC 연동 질문입니다. test.mv.db 가 C://USERS/USER/안에 만들어졌습니다. 하지만 인텔리제이에서 url로 진입시에 계속해서 Driver org.h2.Driver claims to not accept jdbcUrl 에러가 뜹니다. 다른 문의들 많이 참고해서 설정들도 꼼꼼히봤고, https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit?tab=t.0 링크에 H2데이터베이스 접속 오류 해결방안2를 그대로 했지만 h2콘솔에서는 접속이 잘되는 것 같은데 인텔리제이에서는 url 을 찾지 못하는 것 같습니다. 아래는 코드 입니다. 몇시간째 제자리라서 도움 부탁드립니다ㅜ

  • java
  • spring
  • mvc
  • spring-boot
고나검 댓글 1 좋아요 0 조회수 351

userRef를 활용한 Validation 활용법

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

특정 요소의 입력검증을 위해 useRef()를 생성하고 해당 element tag에 ref={inputRef}를 생성한 이후에 onSubmit()에서 강의대로 입력확인 처리를 하였습니다. const onSubmit = (e) => { console.log(input.name, input.birth) if(input.name === "") { console.log(inputRef.current) inputRef.current.focus() return } if(input.birth === "") { console.log(birthRef.current) birthRef.current.focus() return } } 질문의 bith에 대한 입력검증을 하고자 하면 신규로 birthRef = useRef()를 생성하고 element tag에 ref={birthRef}를 추가 / onSubmit에서 해당 로직을 적용해야 하는 건가요? 총 4개 입력항목(이름, 생년월일, 국가, 자소개)이면 useRef()를 4개 생성해서 엘리먼트별 입력확인을 하는구조로 개발이 되어야 하는건가요?

  • javascript
  • react
  • node.js
wonyongick 댓글 2 좋아요 0 조회수 158

메시지 이벤트 발행시 에러 발생 관련 질문이 있습니다.

해결됨

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

이번에 면접을 보면서 확실하게 대답을 못해서 고민 끝에 선생님에게 질문 드립니다. 우선 시나리오 말씀드리자면 client 가 해당 게시글에 "좋아요" 등록을 하게 된다면 좋아요 등록 관련 DB 테이블에 insert 동시에 outbox 테이블에도 insert 하도록 설계 되어 있습니다. commit 이 정상적으로 발생되면 kafka 서버에게 이벤트 메시지를 발행 하게 되는데요. 만약 갑자기 이벤트 발행시 kafka 서버가 죽었다고 하면 복구 될때 까지 기다리다가 retry 통해 아직 메시지 발행 하지 못한 메시지 outbox 테이블에 조회해서 메시지 발행 하면 문제가 없을 것 같은데요. 하지만 다시 처음부터 설명하면 client 가 좋아요 등록 후 DB 서버가 죽어서 "좋아요" 관련 테이블 및 "outbox" 테이블에 insert 를 못했다고 가정 했을때 어떻게 대처 해야 하는지 역으로 질문 받았습니다. 일단 DB 서버가 죽었으면 빠르게 고객에게 에러 메시지를 전달과 동시에 담당 개발자에게 빠르게 전달 할 수 있도록 전달 해야 한다고 했습니다. (회사에서 slack 메신저 사용하면 메신저 통해 알림) 혹시 이것보다 더 좋은 방법이 있을까요? 재대로 대답하지 못해 찜찜해서 이렇게 선생님에게 질문 드리네요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
리나 댓글 2 좋아요 0 조회수 216

이벤트 객체값 확인관련 - console.log

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

onChange 이벤트에서 입력값 확인을 console.log에서 확인시 아래와 같이 확인이 되어집니다. input(type=date포함), textarea 궁금한 사항은 select 에서 선택된 값은 어떻게 확인해야 할까요? 실제 target부분에 아래와 같이 표시가 되어집니다. select와 option의 값이 출력이 되고 input의 입력값을 볼수있는 형태가 아닌 select tag에서 정의한 값이 보입니다. 실제 선택한 값을 어디서 확인할 수 있을까요?

  • javascript
  • react
  • node.js
wonyongick 댓글 2 좋아요 0 조회수 123

fetch join 관련 질문입니다

미해결

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

A : B = 1 : N , B : C = 1 : N , C : D = N : 1 현재 이런 구조인데 한번에 데이터를 땡겨오고싶으면 C를 기준으로 A, B, D 전부 fetch join으로 가져오면 되는걸까요? 아니면 이렇게 하면 문제가 있을까요?

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

Callble 활용 질문 이요.(코드 이런식으로 만들어도 되는지?)

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 어찌저찌 하다가 콜라볼를 이용해서 만들기는 하였는데 이렇게 코드로 만들어도 되는지 궁금해서 질문을 드립니다. 콜라볼에 Lsit값을 넣어서 , 심플한 callable 리스트를 만들었는데 이렇게 활용해도 되는지 알고 싶어서 코드를 올립니다. 이렇게 만들어도 되냐요? 답변 부탁드립니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
생각하는자 댓글 3 좋아요 0 조회수 280

IDE에서 equals를 생성하는 방식이 바뀐걸까요?

미해결

김영한의 실전 자바 - 중급 1편

이전엔 자동 완성을 시키면 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; UserV2 user = (UserV2) o; return Objects.equals(id, user.id); } 이 코드였던거같은데 현재는 이렇게 생성이 됩니다. @Override public boolean equals(Object object) { if (object == null || getClass() != object.getClass()) return false; UserV2 userV2 = (UserV2) object; return Objects.equals(id, userV2.id); } IDE 작동 방식에 변화가 생긴걸까요? 아니면 제가 설정을 무엇인가 잘못 건드린걸까요

  • java
  • 객체지향
맥스 댓글 1 좋아요 0 조회수 173

자바 질문

해결됨

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

29분 22초 "Spark" 가 당연히 Car 클래스의 가장 윗쪽 함수에 들어가야한다고 하셨는데 이유가 궁금합니다. 두번째 함수에도 스트링인데요.

  • java
  • 정보처리기사
김영선 댓글 2 좋아요 0 조회수 126

인기 태그

인프런 TOP Writers

주간 인기글