묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
프로토타입 스코프 빈의 스프링 빈 저장소에서의 상태
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 사진은 예전에 스프링 컨테이너와 스프링 빈 파트의 학습 자료에 있는 사진입니다.위 사진은 싱글톤 기준으로 설명된 그림 같은데 프로토타입 스코프 빈의 경우를 위 그림에 대입하면스프링 컨테이너가 생성된 이후, 스프링 빈 저장소에 빈 이름만 있고, 빈 객체는 비어 있다고 생각하면 될까요? 요청이 와야 비로소 객체를 생성 후 클라이언트에게 반환하고, 요청이 온 이후에도 스프링 빈 저장소엔 여전히 빈 이름만 있고 빈 객체는 비어 있다고 보면 되나요? 제대로 이해한 건지 확인차 질문드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
Order의 orderItems에 orphanRemoval 주지 않는 이유가 따로 있으신 가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기 보면, 주문과 주문 상품은 완전히 종속적일 것 같은 느낌이고,cascade도 ALL이라서 완전히 부모에서 관리할 것 같은 느낌이라..예제에서 보통 실무에서 쓸만한거 거진 예시로써 사용해 왔는데, orphanRemoval는 사용하지 않았던 이유가 궁금합니다.딱히 이유는 없고 충분히 고려할 수도 있는 내용인지, 아니면 뭐 orphanRemoval는 실무에서 잘 안쓴다던지 궁금합니다.아니면 보통 인터넷 쇼핑 이용할 때 주문상품 중 하나를 빼고 싶을 때 뺄 수 있는게 아니라 주문 자체를 다시 해야 하는 경우가 많아서 그런 비즈니스 적인 이유 때문에 그런건가요?그럴 경우는 오히려 고아객체라고 삭제하면 위험해질 수 있으니..?
-
미해결모던 안드로이드 - Jetpack Compose 입문
비만도계산기 로직작성 에서 문제가 발생했어요 ^^
강사님 해당 프로젝트를 실행하니 에뮬화면이 검게 변하면서아무것도 보이지 않습니다제가 어떤 부분이 잘못 코딩하였는지 ..... 구글드라이브에 해당 프로젝트를 올려두었습니다 https://drive.google.com/file/d/15GTTot8jci11xvK1OFpTiOVw2HYTKOZ4/view?usp=drive_link
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
class vs 함수 생성
안녕하세요~!클래스 생성 vs 함수 생성 관련해서 문의 드립니다. 이미 비슷한 질문에 대한 답변을 다 확인하였는데 여전히 궁금한점이 남아서요. 코드 정리를 할때 어떤때는 함수로 리턴해주고 어떤때는 클래스로 만들어서 build함수에서 리턴을 해주는걸로 알고 있습니다. 질문 1. 코드 정리를 할때 어떤건 함수로, 어떤건 클래스로, 이러한 판단은 상속하고 있는 parent를 모두 확인하고 매번 결정하시는건가요? 강의에서는 바로바로 결정을 하시고 진행하시는데 어떤 판단으로 하시는지 궁금합니다. 질문 2. AppBar의 경우 PreferredSizeWidget를 구현해야 해서 클래스로 만들수가 없는경우인것은 알겠습니다. 그렇다면 그 외에 구현해야할 부모 클래스가 없다면 모두 class로 만들면 될까요? 가령 Text는 StatelessWidget를 상속받고 있고 Expanded는 Flexible을 상속받고 있습니다.(결국 타고 올라가면 모두 Widget을 상속받고 있습니다). 이런경우 둘다 implement해줘야 할것은 없기에 클래스로 빼도 무관한 걸까요?다른 분들도 비슷한 질문을 많이 하셨지만 확실히 어떤때는 클래스인지, 어떤때는 함수인지에 대한 부분이 많이 헷갈리고 있습니다. 도와주세요~!!
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
HAL드라이브 없이 GPIO제어 하기 관련 누락된 부분이 있는것 같습니다.
<HAL드라이브 없이 GPIO제어 하기 1>내용에서 강의 내용 부분에서 __HAL_RCC_GPIOC_CLK_ENABLE()관련 코드를 분석 해주시고 강의가 끝났습니다.<HAL드라이브 없이 GPIO제어 하기 2>두번째 강의에서 HAL_GPIO_WritePin() 관련 코드 분석에 대한 설명이 없는데 강의 내용에서 코드 분석이 된 것 처럼 강의가 나오고 있습니다.편집상의 오류 아닌가 확인 되는데,,, 확인 부탁드리겠습니다.
-
해결됨홍정모의 따라하며 배우는 C++
[3:25] 함수 오버로딩 더미 변수
operator ++ 를 오버로딩하는 구문이 두 군데가 있어서, ambiguity가 발생하기 때문에, 이를 구분하고자 dummy parameter, int를 넣은 것이다, 정도로 이해하였습니다.그럼 실제 main 함수에서, 컴파일러는 어떻게 d++ 이 postfix overloading(line 19 ~ 24)에 해당하는지 알아낼 수 있나요? 반대로 ++d가 line 19 ~ 24로 가는 것이 아니고, line 12 ~ 16으로 가야 하는지 어떻게 알아내나요?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
애니메이션 재생헤드를 처음으로...
안녕하세요 선생님 1.어제 질문드린 내용(forEach로 다중 요소에 중복 이벤트 걸기)은 마지막에 말씀해주신'gsap.to(item,{rotation:”+=360”}) 으로 작성해보세요 ' 코드로 해결을 하였습니다. 감사합니다.그런데 그전에'그럴경우 애니메이션이 종료 후 애니메이션의 재생헤드를 처음으로 돌려놓는 코드를 작성해 주시거나' 라고 말씀해주셨는데... 이게 어떻게 하는건지 도저히 모르겠어요..ㅜㅜㅜ예시코드를 시간되실때 한번 보여주셨음 해요..(아직 많이 부족합니다..이해 부탁드려요..ㅜㅜ)시간되실 때 천천히 해주셔도 됩니다.항상 똑부러지는 강의 잘 듣고 있습니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션 22부터 새로 개정된 강의라고 하는데, 어떻게 들어야 할까요?
안녕하세요, 금일 (10월 28일) 강의를 시작한 학생입니다.어떻게 강의를 들어야 하는지 헷갈려서 문의드려요.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
팩토리 패턴 상속관계
안녕하세요 큰돌님! 항상 좋은 강의 감사합니다.팩토리패턴 강의를 수강하다가 궁금한 점이 생겨 질문드립니다. 팩토리패턴 javascript 예제에서 CoffeeFactory가 중요한 뼈대를 결정하는 상위 클래스, LatteFactory, EspressoFactory가 객체 생성 방식을 결정하는 하위 클래스로 이해를 했는데 굳이 LatteFactory와 EspressoFactory가 CoffeeFactory를 상속받는 이유가 있나요..? 팩토리 패턴은 "상속관계에 있는" 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이라고 하셨는데 위와 같은 이유로 정의와 예제가 다른 부분이 있는 같아서 질문드립니다. 제가 예제를 잘못이해한 건가요.. ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
회원 도메인 실행과 테스트 강의 8분 40초 질문입니다.
스프링 핵심 원리 이해1 - 예제 만들기 질문입니다.회원 도메인 실행과 테스트 강의 8분 40초에 memorymemberrepository가 추상화에도 의존하고 구체화에도 의존한다는게 무슨뜻인가요? 2.주문과 할인 도메인 개발 7분public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository=new MemoryMemberRepository(); private final DiscountPolicy discountPolicy=new FixDiscountPolicy();자바를 배울 때private final MemberRepository memberRepository=new memberRepository();이런식으로 객체도 같은 이름으로 생성해서 항상 그런줄알았는데 왜 memberRepository() 이게 아니라 MemoryMemberRepository() 이런식으로 되는건가요?implements와 extends차이점이 뭔가요? https://velog.io/@hkoo9329/%EC%9E%90%EB%B0%94-extends-implements-%EC%B0%A8%EC%9D%B4 여기서는class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속 받을 땐 extends를 사용한다. 이렇게나와있는데 이게 맞는거아요? 주문과 할인 도메인 실행과 테스트 1분public class OrderApp { public static void main(String[] args) { MemberService memberService = new MemberServiceImpl(); OrderService orderService = new OrderServiceImpl(); long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 10000); System.out.println("order = " + order); } }Long memberId=1L 여기서 1리터가 무슨 뜻인가요?public class Member { private Long id; private String name; private Grade grade;Member클래스에 grade로 변수 선언했는데요. grade가 소문자가 아닌 Grade.VIP 대문자로 되어있는데 왜이러는건가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
게시판 UI 만들기
UI 화면 만들기 편을 보면서 궁금한 점이 생겼습니다. 다름이 아니오라..궁금한 점:route 로 구현 (setting)하면서 화면을 만들고 이동을하고 있는데요... (당근?)그러면 ... 보여줄 화면이 많을때... 아주 많을때는 ... 어떻게 처리를 하는지 ( 소스 관리)지요...... 파일로 처리를 하나? ? (제 생각에는 ..다른 방법이...궁금)URL에 따라 뿜빠이(^^)를 하는지.. 열강중에 궁금한 점이 .... ??? 화면(본수)이 정말 많을때 ..어떻게 처리를 하는지.... index.js import ... 화면1.vue;import ... 화면2vue;import ... 화면3.vue;import ... 화면4.vue;import ... 화면5.vue;import ... 화면6.vue;,,import ... 화면N.vue;화면(100개 (이상? ㅋㅋㅋ) ... 이럴때 말이줘... 화면 100개: 화면당 ***.vue 파일 100개?... (이건 아닌듯..)(암튼..화면 겁내 많음..... ) URL_listView.vue 같이URL 정보를 다른 파일을 따로 만들어 처리를 해야 하는지?(아무래도 ...이방법이...흐음...)...짱~ 코딩님... 질문 마치겠습니다.
-
미해결[React 1부] 만들고 비교하며 학습하는 React
reset했을때 x버튼이 안지워집니다
reset했을때 x버튼이 안지워집니다.수업대로 visible? block: none;했는데 안지워지는 이유가 뭘까요..? ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 질문입니다.
안녕하세요.저는 set을 사용해서 문제를 해결했습니다. 그런데 시간을 더 줄여보려고 코드를 수정했는데 틀리다고 나옵니다. 수정한 코드가 왜 잘못되었는지 모르겠습니다. 알려주시면 감사하겠습니다. 수정한 코드 http://boj.kr/e812a45ff3e34a8e9a22e97cce7e113f 원래 코드http://boj.kr/039878b27e594e0c90895f1414ab061d
-
미해결생각하고 창조하는 언리얼 이펙트 나이아가라 FX
텍스쳐샘플Color적용하기 강의 질문요
7분 부터 갑자기 강의 중간 내용이 증발 됩니다...추가적으로 PDF등으로 옵션 관련 설명이나UV 관련 이해도를 높일수있는 추가적인 설명이 필요할꺼 같습니다ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션 31 댓글 기능 구현 과제 관련 질문
안녕하세요 섹션 31 댓글 기능 구현 과제 중 궁금한 점이 있어 질문 남깁니다 댓글 리스트의 수정 아이콘 클릭 시 사진과 같은 화면이 나오도록 했고, 댓글 등록하기 presenter component를 재사용 했습니다댓글 리스트 presenter 파일입니다export default function CommentListUI(props) { return ( <S.Wrapper> {props.data?.fetchBoardComments.map((item) => ( <S.CommentListWrapper key={item._id}> {props.isEdit && props.commentId === item._id ? ( <CommentWriteUI></CommentWriteUI> ) : ( <S.Comment_Container> <S.profile_icon src="/02/profile_icon.png"></S.profile_icon> <S.Content_container> <S.Name_Star_container> <S.Text style={{ fontWeight: "600" }}>{item.writer}</S.Text> <S.ReviewStar_container style={{ marginLeft: "16px" }}> <S.StarDiv></S.StarDiv> <S.StarDiv></S.StarDiv> <S.StarDiv></S.StarDiv> <S.StarDiv></S.StarDiv> <S.StarDiv></S.StarDiv> </S.ReviewStar_container> </S.Name_Star_container> <S.Text style={{ marginTop: "-15px", fontWeight: "500" }}> {item.contents} </S.Text> <S.Text style={{ fontSize: "12px", fontWeight: "400", color: "#BDBDBD", }} > {getDate(item.createdAt)} </S.Text> </S.Content_container> <S.Icon_container> <S.Icon style={{ backgroundImage: `url("/createComment.png")` }} onClick={() => props.onClickTEST(item._id)} ></S.Icon> <S.Icon style={{ backgroundImage: `url("/clear.png")` }} onClick={() => props.onClickDelete(item._id)} ></S.Icon> </S.Icon_container> </S.Comment_Container> )} </S.CommentListWrapper> ))} </S.Wrapper> ); } 삼항연산자를 사용해 나오는 화면을 다르게 했습니다isEdit 변수는 수정하기 아이콘 클릭 시 true로 바뀌고, 삼항연산자 조건에 isEdit 변수만 사용하니 수정 아이콘을 클릭하지 않은 다른 댓글 리스트가 사라지면서 재사용한 댓글 등록 presenter 파일만 화면에 나와서 조건은 위와 같이 작성했습니다 여기서 문제는 수정 아이콘을 클릭해 나오는 댓글 등록 창은 container 파일에 작성한 함수가 작동하지 않는 것입니다 댓글 리스트 container 파일입니다export default function CommentList() { const { data } = useQuery(FETCH_COMMENTS); const [deleteBoardComment] = useMutation(DELETE_COMMENTS); const onClickDelete = async (item) => { const pw = prompt("비밀번호를 입력해주세요."); try { await deleteBoardComment({ variables: { pw: pw, boardCommentId: item, }, refetchQueries: [{ query: FETCH_COMMENTS }], }); alert("삭제되었습니다."); } catch (error) { alert(error.message); } }; // 수정하기 아이콘 클릭 시 화면 변화 const [isEdit, setIsEdit] = useState(false); const [commentId, setCommentId] = useState(); const onClickTEST = (item) => { setIsEdit(true); setCommentId(item); }; // console.log(commentId); return ( <CommentListUI data={data} onClickDelete={onClickDelete} onClickTEST={onClickTEST} isEdit={isEdit} commentId={commentId} ></CommentListUI> ); } 댓글 등록 container 파일입니다 const [updateBoardComment] = useMutation(UPDATE_BOARD_COMMENT); const onClickUpdate = () => { // updateBoardComment({ // variables: { // updateBoardCommentInput: { // contents: contents, // rating: 0 // }, // password: pw, // boardCommentId: // } // }) console.log("Test"); }; return ( <> <CommentWriteUI onChangeWriter={onChangeWriter} onChangePw={onChangePw} onChangeContents={onChangeContents} onClickUpdate={onClickUpdate} ></CommentWriteUI> </> ); } onClickUpdate 함수는 댓글 작성 presenter 파일의 등록하기 버튼에 연결되어 있습니다상세 페이지 로딩 시 나오는 댓글 등록창은 버튼 클릭 시 콘솔이 제대로 나오는데댓글 리스트 수정 아이콘을 눌러 나오는 댓글 등록창에서는 버튼을 눌러도 콘솔 자체가 나오지 않습니다 댓글 과제 가이드를 확인해서 어떻게 수정하면 좋을지는 알았지만, 궁금한 점이 해소되지 않네요궁금한 점은삼항연산자, map 등 기능의 속성을 제대로 알지 못한 채 사용한 문제인지코드 자체를 잘못 작성한 것인지 추가로 rating(별점) 데이터 활용법에 대한 힌트를 얻고 싶습니다rating 값 1 = 별 1개 인가요? rating 숫자 데이터가 별과 어떻게 연결되는지 잘 모르겠습니다 부족한 점이 많아 질문이 너무 길어졌네요 항상 감사합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 팰린드롬 만들기 반례를 찾지 못하겠습니다.
안녕하세요. 강의 잘 수강하고 있습니다.해설 강의 보기 전에 문제를 먼저 풀어봤는데 계속 틀렸다고 나옵니다. 반례를 찾지 못하겠습니다.일단 제가 생각하기엔 알고리즘이 맞는 것 같고 해설 강의와도 사실상 똑같은 알고리즘입니다. 저는 홀수인 경우 짝수인 경우만 나눠서 짰는데 기본적인 원리는 똑같네요. 웬만한 반례를 찾아 돌려봐도 제대로 나오는데 백준은 자꾸 틀렸다고 하네요.http://boj.kr/c698570bbcae4b859fbfdf13b4fac684 뭐가 문제인지 모르겠습니다.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
todoData.map 화살표 함수 질문
[JSX Key 속성 이해하기] 파트에서는 todoData에 map 메서드를 사용할 때 this.todoData.map((value) => ( <div style={this.getStsyle()} key={value.id}> <input type="checkbox" defaultChecked={false} /> {value.title} <button style={this.btnStyle}>X</button> </div> ))로 return 없이 사용하셨는데 전 기존에는 this.todoData.map((value) => { return ( <div style={this.getStsyle()} key={value.id}> <input type="checkbox" defaultChecked={false} /> {value.title} <button style={this.btnStyle}>X</button> </div> ) })이렇게 사용했습니다 둘다 정상 동작하는데 차이점이 뭔지 궁금합니다
-
미해결코로나맵 개발자가 알려주는 React + Express로 지도서비스 만들기 (Typescript)
지도가 두개가 열리는 것 같습니다
보시면 하나의 지도 div에 두개가 열리는 것 같습니다.실제로 지도가 두개가 열려 서로 level이 달라 겹치는 모습입니다. 뒷장의 지도에는 마커가 표기되지 않습니다.아래는 맵과 관련된 코드들입니다.mern_client/src/components/common/Map/index.tsximport React, { useEffect } from 'react'; interface MapProps { width: string; height: string; initMap?: (map: naver.maps.Map) => void; } function Map({width, height, initMap}: MapProps) { useEffect(() => { const mapOptions = { center: new naver.maps.LatLng(37.3595704, 127.105399), zoom: 10 }; const map = new naver.maps.Map('map', mapOptions); if (initMap){ initMap(map); } }, []); return <div id="map" style={{width, height}}></div>; } export default Map; mern_client/src/components/MapContainer.tsximport { useSetAtom } from "jotai"; import React from 'react'; import Map from './common/Map'; import { mapAtom } from "../atoms/map"; function MapContainer() { const setMap = useSetAtom(mapAtom); const initMap = (map: naver.maps.Map) => { setMap(map); naver.maps.Event.addListener(map, 'click', () => { console.log("맵 클릭"); }); }; return <Map width="100%" height='100%' initMap={initMap}/> }; export default MapContainer; mern_client/src/atoms/map.tsimport { atom } from 'jotai'; export const mapAtom = atom<naver.maps.Map | null>(null);
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
c언어 구조체에 알아야할까요
백엔드 준비중에백엔드취업준비중에 c언어 배열포인터까지만 배우면 된다고 들엇습니다근데 구조체를 배워야 하나요 꼭알고 java를 넘어가야 하는지 c언어에서는 배열 포인터 까지만 알면 문제가없는지 궁금합니다귀한답변부탁드리겟습니다구조체가 꼭 필요한지 궁금합니다????
-
미해결
그레이들 빌드 여전히 실패했어요
뭐가 문제인걸까요..