inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

슬랙 초대 부탁드립니다.

해결됨

코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)

hsw510@gmail.com 입니다!!

  • github
  • git
  • 버전관리시스템
파이어폭스 댓글 1 좋아요 1 조회수 154

연결 리스트 구현에서 힙 관련 질문입니다!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

연결리스트를 만들고 Remove를 하는 과정에서 이미 만들어진 MyLinkedListNode는 이미 AddLast()에서 new를 통해 객체를 만들어준 상태인데, Remove()에서는 그 주소를 참조하지 못하게 해서 지워버린것으로 이해했습니다. 그렇다면 그 객체는 주소가 없어지지만 힙에 남아있다고 이해했는데, 이 객체는 주소가 참조를 다시 할 수 없게 되어서 바로 자동으로 삭제되는지, 아니면 그대로 공간을 잡아먹는지 궁금해서 질문드립니다!

  • C#
hang3137 댓글 1 좋아요 0 조회수 190

생성자 주입 방법과 setter 주입 방법에 대한 질문

미해결

스프링 핵심 원리 - 기본편

생성자 주입 방법은 필수, 변경 가능성이 없는 경우에 사용된다고 하셨고, setter 주입 방법은 선택, 변경 가능성이 있는 경우에 사용된다고 하셨습니다. 여기에서 '필수/선택'과 '변경 가능성'이 무슨 뜻인지 잘 모르겠습니다. 좀 더 상세한 설명 부탁드립니다.

  • oop
  • spring
lsj59285 댓글 1 좋아요 0 조회수 343

저는 초기에 왜 이렇게 뜨는걸까요..?

미해결

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)

맥북으로 코딩 처음 시작한 샌애긔입니다,, 똑같이 따라서 설치하는데 저는 체크항목하는 것도 없이 바로 다운로드되고 오른쪽 클릭해도 아무것도 안나오고 저렇게만 나와요.. ㅠㅠ 제가 뭘 잘못누른걸까요...?

  • HTML/CSS
  • jquery
  • javascript
JUHEE LEE 댓글 1 좋아요 1 조회수 169

hlsli 내용이 이해가 안갑니다

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

강의에 나온 쉐이더 부분의 코드를 보다가, 원래 코드는 ouput.color += offset1로 되어있었는데, offset0으로 해서 실행해 보았습니다. 그런데 최종 결과는 여전히 같더군요. <실행 결과> offset0이 의미하는것과 offset1이 의미하는것이 무엇인지 궁금합니다. 그리고 위와 같이 TEST_B0와 B1은 각각 다른 버퍼와 연결된 레지스터들을 의미한다고 이해했는데, 그 오른쪽에 b0과 b1은 해당 레지스터를 말하는거구요. 그렇다면 offset0은 b0에 해당하는 내용이므로, 밑의 VS_Main 함수 내부에서 color값을 조정할때는 offset0으로 색깔을 조정해줬어야 한거 같은데, 강의에서는 이 부분에 대해서 offset1로 색깔은 다르게 지정하셨는데 이유가 뭘까요? 그리고 위의 사진과 같이 원래라면 VS_Main은 들어오는 변수가 b0에 대한 내용인지 b1인지를 구별하기 위해서 offset0과 offset1을 if문 같은 조건문으로 구별해서 설계를 했어야 할것 같은데, 그 문법이 따로 없이 알아서 동작하는것 이 이해가 안갔습니다. 쉐이더 문법이란걸 알지만, 이 부분에 대해서 간단하게라도 설명해주시면 감사하겠습니다!

  • DirectX
  • 게임수학
언리얼컨설팅 댓글 1 좋아요 0 조회수 379

이 로직은 안되나요?

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

어떤 부분에서 로직이 틀린 건지 잘 모르겠습니다. import java.util.ArrayList; import java.util.Scanner; public class Ch9_6 { public static ArrayList<ArrayList<Integer>> list; public static boolean flag = false; public static void solution(int start, int end) { if(start == end) flag = true; for(int friend : list.get(start)) { solution(friend, end); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); list = new ArrayList<>(); for(int i = 0; i <= n; i++) { list.add(new ArrayList<Integer>()); } for(int i = 0; i < m-1; i++) { int a = sc.nextInt(); int b = sc.nextInt(); list.get(a).add(b); } int start = sc.nextInt(); int end = sc.nextInt(); solution(start, end); if(flag) System.out.println("YES"); else System.out.println("NO"); } }

  • java
  • 코테 준비 같이 해요!
