묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http://localhost:8080/basic/hello-form.html 로 hello-form.html 정적 콘텐츠 접근 시 404 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]서블릿 부분에서 webapp-basic 폴더를 만들고 basic 내에 hello-form.html을 복붙하고 해당 링크로 접근하려고 하면 404 에러가 뜹니다.. 패키지도 Application이 최상위 경로인데 왜 이러는지 모르겠습니다..webapp 내 indexl.html을 비롯한 정적 html에 접근하는 것 외에는 다른 접근은 다 잘 됩니다. 보시다시피 강의와 다르게 webapp에 파란 점도 없는데 이게 문제인 건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
postcss-preset-env대신 postcss autoprefixer 설치 해도 될까요?
tailwind.css 공식 홈페이지에는 postcss와 autoprefixer 설치가 나오던데 저걸 대신 설치 해도 될까요?https://tailwindcss.com/docs/guides/nextjs2번째 질문으로 위에 tailwind css 공식 홈페이지대로 하면 잘 되는데 저거 대로 진행해도 될까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
라이프사이클 질문입니다
왜 자식 컴포넌트인 LoginPage가 mounted가 안 됐는데 App.vue가 mounted가 돼 나요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
PessimisticLock 질문
강력한 데이터 정합성을 보장한다는 Pessimistic Lock이 데이터 자체에 Lock을 거는 방식이라고 한다면 여기서 적용되는 락 기능의 범위가 조회를 통해 얻은 Stock 엔티티 자체를 말하는 건가요 아니면 Stock 테이블 내 모든 값들을 접근하는데 있어 lock이 필요하다는 건가요~~?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
PartialType과 OmitType 동시 적용
포트폴리오 과정의 'N:M 등록 및 조회/회원가입'을 처리하는 중 질문할 것이 나와 질문을 드립니다.User의 생성부분을 구현하기 위해 CreateUserInput 타입을 만들었고 해당 부분에서 유저 아이디, 패스워드, 이메일 등을 기입하도록 하였습니다.@InputType() export class CreateUserInput { @Field(() => String) loginId: string; @Field(() => String) @MinLength(8) password: string; @Field(() => String) name: string; @Field(() => String) address: string; @Field(() => String) @IsPhoneNumber('KR') phone: string; @Field(() => String) @IsEmail() @Transform(({ value }) => value.toLowerCase()) email: string; } 그리고 User의 수정 부분을 구현하기 위해 UpdateUserInput 타입을 만들었습니다. 단순히 OmitType으로 CreateUserInput 부분을 넘겨 만들었습니다만, API 동작에서 패스워드 부분을 넘기지 않으면 필수 항목을 입력하지 않았다고 수정이 되지 않았습니다. @InputType() export class UpdateUserInput extends OmitType(CreateUserInput, ['loginId', 'email'], InputType) { } 그래서 그냥 PartialType까지 상속하고 싶었습니다만 타입스크립트도 다중 상속을 지원하지 않는지 OmitType과 PartialType을 함께 쓸 수 없었습니다. 이러면 그냥 CreateUserInput처럼 전부 구현할 수 밖에 없나요? API 부분에서 넘기지 않은 부분은 그냥 그대로 냅두는 것을 목적으로 합니다.
-
미해결코딩테스트 [ ALL IN ONE ]
강의교재 노션 계정 변경
안녕하세요오늘 강의를 구매하여 이메일과 닉네임을 제출했습니다.제 메일로 노션 초대 메일이 도착하였는데제가 사용하는 메일 주소와 제 노션 계정이 달라제가 주로 사용하는 노션 주소로 접속하는데 어려움이 있습니다.gytjs3220@inu.ac.kr 로 초대를 부탁드려도 될까요??
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Visual studio code로 진행해도 되나요??
예제 설명은 ATOM으로 하셨는데 Visual studio code로 해도 될까요~?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
마우스 커서 클릭
혹시 롤 처럼 마우스 클릭시 이동 좌표에 여기로 가라?라는 이미지는 좌표 를 받아와서 애니메이션으로 처리해야하는건가요?
-
미해결스프링 시큐리티 OAuth2
RSA 검증 기능 구현 - JwtAuthorizationRsaFilter
강의를 보다 의문이 생겨서 질문 드립니다.http.addFilterBefore(jwtAuthorizationRsaFilter(null), UsernamePasswordAuthenticationFilter.class);필터를 등록하실 때 jwtAuthorizationRsaFIlter에 null을 주셨습니다.@Bean public JwtAuthorizationRsaFilter jwtAuthorizationRsaFilter(RSAKey rsaKey) throws JOSEException { return new JwtAuthorizationRsaFilter(new RSASSAVerifier(rsaKey.toRSAPublicKey())); // 검증은 공개키 }그러나 jwtAuthorizationRsaFIlter는 파라미터에 넘어온 rsaKey를 이용하여 공개키를 찾는데 이 rsaKey는 어디서 주입 받는 것인가요??설정 클래스에 @Autowired는 모두 삭제한 것으로 알고 있습니다.jwtAuthenticationFilter를 등록할 때 역시 같은 이유로 어디서 주입 받는지 잘 모르겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
어떠한 경로에서 파일 혹은 디렉토리를 찾지 못한다는 것 같은데 어떻게 해결 할 수 있나요?
-
미해결
4.2 전역변수,정적변수~, 헤더파일에 extern을 붙였더니 오류가 났습니다
main.cpp파일 코드 #include <iostream>#include "Myconstants.h"using namespace std;void constants();int main(){ cout << "In main.cpp " << Constants::pi << "\t"<< &Constants::pi<<endl; constants(); return 0;} test.cpp파일 코드 #include <iostream>#include "Myconstants.h"using namespace std;void constants(){ cout << "In test.cpp " << Constants::pi << "\t" << &Constants::pi<< endl;} Myconstant.h 헤더파일 코드#pragma oncenamespace Constants{ extern const double pi(3.14); extern const double gravity(9.8);} 헤더파일에서 extern을 붙이면 오류가 나고extern을 빼면 오류가 안나고 잘 실행되는데이유가 무엇인지 궁금합니다extern을 붙여서 외부에서 가져다 쓰라고 명시해준건데오히려 오류가 나는게 왜그런지 모르겠습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
500에러 ( /hello )
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.윈도우10기반 환경에서 vsc로 실습을 따라하는 과정에 오류가 발생하여 질문드립니다.500에러가 코드상에 문제가 있을수도 있다는 말을 보고 코드도 다시 확인해보았지만아무리 봐도 잘못된 부분이 보이지 않아 문의드립니다. index.html파일을 잘 실행되는데 그 뒤에 /hello를 붙이면 저런 오류가 발생합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
클라이언트와 서버의 도메인이 다른 경우 쿠키 사용
클라이언트 도메인이 서버의 도메인과 다를 때 클라이언트에서 요청 받은 후 Set-Cookie로 응답 보낸 쿠키를 클라이언트 도메인에서도 접근이 가능한가요?
-
미해결
4.2 전역변수,정적변수,내부연결,외부연결
43:50~46:17문제점:cpp파일에서 pi를 쓸때마다 메모리가 새로 할당돼서메모리 낭비가 되고 있다(주소값이 달라지는것으로 확인함) 해결방안:pi를 담은 cpp파일을 새로 만들고 pi를 초기화한후 헤더파일에선 선언만 하면메모리주소가 고정돼서 메모리 낭비를 줄일수 있다 제가 이해한것:pi를 담은 cpp파일에서 pi를 초기화해서 주소값을 고정시키고헤더파일엔 pi를 선언만 한 후내가 쓰고싶은 cpp파일에 헤더파일을 포함하게 되면이미 pi에는 초기화를 한 cpp파일 내에 고정된 주소값이 있고 내가 이걸 외부에서 가져오기만 하기때문에주소값이 변하지않는다 이렇게 이해했는데 이게 맞는지 궁금합니다 그리고 만약 cpp파일을 새로 만들지 않았을 경우그러니까 헤더파일에서 pi를 초기화했을 경우각 cpp파일마다 pi를 쓸 경우 pi의 주소값이 고정되는지도 궁금합니다그리고 왜 헤더파일에다가 초기화했을 경우각 cpp파일마다 pi의 주소가 변하는지도 궁금합니다
-
미해결풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
useRoutes() 오류
안녕하세요. 상품목록 페이지 만들기를 듣던 중 실행 오류가 있어 질문드립니다.routes.tsx를 재남님과 같은 방식으로 구현을 했지만app.tsx에서 useRoutes를 사용할 수 없다고 오류가 뜨며 작동이 되지않습니다.이경우 어떻게 해야할까요?여기서 elem를 불러오는 과정에서 오류가 발생합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
블로그 git 공유
Todo 앱 구현부분을 Option API와 Composition API 비교 용도로 참고하여 블로그 글을 쓰고 싶은데, 참조로 넣고 해당 소스를 조금 수정하여 사용하여도 될지 질문드립니다. 예제가 너무 좋아서 꼭 이 예제로 글을 써보고 싶습니다ㅠㅠhttps://github.com/pijoh3/Todo선생님 강의를 듣고 Vue3.0 버전에 맞춰 수정 및 브랜치를 따서 Composition API로 변경해볼 예정입니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
테이블 생성 관련 질문
1. 강의를 따라 하다 보면 중간 테이블의 이름이product_product_tags_product_tag라고 만들어지는데중간 테이블의 이름은 어떤 걸 기준으로, 어떤 규칙으로 만들어지는 건가요?2. 자동으로 생성된 중간 테이블의 이름을 임의로 변경해도 되나요?3. 지금 만들어진 테이블들은 저희가 만들어 놓은 entity 파일을 기준으로서버를 실행하면 TypeOrm 이 만들어 주는 게 맞는 거죠?
-
해결됨초보자를 위한 IT 인프라의 이해
RAID에 대한 강의자료는 어디에서 확인할 수 있을까요?
RAID에 대한 강의자료는 어디에서 확인할 수 있을까요?
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
외부 자료 학습중 질문사항-메타데이터 추출 불가한 상황
안녕하세요. 강사님 제가 다른 자료를 통해서 학습을 하다가 질문 사항이 발생했습니다.질문 내용은 진행사항 아래에 질문사항으로 정리한 부분에 있습니다. 해당 자료는 vulnhub에서 제공하는 모의해킹 연습용 이미지이므로 실제 사이트를 대상으로 하는 공격은 진행한 것이 아닙니다.그리고 공격은 제가 개인PC에 구성한 가상 환경내에서만 안전하게 진행하였습니다. [정보 수집 활동으로 알아낸 정보]목적지 IP : 10.0.2.15DBMS : MySQLversion : 4.1.22(Blind SQL Injection 으로 찾아냈습니다.)Database name : webapp(Blind SQL Injection 으로 찾아냈습니다.)[진행사항]-> 해당 Username 입력 받는 곳은 SQL Injectino 취약점이 존재합니다.-> 그래서 SQL Injection 공격이 성공하여 administrator 계정으로 접속하면 위와 같은 화면을 보여 줍니다.-> ping을 쏘아보내는 화면을 보여 줍니다. 이걸 burp suite로 캡처하면 아래와 같습니다.[request 화면]-> burp suite에서 캡처한 request 화면이고[response화면]-> 쿼리 입력이 True(참)일 경우 ping을 보내는 화면 결과를 return하고 [false한 결과를 유도하는 request]-> request를 false를 유도하면[false한 결과를 받은 response]-> ping 관련 응답이 없습니다.-> 11번째 줄을 보면 index.php 로 나옵니다. 이런 상황에서 저는 아래와 같이 SQL Injection 공격 법을 결정하였습니다.Error Based SQL Injection(불가) : ID/PW 입력 창에 싱글쿼터만 입력하면서 Error 발생을 시켜서 DBMS 에러 메시지가 나오는지 확인했으나 나오지 않으므로 Error Based Injection은 불가Union Based SQL Injection(불가) : 입력에 대한 DB의 응답 값이 표현 된 부분이 없는 것 같아서 Union Based SQL Injection 도 사용 불가Blind SQL Injection(사용) : 입력 SQL Injection 구문이 False인 경우 ID/PW 입력 창(index.php), 입력 SQL Injection 구문이 True 일 경우 pingit.php 가 나오므로 Blind SQL Injection으로 MySQL 버전 정보를 얻기로 결정--> 정확히는 Response based Blind SQL Injection (참일 때 pingit.php가 response로 나오고 거짓을 경우에는 index.php가 response에 나오는 걸 이용) 이전에 uname=%27+or+6=length(version())%23 이 response에 pingit.php가 return 되는 걸 보면서 mysql 버전 길이가 6이라는 것을 확인했습니다.[Blind SQL로 MySQL 버전 정보 습득]-> 위의 정보를 intruder를 이용해서 MySQL 버전 정보를 습득 했습니다.(예시-1 : version의 세번째 글자 구하기)-> ascii값 49로 '1' (예시-2: version의 네번째 글자 구하기)-> ascii값 46, '.'(온점) [질문사항]--> table 개수를 검색해보려고 하면 Response는 잘 못된 입력 값을 send했을 때 돌려주는 index.php 화면을 response합니다.--> 제가 request에 넣은 쿼리는 아래와 같습니다.select count(*) from information_schema.tables where table_schema='webapp'(querybox에서 실행한 예시)-> 정상적으로 숫자 비교가 되어서 pingit.it로 response가 돌아올 것이라고 생각 했습니다.-> 테이블이 1개라도 있으면 '0'보다는 크므로 response에 pingit.php가 속한 응답이 올 것으로 생각 했습니다.-> 이런경우는 웹페이지에서 select나 메타데이터 정보를 조회하는 information_schema.tables 같은 것들을 필터링하고 있다고 생각해야 하는지 궁금합니다.-> 그리고 위와 같은 명령어 들을 대체할 수 있는 것들을 검색해 봤는데 찾기가 어려웠습니다.좀 더, 대체 명령어를 잘 찾을 수 있는 Tip 같은게 있는지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
@Configutation 질문
ApplicationContext로 class를 등록하고 등록된 빈들을 조회해보니 싱글톤이 보장되는 것을 확인했습니다.근데 @Configuration을 사용하지 않고 @Bean만 사용하면 주입받는 객체들이 싱글톤을 유지하지 않게되는데@Configuration이 주입관계있는 빈들까지 싱글톤을 보장해주는 것 맞나요..?