inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

통합 로그인 구축 관련해서 질문 드립니다.

미해결

스프링 시큐리티 OAuth2

안녕하세요. 통합인증서버 - 클라이언트 - 백엔드서버 이런식으로 구성 되어 있는데요. 플로우 관해서 질문이 있습니다. client -> auth server : return url / client id 통합인증서버로 보내고 auth server -> client : auth id 통합인증서버에서 받고 client -> be server : client id / auth id 클라이언트에서 받고 be server -> auth server : client id / auth id 백엔드서버에서 통합인증서버로 보내고 auth server -> be server : access token / refresh token 백엔드서버에서 통합인증서버로 받고 be server -> client : access token / refresh token 백엔드서버에서 클라이언트 보내기 이런식으로 구성을 한다고 하더라구요. 저는 3번에서 바로 auth id를 통합인증서버로 보내고 토큰을 클라에서 받고 저장 그리고 백엔드 보내고 저장이라고 생각이 드는데요. 불필요한 작업이 추가로 하는거 같다라는 생각을 했는데요. 클라에서 auth id를 통합인증서버로 보낼때 get으로 보내서 보안 문제가 있어서 서버 투 서버로 보낸다고 하더라구요.(백앤드 서버에서 보내는 것만 받으려고) 어떠한 방식이 옳은건지, 저렇게 하면 보안적으로 더 좋은건지 잘 모르겠습니다. 제가 생각하는 방식으로 해도 되는건지.. 고견 부탁드립니다.

  • java
  • spring
  • spring-boot
  • oauth
파바배라던도 댓글 1 좋아요 0 조회수 199

Git 맥북 다운로드

해결됨

빠르게 git - 핵심만 골라 배우는 Git/Github

안녕하세요, 깃을 맥북에 다운로드하려고 하는데, UI가 많이 달라져있어 애를 먹고 있습니다 Homebrew를 설치해야 하는지 아니면 다른 것을 설치해야 하는지 궁금합니다. 혹시 쉽게 다운로드하는 방법 업데이트나 관련 영상이 있다면 주시면 감사하겠습니다. 참고로 저는 Homebrew로 터미널 열어 설치햇는데, 분명 버전이 나오며 설치됬다고 나오지만 vs code로 깃 이닛을 시킬 때 찾을 수 없어 Command not found가 계속 나옵니다. 도움 부탁드립니다. 감사합니 다

  • git
  • github
  • 버전관리시스템
충실한 날치 댓글 2 좋아요 0 조회수 338

다대일 ,일대다 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Member와 Order의 연관관계에서 궁금한 점이 있습니다. Member와 Order 테이블만 보고, 일대 다 양방향 연관관계인지 다대 일 양방향 연관관계인지 정하는 기준이 있을까요? 일대 다의 단방향 연관관계매핑은 사용하지 않는것이 좋다는건 기본편에서 들어서 배웠습니다. 그런데 왜? 양방향 연관관계는 사용하면 안되는건가요? Member에서 Order를 가진다고 문제될게 있나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
동현 댓글 1 좋아요 0 조회수 200

매개변수 명명 관련 질문입니다.

미해결

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

매개변수 이름을 element와 value로 구분하시는 이유가 있을까요? public interface Myset<E> { boolean add(E element); boolean remove(E value); boolean contains(E value); }

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

jpa기본강의 서브쿼리 강의 도중 나오는 애플리케이션

미해결

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

안녕하세요 jpa 기본강의 서브쿼리 강의 10분 39초에서 말씀하시는 애플리케니션으로 끌고가야한다는 애플리케이션이 정확히 어떤의미인지 잘 모르겠습니다. 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • jpa
냠냠냠 댓글 1 좋아요 0 조회수 208

static 폴더 인식이 안됨

미해결

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

강의 내용 대로 코드를 짰는데 localhost ::8080으로 연결하면 static 폴더에 있는 html이 아닌 template 폴더에 있는 html이 뜹니다. static 폴더에 있는 html을 실행시키면 localhost ::63342로 정적 페이지가 뜹니다. thymeleaf를 이용한 template 폴더에 있는 파일은 localhost ::8080/hello를 하면 제대로 뜹니다. 무엇이 문제인걸까요

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

