묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결타입스크립트 입문 - 기초부터 실전까지
git hub 관련 파일설치후 해당 파일이없음...
안녕하세요 타입스크립트 배우려고 github 파일복사후 npm으로 실행했는데요 learn-typescript 안에 폴더 getting-started가 없어요ㅜㅜ 그래서 터미널로 tsc index.ts 실행해도 에러나와서요 도와주세요..ㅜ
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
nav구현중에 frament_home이 기본이 아니라 fragment_bookmark가 첫화면
nav구현중에 frament_home이 기본이 아니라 fragment_bookmark가 첫화면입니다. 어느부분을 봐야할까요? main_nav.xml <fragment android:id="@+id/homeFragment" android:name="com.bokchi.mysolelife.fragments.HomeFragment" android:label="fragment_home" tools:layout="@layout/fragment_home" > <action android:id="@+id/action_homeFragment_to_bookmarkFragment" app:destination="@id/bookmarkFragment" /> <action android:id="@+id/action_homeFragment_to_storeFragment" app:destination="@id/storeFragment" /> <action android:id="@+id/action_homeFragment_to_talkFragment" app:destination="@id/talkFragment" /> <action android:id="@+id/action_homeFragment_to_tipFragment" app:destination="@id/tipFragment" /></fragment><fragment android:id="@+id/bookmarkFragment" android:name="com.bokchi.mysolelife.fragments.BookmarkFragment" android:label="fragment_bookmark" tools:layout="@layout/fragment_bookmark" /><fragment android:id="@+id/storeFragment" android:name="com.bokchi.mysolelife.fragments.StoreFragment" android:label="fragment_store" tools:layout="@layout/fragment_store" /><fragment android:id="@+id/talkFragment" android:name="com.bokchi.mysolelife.fragments.TalkFragment" android:label="fragment_talk" tools:layout="@layout/fragment_talk" /><fragment android:id="@+id/tipFragment" android:name="com.bokchi.mysolelife.fragments.TipFragment" android:label="fragment_tip" tools:layout="@layout/fragment_tip" /> 입니다. 더 필요한 파일이있다면 답변부탁드립니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
선생님, 스크롤이 안됩니다. 도와주세요.
안녕하세요. 아래와 같이 코드를 짰는데 스크롤 하는 부분에서 더이상 진행이 안되는거 같습니다. 스크롤 하는 부분 소스를 봤는데 특이점은 못찾겠습니다. 선생님, 아래 소스 확인 요청 드립니다. 참고로 제 환경은 macOS 환경이고, Chrome 버전 100.0.4896.60 입니다. 물론 webdriver 도 동일 버전으로 맞춰서 하고 있습니다. 아래 소스 올려드립니다. from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # 웹브라우저 생성 browser = webdriver.Chrome('/Users/yuheewon/Downloads/chromedriver') # 웹사이트 열기 browser.get('https://www.naver.com') browser.implicitly_wait(3) # 로딩이 끝날 때까지 3초까지는 기다려줌 # 쇼핑 메뉴 클릭 browser.find_element_by_css_selector('a.nav.shop').click() time.sleep(3) # 검색창 클릭 search = browser.find_element_by_css_selector('input.co_srh_input._input') search.click() # 검색어 입력 search.send_keys('아이폰 13') search.send_keys(Keys.ENTER) time.sleep(3) # 스크롤 전 높이 before_h = browser.execute_script("return windows.scrollY") # 무한스크롤 기본 로직 while True : time.sleep(2) # 맨 아래로 스크롤을 내린다. browser.find_element_by_css_selector("body").send_keys(Keys.END) # 스크롤 사이 페이지 로딩 시간 time.sleep(1) # 스크롤 후 높이 after_h = browser.execute_script("return windows.scrollY") if after_h == before_h : break before_h = after_h # 상품 정보 리스트 # items = browser.find_elements_by_css_selector(".basicList_info_area__17Xyo") # for item in items : # name = item.find_element_by_css_selector(".basicList_title__3P9Q7").text # price = item.find_element_by_css_selector(".price_num__2WUXn").text # link = item.find_element_by_css_selector(".basicList_title__3P9Q7 > a").get_attribute("href") # print(name, price, link) 이렇게 했을때 오류메세지는 아래와 같습니다. /Users/yuheewon/Documents/PythonWorkspace/999_두번째_스터디_자료/03_네이버_쇼핑_크롤링/01_셀레니움_무한스크롤.py:8: DeprecationWarning: executable_path has been deprecated, please pass in a Service object browser = webdriver.Chrome('/Users/yuheewon/Downloads/chromedriver') /Users/yuheewon/Documents/PythonWorkspace/999_두번째_스터디_자료/03_네이버_쇼핑_크롤링/01_셀레니움_무한스크롤.py:15: DeprecationWarning: find_element_by_css_selector is deprecated. Please use find_element(by=By.CSS_SELECTOR, value=css_selector) instead browser.find_element_by_css_selector('a.nav.shop').click() /Users/yuheewon/Documents/PythonWorkspace/999_두번째_스터디_자료/03_네이버_쇼핑_크롤링/01_셀레니움_무한스크롤.py:19: DeprecationWarning: find_element_by_css_selector is deprecated. Please use find_element(by=By.CSS_SELECTOR, value=css_selector) instead search = browser.find_element_by_css_selector('input.co_srh_input._input') Traceback (most recent call last): File "/Users/yuheewon/Documents/PythonWorkspace/999_두번째_스터디_자료/03_네이버_쇼핑_크롤링/01_셀레니움_무한스크롤.py", line 28, in <module> before_h = browser.execute_script("return windows.scrollY") File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 879, in execute_script return self.execute(command, { File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 425, in execute self.error_handler.check_response(response) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.JavascriptException: Message: javascript error: windows is not defined (Session info: chrome=100.0.4896.60) Stacktrace: 0 chromedriver 0x000000010464a3d9 chromedriver + 5104601 1 chromedriver 0x00000001045dabf3 chromedriver + 4647923 2 chromedriver 0x00000001041cbb48 chromedriver + 392008 3 chromedriver 0x00000001041cea87 chromedriver + 404103 4 chromedriver 0x00000001041ce926 chromedriver + 403750 5 chromedriver 0x00000001041cf4ed chromedriver + 406765 6 chromedriver 0x0000000104231cb3 chromedriver + 810163 7 chromedriver 0x000000010421e6c2 chromedriver + 730818 8 chromedriver 0x0000000104231091 chromedriver + 807057 9 chromedriver 0x000000010421e5b3 chromedriver + 730547 10 chromedriver 0x00000001041f4139 chromedriver + 557369 11 chromedriver 0x00000001041f5165 chromedriver + 561509 12 chromedriver 0x000000010460939d chromedriver + 4838301 13 chromedriver 0x0000000104621cde chromedriver + 4938974 14 chromedriver 0x0000000104626b5e chromedriver + 4959070 15 chromedriver 0x000000010462294a chromedriver + 4942154 16 chromedriver 0x00000001045fe33c chromedriver + 4793148 17 chromedriver 0x000000010463c3b8 chromedriver + 5047224 18 chromedriver 0x000000010463c53f chromedriver + 5047615 19 chromedriver 0x0000000104651705 chromedriver + 5134085 20 libsystem_pthread.dylib 0x00007ff8017644e1 _pthread_start + 125 21 libsystem_pthread.dylib 0x00007ff80175ff6b thread_start + 15
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
강의 링크 모음에 10번 url 주소 오타입니다
10. 2019년 회고, 2020년 회고의 주소https://johngrib.github.io/wiki/review-2019/에서 /review-2019/부분이 /review/2019/ 주소로 되어야 들어가집니다https://johngrib.github.io/wiki/review/2019https://johngrib.github.io/wiki/review/2020수정 부탁드립니다
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
apt update 실패
ping, dns, 인터넷 서핑 등은 다 되는데... sudo apt update만 실행 되다가 실패하네요... pfsense 뒷단에 맞물려 있는 모든 ubuntu 계열 VM에서만 같은 증상입니다. 왜 그런걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
외래키로 두개의 DB테이블을 연관시킬때 "외래키-주키" 가 좋을까요, "외래키-유니크키"가 좋을까요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 김영한님께서 강의중 하셨던 말이 기억이 안나 이렇게 질문을 올립니다. 그때 김영한님께서 강의중에 두개의 테이블을 외래키로 연관시킬때 "외래키-주키"로 연관시키는 것 보다 "외래키-유니크키"로 연관시키는 것이 좋다고 하셨던걸로 기억합니다. 그런데 이에 대한 이유가 기억이 나지 않습니다. 제가 정말 많이 생각하고 검색해봤는데 도무지 찾을수가 없어 지푸라기라도 잡는다는 심정으로 여기에 질문을 올려봅니다.
-
미해결타입스크립트 입문 - 기초부터 실전까지
질문이요
class Person { 에서 Person에 마우스를 올리면 class Personinterface Person 이렇게 나오는데 왜 계속 같은 폴더내의 다른 파일에서 선언한 것들을 참조 하나요..ㅠㅠ
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
extension에서 init 가능여부
선생님 안녕하세요 extension에서 질문이 있습니다. 1. Guest, Vip 도 Member처럼 Init을 하고싶을 때 extension에 넣으면 안되는건가요? extension UserInfo { init(name: String, age: Int) { self.name = name self.age = age } func isAdult() -> Bool{ if age > 19 { return true } return false } } ===================================== 2. extension에 init을 못넣는다면 세가지 class모두 init을 쓰고싶을 땐 어떻게 하는게 좋을까요? 3. extension에 넣을 수 있는 것과 없는 것이 대략적으로 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
h2 테이블 반영 안됨
혼자 개인으로 jpa 복습중입니다 그런데 로그 창에 sql 쿼리문도 확인했고 yml 도 들여쓰기도 잘되어있는데 h2에 반영이 안됩니다..ㅠ 도저히 원인을 모르겠어요 spring: datasource: url: jdbc:h2:./FirstPortfolio username: ssa password: sa driver-class-name: org.h2.Driver jpa: show-sql: true open-in-view: true hibernate: ddl-auto: create properties: hibernate: format_sql: truelogging: level: org.hibernate.SQL : debug org.hibernate.type : trace
-
미해결혼자 공부하는 머신러닝+딥러닝
군집화 전 시각화
말 그대로 과일 이미지 데이터를 KMeans로 군집화 하기 전에 데이터가 어떤 식으로 분포되어 있는지 산점도를 보고 싶은데, 이때 코드는 어떻게 구현해야 할까요?
-
미해결코딩으로 학습하는 리팩토링
파라미터와 이들을 가진 클래스
안녕하세요 기선님! 강의 항상 잘 듣고 있습니다. 오늘 궁금한 점은 파라미터 수를 줄이기 위해 해당 파라미터를 갖고 있는 다른 클래스를 의존해도 되는가 입니다 제가 작성한 코드 중 A 메소드에서 여러개의 파라미터를 받는데, 그 파라미터들이 한 엔티티 클래스의 필드들입니다. 그리고 이 A 메소드에서 사용되는 파라미터들이 또 다른 메소드들에서도 공통적으로 사용되고 있는 상황입니다. 그래서 저는 이 공통적으로 사용되는 파라미터를 가진 DTO 클래스를 만든 후 이 클래스에 해당 엔티티를 받는 팩토리 메소드를 만들어서 A를 비롯한 여러 메소드의 파라미터를 DTO 하나로 줄이는 리팩토링을 진행했습니다. 하지만 해당 엔티티 클래스는 필드가 10개가 넘고, 고작 이 엔티티의 필드 몇개를 사용하기 위해 의존하는 것은 다소 무거운 게 아닌가라는 고민이 생기는데, 기선님의 시각은 어떠한지 궁금합니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
13:45 Component
편집의 문제인거같은데 component폴더를 만드는건 어떤 강의에서 한건가용?
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
length 값 변환 논리에 대한 질문입니다.
var value = "ABC" 라는 변수를 선언해줬다고 했을 때 자바스크립트의 매커니즘은 그 값의 데이터 종류에 따라 자료형을 지정해준다고 이해를 했습니다. 즉 내부적으로 new String()이라는 값 할당이 이루어진 것이라고요. 그럼 1. var value = "ABC"라는 선언과 2. var value = new String("ABC")라는 선언의 차이는 변수의 value값을 사용할 때 1 = console.log(value); 2 = console.log(value valueOf()); (2번의 value는 [[]]형태 즉 프리미티브 값으로 저장되어 있기 때문) 의 방식으로 사용해야 한다는 차이가 있다고 이해를 했는데 맞게 이해한건가요?
-
미해결프론트엔드 개발자를 위한 웹팩
--output=public/output.js 오류 문의
`webpack.config.js` 사용하지 않고, `package.json`안에 `scripts`를 이용하여 강의 내용처럼 커스텀명령어 입력 후 $ npm run build 했는데 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build" : "webpack --mode=none --entry=src/index.js --output=public/output.js" }, [webpack-cli] Error: Unknown option '--output=public/output.js' 터미널에서 output 에러가 생기는데 원인이 뭔지 찾이 못해 문의드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Array 가 클래스인것같은데요. Array를 생성한곳이 없는것같은데
Array.sort 가바로되는것같은데 혹시 이유알수있을까요?
-
미해결더 자바, 코드를 조작하는 다양한 방법
안녕하세요.
제가 블로그에다가 수업 내용을 좀 정리하고 싶은데 출처를 이 강의로 명시한 상태에서 블로그를 작성해도 될까요?
-
미해결스프링 핵심 원리 - 고급편
빈 후처리 관련 질문
안녕하세요 영한님~아래와 같은 부분이 궁금하여 여쭤봅니다.#. 빈 후처리 - 스프링 컨테이너가 생성한 Bean에 대해서 스프링컨테이너에 저장하기 전에 처리되는 과정#. AnnotationAwareAspectJAutoProxyCreator ( 자동프록시 생성기 ) - implementation 'org.springframework.boot:spring-boot-starter-aop' 라이브러리를 통해서 자동 Bean으로 등록된 AnnotationAwareAspectJAutoProxyCreator 후처리기를 통해서 @AspectJ, Advisor 내 Pointcut을 확인하여 자동 Proxy 등록해줌.#. 정리를 위한 질문 1. AnnotationAwareAspectJAutoProxyCreator - 프록시만 등록해주는 빈 후처리기이므로 프록시 생성 목적이 아닌 다른 목적의 빈 후처리를 하기 위해서는 BeanPostProcessor 구현한 객체를 Bean으로 등록하여 처리하는 것이 맞는지 궁금합니다. 2. 실무에서 자주 사용하는 빈 후처리기는 주로 무엇이 있는지 주제만 알려주시면 찾아보겠습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임 오류가 왜 나는지 궁금합니다.
강사님이랑 거의 똑같이 코드 작성한 것 같은데 채점사이트에서 계속 런타임 오류가 납니다. IDE에서는 잘 돌아가는데 말이죠 ㅠㅠ import java.util.*; public class Main { public static int solution2 (String s, String t){ Map<Character, Integer> amap = new HashMap<>(); // window Map<Character, Integer> bmap = new HashMap<>(); for(int i = 0 ; i < t.length(); i++){ bmap.put(t.charAt(i), bmap.getOrDefault(t.charAt(i), 0)+1); } int LEN = t.length()-1; for(int i = 0; i < LEN; i++){ amap.put(t.charAt(i), amap.getOrDefault(t.charAt(i), 0)+1); } int lt = 0, cnt = 0; for(int rt = LEN; rt < s.length(); rt++){ amap.put(s.charAt(rt), amap.getOrDefault(s.charAt(rt), 0)+1); // 판정 if(amap.equals(bmap)) cnt++; // 윈도우 밀기 amap.put(s.charAt(lt), amap.get(s.charAt(lt))-1); if(amap.get(s.charAt(lt)) == 0) amap.remove(s.charAt(lt)); lt++; } return cnt; } public static void main(String[] args){ Scanner sc = new Scanner(System.in); String s = sc.next(); String t = sc.next(); System.out.println(solution2(s, t)); } }
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
VIVADO 어떤 파일을 받으면 되나요?
XILINX 홈페이지가 개편되어 강의 화면과 같은 페이지가 사라졌습니다. 현재는 ML 관련된 페이지만 있는 상태입니다. 이 버전을 설치해도 무난한 것인지요. 설치 과정에서도 WebPack 버전이 없고, ML 버전만 있습니다. 어떤 파일을 받으면 좋을지 답변 부탁드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
8분30초~8분50초쯤
/response-view-v2에서 화면에 hello!가 나오는 과정에서 responseViewV2(Model model) 여기 model값이 들어가지는 방식을 알고싶습니다.