inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

passport-naver

해결됨

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

passport-naver을 이용해보려 하는데 porfile.displayName 값이 계속 undefind여서 nick값에 들어가지가 않습니다... naver 앱등록할때 권한도 다 설정 해줬는데 왜 정보를 받아오지 못할까요 제로초님 ㅠㅠ const passport = require ( ' passport ' ) ; const NaverStrategy = require ( ' passport-naver ' ) . Strategy ; const User = require ( ' ../models/user ' ) ; module . exports = () => { passport . use ( new NaverStrategy ( { clientID : process . env . NAVER_ID , // 네이버에서 발급받을 ID clientSecret : process . env . NAVER_SECRET , callbackURL : ' /auth/naver/callback ' , // 네이버로부터 인증결과를 받을 라우터 주소 }, async ( accessToken , refreshRoken , response , done ) => { // 네[이버에서 인증 후 Token 과 profile을 보내준다. console . log ( ' naver profile ' , response) ; try { const exUser = await User . findOne ( { // 기존의 User가 있는지 조회 where : { snsId : response . id , provider : ' naver ' }, } ) ; if (exUser) { // 기존 User의 정보가 있다면 User정보를 done과 호출하고 전략을 종료 done ( null , exUser) ; } else { // 기존의 User정보가 없다면 회원가입을 진행 const newUser = await User . create ( { email : response . emails[ 0 ] . value , nick : response . id , snsId : response . id , provider : ' naver ' , naver : response . _json } ) ; done ( null , newUser) ; // 사용자 생성 후 done함수 호출 } } catch (error) { console . log (error) ; done (error) ; } } )) ; }; 이렇게 작성했습니다 naver profile { provider: 'naver', id: '60727489', displayName: undefined, emails: [ { value: 'juren528@gmail.com' } ], _json: { email: 'juren528@gmail.com', nickname: undefined, profile_image: undefined, age: undefined, birthday: undefined, id: '60727489' } } 가져온 결과 콘솔로 확인해보니 이렇게 나오구요 좀더 공부해보려다 안되서 막막합니다 ㅠㅠ 혹시 이유를 아실까요 ㅠㅠ

  • nodejs
  • mysql
  • mongodb
  • Sequelize
댓글 3 좋아요 0 조회수 835

이런 에러는 왜 생기는건가요?

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

(node:17608) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at C:\Users\oksos\Desktop\study\PTE\loginWeb\client\node_modules\postcss-safe-parser\node_modules\postcss\package.json. Update this package.json to use a subpath pattern like "./*". (Use `node --trace-deprecation ...` to show where the warning was created) createProxyMiddleware is not a function

  • nodejs
  • react
3DPIT 댓글 1 좋아요 0 조회수 575

deserializeUser findAll()실행시 로그인 성공 후 화면이 그대로입니다.

해결됨

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

로그인을 하면 세션까지는 올바르게 잘 넣어집니다. 그런데 deserializeUser를 실행할때 findOne을 findAll로 실행하면 req.user까지만 되고 나머지 user.id user.nick 등이 받아와지지 않습니다. findAll 과 findOne에 id를 조건으로 입력하면 같은 결과가 나온다고 생각했는데 왜 안되는지 혹시 알려주실수 있나요 ㅠㅠ

  • nodejs
  • mysql
  • mongodb
  • Sequelize
댓글 2 좋아요 0 조회수 253

API Response Header

미해결

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

안녕하세요 영한님! API Response를 리턴할때 header를 포함하고싶을때 어떻게 해야할까요? 제네릭으로 Header를 따로 만들어야하는지, HTTPSERVLETRESPONSE를 이용해야하는지 궁금합니다. 고맙습니다! 건강하세요

  • spring
  • JPA
  • spring-boot
  • java
댓글 1 좋아요 0 조회수 230

조회 API 질문 드립니다!

해결됨

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

안녕하세요 강의를 잘 듣고 있습니다. 조회 API 를 만들때, 제네릭으로 json 리스트 형태를 감싸서 리턴을 하는데, 보통 조회API 는 단건 조회가 아닌 이상 리스트형태로 리턴을 할텐데, 이런 조회 API 에서는 제네릭으로 리스트를 한번 감싼 뒤 리턴을 해야한다. 로 이해해도 될까요? @GetMapping("/api/v2/members") public Result<List<MemberDto>> memberV2() { List<MemberDto> memberDtos = new ArrayList<MemberApiController.MemberDto>(); List<Member> findMembers = memberService.findMembers(); for(Member member : findMembers) { memberDtos.add(new MemberDto(member.getName())); } return new Result<List<MemberDto>>(memberDtos.size(), memberDtos); } @Data @AllArgsConstructor public static class Result<T>{ private int count; private T data; } @Data @AllArgsConstructor public static class MemberDto{ private String name; }

  • spring-boot
  • java
  • spring
  • JPA
sjdzn119 댓글 1 좋아요 1 조회수 251

cannot resolve column 'Object'

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

이렇게 빨간줄이 떠서 신경쓰이시는 분들은 Settings -> Editor -> Inspections 에서 Unresolved database를 검색 -> Unresolved database references in annotaions 를 체크 해제 하시면 빨간줄이 없어집니다. IntelliJ가 너무 꼼꼼하게 검사를 해주기 때문에 발생한다고 합니다. 출처: https://log-laboratory.tistory.com/285

  • java
  • spring
  • 웹앱
  • spring-boot
  • JPA
ms-seo 댓글 1 좋아요 13 조회수 460

즉시로딩 처리 시 findAll()일 경우 동작이 안되는 이유가 궁금합니다.

미해결

실전! 스프링 데이터 JPA

강의 중에는 실무에선 즉시로딩을 사용하지 말라고 하셨지만 테스트 차원에서 즉시로딩으로 findAll()을 조회하면 내부에서 left outer join이 걸리는 않는 현상을 확인했습니다. 동일한 조건에서 findById()로 처리하면 left outer join이 걸립니다. OneToMany, ManyToOne 모두 동일하게 동작을 하던데 혹시 이렇게 동작되는 이유가 있을까요??? 미리 답변 감사드립니다.

  • spring
  • java
  • spring-boot
  • JPA
유근일 댓글 1 좋아요 0 조회수 307

Node.js 교과서

미해결

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

안녕하세요 제로초님 Node.js 교과서를 사서 열심히 수업을 듣고 있는 한 학생입니다! 다름이 아니고 유튜브를보며 노드교과서 개정판 4-5. 쿠키 이해하기에서 코드 질문이 있어서 여쭤보러 왔습니다. 이것은 되는 코드이고 const parseCookies = ( cookie = '' ) => cookie . split ( ';' ) . map ( v => v . split ( '=' )) . reduce (( acc , [ k , v ]) => { acc [ k . trim ()] = decodeURIComponent ( v ) return acc ; }, {}); 이것은 안되는 코드입니다. const parseCookies = ( cookie = '' ) => { cookie . split ( ';' ) . map ( v => v . split ( '=' )) . reduce (( acc , [ k , v ]) => { acc [ k . trim ()] = decodeURIComponent ( v ) return acc ; }, {}); }; 둘의 차이점은 함수를 {} 로 감싸냐 안감싸냐의 차이인데 화살표함수에서 중괄호는 선택사항이라고 배웠습니다. 만약 아래 코드를 사용하게 되면 (node:9452) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'name' of undefined at Server.<anonymous> (C:\Users\ksy\Desktop\Node.js\ch04\ex03\cookie2.js:30:22) at Server.emit (events.js:315:20) at parserOnIncoming (_http_server.js:874:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17) (Use `node --trace-warnings ...` to show where the warning was created) (node:9452) UnhandledPromiseRejectionWarning: Unhandled promise rejection. 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(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:9452) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 라는 에러가 뜹니다. 함수를 제대로 사용하지 못해서 그런거 같은데 왜 중괄호를 붙이면 함수가 실행이 안되는건지 궁금합니다

  • mongodb
  • nodejs
  • mysql
  • Sequelize
댓글 4 좋아요 0 조회수 420

안녕하세요. 현재 로그인한 사용자 정보 가져오는것에 대한 질문입니다.

미해결

스프링 시큐리티

@GetMapping ( "/mypage" ) public String myPage ( Model model, Authentication authentication) throws Exception { AccountContext ac = ( AccountContext ) authentication.getPrincipal(); model.addAttribute( "info" , ac .getUsername()); return "user/mypage" ; } 바로 전 강의에서는 이 코드가 정상적으로 실행 됐는데, 이번 강의에서 추가적인 작업을 한 뒤에는 error page가 나옵니다.. 혹시 이유와 어떻게 고쳐야하는지 알 수 있을까요???

  • spring-boot
  • Spring Security
  • java
qkrwnstns52 댓글 4 좋아요 0 조회수 413

OrderItem을 DB에서 지우고자 할 때

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. 주신 예제로 여러 가지 응용을 해보고 있는데, 한 가지 질문이 있어 질문드립니다. OrderItem을 지우는 상황을 가정을 했을 때, 지우는 방법에 대해 여쭤보고 싶습니다. (parent에 의존하여 영속화 되어있는 객체를 지우는 상황) Order를 지우면 OrderItem은 CASCADE 옵션 덕분에 잘 지워지지만, 반대로 Order는 두고 OrderItem 하나만 지우기 위해 Order <-> OrderItem 관계를 끊어도 OrderItem은 지워지지 않습니다. 아래는 제가 시도했던 부분입니다. - Parent인 Order의 list에서 OrderItem 삭제 - Child인 OrderItem에서 this.order = null; this.item = null;로 모든 관계 삭제 - @OneToMany 옵션이 있는 Parent쪽에서 orphanRemoval = true 옵션 넣기 - 위 과정 모두 한 뒤, em.persist(Order); 호출 위 모두 해보아도 OrderItem에 null로 들어갈뿐 OrderItem이 삭제 되진 않습니다. 구글링을 해봤을 땐 orphanRemoval 옵션 추가하고 연관관계 삭제하라는 말뿐이네요.. 혹시 방법이 있을까요? 그리고 추가로, 여기선 OrderItem이라는 다:1 매핑된 객체는 CASCADE를 통해 따로 영속화하지 않았는데, 보통 다:1 매핑은 전부 그러한가요? 제가 느끼기엔 서로 독립적으로 저장해야할 때라고 판단하였는데, 다:1이면 독립적일 수가 없을 것 같더라구요. 어떤 경우에 따로따로 영속화하고, 어떤 경우는 이 예시와 같이 한꺼번에 하는지 궁금합니다. 감사합니다.

  • 웹앱
  • spring
  • java
  • JPA
  • spring-boot
고운 코끼리 댓글 22 좋아요 2 조회수 3672

update 중복 회원 검출

미해결

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

안녕하세요 선생님! 매번 좋은 강의 잘 듣고 있습니다 ㅎㅎ 강의에 매료되어 남은 강의 모두 구매해버렸어요!! 덕분에 너무 재미있게 학습하고 있습니다 ^^ 회원 수정 부분에 동일이름 회원 중복 검출이 안 되는 것 같아 다음 내용을 추가하면 되는 것인 지 궁금합니다. MemberService.java /** * 회원 수정 */ @Transactional public void update(Long id, String name) { Member member = memberRepository.findOne(id); validateDuplicateMember(member); // 추가한 부분 member.setName(name); } 좋은 강의 만들어 주셔서 감사합니다.

  • spring-boot
  • spring
  • JPA
  • java
Reid 댓글 1 좋아요 0 조회수 276

개인 프로젝트 시작을 어떻게 하면 좋을까요?

해결됨

실전! Querydsl

안녕하세요! 스프링 부트와 JPA 실무 완전 정복 로드맵 강의를 완강한 학생입니다. 배운 내용을 바탕으로 토이 프로젝트를 시작하려고 하는데, 개발 경험이 없어서 어떻게 시작해야 할 지 감이 안잡히네요 ㅠㅠ 조언을 구하고 싶어서 질문을 드립니다... 프로젝트 목적은 취업 포트폴리오로 활용하는 것입니다. 1. 클론 코딩 vs 직접 만들기 1) 클론코딩을 하면 어떻게 설계하고 어떤 것들을 구현해야 할 지 쉽게 파악할 수 있을 것 같아서 좋은 것 같은데, 한편으로는 이미 누군가가 구현한 것을 따라한 수준 밖에 안될 것 같아서 취업 포트폴리오로 활용할 수 있을까 걱정이 되네요... 2) 반면에 직접 만들어보면 학습, 설계 ,구현 등 모든 것을 "스스로" 했다는 것을 어필할 수 있을 것 같지만, 퀄리티가 많이 떨어질 것 같아서 고민입니다 2. 프론트 부분 처리 (API vs thymeleaf로 화면 출력) 1) API로 구현하면 아무래도 화면 처리에 대한 부담이 줄어들어서 백엔드 구현에 더 집중할 수 있을 것 같습니다. 하지만 취업 포트폴리오 목적으로 하는 것이니 만큼 화면까지 엮어서 구현을 해야 좀 더 있어보일 것 같은데, API만 구현하면 좀 부족해보이지 않을까 하는 걱정이 됩니다. 2) thymeleaf를 이용해서 html, css까지 엮어서 화면 출력을 하면 API와는 반대로 좀 더 있어보이는 포트폴리오를 만들 수 있겠지만, 백엔드 부분의 완성도가 떨어지지 않을까 하는 걱정이 됩니다. 아니면 html 무료 템플릿에 thymeleaf만 적용해서 만들어도 괜찮을까요? 물론 정해진 답은 없겠지만, 각각의 선택지에 대해서 어떠한 장단점이 있는지, 어떠한 점들을 고려해야 하는지 알고 싶습니다. 개발 경험이 없어서 무엇을 여쭤봐야 할 지도 모르겠네요 ㅎㅎ.. 강의를 들으면서 정말 많은 것들을 배웠습니다! 항상 친절하고 자세한 설명 감사합니다^^

  • JPA
  • java
hugebird 댓글 2 좋아요 0 조회수 1313

안녕하십니까 강사님 주문하기에서 질문이 있습니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문하기 service입니다. 여기보시면 itemId로 하나의 아이템을 조회해서 ---> OrderItem에 파라미터로 item을 등록하지 않습니까? 궁금한 점이 있는데 만약 하나의 아이템이 아니라, 여러가지 아이템을 한번에 주문하고 싶다면 위 코드를 어떻게 바꿔야 할까요? Order의 createOrder은 파라미터를 (OrderItem... orderitem)으로 여러가지 아이템들이 올 수 있도록 만들어놨는데, 여러가지 아이템을 등록하기 위해서는 OrderItem의 createOrderItem을 어떻게 바꿔야 하는지 궁금합니다.

  • java
  • JPA
  • spring-boot
  • 웹앱
  • spring
pak7380 댓글 1 좋아요 0 조회수 189

안녕하세요

미해결

예제로 배우는 스프링 입문 (개정판)

스프링을 처음 접하는데 수준이 너무 높은것같은데 토비의 스프링이라도 읽으면서 정리하는게 좋을까요 아니면 그냥 수업을 들으면서 모르는걸 바로바로 찾아보면서 공부하는게 좋을까요 p.s(로드맵 순서대로 배울 생각입니다)

  • java
  • spring
chl9338 댓글 1 좋아요 1 조회수 345

npm install -D

해결됨

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

npm install -D @babel/preset-env 라 적혀 있는데 실제론 npm install @babel/preset-env 라고 하기도 하고.... -D가 dev에 추가한다. 라고는 알고 있는데, 실제로 바벨 프리셋들은 dev에 했을 때와 아닐때 차이가 없나요? 아니면 차이점으로 어떤 것들이 있나요?

  • nodejs
  • babel
  • 웹팩
  • eslint
댓글 2 좋아요 0 조회수 242

선생님 질문있습니다.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

다른분이 질문하신건데 9:30초에 const productId = props . match . params . productId ; 여기서 props.match.params.productId 가 어디서 나온건지 잘 모르겠습니다 ㅠㅠ. App.js 에서 Auth로 감싸줘서 props가 있는건 알겠는데 match.params.productId가 어디서 나온건지 모르겠네요 ㅠㅠ App.js -> hoc/auth.js -> user_actions.js-> index.js-> routes/users.js 까지 가봤는데 잘 모르겠네요 ㅠㅠ

  • mongodb
  • 웹앱
  • react
  • nodejs
  • redux
이동욱 댓글 1 좋아요 2 조회수 162

propery 'nickname' of undefined

[리뉴얼] React로 NodeBird SNS 만들기

삭제된 글입니다

  • redux
  • nodejs
  • express
  • react
  • Next.js
junh0328 댓글 0 좋아요 1 조회수 0

인텔리제이 초록색 단축키 알리미 질문

미해결

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

안녕하세요 강의 듣고 따라해보고 있는 학생으로서 IDE에 대해 간단한 질문인데요..! 강의 중간에 보면 인텔리제이 하단에 초록색으로 어떤 단축키를 통해서 무엇을 할 수 있다고 뜨는 것 같은데 제 인텔리제이에서는 그게 안뜨더라구요. 혹시 어떻게 나올 수 있게할 수 있는지 여쭤봐도 될까요...? 강의 잘 듣고 있습니다!

  • java
  • spring-boot
  • spring
  • MVC
장종원 댓글 2 좋아요 0 조회수 403

좋은강의감사합니다 ! 질문이있습니다.

미해결

실전! Querydsl

querydsl의 벌크성쿼리는 스프링데이터에서의 @Modifying (clearAutomatically = true) 와 같은 기능은 없는것인가요?

  • java
  • JPA
Jon 댓글 1 좋아요 1 조회수 183

현업에서 PM, DM 을 나눠서 사용하는 경우가 있나요?

미해결

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

영한님 안녕하세요! 혹시 현업에서 PM(persistence model), DM(domain model)을 나눠서 개발하신 경우가 있을까요? 관련 article: https://www.mehdi-khalili.com/orm-anti-patterns-part-4-persistence-domain-model

  • java
  • JPA
레알이 댓글 5 좋아요 1 조회수 906

인기 태그

인프런 TOP Writers

주간 인기글