jhjikhsdsdw 댓글 1 좋아요 0 조회수 227

카페 와이파이로 접속했는데

미해결

컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1

카페 와이파이로 접속했습니다. 분명 같은 와이파이인데 노트북에서는 주소가 192.168.0.12 스마트폰에서는 주소가 192.168.0.9 입니다. 그래서 스마트폰으로 index.html 을 접근할 수가 없네요.. 어떤 문제 때문에 이런걸까요?

  • HTML/CSS
qkrwhdcks39 댓글 0 좋아요 0 조회수 326

객체속성 접근에 관해 질문입니다.

해결됨

[React 1부] 만들고 비교하며 학습하는 React

. map ((tabType) => ({tabType, tabLabel : TabLabel [tabType]})) 해당 코드에서 TabLabel [tabType] -> TabLabel.tabType 으로 변경하면 undefined 가 출력이 되는데 이유를 모르겠습니다. // const TabLabel = { [ TabType . KEYWORD ]: '추천 검색어' , [ TabType . HISTORY ]: '최근 검색어' } console . log ( TabLabel [ 'KEYWORD' ]); console . log ( TabLabel . KEYWORD ); 이런식으로 콘솔에 찍어보면 잘 출력이 됩니다. 스코프와 관련이 있나요?

  • react
  • MVC
준돌 댓글 1 좋아요 0 조회수 213

모듈 불러오기 .

미해결

파이널 코딩테스트 : 프론트엔드

안녕하세요 . 수강중에 js 파일 모듈화 부분 질문드려요 index.html 에서 test파일을 불러오고 test.js 에서-> componentTest.js 파일을 불러오는 개념으로 이해하였는데 index.html에서 test.js 파일까지는 읽는데 test.js에서 import 구문을 읽지를 못하는거같아요. 제가 따로 검색도 해보고 잘 비교를 해봐도 왜 읽지 못하는지 이해가 가질않네요.. https://github.com/psh9408p/UI_COMPONENT/tree/master/Star github 주소입니다.. 확인해주시면 감사하겠습니다.

  • 코테 준비 같이 해요!
댓글 1 좋아요 1 조회수 192

SEQUENE전략에서 allocationsize에 대해

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.w2tomwsznga7) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://docs.google.com/document/d/1xCQKit-1V6l6ObeCe49St33RHPzLF_P_c3o7aSDTKs0/edit#heading=h.7dhnp46ven0v) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. SEQUENE전략에서 allocationsize는 default 값이 50으로 맞춰져 있다고 하셨는데, @GenaratedValue 안에 genarator로 name값을 맞춰주지 않으면 1로 설정됩니다. 왜 그런 것인가요..?

  • java
  • JPA
신동훈 댓글 1 좋아요 0 조회수 209

서버 헤더 설정

해결됨

모든 개발자를 위한 HTTP 웹 기본 지식

지금까지 강의를 보면서 궁금했던점인데요 클라이언트의 request에 대한 서버 response의 헤더부분은 서버에서 각각의 request마다 설정을 해주는것이죠??? 만약 REQUEST_TYPE이라던지, Last_Modifyed라던지 값들을 서버에서 개발자가 직접 정의해서 보내주는게 맞나요??? 예를들면 spring boot의 ResponseEntity를 사용한다던지요!!

  • network
최상인 댓글 1 좋아요 1 조회수 252

명명규칙

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

안녕하세요 ? spring개발자에서 처음 nestjs를 처음 쓰고 있는데 spring같은 경우에 클래스 파일은 대문자로 명명규칙으로 정하고 있는데 nestjs에서 파일명에 대한 명명규칙이 따로 정해져 있는건가요?

  • 명명규칙
  • nodejs
  • express
  • NestJS
  • TypeORM
남홍식 댓글 1 좋아요 0 조회수 1021

size 단축속성 적용하기

미해결

입문자를 위한 CSS 기초 강의

size의 경우에 단축속성을 적용하려면, position 속성 바로 뒤에 / 표기로 표시해야합니다. div { box-sizing : border-box ; width : 500px ; height : 500px ; border : 1px solid red ; /* background-color: rgb(13%, 20%, 40%); */ /* background-image: url(./parpotalk.png); background-repeat: no-repeat; background-position: left top; */ background : url ( ./parpotalk.png ) no-repeat center / cover ; /* background-size: contain; */ }

  • HTML/CSS
  • Visual Studio Code