강의 자료 부탁드립니다.

해결됨

팀 개발을 위한 Git, GitHub 입문

좋은 강의 감사합니다! 강의자료 부탁드려요! sdgeo2020@gmail.com

  • git
  • github
  • 버전관리시스템
icarus12 댓글 2 좋아요 0 조회수 197

강의자료 github link 404 빈페이지

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 1

빈페이지로 나오는데 왜그런걸까요? https://github.com/fe-ui-study/ui-study

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
tax 댓글 2 좋아요 0 조회수 282

ssh 관련 문제

해결됨

모두의 깃 & 깃허브

소스트리에 ssh로 계정 연결 후 계속 해당 알랏이 주기적으로 나오고 있습니다. 아무리 검색해봐도 무슨 비밀번호를 입력하는건지... 더 이상 팝업이 안나오게 하려면 어떻게 해야 하나요

  • git
  • github
mbest.dev12 댓글 1 좋아요 0 조회수 212

select 쿼리가 나가는 이유

해결됨

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

섹션 4. 회원 도메인 개발 회원 기능 테스트 강좌 관련 질문입니다. @Test public void 회원가입() throws Exception { // given Member member = new Member(); member.setName("kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); } 위의 코드를 실행시켰을 때, insert문 쿼리가 왜 나가지 않는지는 이해를 했습니다. 하지만 select 쿼리가 왜 나가는지는 궁금합니다. 제가 생각한 흐름을 설명드리면, memberService의 join 함수를 실행해서 member 객체를 영속화하게 되면 1차 캐시에 해당 데이터가 저장이 될 것이고 동시에 쓰기 지연 SQL 저장소에 insert 쿼리문이 쌓입니다. 이때 쿼리문은 트랜잭션이 커밋되면 DB에 반영이 되지만 테스트 클래스에서는 트랜잭션이 롤백되기 때문에 insert 쿼리가 나가지 않게 됩니다. 이후 findOne 메소드를 실행할 때에는 DB에서 직접 찌르는 것이 아니라 1차 캐시에 저장되어 있기 때문에 1차 캐시에서 데이터를 가져와도 되기 때문에 select문이 나가지 않아도 된다고 생각했는데 실제 실행결과를 보니 select 쿼리문이 나가더군요.. 이유가 궁금합니다

  • java
  • spring
  • spring-boot
  • jpa
constela10 댓글 2 좋아요 0 조회수 169

File not found:

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 순수 jdbc 강의 16분내용으로 코드실행하는데 매핑한 주소 모두 file not found가 뜹니다.. Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.라고 콘솔에는 뜨는데 톰캣포트랑 h2포트랑 같아서 생기는 문제일까요?

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

컴포넌트 합성과 추출에서 props에 관해 질문이 있습니다!

미해결

처음 만난 리액트(React)

안녕하세요. 소플님. 강의 정말 잘 듣고 있습니다. 컴포넌트 합성과 추출에서 props에 관련하여 질문이 있어 질문을 드립니다. // Component 추출 전 function Comment(props){ return ( <div className = "comment"> <div className = "user-info"> <img className = "avatar" src = {props.author.avatarUrl}, alt = {props.author.name} /> <div className = "user-info-name"> {props.author.name} </div> </div> <div className = "comment-text"> {props.text} </div> <div className = "comment-date"> {formatDate(props.date)} </div> </div> ); } 첫 코드가 Component를 추출하기 전의 코드이고 /* Component 추출 후 */ // 1. Avatar Component 추출 function Avatar(props){ return( <img className = "avatar" src = {props.user.avatarUrl}, alt = {props.user.name} {/* 재사용성을 측면을 높이기 위해 보편적인 단어인 user를 사용 */} /> ); } // 2. UserInfoName Component 추출 function UserInfoName(props){ return( <div className = "user-info-name"> {props.user.name} </div> ); } // 3. UserInfo 추출하기 function UserInfo(props){ return( <div className = "user-info"> {/* 이미 추출한 Avatar Component도 적용 */} <Avatar user = {props.user} /> {/* 이미 추출한 UserInfoName Component도 적용 */} <UserInfoName user = {props.user}/> </div> ); } // 4. CommentText 추출하기 function CommentText(props){ return( <div className = "comment-text"> {props.text} </div> ); } // 5. CommentDate 추출하기 function CommentDate(props){ return( <div className = "comment-date"> {formatDate(props.date)} </div> ); } // 6. 추출한 Component들로 Comment 재합성 function Comment(props){ return( <div className = "comment"> <UserInfo user = {props.user}/> <CommentText text = {props.text}/> <CommentDate date = {props.date}/> </div> ); } 이 코드가 강의에서 작성해주신 코드를 제 나름대로 완성한 컴포넌트를 추출한 형태입니다. userData가 아래의 형태라고 가정하겠습니다. const commentData = { user: { avatarUrl: "https://example.com/avatar.jpg", // 아바타 이미지 URL name: "Soaple" // 사용자 이름 }, text: "안녕 리액트!", date: new Date() // 댓글 작성 날짜 }; 처음 Comment Component에 Props로는 CommentData 자체가 전달될 것이고, 그 다음 UserInfo의 props로는 props.user, 여기서는 아래의 commentData.user가 전달이 되는 것까지는 논리적 흐름대로 이해를 했습니다. // UserInfo가 받은 props(commentData.user) user: { avatarUrl: "https://example.com/avatar.jpg", name: "Soaple" } 그런데 Avatar의 props로는 props.user가 전달되어야 하는데 그렇게 되면 Avatar에 전달하는 props가 commentData.user.user가 되어 전달할 수 없지 않나요? UserInfoName도 commentData.user.user 가 되어 이상하다는 생각이 드는데... chatGPT나 뤼튼과 AI에 물어봐도 이상이 없는 정상 코드라는 답변을 받았습니다. React에서 props가 굉장히 중요하다고 강조하신 만큼 이 부분은 꼭 집고 넘어가야겠다는 생각이 듭니다. 답변 부탁드립니다!

  • HTML/CSS
  • javascript
  • react
이지민 댓글 1 좋아요 1 조회수 201

MemberServiceIntegrationTest 실행시 오류

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] MemberServiceIntegrationTest 에서 회원가입 코드를 실행하면 MemberController 에서 오류가 발생합니다. 이유가 무엇일까요?

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

