묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
initialState가 제네릭 S인 이유가 잘 이해가 되지 않습니다.
안녕하세요, 항상 좋은 강의 감사드립니다.기존에 리덕스를 사용한 경험이 있어서 작성하신 리덕스 사용법에 대해서는 의문이 없으나ReducersMapObject의 제네릭 S가 initialState라고 말씀해주셨는데 해당 부분이 잘 이해가 되지 않습니다.제가 현재 이해한 로직으로는combineReducers자리에 ReducersMapObject<S, A>타입이 들어가고 ReducersMapObject<S, A>은 객체로서 해당 객체의 key값은제네릭 S의 key값을 K로 받고 해당 value값(S[K])을 Reducer의 첫번째 제네릭으로 ( Reducer<S[K], A>) 들어가 initialState 타입을 리턴해주는 함수타입이 되고 ReducersMapObject 객체의 value값 타입으로 적용되고있습니다. 하지만 아무리 강의를 반복해서 봐도 S가 initialState가 되는 인과관계가 파악이 안되고 있습니다 위의 로직은 전부 S가 initialState라는 약속하에 이해되는 로직인데 해당 약속을 어디서 파악할 수 있는지 혹시 제가 놓친 부분이 있을까요?어렴풋이 짐작해본 이유로는 createStore 함수를 실행할 때 두번째 인자로 initialState를 넣은 부분이 아닐까 싶은데해당 이유를 설명해주시면 감사하겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
종화 방귀 문제
제가 문제를 처음에 종화가 방귀를 꼈을 때 종화를 기준으로 상하좌우 한 칸 씩만 오염된다로 이해했는데 그런 것이 아니라 방귀를 끼는 순간 종화의 좌표를 기준으로 연결된 육지(숫자 1)들은 전부 바다(숫자 0)으로 변한다는 문제인거죠??
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 쇼핑 크롤링 1
강의 : 네이버 쇼핑 크롤링 1 , 11:14 시점에서 막힙니다. from bs4 import BeautifulSoup import requests keyword = input("검색할 제품을 입력하세요 : ") url = "https://search.shopping.naver.com/search/all?query={keyword}" user_agent = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36" headers = {'User-Agent': user_agent} req = requests.get(url, headers=headers) html = req.text # print(html[:1000]) 확인용 soup = BeautifulSoup(html, "html.parser") base_divs = soup.select("[class^=product_item]") # product_item 로 클래스 이름이 시작되는 클래스 # print(base_divs) print(len(base_divs)) for base_div in base_divs: title = base_div.select_one("[class^=product_link]") print(title.text) 우선 강의에서는 basicLis_item, basicList_link 로 했는데 현재 네이버 쇼핑몰에서는 product_item***, product_link*** 로 되어 있습니다. 아래 스샷처럼요. 그런데 코드를 치니까 이상한게 나와요 자꾸..이유가 뭘까요 ??
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인터페이스 강의를 듣고 궁금증이 생겼습니다.
1. interface클래스내에 정의된 메써드는 public abstract이고, 변수는 public static final이 자동으로 앞에 정의가 된다고 하셨는데 이건 고정인건가요? 다른 형태로 봐꿀 수 있나요?봐꿀 수 없다면 왜 그러한지가 궁금합니다. interface 클래스를 implements해주고 추상클래스를 extends 해주는 것은 둘 다 상속인건가요? 둘다 부모 클래스가 되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2주차 #4-2 재귀적으로 코드짜기
http://boj.kr/7226630a963848e3bdc6a61318877151짠 코드가 적절한가요?적절하다면 재귀함수는 기저사례가 필요하다고 했는데 제가 짠 코드에서 기저사례는 어디에 있나요?틀렸다면 어디를 어떻게 고치는게 좋을지 알려주셨으면 좋겠습니다.감사합니다
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
안녕하세요 선생님 매크로 F12 이슈 ..
F12 로 매크로 정의부를 보려고 했는데 파일을 찾을 수 없다고 합니다. 혹시 해결방법이 있을까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
셀레니움 정상 작동 되다가 오늘부로 갑자기 오류가 발생
안녕하세요. 강의를 잘 수강하고 있습니다.다름이 아니라 셀레니움으로 작성했던 코드들이 정상적으로 모두 잘 작동되다가 오늘부로 갑자기 오류가 발생하여 문의드립니다!오류를 해결하기 위해 버전 업그레이드도 모두 하였고, 재부팅도 해보았지만 셀레니움으로 작성했던 모든 코드들에서 맨 아래와 같은 오류가 발생했습니다 ㅠㅠ 코드는 아래와 같습니다.# -*- coding: utf-8 -*- # 외우는거 아님. 그냥 필요할 때 복붙 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) service = Service(executable_path=ChromeDriverManager().install()) browser = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 해당 주소 이동 browser.get("https://www.naver.com")오류 메시지는 다음과 같습니다.Traceback (most recent call last): File "c:\pratice_crolling\실습4_셀레니움 기본 설정\[기초복붙용]셀레니움 기본 설정.py", line 21, in <module> File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\chrome.py", line 39, in install driver_path = self._get_driver_path(self.driver) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\manager.py", line 30, in getdriver_path file = self._download_manager.download_file(driver.get_driver_download_url()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 40, in get_driver_download_url driver_version_to_download = self.get_driver_version_to_download() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\driver.py", line 51, in get_driver_version_to_download self._driver_to_download_version = self._version if self._version not in (None, "latest") else self.get_latest_release_version() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\drivers\chrome.py", line 62, in get_latest_release_version resp = self._http_client.get(url=latest_release_url) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 37, in get self.validate_response(resp) File "C:\Users\hyeonseok\AppData\Local\Programs\Python\Python311\Lib\site-packages\webdriver_manager\core\http.py", line 16, in validate_response raise ValueError(f"There is no such driver by url {resp.url}")ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790
-
미해결스프링부트 시큐리티 & JWT 강의
마지막 강의에서doFilterInternal jwtHeader 테스트
package com.cos.jwt.config.jwt; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.web.authentication.www.BasicAuthenticationFilter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; // 시큐리티가 filter를 가지고 있는데, 그 필터중에 BasicAuthenticationFilter라는 것이 있음. // 권한이나 인증이 필요한 특정 주소를 요청했을 때 위 필터를 무조건 타게 되어있음. // 만약 권한이나 인증이 필요한 주소가 아니라면 이 필터를 안타요. public class JwtAuthorizationFilter extends BasicAuthenticationFilter { public JwtAuthorizationFilter(AuthenticationManager authenticationManager) { super(authenticationManager); } //인증이나 권한이 필요한 주소요청이 있을 때 해당 필터를 타게 됨. @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { super.doFilterInternal(request, response, chain); System.out.println("인증이나 권한이 필요한 주소 요청이 됨."); String jwtHeader = request.getHeader("Authorization"); System.out.println("jwtHeader = " + jwtHeader); } }마지막 강의에서 해당 코드 작성하고, jwtHeader test해보려는데,저는 강사님과 다르게 GET요청보내면 콘솔에 "필터3"만 떠요!코드를 살펴보니, MyFilter3에 POST요청일 때만 돌아가도록 로직이 구현되었는데,제가 수업 중 놓친 걸까요? 작성된 코드로는 불가능한 결과물인 것 같아서요 ㅠ
-
미해결
하나의 트랜잭션에서 여러번 DB에 접근할 때 커넥션 풀 질문
서비스단의 하나의 메소드에는 @Transactional로 트랜잭션이 선언되었다고 가정하겠습니다. 여쭤보고 싶은 건 하나의 트랜잭션으로 묶여있는 서비스의 메소드에서 여러 번 리포지토리의 메소드를 호출하여 디비에 접근할 경우인데요.이때 커넥션풀은 하나의 커넥션만 쓰는지 아니면 리포지토리를 호출할 때마다 여러번 쓰는지 궁금합니다.프로젝트를 하다가 한방 쿼리로 가져와야 하나, 여러번 쿼리를 쏴서 가져와야 하나 고민하던 중에 질문드립니다.
-
미해결장박사의 블록체인 이해와 구조
안녕하세요 강의자료 받을 수 있을까 해서 질문 남깁니다.
안녕하세요 강의자료 받을 수 있을까 해서 질문 남깁니다. 오늘 수강신청했는데 앞으로 열심히 들어보겠습니다. s000715@naver.com 입니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MappingJackson2HttpMessageConverter가 JsonConverter인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MappingJackson2HttpMessageConverter가 JsonConverter인가요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
데드락 관련해서 질문이 있습니다. 루키스님!
데드락 관련해서 버그가 떠서 질문글을 남깁니다.윈도우 어플리케이션을 생성해서 윈도우 메인에 서버에게 C_LOGIN을 보내는 패킷을 생성했습니다. 밑은 해당 코드입니다. bool flag = true; while (true) { if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) { if (WM_QUIT == msg.message) break; if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { CEngine::GetInst()->progress(); CEditorObjMgr::GetInst()->progress(); ImGuiMgr::GetInst()->progress(); // 렌더 종료 CDevice::GetInst()->Present(); if (service->GetCurrentSessionCount() > 0 && KEY_RELEASE(KEY::A) && flag == true) { Protocol::C_LOGIN pkt; auto sendBuffer = ServerPacketHandler::MakeSendBuffer(pkt); sendBuffer = nullptr; flag = false; } } } return (int) msg.wParam; }A를 클릭해서 서버와 연결한 후에 X를 눌러서 윈도우 창을 닫았는데, 이후 이렇게 코어글로벌이 종료될 때, GSendBufferManager를 delete하는 부분에서 타고타고 들어가서 DeadLockProfiler가 DeadLock이 존재했다고, 알려줬습니다.Server에 OnConnected가 되었을 때, 패킷을 보내면 이런 문제가 일어나지 않았는데, 원하는 때, 원하는 키를 입력해서 패킷을 보내려고 하니까 문제가 일어나네요 ㅜㅜ문제를 알 수 있을까요? 프로토 버퍼를 사용해서 주고 받고 있습니다!
-
미해결제대로 파는 Git & GitHub - by 얄코(Yalco)
질문은 아니고 --decorate 인자를 안붙여도 되는 것 같네요
찾아보니 최근 git 버전에서는 --decorate 옵션이 켜진 상태로 나오는 게 기본값인 것 같습니다.거꾸로 --no-decorate 인자를 붙여보면 브랜치 이름이 안붙는 걸 확인할 수 있습니다.출처: https://stackoverflow.com/questions/51009808/whats-the-difference-between-git-log-and-git-log-decorate
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 데이터베이스 연결시 포트번호 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]현재 8082번은 다른 프로젝트 때문에 application.properties에서server.port=8083 로8083번으로 바꿔놨습니다. 여기서 h2.bat 파일을 실행했을 때이렇게 이미 포트 번호가 사용 중이라는 오류가 뜹니다. 그래서 cmd에서netstat -ano | findstr :8083로태스크의 pid를 찾아 해당 태스크를 죽이고,H2 콘솔을 실행시키면당연히 스프링부트에서 이미 포트 번호가 사용 중이라는 오류가 뜹니다. 부트에서 포트 번호를 사용하면 H2에서 안되고H2에서 포트 번호를 사용하면 부트에서 안됩니다. 서버를 통해서 DB에 접속하려는 건데 왜 이런 오류가 뜰까요..서버에서 정상적으로 h2를 연결하고 싶습니다. 혹시 application.properties에서 server.port= 명령어로 임의로 포트를 바꿨기 때문인가요?
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
https 이후 git clone 도는 git pull
certbot을 통해 https를 적용한 뒤에 front 파일에 변경, 추가할 파일이 있어서 git pull origin main으로 시도해 봤지만 타임 아웃 에러가 걸리고 혹시 clone으로 하면 될까 해서 해봤지만 역시 타임아웃 에러가 걸렸습니다. 방법을 찾아보려고 열심히 구글링 2일간 해봤지만 도무지 개선이되질 않아서 ㅠㅠ 혹시 문제원인이나 해결방안 귀뜸해 주시면 감사하겠습니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
superputty 설정 이후 서버 연결 불가 에러메시지
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요, 현재 환경 구성 중입니다. 공유해주신 이미지를 다운로드 받아서 VirtualBox에서 구동하여 노드 상태를 아래와 같이 정상적으로 확인했습니다. 이후, SupperPutty 다운로드 및 설정 이후에 superputty에서 kubectl get nodes명령어 수행 시, 서버에 연결할 수 없다는 에러 메시지가 나왔습니다.가상 머신에서도 같은 에러 메시지가 떴습니다.정상적으로 구동 중이고, 포트 및 설정이 맞는 것으로 보이는데 갑자기 연결이 안되는 이유가 무엇일까요?(다른 설정은 변경없이 superputty 설치 이후에 서버 연결 불가 메시지 발생) port설정은 모두 알려주신대로 되어있는 것을 확인했는데, 제가 놓치고 있는 부분이 뭘까요?감사합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 열거형에서 이해가 잘 안되는 부분이 잇습니다.
1. HD, FHD, UHD를 열거 클래스 Resoultion의 열거값이라고 부르면 되나요? HD(1280), FHD(1920), UHD(3840); 이 코드에서 괄호안에 있는 것들은 뭐라고 부르면 되나요?아래 코드에서 width 가 괄호안의 숫자가 될 수 있는 지 이해가 안됩니다 ㅠ. 조금 더 설명해주실 수 있을까요?enum Resolution { HD(1280), FHD(1920), UHD(3840); private final int width; Resolution(int width){ this.width = width; } public int getWidth() { return width; } }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
ESLint 에러가 안나옵니다.
08-ESLint & Prettier 강의를 보는 중인데 5분 27초 경에 강의 에서 나오는 eslint 에러가 저는 안나옵니다. eslint가 적용이 안되고 있는걸까요?강의 화면제 vscode 화면
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-V 질문입니다.
안녕하세요 큰돌님!기존 답안과 차이점은 조건에 해당하는 재귀함수만 호출하는 대신, 함수 시작(line13) 에서 시간을 검사하여, 배제한다~~!! 할 수 있도록 하였는데요...왜 틀린 답안인지... 가르침 부탁드립니다 ㅎㅎhttp://boj.kr/a97107fe0c2d4574a2b852b398a10ecd감사합니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
for 루프에서 튜플 사용
[print(col) for (col, ) in scoredict.items()]for (i, row) in score_df.iterrows():여기서 for 루프에서 ()을 안쓰고 for i,row for col, 이런식으로 써도 되나요? 앞에서는 ()를 안쓴거같아서요