inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

동시 세션 제어에 관하여 질문드립니다.

미해결

스프링 시큐리티

안녕하세요! 강의를 듣다가 헷갈려서 질문드립니다. 일단 스프링 부트 2.5.4 최신 버전으로 시큐리티 의존성 추가하여 테스트 하였습니다. 동시 세션 제어에서 두 가지 정책을 디버깅 모드에서 코드의 흐름을 테스트 하였는데요. 이전 사용자 세션 만료 혹은 현재 사용자 인증 실패 두 가지 모두 테스트 하였을때요. 일단 첫 번째 사용자가 인증을 받은 상태에서, 두 번째 사용자가 인증을 시도하는 시점에 필터의 실행 흐름을 제가 브레이크 포인트를 사용해서 확인하여 보았습니다. 이 때 SessionManagementFilter 에서 이전 사용자 세션 만료 또는 현재 사용자 인증실패가 동작하지 않구요. 인증 필터인 UsernamePasswordAuthenticationFilter 의 doFilter 메서드(코드는 부모 클래스인 AbstractAuthenticationProcessingFilter에 정의되어 있습니다.)안에서 sessionStrategy 참조 값(CompositeSessionAuthenticationStrategy 객체)의 onAuthentication 메서드를 통해서 처리합니다. 이 때 4가지 전략이 순차적으로 실행되는 것 같습니다. (ConcurrentSessionControlAuthenticationStrategy, ChangeSessionIdAuthenticationStrategy, RegisterSessionAuthenticationStrategy, CsrfAuthenticationStrategy) 강의에서는 SessionManagementFilter에서 이전 사용자 만료 또는 현재 사용자 인증실패를 처리하는 것으로 이해하였는데요. 실제 동작을 시뮬레이션 해보니 인증 필터인 UsernamePasswordAuthenticationFilter 에서 동작하는 것 같아서요. 제가 잘못 이해한걸까요? 아니면 버전이 달라서 코드가 변경된걸까요? 아니면 SessionManagementFilter 가 동작하는 조건이 다른걸까요? 조언 부탁드립니다. 감사합니다.

  • spring-boot
  • Spring Security
  • java
잠꾸 댓글 1 좋아요 1 조회수 336

질문이 있습니다.

미해결

데브옵스(DevOps)를 위한 쿠버네티스 마스터

강의에서 ~/.kube/config 에서 namespace 를 수정을 하시라고 했는데 office 로 수정하고 kubectl get pod 쳤는데 네임 스페이스가 안보이는데요 .....

  • kubernetes
  • docker
song.sh 댓글 1 좋아요 0 조회수 301

1회 1번 공통 문자열 문제 설명 보충하시면 더 좋을 것 같습니다!

미해결

코딩테스트 실전 모의고사(with C++) : 대기업 대비

1회 1번 공통 문자열 문제에서 N개의 모든 문자열에서 같은 부분 문자열을 가지고 있다는 설명이 없어서 아래와 같이 unordered_map으로 어렵게 풀이하였습니다. 출제 의도에 맞게 N개의 모든 문자열에서 같은 부분 문자열이 있다고 적혀있으면 더 좋을 것 같아요! #include <iostream> #include <string> #include <unordered_map> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); freopen("input.txt", "rt", stdin); unordered_map<string, int> uM; string str, answer; int t, max = 0; cin >> t; while (t--) { cin >> str; string temp; for (int i = 0; i < str.size(); i++) { temp += str[i]; uM[temp]++; } } for (auto iter = uM.begin(); iter != uM.end(); iter++) { if (max < iter->second) max = iter->second; } for (auto iter = uM.begin(); iter != uM.end(); iter++) { if (iter->second == max && (answer.size() < (iter->first).size())) answer = iter->first; } cout << answer; return 0; }

  • C++
  • 코테 준비 같이 해요!
박주원 댓글 1 좋아요 0 조회수 247