안철진 댓글 0 좋아요 0 조회수 252

안녕하세요 첫 질문이네요

미해결

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

정적파일 관리하기 - 블로그 포스트 상세 페이지에 부트스트랩 적용하기 이 강의에서요 잘안되네요 post_list.html 에서 코드 분명히 또같이 했는데요 <!DOCTYPE html > {% load static %} <html> <head> <title> Blog | 가을이네 사이트 </title> <link href ="{% static 'blog/bootstrap/bootstrap.min.css'%}" rel ="stylesheet" type ="text/css" > <!-- <link href="./practice.css" rel="stylesheet" type="text/css"> --> <script src ="https://kit.fontawesome.com/0ea9e3384c.js" crossorigin ="anonymous" ></script> </head> <body> <nav class ="navbar navbar-expand-lg navbar-light bg-light" > <div class ="container" > <a class ="navbar-brand" href ="./index.html" > Do It Django </a> <button class ="navbar-toggler" type ="button" data-toggle ="collapse" data-target ="#navbarNavDropdown" aria-controls ="navbarNavDropdown" aria-expanded ="false" aria-label ="Toggle navigation" > <span class ="navbar-toggler-icon" ></span> </button> <div class ="collapse navbar-collapse" id ="navbarNavDropdown" > <ul class ="navbar-nav" > <li class ="nav-item active" > <a class ="nav-link" href ="./index.html" > Home </a> </li> <li class ="nav-item" > <a class ="nav-link" href ="./blog_list.html" > Blog </a> </li> <li class ="nav-item" > <a class ="nav-link" href ="./about_me.html" > About me </a> </li> <li class ="nav-item dropdown" > <a class ="nav-link dropdown-toggle" href ="#" id ="navbarDropdownMenuLink" role ="button" data-toggle ="dropdown" aria-haspopup ="true" aria-expanded ="false" > Dropdown link </a> <div class ="dropdown-menu" aria-labelledby ="navbarDropdownMenuLink" > <a class ="dropdown-item" href ="#" > Action </a> <a class ="dropdown-item" href ="#" > Another action </a> <a class ="dropdown-item" href ="#" > Something else here </a> </div> </li> </ul> <ul class ="navbar-nav ml-auto" > <li class ="nav-item" > <a class ="nav-link" href ="#" data-toggle ="modal" data-target ="#loginModal" ><i class ="fas fa-sign-in-alt" ></i> Log In </a> </li> </ul> </div> </div> </nav> <!-- Modal --> <div class ="modal fade" id ="loginModal" tabindex ="-1" aria-labelledby ="loginModalLabel" > <div class ="modal-dialog" > <div class ="modal-content" > <div class ="modal-header" > <h5 class ="modal-title" id ="loginModalLabel" ><i class ="fas fa-sign-in-alt" ></i> Log In </h5> <button type ="button" class ="close" data-dismiss ="modal" aria-label ="Close" > <span aria-hidden ="true" > &times; </span> </button> </div> <div class ="modal-body" > <div class ="row" > </div> <div class ="col-md-6 col-sm-12" > <button type ="button" class ="btn btn-outline-dark btn-block btn-sm" > Sign up with E-mail </button> </div> <div class ="col-md-6 col-sm-12" > <button type ="button" class ="btn btn-outline-dark btn-block btn-sm" ><i class ="fab fa-google" ></i> Log in with Google </button> <button type ="button" class ="btn btn-outline-dark btn-block btn-sm" > Log in with username </button> </div> </div> <div class ="modal-footer" > <button type ="button" class ="btn btn-secondary" data-dismiss ="modal" > Close </button> </div> </div> </div> </div> <div class ="container" > <div class ="row my-3" > <div class ="col-md-8 col-lg-9" > <h1> Blog </h1> {% for p in post_list %} <!-- Blog Post --> <div class ="card mb-4" > <img class ="card-img-top" src ="http://placehold.it/750x300" alt ="Card image cap" > <div class ="card-body" > <h2 class ="card-title" > {{p.title}} </h2> <p class ="card-text" > {{ p.content }} </p> <a href ="{{ p.get_absolute_url }}" class ="btn btn-primary" > Read More &rarr; </a> </div> <div class ="card-footer text-muted" > Posted on January 1, 2020 by <a href ="#" > 작성자명 쓸 위치 ( 개발예정 ) </a> </div> </div> {% endfor %} <!-- Pagination --> <ul class ="pagination justify-content-center mb-4" > <li class ="page-item" > <a class ="page-link" href ="#" > &larr; Older </a> </li> <li class ="page-item disabled" > <a class ="page-link" href ="#" > Newer &rarr; </a> </li> </ul> </div> <div class ="col-md-4 col-lg-3" > <!-- Search Widget --> <div class ="card my-4" > <h5 class ="card-header" > Search </h5> <div class ="card-body" > <div class ="input-group" > <input type ="text" class ="form-control" placeholder ="Search for..." > <span class ="input-group-append" > <button class ="btn btn-secondary" type ="button" > Go! </button> </span> </div> </div> </div> <!-- Categories Widget --> <div class ="card my-4" > <h5 class ="card-header" > Categories </h5> <div class ="card-body" > <div class ="row" > <div class ="col-lg-6" > <ul class ="list-unstyled mb-0" > <li> <a href ="#" > Web Design </a> </li> <li> <a href ="#" > HTML </a> </li> <li> <a href ="#" > Freebies </a> </li> </ul> </div> <div class ="col-lg-6" > <ul class ="list-unstyled mb-0" > <li> <a href ="#" > JavaScript </a> </li> <li> <a href ="#" > CSS </a> </li> <li> <a href ="#" > Tutorials </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <!-- Footer --> <footer class ="py-5 bg-dark" > <div class ="container" > <p class ="m-0 text-center text-white" > Copyright &copy; Your Website 2021 </p> </div> <!-- /.container --> </footer> <script src ="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity ="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin ="anonymous" ></script> <script src ="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity ="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin ="anonymous" ></script> </body> </html> 여기서 똑같이 했는데 댓글쓰기 변화가 없네요 아무리 해도 안되네요 다음 코드 post_datail.html <!DOCTYPE html > {% load static %} <html lang ="ko" > <head> <meta charset ="utf-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1, shrink-to-fit=no" > <meta name ="description" content ="" > <meta name ="author" content ="" > <title> Blog Home - Start Bootstrap Template </title> <!-- Bootstrap core CSS --> <link href ="{% static 'blog/bootstrap/bootstrap.min.css'%}" rel ="stylesheet" type ="text/css" > <!-- Custom styles for this template --> <link href ="css/blog-home.css" rel ="stylesheet" > </head> <body> <!-- Navigation --> <nav class ="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" > <div class ="container" > <a class ="navbar-brand" href ="#" > Start Bootstrap </a> <button class ="navbar-toggler" type ="button" data-toggle ="collapse" data-target ="#navbarResponsive" aria-controls ="navbarResponsive" aria-expanded ="false" aria-label ="Toggle navigation" > <span class ="navbar-toggler-icon" ></span> </button> <div class ="collapse navbar-collapse" id ="navbarResponsive" > <ul class ="navbar-nav ml-auto" > <li class ="nav-item active" > <a class ="nav-link" href ="#" > Home <span class ="sr-only" > (current) </span> </a> </li> <li class ="nav-item" > <a class ="nav-link" href ="#" > About </a> </li> <li class ="nav-item" > <a class ="nav-link" href ="#" > Services </a> </li> <li class ="nav-item" > <a class ="nav-link" href ="#" > Contact </a> </li> </ul> </div> </div> </nav> <!-- Page Content --> <div class ="container" > <div class ="row" > <!-- Blog Entries Column --> <div class ="col-md-8" > <h1 class ="my-4" > Page Heading <small> Secondary Text </small> </h1> <!-- Blog Post --> <div class ="card mb-4" > <img class ="card-img-top" src ="http://placehold.it/750x300" alt ="Card image cap" > <div class ="card-body" > <h2 class ="card-title" > Post Title </h2> <p class ="card-text" > Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis aliquid atque, nulla? Quos cum ex quis soluta, a laboriosam. Dicta expedita corporis animi vero voluptate voluptatibus possimus, veniam magni quis! </p> <a href ="#" class ="btn btn-primary" > Read More &rarr; </a> </div> <div class ="card-footer text-muted" > Posted on January 1, 2020 by <a href ="#" > Start Bootstrap </a> </div> </div> <!-- Blog Post --> <div class ="card mb-4" > <img class ="card-img-top" src ="http://placehold.it/750x300" alt ="Card image cap" > <div class ="card-body" > <h2 class ="card-title" > Post Title </h2> <p class ="card-text" > Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis aliquid atque, nulla? Quos cum ex quis soluta, a laboriosam. Dicta expedita corporis animi vero voluptate voluptatibus possimus, veniam magni quis! </p> <a href ="#" class ="btn btn-primary" > Read More &rarr; </a> </div> <div class ="card-footer text-muted" > Posted on January 1, 2020 by <a href ="#" > Start Bootstrap </a> </div> </div> <!-- Blog Post --> <div class ="card mb-4" > <img class ="card-img-top" src ="http://placehold.it/750x300" alt ="Card image cap" > <div class ="card-body" > <h2 class ="card-title" > Post Title </h2> <p class ="card-text" > Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis aliquid atque, nulla? Quos cum ex quis soluta, a laboriosam. Dicta expedita corporis animi vero voluptate voluptatibus possimus, veniam magni quis! </p> <a href ="#" class ="btn btn-primary" > Read More &rarr; </a> </div> <div class ="card-footer text-muted" > Posted on January 1, 2020 by <a href ="#" > Start Bootstrap </a> </div> </div> <!-- Pagination --> <ul class ="pagination justify-content-center mb-4" > <li class ="page-item" > <a class ="page-link" href ="#" > &larr; Older </a> </li> <li class ="page-item disabled" > <a class ="page-link" href ="#" > Newer &rarr; </a> </li> </ul> </div> <!-- Sidebar Widgets Column --> <div class ="col-md-4" > <!-- Search Widget --> <div class ="card my-4" > <h5 class ="card-header" > Search </h5> <div class ="card-body" > <div class ="input-group" > <input type ="text" class ="form-control" placeholder ="Search for..." > <span class ="input-group-append" > <button class ="btn btn-secondary" type ="button" > Go! </button> </span> </div> </div> </div> <!-- Categories Widget --> <div class ="card my-4" > <h5 class ="card-header" > Categories </h5> <div class ="card-body" > <div class ="row" > <div class ="col-lg-6" > <ul class ="list-unstyled mb-0" > <li> <a href ="#" > Web Design </a> </li> <li> <a href ="#" > HTML </a> </li> <li> <a href ="#" > Freebies </a> </li> </ul> </div> <div class ="col-lg-6" > <ul class ="list-unstyled mb-0" > <li> <a href ="#" > JavaScript </a> </li> <li> <a href ="#" > CSS </a> </li> <li> <a href ="#" > Tutorials </a> </li> </ul> </div> </div> </div> </div> <!-- Side Widget --> <div class ="card my-4" > <h5 class ="card-header" > Side Widget </h5> <div class ="card-body" > You can put anything you want inside of these side widgets. They are easy to use, and feature the new Bootstrap 4 card containers! </div> </div> </div> </div> <!-- /.row --> </div> <!-- /.container --> <!-- Footer --> <footer class ="py-5 bg-dark" > <div class ="container" > <p class ="m-0 text-center text-white" > Copyright &copy; Your Website 2020 </p> </div> <!-- /.container --> </footer> <!-- Bootstrap core JavaScript --> <script src ="vendor/jquery/jquery.min.js" ></script> <script src ="vendor/bootstrap/js/bootstrap.bundle.min.js" ></script> </body> </html>

  • docker
  • javascript
  • HTML/CSS
  • bootstrap
  • tdd
  • django
  • python
  • aws