http://localhost:3000/home 오류 문의드립니다.

미해결

Next + React Query로 SNS 서비스 만들기

영상을 3:29 이 부분을 똑같이 하려고하는데, http://localhost:3000/home 로 접속하면 파일이 없다고 합니다.. app 안에 (afterLogin) (beforeLogin)로 나뉘고, home 폴더를 만들어서 layout.tsx 와 page.tsx를 만들어 홈페이지와 홈 레이아웃을 작성하여 루트 레이아웃과 층계별 확인하려고 http://localhost:3000/ 를 들어가면 루트레이아웃은 잘나오는데 http://localhost:3000/home 는 페이지가 없다고 나옵니다.. (afterLogin) 안이 아니라 밖으로 app/home/layout.tsx 와 page.tsx가 있어야만 http://localhost:3000/home 가 잘나오는데 왜이럴까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
Nuri Park 댓글 1 좋아요 0 조회수 445

useCallback, useMemo의 차이에 대해서 궁금합니다.

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 2

[셀렉트박스 (3/5) headless #2 hook 적용] 부분에서 getTriggerProps/getListProps 처럼 각 컴포넌트가 필요한 것들을 useCallback으로 감싸고 함수형태로 제공해주셨는데요, 아래처럼 useMemo를 이용해서 객체에 값을 담아서 전달해주는 방식은 다른 걸까요?? const getTriggerProps = useCallback( () => ({ selectedItem: items[selectedIndex], toggle, }), [selectedIndex, items, toggle] ); const TriggerpropsValue = useMemo(() => { return { selectedItem: items[selectedIndex], toggle, }; }, [items, selectedIndex, toggle]);

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
보나 댓글 1 좋아요 0 조회수 393

실무에서 리버스 인피니트 스크롤링 최적화 방법

해결됨

Next + React Query로 SNS 서비스 만들기

채팅을 계속 올려서 몇개월 치를 사용자가 본다면 위로 채팅 기록이 엄청 쌓일텐데, 실무에서 메모리가 넘치는걸 방지하는 방법으로 사용하시는게 있는지 어떤걸 사용하시는지 궁금합니다. 찾아보니 react-window 같은 라이브러리를 사용해서 실제 랜더링 하는 요소 갯수를 제한하고 스크롤을 유지 시켜서 성능 향상을 하는 글을 봤습니다. 실제로 실무에서 이런 방법을 주로 쓰는지 궁금합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
geekgleeguru 댓글 1 좋아요 0 조회수 235

h2 db table 생성안됨

미해결

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

h2 db 연결은 되었는데 member테이블 생성이 안됩니다. spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop #4칸 username: sa password: driver-class-name: org.h2.Driver jpa: #띄어쓰기 2칸 hibernate: #띄어쓰기 4칸 ddl-auto: create #띄어쓰기 6칸 properties: #띄어쓰기 4칸 hibernate: #띄어쓰기 6칸 show_sql: true #띄어쓰기 8칸 format_sql: true #띄어쓰기 8칸 logging.level: #띄어쓰기 없음 org.hibernate.SQL: debug #띄어쓰기 2칸 # org.hibernate.type: trace #띄어쓰기 2칸 ```

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
learrnerr 댓글 1 좋아요 0 조회수 171

스페이스 + 컨트롤 눌러도 활성화 안되시는분 참고하세요...

해결됨

Next.js 시작하기

인텔리센스 단축키 (Intellisense shortcut) ¶ https://stackoverflow.com/questions/51341555/visualcode-shortcut-to-display-autocomplete-list-before-typing-in-macos 인텔리센스 사용시 한영 전환(ctrl + space)와 스팟라이트(cmd + space) 단축키와 충돌이 발생하므로 (option + esc) 조합을 사용합니다. 메인 메뉴 Code > Preferences > Keyboard Shortcuts (cmd + K, cmd + S)에서 단축키(Trigger Suggest)를 (ctrl + .)로 변경할 수 있습니다.

  • javascript
  • react
  • next.js
장 서운 댓글 3 좋아요 3 조회수 399

section11 - event-bubbling 에러 문의있습니다

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

새 pc에서 강의를 듣는 중에 yarn dev 후 웹페이지에서 이런 에러가 뜹니다 ㅜㅜ node_modules 삭제 후 재설치 해도 이렇게 뜨는데 어떻게 해결해야 할까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
wizitbiz 댓글 2 좋아요 0 조회수 133

MemberServiceTest

해결됨

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

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 섹션 4 회원 기능 테스트 강의 질문입니다. @RunWith(SpringRunner.class) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { // given Member member = new Member(); member.setName("kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); } @Test public void 중복_회원_예외() throws Exception { // given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); // when & then assertThrows(IllegalStateException.class, () -> { memberService.join(member1); memberService.join(member2); }); } } Junit5를 사용했다는 점을 제외하고는 강의와 똑같이 코드를 작성했습니다. 이때 회원가입관련 테스트에서 강의에서는 insert문이 나가지 않지만 저는 따로 Rollback을 false로 설정하지 않아도 insert문이 실행되더군요. 이유가 궁금합니다. 사진에서 확인할 수 있듯이 Rollback이 되었기 때문에 트랜잭션이 커밋되지 않아 insert 쿼리가 발생하면 안될 것 같은데 왜 실행되는지 이유를 모르겠습니다.

  • java
  • spring
  • spring-boot
  • jpa
constela10 댓글 2 좋아요 0 조회수 145

인기 태그

인프런 TOP Writers

주간 인기글