묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
뭔가 잘 이해가 되지 않는 부분이 있습니다.ㅠ
서비스역할의 구현체들은 서비스에 있는 기능을 사용하기 위해 OrderServiceImpl 경우에는 MemoryMemberRepository, FixDiscountPolicy 를 private final 을 붙여서 사용하는데 private는 해당 클래스 밖에서 직접 접근을 하지 못하게 하는것! final은 한번 값을 넣어주면 절대 바뀌지 않는것! 제가 이해 한 것을 토대로 왜 굳이 private final을 붙였나 OrderAPP를 찾아보았습니다. MemberService memberService = new MemberServiceImpl(); OrderService orderService = new OrderServiceImpl(); 두 객체를 생성할 때 두 객체 전부 MemoryMemberRepository를 참조하는 MemberRepository를 생성하기에 겹치는 부분이 생길 가능성이있기때문인가요,,? 어짜피 store는 static 변수이기때문에 객체가 얼마든지 생성된다고 해도 공유하고 있기에 문제가 일어날 것 같지는 않습니다. 뭔가 왜 private final인지 포인트를 잡지못하고 있는거 같아요ㅠ
-
해결됨홍정모의 따라하며 배우는 C언어
15:58 질문입니다.
modifiable L-values 를 오타 내신건가요? 아니면 현업에서 l value를 줄여서 저렇게 표기하는 약속같은게 있는건가요? 구글링해도 도움이 되지 않아 질문합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
next.js에서 swr 서버사이드 렌더링 질문드립니다.
next.js에 swr, typescript를 이용해 노드버드 실습을 해보다가 서버사이드 렌더링에 대해 궁금한 게 생겼습니다. 사용자가 만약 로그인을 한 상태일 때, 서버사이드 렌더링을 해서 컴포넌트에 사용자 정보를 넣어준 상태로 페이지가 보여지도록 하고 싶은데요. 강의에서는 pages/index.js에서 리덕스를 이용하여 LOAD_MY_REQUEST 액션을 dispatch 한 뒤, components/AppLayout.js 에서 useSelector로 me 값을 가져 오면 사용자 정보가 담겨진 채로 AppLayout.js 컴포넌트가 랜더링 됩니다. swr을 적용해서 동일하게 구현해보려고 하는데요. swr에서는 page/index.js에서 서버사이드에서 로그인한 사용자 정보롤 가지고 오더라도, components/AppLayout.js에서 useSWR을 사용하면 처음 [로그아웃] 상태일 때의 화면이 잠깐 나오고, [로그인]상태일 때의 모습으로 변합니다. 혹시 swr을 이용해서 pages/index.js에서 서버사이드 렌더링으로 가지고 왔던 값을 components/AppLayout.js에도 페이지 렌더링 초기에 값을 함께 전달해주는 방법은 없을까요? 제가swr을 이용해 아래처럼 적용해봤는데, 다른 방법이 있을까요? pages/index.tsx export const getServerSideProps: GetServerSideProps = async function({ req }) { const cookie: string = req ? req.headers.cookie : ''; if (cookie) { const data = await fetcher.get('/user', { cookie }); if (data) { return { props: { userProps: data }, }; } } return { props: { userProps: null }, }; }; function Index({ userProps }: InferGetServerSidePropsType<typeof getServerSideProps>) { const { data: user } = useSWR<IUser>('/user', fetcher.get, { initialData: userProps }); return <AppLayout>{user ? user.nickname : '로그인해주세요'}</AppLayout>; } components/AppLayout.tsx function AppLayout() { const { data: user } = useSWR<IUser>('/user', fetcher.get); return ( <div css={userNavStyle}> {user ? ( <> <Profile image={user.profile} size='40px' /> </> ) : ( <Link href='/login'> <a href='' className='login'> 로그인 </a> </Link> )} </div> ); }
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
갑자기 나는 'userFullName' Path 오류
faker로 새로운 데이터생성하는데, (node:8264) UnhandledPromiseRejectionWarning: ValidationError: comment validation failed: userFullName: Path `userFullName` is required. 이런 오류가 났습니다. 그래서 Comment.js 에서 userFullName 부분을 기존 username: {type: String, required: true} 에서 required 부분을 삭제하였더니 잘 동작하더라구요. 이전에는 위 오류가 나지않았는데 갑자기 안되는 이유가 있나요...??? const CommentSchema = new Schema( { content: { type: String, required: true }, user: { type: ObjectId, required: true, ref: "user", index: true }, userFullName: String, blog: { type: ObjectId, required: true, ref: "blog" }, }, { timestamps: true } );
-
미해결실전! Querydsl
일대다 collection select 질문
JPA 활용 2강의 - 컬렉션 조회(One To Many) - v3.1 방법으로 ToOne 관계만 fetch join하고, batch_fetch_size 설정했습니다. QueryDsl에서 hospital 엔티티의 id를 통해 원하는 것만 조회하고 싶은데 reviewHospital가 List 형태라서 review.reviewHospitals.hospital.id.eq(id) 이런식으로 안 됩니다. 그래서 생각해낸 게 contain으로 JPAExpression을 이용해서 where 절에 hospital id를 입력해서. 병원에 해당하는 id를 검색했습니다. java.sql.SQLException: Subquery returns more than 1 row 그런데 위와같이 subQuery가 1개 이상이라고 오류가 나더군요. hospital.id에 맞는 여러 개의 Review들을 조회하고 싶은데 다른 방법이 있는지 궁금합니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
로그인 요청 후 네트워크 기록에 대하여
삭제된 글입니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
질문
app: "docker-fullstack-app" bucket_name: elasticbeanstalk~~~~ travis에서 작성해줄 때 어떨 때에는 더블 쿼트를 쓰고 어떨 때에는 그냥 싱클 쿼트나, 더블 쿼트 없이 그냥 이름만 있는데 차이점이 있을까요???
-
미해결홍정모의 따라하며 배우는 C언어
strlen 의 결과가 5가나와야 하는데 계속 110으로 나옵니다.
분명히 교수님처럼 5가 나와야 하는데 자꾸 110이 나와서 혼란스럽습니다.. 한 번만 봐주시면 감사하겠습니다. 조교님 감사해요.
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
이클립스 (Dynamic Web Project)
안녕하세요. Dynamic Web Project를 생성했는데 WebContent 이런 구조는 안나오고 다르게 나오는데 왜 그런건가요?? ㅜㅜㅜㅜㅜ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
웹팩 설정 깃허브 업로드
수강중에, 외적으로 궁금한게 생겨서 여쭤봅니다! 보통 프로젝트 진행시, 웹팩 설정을 깃허브에 업로드 하나요? 아니면 깃이그노어 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
6:42 static import
선생님~ 게시판에 같은 질문있나 찾아봤는데 없는 것 같아서 질문 남겼어요 윈도우에서 어떻게 해야 static import가 뜨나요 이 단축키가 윈도우에서 뭔지 도통 모르겠어요 ㅠㅠ 따라한 제 코드는 이렇습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
쿼리문 전체를 백틱으로 감싸고 컬럼명을 싱글 쿼테이션으로 감싸는 이유
안녕하세요 질문이 있습니다. 마이그레이션 쿼리를 작성하실 때 전체 쿼리를 싱글쿼테이션으로 묶고 컬럼을 백틱으로 묶으시더라구요. 반대로 하지 않고 이대로 하신 이유가 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
알고리즘?
안녕하세요 강의 정말 잘 보고있습니다... 문법에대해선 어느정도 이해를해서 남이 작성한 코드나 선생님이 작성한 코드를 보면 무슨기능을하고 왜하는지는 이해를 하겠지만.. 혼자서 작성할려고하면 머리가 새하얗게 되고 뭐 부터 시작을 해야할지 잘 모르겠는데 어떻게 해야할까요..? 코드를 작성할때 ㅊ하나하나 시작해야하는 순서가있나요 ?? 예컨데 변수몇개 등등 구상을 먼저해야한다 라던가.. 이러한 알고리즘? 을 어떻게 생각해야할지 모르겠습니다.
-
해결됨스프링 시큐리티
중복 정의된 SecurityController `/login`과 Security 기본제공 `/login`이 호출되는 원리 질문입니다
강의 예제 시연 때 아래와 같이 정의된 상태에서EntryPoint 핸들러를 주석처리를 하셨지요 SecurityController.java @RestControllerpublic class SecurityController { @GetMapping("/login") public String login() { return "'/login' - 개발자가 작성한 Login 페이지"; }} SecurityConfig.java http// 인증/인가 예외처리 .exceptionHandling()// .authenticationEntryPoint((request, response, ex) -> {// // 인증 실패 후 재인증요구 처리: AuthenticationEntryPoint.commence() method// response.sendRedirect("/login");// 게빌자 제공 로그인 페이지로 이동 설정// }) 주석 처리 이후에는 S.Security 기본제공 `/login` URI 가 호출 되었구요,주석 처리 이전에는 개발자가 작성한 Controller `/login ` URI 가 호출이 되었습니다. 결과를 통해 추론 해보면, Spring Security 의 기본 제공 컨트롤러 구현체가 존재한다는 것을 알게 되었습니다 질문입니다 EntryPoint 핸들러를 주석처리 하자마자개발자 정의 Controller 에 선언된 /login URI 는Spring Security 기본제공 컨트롤러 /login URI 에게우선순위가 밀려 호출이 되지 않는것 같습니다.왜 개발자가 정의한 Controller 에 /login 이 우선처리 되지 않고, EntryPoint 핸들러를 통해 sendRedirect( /login ) 처리로만 이동이 가능한건지원리가 궁금합니다.혹시 sendRedirect 가 최우선순위로 호출되는 것이라는 단순한 이유일까요? 읽어주셔서 감사합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
선생님 redux 버전 질문입니다
해당 영상에서 redux 6 버전이고 지금은 7 버전으로 받아지는데 버전을 낮추어 사용해야 할까요? 오류가 나는지는 아직 설치만 해 둔 상태라 잘 모르겠습니다.. ㅠ ㅠ
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
궁금한게있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 해당 강좌에선 4개의 행을 한 페이지에서 사용하는 법을 강의해주셨는데 DB시트에서 A,B,C,D 행이 있다고 칠 때 한 페이지에서는 해당 DB시트의 A,C 행만 보여지는 리피터를 만들고 싶고 어떤 페이지에서는 B,C 행만 보이는 리피터를 만들고 싶을때는 어떻게 해야 할까요? 거기에 예를 들어 한 페이지의 C행의 정보가 수정된다면 다른 페이지의 C행의 정보도 같이 수정이 되는 방법이 있는지 궁금합니다!
-
미해결[React 1부] 만들고 비교하며 학습하는 React
강의 질문 드립니다.
먼저 강사님의 좋은 강의 감사드립니다. 강사님이 설명하신대로 따라 코드를 작성해봤는데, hello world가 출력되어야 하나, <p>${data}</p>라는 글자만 html에 그대로 출력됩니다... 저 코드 말고 뭐 또 작성해야 하는것이 있나요??
-
미해결실전! Querydsl
선생님은 어떤 방법을 사용하시나요??
@QueryProjection의 단점을 말씀해주셨는데 선생님은 실무에서 어떤 방법을 주로 사용하시나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요 선생님 강의내용대로 WAR로 패키지 만들고, webapp을 만들어도 index.html과 basic.html의 화면이 뜨지 않네요..
일단 확실히 WAR로 만들었고, 혹시나 2.5.x버전으로 올라가서 그랬을까 싶어서 2.4.8 버전으로 만들었고, index.html을 resources - static에 넣었을때는 index.html, basic.html이 잘 매핑이 됩니다만,, webapp을 만들고 하위에 넣엇을땐 매핑이 되질 않네요.. 현재 제 파일 상황이구요, proviededRundtime로 주석처리하고 해봤구요 이건 이렇습니다만,, 두가지로 해봤을때도 같습니다.. .
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
PostMapping 으로 넘어온 body 에 대해 질문 드립니다!!
@PostMapping(value = "/view", consumes = MediaType.APPLICATION_JSON_VALUE) public Object nView(Session session, @RequestBody List<NViewDto> nViewDtos) throws IOException { return nViewDtos.get(0).getNViewList(); } RestController 중. PostMapping 이 있는데, 해당 컨트롤러 Post body 에 아래와 같은 { nViewList : 1 } 데이터를 전송하고 로그를 출력해보면, 자동으로 { nviewList : 1 } 두번째 문자가 소문자 형태로 변경되고 body 으로 넘어오는데 이렇게 되는이유를 도무지 잘 모르겠습니다. 무슨 규칙이 있는건지... 직접 알아볼려고 해도, 어떤 키워드로 검색을 해야할지.. 잘 모르겠습니다.;;; 자세한 설명 부탁드립니다!!