yolov5 train

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요! yolov5도 train 하는 것이 (데이터 디렉토리, yaml 구성) yolov3와 똑같다고 보면 되죠?

  • tensorflow
  • keras
  • python
  • 컴퓨터-비전
  • 딥러닝
  • 머신러닝 배워볼래요?
젓인 댓글 1 좋아요 0 조회수 198

보안 단계 sql

미해결

따라하면서 배우는 웹애플리케이션 만들기

보안 단계 article이 이전 수업 (mySQL실습) 과정에 비해 많이 바뀌어있습니다. 코드를 따라 치니 article에 Fatal error : Uncaught TypeError: mysqli_fetch_assoc(): Argument #1 ($result) must be of type mysqli_result, bool given 오류가 발생하네요 https://opentutorials.org/ 웹애플리케이션 만들기에 관계형 데이터베이스 이론/ 실습 수업이 인프런엔 올라와있지 않은데 인프런에서 누락된 걸까요? 수업 수정이 어렵다면 강의 노트에 언급이라도 됐음 합니다.

  • php
  • HTML/CSS
이지현 댓글 0 좋아요 0 조회수 340

XML이란 data set을 사용하는 이유가 무엇인가요?

미해결

윤재성의 만들면서 배우는 Spring MVC 5

유익한 강의 감사합니다! 이클립스 IDE 내 Spring Web MVC 프로젝트를 다루면서 서블릿 또는 bean 설정할 때 java configuration class 파일말고 XML 파일을 사용하는 이유(장점)가 궁금합니다. 개인적으로 구글링을 해보니 프로젝트 실행할 때 컴파일을 하지않는 이점이 있다고 하는데 저한테 크게 와닿지 않아서 질문드립니다

  • MVC
  • java
  • XML
  • spring
덩더러러쿨 댓글 2 좋아요 0 조회수 509

상세페이지 그림이 엑박이 떠요

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

해당 그림처럼 적용이 안되고 엑박만 뜨네요 ㅠ 코드도 제대로 작성한 거 같은데...혹시 포스트맨 문제일 수도 있나요?? css 적용도 안되네요 +++해결했습니다! 포스트맨 코드 문제였네요 ㅠㅠ

  • react-native
  • javascript
  • tensorflow
  • express
  • HTML/CSS
  • react
  • 머신러닝 배워볼래요?
  • nodejs
YouFive 댓글 2 좋아요 1 조회수 362

빨간 오류처럼 나타나는 이름

미해결

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

사실 지금까지 실행하고 테스트하는데에는 전혀 문제가 없었습니다. 그런데 계속 처음 프로젝트를 실행 했을 때부터 빨간색으로 오류가 나듯이 나타납니다. 따로 오류가 뜨지도 않구요. 이게 나중에 큰 문제가 되는게 아닌가 싶기도해서 여쭤봅니다. 이 색들을 정상적으로 돌리려면 어떻게 해야되나요?

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

rapid tool

미해결

3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌

똑같이 따라했는데 rapidTools가 나오지 않습니다..

  • 3ds-max
다원 댓글 1 좋아요 0 조회수 300

AccountController.viewProfile 문의

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

안녕하세요 강사님.. 강사님 코드를 하나하나 따라하던 중에 문의 사항이 있습니다. 아래 부분에서.. @GetMapping ( "/profile/{nickname}" ) public String viewProfile ( @PathVariable String nickname , Model model , @CurrentUser Account account) { Account byNickname = accountRepository .findByNickname(nickname) ; if (nickname == null ) { throw new IllegalArgumentException(nickname + " 에 해당하는 사용자가 없습니다 ." ) ; } model.addAttribute(byNickname) ; model.addAttribute( "isOwner" , byNickname.equals(account)) ; return "account/profile" ; } if (nickname == null ) 이 부분은 nickname 이 아니라. byNickname 이 아닌지요? 감사합니다.

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

type error

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 오류가 날까요?

  • type변경
  • 웹-크롤링
  • python
gamsahaecoding 댓글 1 좋아요 0 조회수 319

