묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Practical Testing: 실용적인 테스트 가이드
쿠키/세션은 어떻게 테스트하는지 문의드립니다!
배경회원가입을 할 때, 이메일로 인증한 회원만 회원가입이 진행되도록 하는 구현중에 있습니다.그래서, 이메일로 인증한 회원에 한해서 MAIL_VERIFIED_MEMBER 세션을 만들어서 반환하고, 회원가입할 때 MAIL_VERIFIED_MEMBER 세션이 있는지 확인하고자 합니다. 그래서, 이메일로 인증한 회원에 MAIL_VERIFIED_MEMBER 세션이 잘 들어가는지 Controller 테스트를 진행하고자 하는데, 어려움을 겪어서 질문드립니다. 이메일로 인증한 회원에 MAIL_VERIFIED_MEMBER 세션을 넣어주는 API이며, 이 api 를 테스트 하고자 합니다.@PostMapping("/email/authenticate") public ApiResponse<Void> authenticateEmail(@RequestBody @Valid EmailAuthenticationRequest request, HttpServletRequest servletRequest) { // 메일 인증한 회원에게 세션을 추가한다 if (mailService.isValidMail(request.toServiceRequest())) { HttpSession session = servletRequest.getSession(); session.setAttribute(MAIL_VERIFIED_MEMBER, true); return ApiResponse.ok(); } return ApiResponse.status(HttpStatus.BAD_REQUEST); } 테스트 코드를 아래 사진처럼 짜보았습니다.그러자, Response should contain header 'Set-Cookie' 라는 오류와 함께 테스트가 실패하게 됩니다.Postman 으로 api 를 호출하면 Set-Cookie 헤더에 JSESSIONID 값이 잘 들어 오는 것을 확인하였습니다.그러나, 테스트로 진행하면 JSESSIONID 도 무작위 값이 아닌 1, 2 로 들어오게 되어 'api 호출 후 세션이 생성되어 쿠키에 들어갔는지' 테스트하는데 어려움을 겪어 질문 드립니다...ㅠㅠ api 호출 후, 응답에 세션과 쿠키가 잘 생성 되었는지를 테스트하려면 어떻게 해야할까요..? andDo(print()) 에서 MockHttpServletRequest 의 Session Attrs 에는 세션 값이 왜 들어가 있을까요.. 해당 api 를 호출하면 세션이 아직 생성이 안되었을 것이라 생각했기 때문입니다..해당 테스트를 실행할 때의 andDo(print()) 의 결과는 다음과 같습니다. MockHttpServletRequest: HTTP Method = POST Request URI = /member/email/authenticate Parameters = {} Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"48"] Body = {"email":"123@naver.com","authCode":"312nj5acz"} Session Attrs = {verified_member=true} MockHttpServletResponse: Status = 200 Error message = null Headers = [Content-Type:"application/json"] Content type = application/json Body = {"code":"0200","status":"OK","message":"OK","data":null} Forwarded URL = null Redirected URL = null Cookies = [] 질문이 길어 죄송합니다..그리고, 좋은 테스트 강의를 지식 공유 해주셔서 감사드립니다!!
-
미해결Next + React Query로 SNS 서비스 만들기
msw 를 사용하는 이유
결국 next js 에서만 http.ts 를 만들어주어서 express 서버로 mock server(?)를 직접 띄우는 형식인것 같은데 맞나요? 또 제 생각에는 이렇게 msw 를 사용하면, 내가 백엔드 서버로 요청을 보내도 그 요청을 중간에 가로채서 mock api 로 요청이가고 내가만든 가짜응답을 보내주는것이 되어야 할것같은데, 지금은 저희가 띄운 9090으로 요청을 보내고 있네요. (이 내용도 맞는지 궁금합니다, next 프로젝트가 아니라면 localhost:8888(실제 나의 백엔드 서버)로 요청을 보냈다고 가정할때 msw가 요청을 가로채가나요?)그렇다면 굳이 msw 를 사용하는 이유가 무얼까요..? 혼자 express 서버를 만들어서 가짜응답 전해주는것과 차이를 모르겠습니다..!감사합니다
-
미해결Verilog FPGA Program 5 (LVDS/Serdes, HIL-A35T)
Vivado 2018.3 버전이 많던데.. 뭐를 설치해야 할까요?
Vivado Design Suite - HLx Editions Update 1 (4GB 정도)Vivado Design Suite - HLx Editions - 2018.3 Full Product Installation (19GB정도)Vivado Lab Solutions - 2018.3 Full Product Installation (여러가지 버전이 있는데, 수백 MB정도)어느것을 설치해야 할까요?
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
분할 매매와 수익률 !!
안녕하세요 강사님 우선 좋은 강의 감사합니다.강사님 강의를 베이스로 하나의 전략을 구성 중인데 분할 매수, 분할 매도를 어떻게 구현하여 수익률을 내는지 도무지 떠오르지가 않습니다.혹시 이 기능에 대해서는 어떻게 생각해야 하나요??
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
날짜 비교 방법에 관해서 문의드립니다.
안녕하세요 이정환님!! 강의 잘듣고 있습니다. 12.11) Home 페이지 구현하기 2. 기능 강의 수강중에 궁금한 점이 생겨 문의드립니다.두개의 날짜를 정보를 비교를 하기 위해서는 Date의 객체 형식을 timestamp 형식으로 변경을 한후 두개의 날짜 정보를 비교를 해야 하는 것으로 알고 있습니다.강의에서 pivotDate에 저장이 되어있는 state 날짜 기준으로 data를 필터링 하기 위해서는 시작시간과 끝시간을 timestamp 형식으로 만들고 시작시간과 끝시간 사이에 있는 data 객체 안에 있는 createDate의 값을 필터링 하셨습니다.여기서 궁금한점이 startDate와 endDate 변수에는 timestamp형식의 날짜 정보가 들어가 있지만 data.createDate 정보에는 객체형태의 날짜 정보가 들어가 있습니다. 어떻게 객체 형태의 날짜 정보와 timestamp 형식의 날짜 정보가 비교가 가능한지 궁금합니다.제가 어떤 부분에서 착각을 하고 있는지 궁금합니다. 감사합니다.^^
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
2.18) on-demand ISR 질문입니다
강의에서는 handler를 만들어서, 직접 api를 입력할 때마다 갱신하도록 예시를 보여주셨는데, 실제로는 어떻게 사용하는 건가요??(어느 시점? 어느 곳에서 트리거 되는 건가요??)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java 언어 기출문제의 변형
안녕하세요, “Java 언어 기출문제의 변형” 수업 수강 중 이해가지 않는 부분이 있어 질문 드리게 되었습니다. (4:30~) class A {A() {System.out.print(‘A’);}A(char x) {System.out.print(x);}} class B extends A {B() {super();System.out.print(‘B’);} B(char x) {this();System.out.print(x);}} public class Test {public static void main(String[] args) {A s1 = new A(‘X’);A s2 = new B(‘Y’); A s2 = new B(‘Y’); 이 부분을 실행할 때부모생성자를 먼저 실행한 후 B(char x)를 실행하지 않고B(char x)를 먼저 실행하는 이유가 궁금합니다. 동일 질문에 파라미터가 있는 것을 이미 실행했다면, 기본 생성자는 실행되지 않는다고 답변 주셨는데,왜 이 코드에서는 파라미터가 있는 것을 실행하기 전에 부모 생성자를 먼저 실행하지 않는 것인지 궁금합니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
5.9 Regression실습-Bike Sharing Demand _nameError
안녕하세요.. 질문 자주 올리네요^^버전 numpy==1.22.5 pandas==1.3.4 다운그레이했어요..사이킷런 1.0.2 파이썬 3.9.18 입니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
자동 유효성 검사 실패
Create certificate 과정에서 도메인 입력 후 자동 유효성 검사가 실패해Automatic validation failed. Manual validation required.Expand the Validation details for this certificate to view the DNS records that you must manually add to the DNS of your domain to complete the validation process.라는 문구가 나옵니다. 해결 방법을 좀 알수 있을까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요 교수님.. 로그 변환, 피처 인코딩, 모델 학습/예측/평가_ 에러메시지가 납니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
최근에 강의 듣다보면 일시적인 오류가 자주 발생합니다
-
미해결트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
babel-core module 에러
fs를 못찾는다고 해서lecture-vue-trello 에서npm install --save-dev @babel/core @babel/cli @babel/node @babel/preset-env로 설치 해주었습니다 하지만 똑같은 오류가 뜹니다..아예 폴더를 삭제하고 깃에서 다시 클론하여 npm 설치 후 열어주었습니다그런데도 똑같은 오류가 뜹니다.webpack버전은 5를 쓰고 있습니다어떻게 해야 해결할 수 있을까용..vue cli 로 만든 프로젝트로 다시 해보았습니다퀵픽스에 install bable-core이 있어서 적용해보았는데 똑같습니다..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
9375번 질문있습니다.
http://boj.kr/89d59db313824c96be294e13de2e146e 의상을 1개부터 n개까지 뽑는데 의상의 종류가 n가지일 때내가 뽑으려는 의상의 수 > n 이라면 이미 그 전 로직에 뽑혔을 것이라고 생각하고 1~의상 가짓수까지 조합을 돌렸습니다만 시간 초과가 뜹니다. 그래서 시간 복잡도를 생각해봤는데 해당 로직의 시간 복잡도는 n의 n제곱이 되기 때문에 시간 초과가 나는 걸까요?
-
미해결Next + React Query로 SNS 서비스 만들기
트워터 홈페이지에서 svg 복사하는 방법
강의에서 svg 복사하는 방법을 알려줬는데 어디 강의인지 기억이 나지 않아서 질문합니다.알려주세요 ㅠ
-
미해결
iOS 앱 배포 / 개인 프로젝트 / 디자이너 모집
안녕하세요, iOS 개발자 조엘입니다.모바일 앱의 배포 및 업데이트 경험을 쌓기 위해 개인 프로젝트를 시작하게 되었으며, 11월 말 배포를 목표로 진행 중입니다. 현재 기획과 디자인 측면에서 혼자 진행하는 데 한계가 있어, 함께할 디자이너 한 분을 모집하고자 합니다.관심 있으신 분들은 아래 카카오 오픈채팅 링크를 통해 문의 주시면 감사하겠습니다.[ 프로젝트 방향성 ]실현 가능한 목표 설정을 통한 꾸준한 진행자유롭고 활발한 의사소통[ 아이디어 ]심플하고 자유도가 높은 루틴 관리 앱다양한 컴포넌트를 활용하여 기존 일과뿐만 아니라 여러 방면 활용 가능한 앱오픈 채팅 링크 : https://open.kakao.com/o/s1J69PJg프로젝트 소개 : https://joel123.notion.site/c5905c5937ed4e1b937c7b238bee6002
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
사이트 접속 후 로그인 버튼 클릭 시 문제점
파이썬 입문자로서 강의 잘 듣고 있습니다!해당 강의 중 잘 안되는 게 있어서 문의 드립니다. 해당 사이트에 접속 후 로그인 버튼을 눌러야 하는 데 클릭을 안해서 time.sleep(3)을 했는데도 제대로 작동을 안하는데 잘못된 것이 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
상속 관계에서 스마트 포인터 this 키워드 사용법 질문
안녕하세요. Rookiss 선생님게임 프로그래머 입문 올인원 강의 중 '스마트 포인터'강의를 보고 질문이 있습니다. 34분 경에 설명하시는 내용 중에 스마트 포인터를 사용할때 this키워드를 사용하면 안되고,해당 클래스에 enable_shared_from_this<클래스>이름을 상속받고shared_from_this()함수를 사용해야 한다고 하셨습니다. 해당 강의에서는 부모가 없는 Knight클래스에 enable_shared_from_this<Knight>를상속해서 설명하셨는데, 여기서 제가 궁금한 부분은만약 Knight라는 클래스가 Creature라는 클래스를 상속받은 상태에서부모와 자식 둘다 this키워드를 사용하려면(Knight에서 this키워드, Creature에서 this키워드)enable_shared_from_this를 어떤 식으로 상속받아서 사용해야 하는지 잘 모르겠습니다. 아래는 상속관계에서 스마트 포인터 shared_from_this함수를 테스트한 코드입니다.#include <iostream> using namespace std; class SharedPtrCreature :public enable_shared_from_this<SharedPtrCreature> { public: void Attack(){ cout<<"SharedPtrCreature::Attack()"<<endl; } void Swing() { auto val = shared_from_this(); val->Attack(); } }; class SharedPtrKnight :public SharedPtrCreature { public: void Attack() { cout<< "SharedPtrKnight::Attack()" << endl; } void Swing(){ auto val = shared_from_this(); // 저는 this키워드로 SharedPtrKnight::Attack을 호출하고 싶은데, // SharedPtrCreature::Attack이 호출됩니다. val->Attack(); } }; class Creature { public: void Attack() { cout << "Creature::Attack()" << endl; } void Swing() { auto val = this; val->Attack(); } }; class Knight :public Creature { public: void Attack() { cout << "Knight::Attack()" << endl; } void Swing() { auto val = this; val->Attack(); } }; int main() { cout << "------shared_ptr version------" << endl; shared_ptr<SharedPtrCreature> sharedPtrCreature = make_shared<SharedPtrCreature>(); sharedPtrCreature->Swing(); shared_ptr<SharedPtrKnight> sharedPtrKnight = make_shared<SharedPtrKnight>(); sharedPtrKnight->Swing(); cout<< "" << endl; // 기존 포인터 버전에서는 제 의도대로 호출됨. cout<<"------pointer version------"<<endl; Creature* creature = new Creature(); creature->Swing(); Knight* knight = new Knight(); knight->Swing(); return 0; } <결과>
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
스트림릿 클라우드 배포시 외부접근 질문드립니다.
안녕하세요, 정말 좋은 강의 감사드립니다.현재 스트림릿으로 배포하는 단계를 따라해 보고 있는데요. 배포는 잘되는데 이게 외부에서 접근은 안되는 URL인가요? 배포한 깃헙과 연동된 상태로 url클릭하면 정상 접근되는데, 외부에서는 아래와 같은 화면이 뜹니다. 전세계사람들이 볼 수 있는건 또 다른 프로세스가 필요한가요? [ url클릭 ][배포 계정 말고 다른 계정으로 sign in 후]
-
해결됨팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
표준 트윈 만들기 하면 애들이 분리 됩니다.
- 먼저 유사한 질문이 있었는지 커뮤니티의 '자주 묻는 질문'과 '질문 리스트' 그리고 '강의 소식'에서 검색해 보세요.- 질문의 내용은 최대한 자세하게 적어주세요. 간단하게 남긴 질문은 정확한 답변을 얻기 힘듭니다. - 문제가 발생한 작업 화면 전체가 보이는 스크린 샷 혹은 영상을 남기면 가장 좋습니다.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 작성한 질문은 답변을 들은 후 절대 삭제하지 마세요, 다른 수강생분에게도 도움이 됩니다.- 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.경례 2부 강의 따라하고 있습니다. 어디서부터 틀린건지..... 11프레임에 키프레임 추가하고 트윈 하면 12프레임에서 머리 몸 팔이 이상한곳으로 이동 됩니다.ㅜㅡ
-
해결됨스프링 핵심 원리 - 기본편
클라이언트코드라는게 멀까요?
ocp에서 클라이언트 코드는 변경하지 않아도된다고 하셧는데 클라이언트쪽은 프론트쪽이아닌가요?클라이언트는 요청이고서버는 요청을 받는거라고 생각해서 백엔드코드는 다 서버아닌가요? 해당 코드에서도 클라이언트코드와 서버코드가 나눠져있다면 serviceimpl쪽만 클라이언트코드고 appconfig,order,discount쪽은 서버가 되는건가요?