묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로퍼티 관련하여 질문있습니다!
HelloData 클래스에 @Data 애노테이션은 빼고, 모든 필드를 매개변수로 받는 생성자만 추가하여도 바인딩이 잘 되는 것을 확인했습니다.setter가 없어도 바인딩이 되는 것은 스프링이 내부에서 더 섬세하기 처리하기 때문에 바인딩이 되는 것인가요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 코드 짜도 되나요?
강사님 안녕하세요. 강의 잘 듣고 있습니다. 감사합니다.세가지 질문이 있습니다.1. 아래와 같이 코드 짜도 되나요?2. 코드가 맞다면, 제가 탐색 알고리즘 원리로 푼게 맞나요?3. 강사님 코드가 더 효율이 높다고 보면 되는건가요? 이정도 차이면 코딩테스트에서 큰건가요?- 제 코드 실행시간: 0.00021576881408691406 - 강사님 코드 시간: 0.00020885467529296875
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
v1/ v2 v1은 실행이 잘되는데 v2는 실행이 안됩니다!
21강 책의분야 추가하기에서 v1이 아닌 v2에서 사용자등록, 책등록을 실행하려고하면 서버에 여녁ㄹ이 불가능하거나, 네트워크 오류입니다 라는 alert창을 출력하고Itellij내의 오류는 발생하지 않고 v1에서는 문제없이 저장이 잘됩니다,, 그래서 코드에 문제가 있나해서 library-app-complete로 실행해봐도 똑같은 오류가 발생하고console창에는 아무런 오류도 발생하지 않습니다 ,, oracle과 port번호 충돌이 일어나서 port번호를 변경해 줬습니다Application.tmlbuild.gradle
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useContext질문드립니다
선생님 useContext 다른 강의를 보다가 궁금한 점이 생겨서 질문드립니다.우리 수업에서는 context를 위한 파일을 따로 만들지 않고 app.js에 바로 context를 만들었잖아요..?그래서 app.js에 import {createContext} from "react"로 안쓰고 그냥 import React from "react"로 쓴 것인가요?파일을 따로 만들 때랑 아닐 때랑 import를 다르게 하는 것 같아서요..그리고 파일을 따로 만드는 것이 더 일반적인 방식인지 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
coreApplication 실행시 자동 종료
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.<CoreAppliction 실행 모습><build.gradle 모습>CoreApplication을 실행하면 강사님과 다르게 출력이 되고 스프링도 제가 종료하지 않아도 자동적으로 종료가 됩니다. build.gradle에 혹시 제가 잘못 추가한 부분이 있을까요??
-
해결됨토비의 스프링 부트 - 이해와 원리
Context 오브젝트에서 클래스로더를 가져온 것과 현재 오브젝트에서 클래스 로더를 가져왔을 때 어떤 차이가 있나요?
안녕하세요. 강의 너무 재미있게 잘 듣고 있습니다. 강의 듣다가 클래스 로더를 가져오는 부분에서 의문점이 있는데요(사실 이전부터 개념이 명확하지 않아 어려움이 있었습니다)MyOnClassCondition 만들면서 context.getClassLoader() 이렇게 클래스 로더를 가져왔는데 이렇게 가져오는 것과 this.getClass().getClassLoader() 이렇게 가져오는 것이 어떠한 차이가 있는지 궁금합니다.둘다 동작은 잘 되거든요.스프링 부트와 크게 관련된건 아니라고 생각들지만 인터넷 글을 봐도 명확하게 이해가 잘 안되서 초고수 토비님께 문의드립니다. 명강의 감사합니다.!!
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
영상 3초에 사이트 소개 하실때
ssg.co.kr 이라고 말씀하십니다.(영상에서 연습할 사이트는 cgv) 수업에는 방해되지 않는 부분입니다:))
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
강사님 소수 구하는 부분에서 질문있습니다!
여기서 num이 2일때는 어떻게 진행되나요? i=2 부터인데 i<2 일때 까지 작용하는 조건이잖아요 자연수가 2일때 이렇게 해도 정상적으로 작동되나요? 그리고 문법적인걸로 궁금한게 있는데보통 Main 에서 solution 메서드 쓰기 위해서 T 를 통해서 객체에 접근하잖아요그런데 이번에 isPrime에 접근할 때왜 메인 객체를 생성하지 않고 접근이 가능한건가요?main은 static에 올라가 있고 나머지 solition이랑 isprime은 non-static이라서 non-static 끼리는 서로 바로 이용이 가능한걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
mini project swagger 작성 중 문제가 있어서 질문드립니다.
구현은 끝나서 swagger 만들고 있는데, 계속 swagger가 보내는 json을 못찾는것같습니다. request의 body에도 아무 값이 안나오네요. 도와주세요ㅠㅠAPI 코드app.post("/users", async (req, res) => { const newUser = req.body.newUser; // 여기에서 오류가 납니다. if ((await isAuthPhone(newUser.phone)) === true) { if (checkValidationEmail(newUser.email) === true) { const og = await makeOG(newUser.prefer); console.log(og); const securePersonal = secure(newUser.personal); const user = new UserCollection({ name: newUser.name, email: newUser.email, personal: securePersonal, prefer: newUser.prefer, pwd: newUser.pwd, phone: newUser.phone, og: og, }); await user.save(); await sendWelcomeTemplateToEmail(newUser); console.log( `✅: "${user.name}" 사용자가 신규 가입에 성공했습니다.` ); res.send(user._id); } else { res.status(422).send("NotValidationEmail"); } } else { res.status(422).send("NotAuthPhone"); } });Swagger 코드(yaml 파일은 복붙하니까 이상하게 나와서 이미지로 첨부할게요)(+ 이미지에선 parameter의 name이 body로 되어있지만, 위 API 코드에 맞춰서 name을 newUser로 설정했었지만 같은 에러가 떴었습니다.)에러 메시지Swagger parameter 화면아무리 찾아도 방법을 모르겠어서 올립니다ㅠㅠ.... 도와주세요.....
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
복습 중 질문이 있습니다!
제로초 쌤 강의 잘들으면서 구현하고 있다가 갑자기 머리가 꼬여서 복습 확인 차 질문 올립니다!(reduxjs/toolkit 사용하고 있어서 제로초쌤 강의에서 saga를 바꿔보면서 하고 있습니다)(wsl 문제는 mysql안에서 명령문 익히면서 진행하고 있습니다)컴포넌트에서 어떤 액션을 디스패치 해줄때 안에 dispatch안의 콜백함수의 인자가 액션이 백엔드 주소에 데이터를 요청할때 들어가는 data 값의 형태로 들어가서 그게 백엔드에선 req.body로 들어가고(동적라우팅은 주소에 ${data}로 넣어준 부분이 백엔드의 req.params.(동적라우팅변수)로 들어가는거고) 그 후에 백엔드의 작업이 끝나면 res.json() 안의 인자가 결국 최종적으로 action.payload로 들어오는게 맞나요!?이 문제는 로그아웃하고 난 뒤에 regenertion 문제가 생겨서 소스코드도 보고 로직에 문제가 있나 싶어서 돌려보고 해당 문제로 저랑 같이 질문하신 분의 답글도 봤는데 한번 안보이니까 너무 안보이더라구요. 한번만 봐주시면 감사하겠습니다 로그아웃시 코드도 사진 따로 첨부하겠습니다(그 외 기능은 전부 잘 돌아갑니다! 로그아웃 하고 난 뒤에만 오류가 나요..)항상 질 좋은 강의 답변해주셔서 감사합니다! next.js부분도 화이팅하면서 듣겠습니다~
-
해결됨[코드캠프] 시작은 프리캠프
노션관련질문
학습자료를 노션으로 올려주셨는데 해당 학습자료는 다운로드하여 pdf로 사용이 불가능한 것인가요? 링크를 통해서만 접근이 가능한 것일까요?
-
미해결홍정모의 따라하며 배우는 C++
이거 그냥 []연산자 오버로딩이 맞나요?
(사진)
-
해결됨스프링 시큐리티 OAuth2
OAuth2 Login에 대해 궁금한 점
안녕하세요해당 강의를 통해서 OAuth2 로그인을 따라해보면서, 궁금한 점이 생겨서 질문 드립니다.만약에 기존 유저에 OAuth2 로그인을 적용시키려면 어떻게 하는 지 궁금하네요..요즘 여러 서비스에서, OAuth2를 도입하고 기존 계정에 Toggle 버튼 같이 네이버, 카카오 등을 On, Off 할 수 있는 기능들을 제공합니다하지만 Spring Security OAuth2 Login 기능으로 기존 계정에 on,off 처럼 연결이 가능할까 의문도 들고 생각도 해봤지만 도저히 떠오르지 않더라구여더군다나 기존 계정에 JWT 로 인증을 하고 있었다면 불가능하지 않나 생각이 들었습니다.너무 막연하게 질문을 드렸는데, 정확하게 알고 싶은 것은 유저 상세 페이지에서 토글 버튼 같은 것으로 네이버 연동을 시도하여 네이버 로그인을 시도했을 때,OAuth2UserService 에서 기존 유저에 대한 정보를 알 수 있는 방법이 있는 지 궁금합니다
-
미해결스프링 핵심 원리 - 기본편
@Autowired 필드 명만 빈 이름으로 변경
조회 대상 빈이 2개 이상일 때 해결 방법으로@Autowired 로면 필드 이름, 파라미터 이름으로 빈 이름을 추가 매칭한다 고 하셨는데파라미터로 매칭하는 경우 private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceimpl(MemberRepository memberRepository, DiscountPolicy fixDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = fixDiscountPolicy; }이거는 이해가 갑니다. 근데 필드명으로 매칭하는 경우가 헷갈리는게 강사님께서 말씀하신 필드명으로 매칭하는 방법은 private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired private DiscountPolicy rateDiscountPolicy; @Autowired public OrderServiceimpl(MemberRepository memberRepository, DiscountPolicy fixDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = fixDiscountPolicy; }이거는 rateDiscountPolicy가 그냥 사용되지 않아서 돌아 가는 거 아닌가요?rateDiscountPolicy를 사용해서 필드 명으로 매칭하려면 private final MemberRepository memberRepository; @Autowired private DiscountPolicy rateDiscountPolicy; public OrderServiceimpl(MemberRepository memberRepository, DiscountPolicy rateDiscountPolicy) { this.memberRepository = memberRepository; this.rateDiscountPolicy = rateDiscountPolicy; }이렇게 바꾸고 createOreder 메소드에 discountPolicy를 rateDiscountPolicy로 다바꿔야 돌아가던데 @Override public Order createOreder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); // 기존 코드 // int discountPrice = discountPolicy.discount(member, itemPrice); // 바꾼코드 int discountPrice = rateDiscountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } 코드가 잘 작동되긴한데 이게 강사님이 말씀하신 방법이 맞는지 의문이 들더군요...ㅠㅠ답변 주시면 정말 감사하겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
수업내용
[9장] signed에 대한 질문맛비님 안녕하세요, 9장 강의를 듣고 질문사항이 생겨서 올립니다.signed a= 4'b1000 라는 변수가 있을때 해당 값은 -8이라고 알고 있습니다.이때 궁금한 점은 2의보수를 취할때 MSB도 1->0 or 0->1로 바꿔져야 하는지 의문입니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요. 질문 있습니다.
타임리프로 받을 때 model에 넣어준 키-값이랑 errors를 키 값으로 받으셔서 뷰를 구성하시는데 자바스크립트에서 ajax로 컨트롤러 호출해도 똑같이 errors 키값을 입력해서 사용하면 에러 메시지 처리를 똑같이 가져와서 사용가능한걸까요??
-
미해결실전 프로젝트로 배우는 타입스크립트
프로젝트 내 특정 파일만 Typing
안녕하세요!먼저 좋은 강의 감사드립니다~ 이제 실무에 TypeScript를 적용해보려던 중 질문사항이 생겨 여쭙습니다.방대한 nodeJs 프로젝트에서 Typing이 꼭 필요한 특정 파일에만 먼저 TypeScript를 적용하고 싶은데요.이런 경우, tsconfig 설정이나 컴파일 설정을 어떻게 하면 될까요?감사합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
CursorPagination 캐스팅 관련 문의
죄송하지만, 어제 질문을 남겼는데 제가 제대로 궁금한 사항을 전달하지 못한 거 같아 다시 질문드립니다.paginate함수에서 왜 꼭 final pState = state as CursorPaginationFetchingMore<T>; 해주어야만 하는지 잘 이해를 못하겠습니다. 강의에서 처럼,final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { final pState = state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...pState.data, ...resp.data, ], );이 아닌, final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...state.data, ...resp.data, ], );으로 하게 되면 왜 data가 자동완성이 안되는 걸까요? state의 상태를 CursorPaginationBase로만 인식을 해서 안되던데, CursorPaginationFetchingMore extends CursorPaginationBase를 했으니, state as CursorPagination<T>이라고 해도 .data를 인식해야 하는거 아닌가요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용앱 84강
안녕하세요. 강의 잘 보고있습니다. 좋은 강의 감사합니다.질문이 있는데 Main.storyboard에서 View Controller 안에 TodoCell안에 Content View안에 Background View가 있는데 이것도 플러스 버튼을 눌러서 따로 View를 생성을 하신건가요?? 그럼 플러스 버튼 눌러서 View를 생성하고 그 안에 스택뷰(레이블과 뷰를 묶은)를 넣은 형태인지 여쭤보고 싶습니다.플러스 버튼 눌러서 Background View를 만든것이라면 이름이 왜 Background View로 설정이 되는건가요??답변 부탁드리겠습니다!
-
해결됨토비의 스프링 부트 - 이해와 원리
스프링 처음 배우는데..
우선 저는 스프링의 스 자도 모르는 상태에서, 토비님의 네임드만 보고 생각없이 후딱 구매해버렸습니다..!스프링부트를 듣는데 스프링 레거시, jsp, 서블릿 관련 자세한 지식 없이 강의 교안대로 가면 문제 없나요?