복식호흡

미해결

[기초스피치] 14년차 아나운서에게 배우는 말 잘하는 방법!

복식호흡을 할 때 다른건 괜찮은데 배가 들어가는걸 이해를 못하겠어요ㅠ 숨을 들어마신 후 아~ 하면 자연스럽게 배가 들어가는것 아닌가요? 배를 등쪽으로 쪼인다는게 이해가 잘 가지 않습니다ㅠ 또 배에 힘을 준다는 건 배가 원래 가려는 방향에 반대로 힘을 준다는걸 뜻하는데 배에 힘을 준다는건 배가 등쪽이아니라 더 팽팽해지도록 힘주는게 아닌가요?

  • PT
  • 스피치
  • 면접
  • 대인관계
whiteruby02 댓글 1 좋아요 1 조회수 707

findViewById 함수 호출 시 null값 반환

미해결

안녕하세요. CustomAdapter 강의 수강중에 다음과 같은 에러가 발생해서 문의드립니다. 그대로 따라하면서 진행하였는데 이상하다 싶어서 에러 메시지를 확인해보니, 아래 코드에서 rowtextview1 변수에 null이 반환되고 있음을 확인하였습니다. val rowtextview1 = findViewById<TextView>(R.id. rowtextView1 ) 전체 코드는 아래와 같습니다. 어떻게하면 View의 id값을 정상적으로 가져올 수 있을까요?? * MainActivity.kt * package com.example.customadapter import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter import android.widget.Button import android.widget.ListView import android.widget.TextView class MainActivity : AppCompatActivity() { val data1 = arrayOf ( " 데이터 1" , " 데이터 2" , " 데이터 3" , " 데이터 4" , " 데이터 5" ) override fun onCreate (savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContentView(R.layout. activity_main ) val textveiw1 = findViewById<TextView>(R.id. textView1 ) val listveiw1 = findViewById<ListView>(R.id. list1 ) listveiw1. adapter = adapter1 } //getCount 의 리턴 값 만큼 getView 가 호출되어 R.layout.row 의 View 객체를 붙여준다 . val adapter1 = object : BaseAdapter(){ // 항목의 개수를 반환 override fun getCount (): Int { return data1 . size } // 항목의 인덱스 번호를 전달했을 때 , 객체를 넘기는 기능 override fun getItem (position: Int): Any? { return null } // 임의로 정해진 아이디 값을 넘겨주는 기능 override fun getItemId (position: Int): Long { return 0 } // 현재 화면에 표시되는 항목만큼 호출됨 // position : 몇 번째 항목을 구성할 것인가 , convertView : 화면에서 없어진 뷰를 저장 override fun getView (position: Int , convertView: View? , parent: ViewGroup?): View { // 재사용 가능한 View 를 변수에 담는다 . var rowView = convertView if (rowView == null ) { // inflate 는 XML 을 참고하여 View 객체를 생성 및 반환하는 함수 // 1 번째 인자는 View 객체를 만들 때 참고하는 XML, 2 번째 인자는 해당 View 객체의 상위 객체 ( 레이아웃 )\ rowView = layoutInflater .inflate(R.layout. row , null ) } // 항목 뷰 내부에 배치되어 있는 뷰들의 주소 값을 가져온다 . val rowtextview1 = findViewById<TextView>(R.id. rowtextView1 ) rowtextview1. text = data1 [position] return rowView!! } } } * activity_main.xml * <? xml version ="1.0" encoding ="utf-8" ?> <LinearLayout xmlns: android ="http://schemas.android.com/apk/res/android" xmlns: app ="http://schemas.android.com/apk/res-auto" xmlns: tools ="http://schemas.android.com/tools" android :layout_width ="match_parent" android :layout_height ="match_parent" android :orientation ="vertical" tools :context =".MainActivity" > <TextView android :id ="@+id/textView1" android :layout_width ="match_parent" android :layout_height ="wrap_content" android :text ="TextView" android :textAppearance ="@style/TextAppearance.AppCompat.Large" /> <ListView android :id ="@+id/list1" android :layout_width ="match_parent" android :layout_height ="match_parent" /> </LinearLayout> * row.xml * <? xml version ="1.0" encoding ="utf-8" ?> <LinearLayout xmlns: android ="http://schemas.android.com/apk/res/android" android :layout_width ="match_parent" android :layout_height ="match_parent" android :orientation ="horizontal" > <TextView android :id ="@+id/rowtextView1" android :layout_width ="wrap_content" android :layout_height ="40dp" android :layout_weight ="1" android :text ="TextView" android :textAppearance ="@style/TextAppearance.AppCompat.Large" /> <Button android :id ="@+id/rowbutton1" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :text =" 버튼 1" /> <Button android :id ="@+id/rowbutton2" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :text =" 버튼 2" /> </LinearLayout>

  • 윤재성의Kotlin기반안드로이드
  • 안드로이드
  • 코틀린
  • 모바일
  • android
  • 코딩
CNKGH 댓글 1 좋아요 0 조회수 1114

django 연동 문의

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

안녕하세요 장기효 강사님 우선 vue 강의 잘 듣고 있습니다. 감사합니다. 바로 질문 드리자면 저는 django 와 jquery 기반으로 웹개발 프로젝트를 하고 있는 개발자 입니다. 항상 비동기방식에 대한 갈증이 있던 차 vue를 학습하게 되었고 vue 의 간결함에 매료되었습니다. 다만 djang 구조에서 vue 연동하는게 쉽지 만은 않아 보여서 고민 입니다. django에 대한 연동 경험이나 참고 url 정도 가이드 해주실 부분이 있다면 감사드립니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • django
  • vuejs
  • javascript
  • vuex
  • es6
만돌 댓글 1 좋아요 1 조회수 189

blog.py 의 set_email 데코레이터 함수의 login_user 질문입니다.

미해결

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

안녕하세요! 질 좋은 강의에 감사 인사 드립니다. 다름이 아니라 질문이 있어서요! 제가 웹 개발은 처음이라서 강사님께서 말씀하시는 부분을 주석으로 일일이 적어놓고 회고하면서 이해하고 있는데요! 어느정도 이해한 느낌인데 약간의 궁금증이 있어 질문드려요! 제가 질문이 생기는 부분은 아래의 사고의 흐름 중에 발생하는데요! 1. blog.py의 set_email 데코레이터 함수 내부에서는... user = User.create(request.form['user_email'], 'A') -> 신규 유저에 대한 정보를 생성해 로컬 MySQL에 넣고 유저 객체 생성 login_user(user) -> Flask에서 위에서 만든 유저 객체를 세션으로 만든 후 Flask 웹 서버로 http 전송. 그리고 이 세션을 저장해놓고 난 후 나중에 동일한 유저가 리퀘스트를 날리면 Flask 웹서버에서는 기존에 저장해놓은 세션을 꺼내어 확인 후 그에 맞은 response를 클라이언트에게 응답해주도록 해줌 return redirect(url_for('blog.test_blog')) -> 해당 URI로 리다이렉션해서 접근 Q. 이 때, login_user(user)를 해주고 웹 서버를 호스팅했을 때랑 login_user(user)를 그냥 주석처리하고 적용하지 않은 상태에서 웹 서버를 호스팅했을 때랑 어떤 차이점이 있는 건가요? 제가 직접 비교 실험을 해보긴 했는데 잘 와닿지 않아서 질문 드립니다!

  • rest-api
  • python
  • flask
밑바닥개발자 댓글 1 좋아요 1 조회수 340

일반 조인에서 나가는 쿼리와 결과의 관계에 대해 질문있습니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 일반 조인 쿼리 실행과 관련하여 질문을 드리고자 합니다. 일반 조인시에 로그에 표시되는 쿼리는 아래과 같음을 확인하였습니다. Hibernate: /* select m From Member m join m.team t */ select member0_.MEMBER_ID as MEMBER_I1_0_, member0_.age as age2_0_, member0_.TEAM_ID as TEAM_ID4_0_, member0_.username as username3_0_ from Member member0_ inner join Team team1_ on member0_.TEAM_ID=team1_.team_id 이 부분에서 의문점이 몇 가지 생겼습니다. 1. 쿼리를 보면 DBMS에서 join 작업을 수행할 것으로 예상이 되는데 제 예상이 맞는지 궁금합니다. 2. 1번의 예상이 맞다면 join 작업의 결과물을 버리고 이후에 N번의 select 쿼리를 요청하는 것인데 왜 이렇게 하는지 궁금합니다. 3. 1번의 예상이 틀리다면 하이버네이트에서 보여주는 쿼리와 실제 DBMS에 전송하는 쿼리의 차이가 존재하는지, 그렇다면 실제 쿼리는 어떻게 확인할 수 있는지 궁금합니다. 감사합니다.

  • java
  • JPA
Panatta 댓글 1 좋아요 0 조회수 234

강의 10분 12초의 질문입니다.

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

강사님이 object에서 알트 엔터를 치면 override fun onDateSet (view : DatePicker?, year : Int, month : Int, dayOfMonth : Int) { TODO ( "Not yet implemented" ) } 라고 나옵니다. override fun onDateSet (p0: DatePicker? , p1: Int , p2: Int , p3: Int) { TODO ( "Not yet implemented" ) } 그리고 이것은 제가 똑같이 했을 떄입니다. onDateSet (p0: DatePicker? , p1: Int , p2: Int , p3: Int) { 이부분이 다르게 나오는데, 지난 강의(어떤 강의인지는 기억 안 남)에서 비슷한 경우가 있어서, 제가 p0를 position으로 p1, p2도 강사님 화면에서 한 것과 같이 하니까 진행이 됐습니다. 이 차이가 무슨차이인지, 그리고 어떻게 해야하는지가 궁금합니다. 그냥 매번 똑같이 치고 하면 될지 ㅎㅎ 감사합니다.

  • firebase
  • kotlin
  • android
JY P 댓글 1 좋아요 0 조회수 207

eureka client 설정 질문드립니다

미해결

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

안녕하세요. 강의에서 eureka client 서비스 예시로 user-service 스프링 부트 프로젝트를 만들고 설정을 진행해주셨는데요 application.yml에 eureka.client.fetch-registry 프로퍼티를 외부에서 검색 가능하도록 하기 위해 true로 설정한다고 설명해주셨는데, 저 프로퍼티가 설명해주신 용도로 쓰이는게 맞나요? javadoc에는 '클라이언트가 eureka 서버에서 eureka 레지스트리 정보를 가져올지 여부를 설정하는 프로퍼티'라고 라고 설명이 되어있는데요. 설명해주신 것과 자바독 내용이 다른듯해서 잘 이해가 안됩니다. 감사합니다.

  • Kafka
  • msa
  • JPA
  • spring-boot
  • spring-cloud
  • architecture
bluerain 댓글 1 좋아요 2 조회수 286

쿠폰 요청 드립니다.

미해결

[Django] 장고로 인프런 따라만들기

안녕 하세요 . 늦었지만 쿠폰이 지금도 가능 하신지 여쭈어 봅니다. 가능하시면 쿠폰 부탁 드리겠습니다

  • 웹앱
  • django
  • 클론코딩
autokhan 댓글 1 좋아요 0 조회수 369

interface default method

미해결

Java TPC (생각하고, 표현하고, 코딩하고)

안녕하세요! 선생님! interface 강의 부분에서 defeault 부분은 말씀이 없으신데 강의찍은 시점에 default가 안나와서 그렇겠죠!?

  • java
  • oop
이얏 댓글 1 좋아요 0 조회수 217

인기 태그

인프런 TOP Writers

주간 인기글