묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 시큐리티
SessionManagementFilter의 대한 문의드립니다.
https://www.inflearn.com/course/lecture?courseSlug=%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0&unitId=29835&tab=curriculum해당 강의를 듣고 질문이 있습니다.FilterChainProxy의 시큐리티 필터 목록을 보면 SessionManagementFilter가 별도로 있는데요.강사님이 설명해주신 내용과 ppt를 보면, UsernamePasswordAuthenticationFilter에서 호출되는 CompositeSessionAuthenticationStrategy의 strategy들을 SessionManagementFilter라 말씀하시는 것 같습니다.그럼 시큐리티 필터 목록에 있는 SessionManagementFilter는 언제 호출되는걸까요?혹시라도 제가 잘못 이해한 부분이 있다면, 피드백 부탁드립니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
로그인 성공시 /workspace/channel 로 이동이 안되고 있습니다.
App.tsximport React, { FC } from 'react'; import loadable from '@loadable/component'; import { Switch, Route, Redirect } from 'react-router'; const Login = loadable(() => import('@pages/Login')); const SignUp = loadable(() => import('@pages/SignUp')); const Channel = loadable(() => import('@pages/Channel')); const App: FC = () => { return ( <Switch> <Redirect exact path="/" to="/login" /> <Route path="/login" component={Login} /> <Route path="/signUp" component={SignUp} /> <Route path="/workspace/channel" component={Channel} /> </Switch> ); }; export default App; Login/ index.tsximport React, { useState, useCallback } from 'react'; import useInput from '@pages/hooks/useinput'; import axios from 'axios'; import { Error, Form, Label, Input, LinkContainer, Button, Header } from '@pages/SignUp/styles'; import { Link, Redirect } from 'react-router-dom'; import useSWR from 'swr'; import fetcher from '@utils/fetcher'; const Login = () => { const { data, error, revalidate } = useSWR('http://localhost:3095/api/users', fetcher); //주소를 fetcher로 옮겨주고 실제로 주소를 어떻게 처리할지 정해줌 const [logInError, setLogInError] = useState(false); const [email, onChangeEmail] = useInput(''); const [password, onChangePassword] = useInput(''); const onSubmit = useCallback( (e) => { e.preventDefault(); setLogInError(false); axios .post( 'http://localhost:3095/api/users/login', { email, password }, { withCredentials: true, }, ) .then(() => { revalidate(); }) .catch((error) => { setLogInError(error.response?.data?.statusCode === 401); }); }, [email, password], ); if (data) { return <Redirect to="/workspace/channel" />; }Channel / index.tsximport Workspace from '@layouts/Workspace'; import React from 'react'; const Channel = () => { return ( <Workspace> <div>로그인을 축하합니다.</div> </Workspace> ); }; export default Channel; Workspace.tsximport React, { FC, useCallback } from 'react'; import useSWR from 'swr'; import fetcher from '@utils/fetcher'; import axios from 'axios'; import { Redirect } from 'react-router'; const Workspace: FC = ({ children }) => { const { data, error, revalidate } = useSWR('http://localhost:3095/api/users', fetcher); const onLogout = useCallback(() => { axios .post('http://localhost:3095/api/users/logout', null, { withCredentials: true, }) .then(() => { revalidate(); }); }, []); if (!data) { return <Redirect to="/login" />; } return ( <div> <button onClick={onLogout}>로그아웃</button> {children} </div> ); }; export default Workspace; 현재 코드에서 로그인 성공까지 되는데 페이지 이동이 없습니다... 하나하나 빠짐없이 확인 해봤는데 제가 찾지 못하는거 같습니다 ㅠㅠ더군다나 URl 주소를 다이렉트로 localhost:3090/workspace/channel 입력해도 아무런 창이 뜨지 않고 있어서 어떤 문제가 있는지 확인이 어렵습니다.. 도움을 부탁드려요
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
스크롤이 안내려갑니다!
안녕하세요.셀레니움 기본설정 알려주신 코드대로 입력해서아이폰 13 입력해서 들어가는 것까지는 작동을 하는데스크롤이 내려가지 않네요ㅠ뭐가 문제일까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
템플릿태그 load static 의미/동작방식
위 코드에서 {% ~ %} 템플릿태그로load static 이라는게단순히 문자그대로 static을 로드 한다 (임포트구문 처럼)라고는 알겠는데static이라는게 어떤 걸(경로?) 뜻하는지 궁금합니다.settings.py 의 STATIC_URL, STATICFILES_DIRS, STATIC_ROOT 전부를 뜻하는건지? 아니면 STATICFILES_DIRS만 뜻하는건지? 궁금합니다.그럼 각 장고앱 하위 static 경로들은 load를 안해줘도 되는건지 궁금하네요..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Static Files Finders 슬라이드 질문
이 슬라이드에서 형광색 부분(아래)이 문자 그대로 무슨말인지 모르겠습니다.형광색부분 = "디렉토리 목록에서 지정 상대경로를 가지는 static 파일 찾기"Q.무슨말인지 모르겠는 부분 = 지정 상대경로를 가지는 static 파일Appendix.아래 [그림1] 는 제가 이해한 내용을 정리한 내용 입니다.정리한 내용처럼 해당 내용을 전반적으로 이해했지만위 질문의 "지정 상대경로를 가지는 static 파일" 이 정확히 무슨말인지 모르겠습니다. [그림1 Static Files Finders 동작방식 이해한 내용]
-
해결됨내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
7.1 야후 파이낸스 크롤링 request 오류
혹시 못보셨나 해서 다시 올립니다.7.1 진행중에 request 오류가 나서기존 질문 답변보고 강의노트에 있는 헤더 넣어서 request.get 했는데도response 404가 나옵니다. 아래는 제가 실행했던 코드 입니다. =================================================== # importimport requestsimport bs4import timeimport randomimport numpy as npimport pandas as pdfrom IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"pd.set_option('display.float_format', lambda x: '%.3f' % x)pd.set_option('display.max_columns', None) url = "https://finance.yahoo.com/quote/AAPL/history?period1=1581206400&period2=1612828800&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true"headers = {"cache-control": "max-age=0","sec-ch-ua": 'Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99',"sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "macOS","sec-fetch-dest": "document","sec-fetch-mode": "navigate","sec-fetch-site": "same-origin","sec-fetch-user": "?1","upgrade-insecure-requests": "1","user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36",} requests.get(url, headers)=================================================상기 내용이 미결이라 진도를 나아가지 못하고 있습니다.혹시 7.1 ~ 7.3 그냥 넘기고 바로 8로 넘어가도 문제 없을까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
settings.STATICFILES_DIRS 설정 설명 중 질문이 있습니다
위 이미지(강의슬라이드) 형광펜 칠해져 있는게 어떤 의미인지 궁금해서 질문 드립니다.어쨌든 장고의 File System Loader 라는게 있는데그놈에 의해 참조된다(?) 라는 말이무슨말인지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 3:15 질문
[강의 3:15 에서]TEMPLATES.DIRS 설정에 리스트값이 적혀져있는데강의를 이전까지 다 보았는데,저는 현재 없습니다... (제가 강의내용과 다르게 설정을 누락했나봅니다..)혹시 이와 관련된 강의가 어떤 강의인지 알려주실수 있을까요..?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Link적용하기 강의에서 useParams 쓰면 에러가 뜹니다.
좋은 강의 너무 감사드립니다. 강의 10:40 부분에 useParams 사용하는 부분에서:const params = useParams();console.log(params); 이거 입력한 후에 리프레쉬 한후 각자 아이템을 누르면, 밑에 화면이 뜹니다. 뭐가 잘못된 건지 잘 모르겠어요..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
[Minor] 부트스트랩 CSS/Jquery/JS/테마적용 후 테이블영역 꽉 안차는 문제
Minor 한 이슈 질문드립니다. (부트스트랩CSS 라서요..ㅎㅎ)우선 해결은 했으나, 왜 해결됬는지 이해가 안되서질문내용: 테이블부분이 꽉차지 않은 이슈댓글내용에 적어놨습니다. layout.html 에 부트스트랩 워치 테마적용(CSS) 부분 수강중 입니다.위 이미지 처럼 꽉찬 화면이 저만 안되는데(???) 이유를 모르겠습니다. (해당화면 스크롤은 질문캡쳐용으로 잠시 zoom out 한 상태입니다.)서버재시작브라우저 강제 새로고침강사님과 동일한 테마(simplex) 도 안되고 있습니다.<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootswatch@4.5.2/dist/sketchy/bootstrap.min.css" integrity="sha384-RxqHG2ilm4r6aFRpGmBbGTjsqwfqHOKy1ArsMhHusnRO47jcGqpIQqlQK/kmGy9R" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbNUBDunl/OZv93DB7Ln/533i8e/mZXLi/P+" crossorigin="anonymous"></script>layout.html 전체코드<!doctype html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{% block title %}{% endblock title %}</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootswatch@4.5.2/dist/sketchy/bootstrap.min.css" integrity="sha384-RxqHG2ilm4r6aFRpGmBbGTjsqwfqHOKy1ArsMhHusnRO47jcGqpIQqlQK/kmGy9R" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbNUBDunl/OZv93DB7Ln/533i8e/mZXLi/P+" crossorigin="anonymous"></script> <style> body{ padding-top: 5rem; } </style> </head> <body> <!-- begin::header --> <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarsExampleDefault"> <ul class="navbar-nav mr-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="#">Link</a> </li> <li class="nav-item"> <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a> <div class="dropdown-menu" aria-labelledby="dropdown01"> <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> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search"> <button class="btn btn-secondary my-2 my-sm-0" type="submit">Search</button> </form> </div> </nav> <!-- end::header --> {% block content %} {% endblock content %} </body> </html> post_list.html 전체코드{% extends "instagram/layout.html" %} {% load bootstrap4 %} {% block title %} Instagram / Post List {% endblock title %} {% block content %} <form action="" method="get"> <label> <input type="text" name="q" value="{{ q }}" placeholder="검색할 게시물의 message를 입력하세요"> </label> <input type="submit" value="검색 "> </form> {% if post_list %} <table class="table table-bordered table-hover table-striped table-responsive"> <tbody> {% for post in post_list %} <tr> <td>{{ post.pk }}</td> <td> {% if post.photo %} <img src="{{ post.photo.url }}" width="100px" height="100px" alt="{{ post.photo }}"> <br> (post.photo값: {{ post.photo }}) {% else %} No photo <br> (post.photo값: {{ post.photo }}) {% endif %} </td> <td> <!-- 장고 스타일(URL Reverse / get_absolute_url 메서드 이용) --> <a href="{{ post.get_absolute_url }}"> {{ post.message }} </a> <!-- 장고 스타일(URL Reverse 이용) --> {# <a href="{% url 'instagram:post_detail' post.pk %}">#} {# {{ post.message }}#} {# </a>#} <!-- 기존 --> {# <a href="/instagram/{{ post.pk }}/">#} {# {{ post.message }}#} {# </a>#} </td> </tr> {% endfor %} </tbody> </table> {% else %} <p>검색 결과가 없습니다.</p> {% endif %} {% if is_paginated %} {% bootstrap_pagination page_obj size="large" justify_content="center" %} <h2>paginator</h2> <div> {{ paginator }} </div> <h2>page_obj</h2> <div> {{ page_obj }} </div> <h2>is_paginated</h2> <div> {{ is_paginated }} </div> <h2>object_list</h2> <div> {{ object_list }} </div> <h2>post_list</h2> <div> {{ post_list }} </div> {% endif %} {% endblock content %}
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)
이진 탐색 트리 - 제거 구현 질문드립니다.
자식 노드가 모두 존재하는 경우에 제거하는 경우의 수 중에서제일 마지막 fakeParentRootNode 를 처리하는 부분에서 질문이 있습니다.제거를 할 때 값을 변경하는 방식으로 진행하다보니 루트노드가 제거가 된다고 하더라도 fakeParentRootNode의 오른쪽 자식노드는 계속해서 root 노드의 주소값을 바라보고 있을 것이고, 변경사항이 없을텐데 해당 코드를 넣는 이유가 있을까요?if (fakeParentRootNode.getRightSubTree() !== this.root) { this.root = fakeParentRootNode.getRightSubTree(); }
-
해결됨Svelte REST-API 프로젝트
[라우터 설정] 강의 내용 중 수정이 필요한 부분
[3분43초 - router.svelte]첫 번째 Route에서 리다이렉트 경로를"/ariticles"가 아닌 "/articles/all"이 맞는 것 같습니다.6분 41초 영상에서 테스트 장면을 보면 리다이렉트 경로가 /articles/all인 것을 볼 수 있습니다. [3분50초 - router.svelte]강의 영상처럼 타이핑을 하고난 후에에디터(vscode)에 다음과 같은 에러가 나타날 수 있습니다.임시로 해결할 수 있는 방법은 node_modules 폴더 내부에 있는 tinro 라이브러리의 타입 정의(index.d.ts)를 수정해주시면 됩니다.참고: https://github.com/AlexxNB/tinro/pull/121/commits/d2251ffed630aac6e76e71856204ead5dd2f6661
-
미해결[유니티6] 따라하면서 배우는 하이퍼캐주얼게임 시리즈 01
2D Wave.Io 카메라 흔들기 질문
카메라 흔들기 스크립트를 작성하여 싱글톤하는 이유는카메라 흔들기 효과 자체가 게임오버뿐만아니라 여러 가지 스크립트에서 사용 가능하게 하기 위해서 인가요?그리고 카메라 흔들기 스크립트를 싱글톤화하고 다른 스크립트도 싱글톤화 하여도 상관 없나요?
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
정규표현식 질문
만약에 닉네임을 name[react](23) 라고 지었고, id가 20이라면data.content는 @[name[react](23)](20) 이런식으로 되잖아요. 그런데 거기서 코드에 있는 정규표현식을 쓰면 match는](1) 부분을 빼먹게 되고 그 상태에서 arr을 구하면닉네임이 name[react 으로, id는 1이 아닌23으로 출력되더라고요. 실제로 예시와 똑같이 회원가입 하고 name[react](23)에게 멘션 해보니클릭했을 때 초깃값으로 파란줄이 name[react 까지만 생성되고 추가로 ](20) 이란 텍스트가 더해지더라고요. (참고로 name[react](23)의 ID가 20입니다.)물론 Link로 넘어가는 것도 안되고요. 그래서 +? 말고 그냥 +로 해보니깐 위처럼 잘 매칭 되는 것 같아서 코드에 적용시켰더니이제 Link부분은 잘 나오는데 멘션 클릭시 초깃값이 여전히 이상하게 나옵니다. 저 부분은 어딜 고쳐야 되는 건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
axios를 다운받을때 특정한 폴더에서 받아야 하나요?
Axios 를 다운 받을때, 꼭 특정한 폴더에서 받아야 하는 건가요? Node-modules 랑 json.package 가 public 폴더 밑으로 또 생겨있고, nom start 누르면 Axios error 라고 뜹니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5 는 언제 나오나요?
안녕하세요! 루키스님 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5는 언제쯤 출시가 될지 궁금해서 이렇게 글을 남깁니다.입문자를 위한 UE5영상이 올라오고 있는데 해당 언리얼 영상 시리즈가 완료되면 출시가 될까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
No tests found for given includes: [ooo.ooo.oooTests](--tests filter)
테스트 도중No tests found for given includes: [ooo.ooo.oooTests](--tests filter)intellij ide 사용중인데 해당 에러가 뜹니다.해결방안으로 settin -> Run test using -> Gradle에서 intelliJ IDEA로 변경하면테스트 케이스가 잘 작동하는데요.이유가 무엇인가요??인텔리제이는 왜 실행이 되고그레들로는 실행이 안되는지도 궁금합니다. 스프링 부트 2.7.10gradle 2.6.1java 11버전입니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
실무에서도 id를 따로 두나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의에서는 사용자가 입력하는 아이디와 서버에서 직접 생성하는 아이디가 있는데 실무에서도 서버에서 생성하는 아이디를 같이 두나요? 데이터베이스에 저장도 같이 하는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
개념강의
안녕하세요 선생님혹시 개념강의는 pdf파일이 없을까요?!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Reader Writer Lock 질문입니다.
W->R 락 순서는 허용R->W락 순서는 허용하지 않음인데요.두 상황 모두 허용하지 않아야되지 않을까해서 문의드립니다.W->R일 경우에도쓰고있는 있다는 것이 값이 바뀌고 있다는 것인데Read하는 스레드들이 쓰는 찰나에 전후 다른 값을 읽어가는 것은 문제가 없을까요??R->W를 허용하지 않은 경우처럼읽을 때 누가 값을 바꾸면 안되니 허용하지 않는것처럼R->W, W->R그게 그말 처럼 느껴져서 질문드립니다.