선생님 안녕하세요. 9번째 퀴즈를 풀다가 예외처리 구문에 대한 궁금증이 생겨서 질문남깁니다. 선생님의 답안을 보기전 스스로 퀴즈를 풀어보았을 때의 제 코드는, class SoulOutError(Exception): pass try: chicken = 10 watiting = 1 while(True): 어쩌구저쩌구 break except ValueError: 어쩌구 except SoulOutError: 저쩌구 이런 식이었습니다. 당연하게도(?) 제대로 작동하지 않았고, 해설을 듣고나니 궁금증이 생겨서요. try 와 except 가 동일한 위계(?)위상(?)인 것은 알겠는데 그 위치가 while문 안으로 들어가야 한다는 것은 어떻게 알 수 있나요? try-except가 while문 안으로 들어가면 해당 while문 내에서만 영향을 미치고, while문 밖에 쓰일 경우 try-except 사이에 해당하는 모든 구문에 try-except가 영향을 미치는 것이 아닌가 싶었는데, (=결국 이 문제에서는 두 가지가 동일한 결과일 것이라고 예측함) 그렇다면 제가 쓴 코드도 정상작동 해야하는 것 아닌가요ㅠㅠ? 어디서 부터 잘못된 것인지...흑흑 여담이지만, 매 챕터 마지막에 있는 퀴즈를 풀다보니 선생님께서 왜 직접 해보는게 중요하다고 말씀하셨는지 이해가 갑니다. 강의를 들으며 코드를 그대로 따라서 작성해보는 것도 물론 좋은 공부가 되지만, 퀴즈를 풀면서 배운 걸 적용해보고, 그 과정에서 잘못 이해했던 부분을 발견하고 오류를 수정하며 배운 내용을 복습할 기회를 갖고 더 확실하게 알아갈 수 있네요. 이렇게 좋은 강의를 듣을 수 있게 해주셔서 감사합니다 :) 아, 그리고 한가지 작은 건의사항이 있다면 다음에 제작하시는 강의에서는 선생님이 작성하신 코드를 다운받을 수 있었으면 좋겠습니다! 강의 후반부로 갈수록 코드가 길어져서 전체 코드를 확인하며 제 코드의 오류를 찾고 싶을 때 동영상을 이리저리 넘기면서 확인해야하는 약간의 어려움이 있더라구요. 기본편을 완강하고 다음에 나올 활용편도 꼭 듣고싶은 의지를 불태우며 바래보는 아주 작은 소망입니다...☞☜
MQTT 사물인터넷 통신 프로젝트 (Arduino, MQTT, Node.js, mongoDB, Android)
예를들어 온도센서를 여러군데 설치했습니다. mosquitto에서 topic을 (tmp1, tmp2, tmp3, tmp4, tmp5 ....) 이런식으로 설정되어 있고 각각의 topic에 각각의 온도정보를 담고 있습니다. 그렇다면 Node js에서 다음 부분을 어떤식으로 수정을해서 mongodb에 저장을 해야하나요? (예제부분을 가져온 것입니다.) //MQTT서버 접속 및 DHT11 데이터 읽기. var mqtt = require("mqtt"); var client =mqtt.connect("mqtt://192.168.0.10"); client.on("connect", function(){ client.subscribe("dht11"); }); client.on("message", function(topic, message){ var obj=JSON.parse(message); obj.created_at=new Date(); console.log(obj); //mongodb에 DHT11 정보를 저장하는 부분. var dht11=dbobj.collection("dht11"); dht11.save(obj, function(err,result){ if(err) console.log(err); else console.log(JSON.stringify(result)); }); });
php.ini 설정을 함수로도 설정을 하던데, 보통 그러면 일단 php.ini 를 파일을 만들어서 함수로 셋팅을 하기도 하나요? 그리고, 이 강의가 지금 함수형으로 구현들을 해보는데 서비스를 할때 함수 지향적으로도 해도 괜찮을까요? 추후에 객체 지향 강의도 하신다고는 하셨는데, 제가 서비스를 할려면 기다려야 하는지 느낌적인 질문을 하겠습니다. 그리고 보안은 가르쳐주신 대로만 해도 웹서비스 할때 기본적인건 갖추어져 있는지도 궁금합니다!! ㅎㅎ ps. 이강의 php 이지만, 내용적으로 웹 전반적인 이해를 도와주기에 좋은 강의인거 같습니다.
선생님 안녕하세요. 사용자 정의 예외처리 강좌를 공부하다가 궁금한 점이 생겨 질문드려요. BigNumberError 클래스를 생성하면서 Exception 클래스를 상속받는다고 하셨는데, 상속은 부모클래스의 내용을 자식클래스가 갖게되는 것이라고 배웠습니다! 해당 코드 내에서는 Exception이라는 클래스가 따로 정의되지 않았지만 사용자 정의 예외처리를 할 때에는 항상 괄호안에 Exception 을 적어주면 되는 건가요? (내장함수와 비슷한 개념으로 이해하면 될까요?) 정리하자면, 다음과 같은 사용자 정의 에러 구문에서 class BigNumberError(Exception): BigNumberError ← 이 부분은 제가 임의로 지정할 수 있고 (Exception): ← 이 부분은 사용자 정의 예외처리를 위해서 고정적으로 사용되는 부분 맞는지요?
안녕하세요. 샘플강의 보고 감명받아 영환님 모든 강의를 수강하고 몇일 전 완강을 했습니다. 좋은 강의 다시 한번 감사합니다. 다름이 아니라 문의드릴 내용은 다음과 같습니다. Dto 설계와 구현인데요 public class ScheduleDto { ... private List < WatchDto > watchs ; @ QueryProjection public ScheduleDto (... , List < WatchDto > watchs ) { ... this . watchs = watchs; } 위와 같이 Dto구성하고, 검색 Repository에서 아래와 같이 watchs 를 구성한다고 했을때 @ Override public Page < ScheduleDto > searchPage ( ScheduleSearchCond cond , Pageable pageable ) { List < ScheduleDto > content = qf . select ( new QScheduleDto ( ... schedule . watchs // << [이부분 구성을 어떻게 처리해야하는지 ??] )) . from (schedule) . fetch (); schedule.watchs는 List 인데, 어떻게 작성되어야 하는지 궁금합니다. 그리고 Dto 설계상 "List<someDto> xxx" 로 멤버변수를 만들면 안되는지도 궁금합니다. 강의에 해당 예시가 안보여서, 설계가 문제있는지도 궁금해서요. 아무쪼록 요즘같은 시기에 건강 유의하시고, 다음 강의도 기대하겠습니다. 개인적으로는 결제 관련 백엔드 강의면 좋겠다 싶은 희망사항도 있습니다. 수고하세요 ^^
학습노트 조회 / 생성은 저 슬래쉬가 들어가는데 삭제는 그냥 인자값만 주는 이유가 있나요? api 문서에도 GET /posts POST /posts GET /posts/{_id} PUT /posts/{_id} DELETE /posts/{_id} 이런식으로 다 posts가 붙는데.. delete는 따로 posts를 안붙히는건 그냥 api 규칙인지 알고싶습니다!
안녕하세요 선생님 강의를 듣다가 궁금한 점이 생겨 질문드려요! class 챕터의 super 강좌 03:35 즈음부터의 내용입니다. '두 개 이상의 부모 클래스를 다중 상속 받을 때에는 super()를 쓰면 순서 상 맨 마지막에 상속받는 클래스에 대해서만 __init__함수가 호출이 된다는 문제가 있기 때문에 다중상속을 할 때에는 ~ (생략)' 라고 설명이 나오는데, 강의 내용을 볼 때는 맨 마지막이 아닌 맨 처음에 상속받는 클래스에 대해서만 __init__함수가 적용되는 것 같은데 제가 잘못 이해한 것인가요?ㅠㅠ
안녕하세요! 질문이 있습니다. 4분15초에서 main.c 의 length가 저는 0이 나오네요? 그래서 그런지 gcc main.c 를 해도 Undefine reference to winmain@16 이라 하네요ㅠㅠ 무엇이 문제일까요? 그런데 run without debugging 을 하고하자 Length 도 생기고 실행파일도 만들어 집나다!
기존의 셀레니움 방식의 크롤링이 아닌, 이미 제가 사용하고 있는 크롬창에서 셀레니움으로 크롤링을 하고 있습니다. 아래 코드를 추가하니 크롬창 재사용이 가능하더라구요. options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") headless chrome으로 웹사이트를 띄워놓고 원격으로 디버깅을 하는데, 이상하게 특정 사이트에 접속이 안되는 문제가 생깁니다. headless chrome 모드를 끄고 일반적인 셀레니움으로만 사용하면 해당 사이트에 접속이 가능한데, headless chrome을 적용하기만 하면 아래와 같은 메시지와 함께 접속제한이 생기네요. Access Denied You don't have permission to access "http://www.coupang.com/" on this server." Reference #18.57da2317.1583518355.74a9211 혹시 이런 경우가 한번 발생하면, 해당 사이트는 headless chrome으로 접속을 계속 못하게 되는건가요?? 구글링과 해외 개발자 커뮤니티 등 닥치는대로 해결방법을 찾고 적용해보는데 도통 해결이 되지않아 이렇게 질문 올립니다. 인터넷에 알아보니 user-agent를아래와 같이 변경하라고 해서 적용해봤지만 유독 쿠팡 사이트만 계속 Access Denied가 뜹니다. 아래는 사용중인 크롬창에서의 headless chrome 테스트용 코드입니다. from selenium.webdriver.chrome.options import Options from selenium import webdriver import time path = '/Users/yoons/Documents/chrome/chromedriver' options = Options() options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument('window-size=1920x1080') options.add_argument('lang=ko_KR') options.add_argument(f'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36') options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome(path, options=options) TEST_URL = 'https://www.google.com/search?ei=ZspgXu77K8KnoATe3qCgCQ&q=basketball&oq=basket&gs_l=psy-ab.3.0.0l10.274346.277887..278777...2.3..0.337.1834.1j6j1j2......0....1..gws-wiz.....0..0i71j0i67j0i273.cDhByzynOnk' TEST_URL2 = 'https://www.coupang.com/' driver.get(TEST_URL) title_test = driver.find_elements_by_css_selector('#rso > div > div > div > div > div > div.r > a > h3')[0].text time.sleep(2) driver.switch_to.window(driver.window_handles[-1]) driver.get(TEST_URL2) print(title_test)
sequelize db:create Sequelize CLI [Node: 12.14.0, CLI: 5.5.1, ORM: 5.21.5] Loaded configuration file "config\config.json". Using environment "development". (node:19796) [SEQUELIZE0004] DeprecationWarning: A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed. ERROR: Access denied for user 'root'@'localhost' (using password: YES) 이런 에러 메세지가 납니다.ㅜㅜ 윈도우 사용중이며 어떻게 해결해야 할까요?
안녕하세요. 강의 너무 재미있게 보고있고 큰 도움이 되고 있습니다. 1. 랜덤포레스트를 공부하는데 n_jobs 라는 파라미터가 보입니다. 설명에는 n_jobs=-1이라고 하면 모든 CPU코어를 이용해 학습한다고 나오는데 -1로 설정하면 최대의 효율로 학습을 한다는건가요?? 만약에 다른 숫자로 설정하면 어떻게 되는지 궁금합니다. 2. 그리고 쥬피터 4.4 랜덤포레스트에서 grid_cv를 통해 rf_clf의 파라미터를 튜닝합니다. params = { 'n_estimators':[100], 'max_depth' : [6, 8, 10, 12], 'min_samples_leaf' : [8, 12, 18 ], 'min_samples_split' : [8, 16, 20] } 이걸 토대로 최적 하이퍼 파라미터를 확인하고, rf_clf1 = RandomForestClassifier(n_estimators=300, max_depth=10, min_samples_leaf=8, \ min_samples_split=8, random_state=0) 다시 n_estimators = 300으로 랜덤포레스트 분류기를 생성(?)하는데 n_estimators의 값이 바껴도 최적 하이퍼 파라미터 값으로 받은 나머지 파라미터들이 여전히 최적의 파라미터 값으로 사용될 수 있는건가요??? 항상 친절하고 빠른 답변 너무 감사합니다. 10만원이라는 비용이 굉장히 저렴하게 느껴질 정도로 만족스럽습니다. 감사합니다