임권일 댓글 2 좋아요 0 조회수 261

교재관련하여 질문드립니다!!!

미해결

홍정모의 따라하며 배우는 C언어

책을 구매하려고 하는데 강의에서 주로 사용하는 주교재가 'C Primer Plus 6판'을 사용하는 것이 맞는지 궁금합니다!!

  • c
노트 댓글 1 좋아요 0 조회수 193

run nginx 와 deploy nginx 의 차이가 궁금합니다.

미해결

그림으로 배우는 쿠버네티스(v1.35)

kubectl로 kubectl run nginx --image=nginx 와 kubectl create deploy --image=nginx 이후에 둘의 차이가 무엇인가요? 위에는 네임이 nginx로만 나오고 아래의 경우엔 뒤에 nginx-6799fc88d8-5bscx 이렇게 붙는데 무슨 차이점이 있는지 궁금합니다.

  • docker
  • kubernetes
normalbrand0517 댓글 1 좋아요 0 조회수 246

궁금한게 있어서 질문합니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 혹시 강의들으면서 정리한 내용 개인 티스토리 블로그에 올려도 되는건가요??

  • spring
  • MVC
민규 정 댓글 1 좋아요 0 조회수 172

동작 방식

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

안녕하세요 선생님! 훌륭한 강의 잘보고 있습니다. 해당 파트를 공부하는데 있어 스프링 시큐리티의 동작 방식이 궁금합니다. 1. 필터 http.authorizeRequests().antMatchers( "/**" ) .hasIpAddress( "127.0.0.1" ) //<--ip .and() .addFilter(getAuthenticationFilter()) ; 여기서 addFilter 메서드는 단순 welcome api를 요청하여도 필터가 동작하나요 아니면 로그인 할때만 필터가 동작하나요? 2. attemptAuthentication 메서드 // 로그인 시도하면 가장 먼저 실행됨 @Override public Authentication attemptAuthentication (HttpServletRequest request , HttpServletResponse response) throws AuthenticationException { try { // 전달되어진 inputStream 을 자바 클래스 파일로 변환 RequestLogin creds = new ObjectMapper().readValue(request.getInputStream() , RequestLogin. class ) ; // 사용자가 입력한 값을 토큰으로 바꾸고 인증 처리를 하는 매니저에게 넘기면 아이디와 패스워드를 비교 // 토큰 만듬 return getAuthenticationManager().authenticate( // 토큰으로 변환 new UsernamePasswordAuthenticationToken( creds.getEmail() , creds.getPassword() , new ArrayList<>() ) ) ; } catch (IOException e) { throw new RuntimeException(e) ; } } 로그인 시 가장 먼저 실행되는 메서드의 반환 값이 Authentication 객체인데, 그 객체가 아래 메서드에 사용되나요? 그 이유가 loadUseByUsername 메서드의 파라미터에 값을 넣어 준적이 없는 내부적으로 파라미터를 Authentication 객체의 값을 활용하나요? @Override public UserDetails loadUserByUsername (String username) throws UsernameNotFoundException { // 순서 2 UserEntity findUser = userRepository .findByEmail(username) ; if (findUser == null ) { throw new UsernameNotFoundException(username) ; } //User 라는 객체로 success 메서드에서 사용 --> (User)authResult.getPrincipal() return new User(findUser.getEmail() , findUser.getEncryptedPwd() , true, true, true, true, new ArrayList<>()) ; } 로그인 시 순서 : 1. attemptAuthentication 메서드 실행하여 Authentication(토큰) 객체 반환 2. loadUserByUsername 실행하여 Authentication 객체를 활용 하여 UserDetails 객체 반환 3. successfulAuthentication 실행하는데 UserDetails 객체 활용 가 맞나요..? 제가 나름 이해한대로 써봤습니다.. 로그인 시 메서드의 호출 순서를 알고싶습니다. 또한 각 메서드의 반환 값이 서로 어떻게 연관이 있는지 궁금합니다. spring security가 굉장히 어렵다고는 알고있는데.. 정리가 잘안되네요ㅜㅜ 두서 없이 쓴거같아 죄송합니다. 선생님의 강의를 보며 어제보다 나은 실력을 겸비하는거 같아 항상 감사합니다.

  • security
  • spring-boot
  • JPA
  • spring-cloud
  • architecture
  • Kafka
  • msa
김상운 댓글 1 좋아요 0 조회수 465

배경사진이 두개로 나옵니다ㅜ

해결됨

만들면서 배우는 HTML/CSS

index.html 파일도 style.css파일도 강의와 같이 동일하게 적는다고 따라 적었는데 실시간 웹페이지 반영하기 버튼으로 봤더니 배경 이미지가 두개로 연달아 나와서 문의 드립니다. 이건 어떻게 해결방법이 없으련지요?

  • 배경
  • 스타일
  • HTML/CSS
  • html
  • css
  • reset
  • 안돼요
  • 흑흑
시리 댓글 1 좋아요 0 조회수 402

안녕하세요, 질문입니다!

미해결

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요, 아래와 같이 하면 "good"이 출력되는데요. 왜 정답이 될 수 없는지 설명부탁드립니다. 감사합니다. for ( let x of str ) { if ( x . length > max ) max = x . length ; answer = x ; }

  • javascript
  • 코테 준비 같이 해요!
JEE SUN LEE 댓글 1 좋아요 1 조회수 174

인기 태그

인프런 TOP Writers

주간 인기글