묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
xpath 질의
강사님 매번 강의로 도움많이받고있습니다 감사합니다. 개인적으로 일전에 구글을 예를 들어 다양한 키워드에 따라 생성 텝메뉴들이 달라져서 고민을 많이하던때가있었는데'View탭 클릭하여 페이지넘어가기'강의와 같이 xpath 지정하였을때 '//*[text()="VIEW"]' 입력하면 되는것일까요?음 현재 네이버가 뷰 서비스를 폐지했는데 만약 블로그를 클릭한다면 '//*[text()="블로그"]' 를 입력하면 클릭이되나요?안되서여ㅜㅜ혹시 도움이될만한 고견주시면 감사드리겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2792번 보석상자 질문있습니다!
안녕하세요, 선생님 ! 2792번 선생님 코드에 질문이 있어 질문 남깁니다.check()에서 return n>=num이 약간 이해가 안됩니다.처음 저는 n>num이라고 생각했었습니다. n=num이 될 떄의 값이 최적해 겠구나 생각했었습니다.아니면 혹은 n>num일 떄도 정답이 될 수 있어서 그런 것 일까요?!?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 코드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문_재고수량초과() 테스트를 진행하는데 강의영상에서는 의도적으로 틀린결과값이 나오는 것을 예측하는 경우에도 초록불이 뜨는데, 저는 빨간불이 뜨고 테스트가 실패했다고 뜹니다. 이유를 알고 싶습니다.참고로 저는 JUnit5로 실습하고 있습니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
세션 6부터 봐도 될까요?
안녕하세요 수업 잘 듣고 있습니다 JSON을 처음 접하게 되었는데 막히는게 너무 많이서 세션6 도커 부터 듣고 이후헤 AWS를 들어도 될까요?세션4 중간 까지 했습니다 구글링해도 에러를 해결 하지를 못해서 시간을 너무 많이 잡아 먹습니다
-
해결됨CPPG 자격증 취득 과정 (2025년)
개인정보 영향평가 결과 구분 문의 드립니다.
절차,체계, 현황, 증거로 구분하여 모두 충족하는 경우 이행, 일부 충족 부분이행, 모두 미충족 미이행으로 이해하였습니다. 쭉 읽다보니 19번 항목이 헷갈려서 문의 드립니다.개인정보의 열람, 정정/삭제, 처리정지 요청방법은 안내 : 이행불복 청구 절차 및 방법은 안내하지 않음 : 미이행이럴 경우 부분이행으로 판단하는 것이 맞지 않은지?이 부분에서 영상 진행이 매끄럽지 못한 것 같아 문의 드리니 확인 부탁 드리겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B 시간복잡도
http://boj.kr/efeea39f5e6946e3a9982024980b4089이 코드의 최악의 시간복잡도를 board가 모두 'L' 인 경우에 n*m*bfs--->n*m*n*m이라고 생각했는데 맞게 계산할 것인가요?
-
해결됨홍정모의 따라하며 배우는 C++
강의 내용과 object slicing에 대해 질문이 있습니다.
지금까지 들은 강의에서는 매개변수에 &가 있는 경우에는 call by reference로 동작하고, copy를 하지 않는 방식으로 알고 있었습니다. 그리고 call by value로 동작하는 경우에는 상황에 따라서 object slicing이 발생할 가능성이 있다고 이해했었습니다.그런데 강의에서 아래 코드처럼 &이 있는데 object slicing이 발생하신다고 하셔서 몹시 혼란스럽더라구요.catch(Exception& e) { e.report(); }그래서 다른 분들의 질답글과 C++ 표준(n3690을 참고했습니다)을 찾아봤습니다.Throwing an exception copy-initializes (8.5, 12.8) a temporary object, called the exception object. The temporary is an lvalue and is used to initialize the variable named in the matching handler (15.3). If the type of the exception object would be an incomplete type or a pointer to an incomplete type other than (possibly cv-qualified) void the program is ill-formed. Evaluating a throw-expression with an operand throws an exception; the type of the exception object is determined by removing any top-level cv-qualifiers from the static type of the operand and adjusting the type from “array of T” or “function returning T” to “pointer to T” or “pointer to function returning T,” respectively- C++ ISO n3690 15.1/3내용을 보니 throw를 하게 되면 exception object(예외 객체)라는 것을 copy-initialize하고, 해당 객체는 l-value이고 일치하는 handler에서 변수를 초기화하기 위해 사용된다고 되어 있었습니다.그리고 영상에서 rethrow 시 throw; 처럼 피연산자가 없는 경우 object slicing이 발생하지 않는다고만 나와서 설명이 좀 빈약한 것 같아 더 찾아봤습니다.A throw-expression with no operand rethrows the currently handled exception (15.3). The exception is reactivated with the existing exception object; no new exception object is created. The exception is no longer considered to be caught; therefore, the value of std::uncaught_exception() will again be true.- C++ ISO n3690 15.1/8throw;의 경우 새로운 exception object를 생성하지 않고, 기존 exception object로 다시 예외를 활성화시킨다고 나와있었습니다.좀 정확하게 확인하려고 예외 객체의 주소를 각 시점에 출력하도록 했습니다.class MyArray { private: int m_data[5]; public: int& operator [](const int& index) { if (index < 0 || 5 <= index) { ArrayException e; cout << &e << endl; throw e; } return m_data[index]; } }; void doSomething() { MyArray my_array; try { my_array[100]; } catch (Exception& e) { cout << "doSomething()" << endl; cout << &e << endl; e.report(); throw e; } } int main() { try { doSomething(); } catch (Exception& e) { cout << "main()" << endl; cout << &e << endl; e.report(); } return 0; }[] 연산자로 범위를 벗어난 인덱스에 접근했을 때 예외 객체를 생성하고doSomething() 함수의 catch() 내에서main() 함수의 catch() 내에서이렇게 확인했는데, 위에서 확인했던 내용대로 주소가 모두 달랐습니다. 그리고 doSomething() 에서 rethrow 를 throw;로 변경하니 2번과 3번의 출력 주소가 같았습니다.종합해보면 throw로 전달되는 객체의 복사 여부는 catch()의 &에 따라 달라지는 것이 아니고, throw에 피연산자가 생략되어 있냐 없냐로 달라지는 것 같더라구요. 그 마저도 throw; 처럼 작성하는 것은 rethrow할 때만 가능한 것 같았습니다.다음으로 그렇다면 왜 catch()에서 참조를 이용하는지 아래 링크를 참고했습니다.https://wiki.sei.cmu.edu/confluence/display/cplusplus/ERR61-CPP.+Catch+exceptions+by+lvalue+reference참고해보니 예외 클래스가 상속 관계를 가지는 경우, 예외 객체를 초기화하는 과정에서 object slicing이 발생할 수 있기에 &를 추가한다고 되어 있었습니다.실제로 주소 출력을 했던 테스트 코드에서 doSomething()에서는 throw;로 작성하더라도 main()의 catch()에서 &을 지우니 2번과 3번의 출력 주소가 달라졌습니다.그리고 생각을 해보니 throw는 expression이지 함수는 아니고, 더 찾아보니 'throwing by reference' 같은 개념은 존재하지도 않더라구요.결론적으로 함수에서와 throw 문에서의 &는 참조라는 같은 의미로 사용되지만, 함수의 매개변수에 사용하는 &는 call by reference로 작동하기 위한 것이고 catch()에서 사용하는 &는 object slicing을 피하기 위한 것이라고 이해하면 될까요?글이 조금 난잡할 수도 있는데, 읽어주셔서 감사합니다.
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
pip명령이 vscode 명령프롬프트에서만 않되네요
그냥 명령프롬프트 띄우면 잘되는데vscode의 터미널 명령프롬프트에서만 안되네요 vs내에 인터프리트 경로까지 잡아줬는데도 안되요 'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 라고 뜹니다 왜일까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 108p insert, erase
안녕하세요 🙂 큰돌님교안 108p에 있는 예제코드를 제가 insert와 erase를 이해하기 위해서 아래와 같이 변경하였는데요.#include <bits/stdc++.h> using namespace std; list<int> a; void print(list<int> a) { for (auto it : a) cout << it << " "; cout << '\n'; } int main() { for (int i = 1; i <= 3; i++) a.push_back(i); // a = 1 2 3 for (int i = 1; i <= 3; i++) a.push_front(i); // a = 3 2 1 1 2 3 auto it = a.begin(); it++; a.insert(it, 1000); // 3 1000 2 1 1 2 3 a.insert(it, 2000); // 3 1000 2000 2 1 1 2 3 print(a); it = a.begin(); it++; cout << "*it : " << *it << '\n'; a.erase(it); print(a); cout << "*it : " << *it << '\n'; a.pop_front(); a.pop_back(); print(a); cout << a.front() << " : " << a.back() << '\n'; a.clear(); return 0; }다음과 같이 변경해서 출력하면,3 1000 2000 2 1 1 2 3*it : 10003 2000 2 1 1 2 3*it : 22000 2 1 1 22000 : 2이렇게 나오는데, insert와 erase 메서드 모두 매개변수로 전달받은 iterator에다가 각각의 기능을 실행한 뒤 그 다음 위치(그 다음 인덱스)를 가리키도록 바꿔주는 걸까요?제 예상으로는 출력의 두 번째 *it 이 2000으로 나올 것으로 예상했는데, 2가 나와서a.erase(it);를 했을 때, it이 인덱스 1을 가리켜서 1000을 지우고 난 뒤, 그 다음 인덱스인 2를 가리키게 돼서 2를 가리키게 된 것으로 이해하였는데 맞을까요??마찬가지로 위의 insert도 인덱스 1 위치에서 삽입을 한 뒤, it은 인덱스 2를 가리키게 되고, 또 insert 해서 마지막엔 it이 인덱스 3을 가리키는 로직으로 이해하였습니다! 혹시 이러한 로직이 맞다면, list만 이런 것인지 다른 자료구조의 insert도 이런지 궁금합니다!감사합니다.
-
미해결자바스크립트로 알아보는 함수형 프로그래밍 (ES5)
커리큘럼 관련 질문 입니다.
ES6 심화강의를 수강중인데 ES6 기본편 대신에 이 강의를 듣고 ES6심화 강의를 수강해도 될까요?? 바로 듣기에는 이해가 조금 어려워서요
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
섹션7 이후 Todo List 조회 실패
안녕하세요 강사님.섹션 7까지 강의를 잘 보고 따라했는데요.이상하게 Todo가 안나타납니다.getList에서 데이터 조회까진 다 되고setServerData에도 값을 넣어주는데요.return에서 servaData를 뽑으려니 뽑히지가 않네요.그래서return ({serverData})만 해도 값이 안나옵니다.. 콘솔엔 뽑을 수 있게 오브젝트로 나오는데.. 혹시 추측되는 이유가 있으실까요?아래 깃허브 주소도 첨부하겠습니다.https://github.com/Jack0215/react-mall-with-spring확인 해주시면 감사하겠습니다.
-
미해결스프링부트 시큐리티 & JWT 강의
jwt를통해 로그인을할때 User가 null값이 되어오류납니다
java.lang.NullPointerException: Cannot invoke"filesource.project16.model.SiteUser.getPassword()" because "this.siteUser" is nullat filesource.project16.auth.PrincipalDetails.getPassword(PrincipalDetails.java:24) ~[main/:na] 로그인할때 db에있는 올바른 username, password를 입력하였는데 이런 오류가 뜨네요. jwt의 토큰을 거치면서 username, password 정보가 null값이 되어버리는거 같은데,보통 어디에 문제가있어서 이러는걸까요? auth, jwt 폴더의 파일은 수정하지않고 원본그대로 썼습니다. @EnableWebSecurity //모든 요청URL이 스프링 시큐리티의 제어를 받도록함. 기본 스프링 필터체인에 등록 @Configuration public class SecurityConfig { @Autowired private CorsConfig corsConfig; @Autowired private UserRepository userRepository; @Autowired private UserDetailsService userDetailsService; @Bean public SecurityFilterChain configure(HttpSecurity http) throws Exception { AuthenticationManagerBuilder sharedObject = http.getSharedObject(AuthenticationManagerBuilder.class); sharedObject.userDetailsService(userDetailsService); AuthenticationManager authenticationManager = sharedObject.build(); http.authenticationManager(authenticationManager); http .csrf(csrf -> csrf.disable()) .httpBasic(basic -> basic.disable()) .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .addFilter(corsConfig.corsFilter()) // cors 허용 설정 .addFilter(new JwtAuthenticationFilter(authenticationManager)) .addFilter(new JwtAuthorizationFilter(authenticationManager, userRepository)) .authorizeHttpRequests(requests -> requests .requestMatchers("/**").permitAll() //비로그인 접근가능페이지 .anyRequest().authenticated() //이상제외는 로그인필수 ) .formLogin(form -> form .loginPage("/login") //자동적으로 로그인페이지로감. 로그인페이지로 취급될주소 .defaultSuccessUrl("/main", true) //로그인 성공시 루트 url .permitAll() ) .logout(logout -> logout.permitAll()); return http.build(); } @Bean public BCryptPasswordEncoder bCryptPasswordEncoder() { return new BCryptPasswordEncoder(); } }
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
h2-console 왼쪽 메뉴에 테이블이 안보입니다.
빨간색 영역에 생성된 테이블이 있어야 하는데 안보입니다.refresh 버튼을 누르거나 로그아웃 후 로그인해도 안보입니다.show tables; 명령어를 실행하면 테이블은 존재합니다.
-
해결됨Do it! 알고리즘 코딩테스트 with C++
백준 1722 교재 81 질문
해당 문제를 푸는 알고리즘에 대해 더 자세한 설명이 필요할 것 같습니다.K번째 순열 출력할때, 왜 k와 (n-1)!를 비교하는지 이해가되지 않습니다.
-
해결됨스프링 핵심 원리 - 기본편
OrderApp코드에서 new MemoryMemberRepository에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]OrderApp에서 appCofig.memberService()와 appCofing.orderService() 를 실행하고, memberService.join과 orderService.createOrder를 실행하는데memberService()에서 생성된 MemoryMemberRepository와 orderService()에서 생성된 MemoryMemberRepository가 둘 다 new로 다른 객체라고 생각이 되는데 어떻게 createOrder에서 아이디가 1L인 회원을 조회할 수 있는건가요?join된 메모리와 createOrder에서 하는findById를 실행하는 메모리는 다른 MemoryMemberRepository 객체 아닌가요?
-
해결됨실전! FastAPI 입문
uvicorn 실행 에러
안녕하세요.학습 도중 재부팅하여 다시 uvicorn 실행하려고 하니ERROR: Error loading ASGI app. Could not import module "main". 다음과 같은 메세지가 나오면서 fast api 앱이 실행이 안되는데 이유가 궁금합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.js 실행순서
app.js 실행순서여러개의 라우터 app.get()이 있고미들웨어,listen이 있을경우1.listen 실행2.미들웨어 실행(next가 있어야 라우터가 실행된다)3.이때 라우터는 클라이언트가 전송한 주소를 위에서 부터 밑으로 확인해서 적합한 라우터 실행이런 순서라면 listen이 젤위에 있어야하는거 아닌가요?
-
미해결
EC2 로드 밸런서 HTTPS 트래픽 처리불능에 대해 질문합니다.
안녕하세요, 저는 지금 프론트엔드 개발자를 준비하고 있는 취업준비생입니다.포트폴리오를 준비하면서 웹 풀스택 개인 프로젝트를 진행중입니다. AWS를 이용한 프로젝트 배포과정에서 적용한 HTTPS 트래픽 처리 과정에서, EC2 Load Balancer에서 HTTPS 트래픽을 처리하지 못하는 문제를 해결하지 못해 질문합니다. 현재 프로젝트 배포를 위해 사용하고 있는 AWS 서비스들은 아래와 같습니다.S3EC2 (Load Balancer 포함)RDSRoute 53CloudFront 발생한 문제의 상세한 내용은 아래와 같습니다. 가상의 향수 쇼핑몰을 주제로 프로젝트를 만족스럽게 구현하였고, AWS를 이용하여 프론트엔드 / 백엔드 / 데이터베이스도 성공적으로 배포하였습니다. 그런데 회원 기능을 구현하면서 로그인 상태를 검증하고 지속할 방법으로 쿠키를 사용하였습니다. 문제는 기본적으로 사용되는 HTTP 프로토콜에서는 몇 가지 이유로 쿠키 사용이 불가능하여 배포 환경을 수정하면서 HTTPS를 사용해보기로 하였습니다. Route 53으로 도메인을 하나 구입하고, ACM으로 SSL 인증서를 발급받은 뒤.CloudFront를 이용해서 S3로 배포 중인 프론트엔드 파트를 구입한 도메인으로 연결함과 동시에 SSL 인증서를 적용하여 HTTPS를 사용하도록 설정했습니다. 그리고 EC2 환경에서도 HTTPS 사용이 가능하도록 Load Balancer를 설정, HTTP 리스너와 HTTPS 리스너를 설정하고 SSL 인증서를 적용한 뒤 EC2 인스턴스를 대상그룹으로 지정하여 백엔드로 들어오는 트래픽을 처리하도록 설정하였습니다. 그런데 이후 Load Balancer에서 헬스체크 테스트를 해보니, HTTP 트래픽은 백엔드에 잘 도달하여 응답까지 되는 반면 HTTPS 트래픽이 제대로 처리되고 있지 않는 결과를 확인하였습니다. 백엔드 로그와 Load Balancer 엑세스 로그 등을 확인해보니 헬스체크 요청이 백엔드에 제대로 도달하고있지 못하는 것을 확인하였습니다. 아래 항목들은 제가 문제를 해결하기 위해 수집한 정보들입니다.1. 로그에서 elb_status_code가 "502"이고, target_status_code가 "-"인 것을 보아서는 로드 밸런서가 HTTP 502 오류를 반환하고 있으며, 이는 대상에서 적절한 응답을 받지 못하고 있는 것으로 보입니다. 2. 네트워크 탭에서 확인된 정보에 따르면, 클라이언트(브라우저)는 OPTIONS 메소드를 사용하여 사전 요청(이른바 "preflight" 요청)을 서버에 보내고 있지만 이 사전 요청에 대한 응답이 없거나, 응답이 잘못되었을 때 502 오류가 발생할 수 있다고 합니다. 아래 항목들은 제가 문제를 해결하기 위해 시도했던 방법들입니다.1. Route 53 레코드 수정 : 프론트엔드에서 백엔드로 요청을 보내는 서브 도메인 app.essence-aura.com을 생성하고, 로드 밸런서 라우팅을 연결하였습니다.메인 도메인 essence-aura.com에서는 S3로 배포 중인 프론트엔드 정적 파일에 접근하며, 프론트엔드 내부적으로는 서브 도메인 app.essence-aura.com에게 백엔드 요청을 보내게 됩니다. 2. ACM 인증서 검증:발급된 SSL/TLS 인증서가 Load Balancer와 CloudFront에 제대로 적용되었고, 모든 서브도메인이 포함되어있으며 유효한 상태임을 확인하였습니다. 3. SSL/TLS 핸드셰이크 체크:Load Balancer 로그를 통해 SSL/TLS 핸드셰이크가 성공적으로 수행되고 있음을 확인했습니다. 4. 서버 시간 동기화:EC2 인스턴스의 시간이 NTP(chronyd)를 통해 정확히 동기화되어 UTC 기준으로 적용됨을 확인하였습니다. 5. 로드 밸런서 대상 그룹 설정: 로드 밸런서의 대상 그룹 설정을 HTTP와 HTTPS로 구성하였고, EC2 인스턴스에서 사용하는 포트인 3001 포트로 적용되고 있음을 확인했습니다. 6. EC2 인스턴스 포트 설정: 인스턴스 인바운드 규칙에 3001 포트가 허용중이며, SSH로 인스턴스에 접근하여 백엔드 서버가 포트 3001에서 수신 대기 중임을 확인했습니다. 7. 보안 그룹 및 네트워크 ACL 설정: EC2 인스턴스에서는 3001 포트를 허용하고 있으며, 네트워크 ACL 설정은 초기값 그대로 모든 트래픽을 허용하고 있는 상태임을 확인했습니다. 제 능력으로 가능한 선까지 문제 해결을 위해 노력했지만 며칠을 소모해보아도 문제가 해결되지 않아 질문해봅니다. EC2 Load Balancer에서 HTTPS 트래픽을 처리하지 못하는 이유가 무엇일까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유가 중단된것 같아요
안녕하세요 공유되었던 노션 페이지가 현재 접근할 수 없다 표시되어서 문의드립니다. 혹시 재공유 가능할까요?? 주소는 annie45671@gmail.com 입니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
컨트롤러 매핑이 안됩니다 ㅠㅠ
강의를 다듣고 혼자서 게시판을 구현하기 위해 작업중인데요 회원가입 기능을 만들기 위해서 index.html 화면에서 회원가입 버튼을 누르면 회원가입 뷰로 이동하게 할려고 했는데 컨트롤러가 매핑이 안되어 뷰가 보이지 않습니다. 어떻게 해결해야 할까요? https://drive.google.com/drive/folders/1qfnBICO1XDiGDS_BTleEBumPHN2bnJi6?usp=drive_link