안녕하세요. 공식문서를 보며 공부하던중에 interceptor부분에서 @useInterceptor(SuccessInterceptor)와 @useInterceptor(new SuccessInterceptor())의 차이에 대해 의문이 생겨 질문남깁니다. 동작에서는 똑같이 동작했는데 본질적으로 둘의 차이가 무엇인지 궁금합니다. 혹시 다른 차이점은 없는지 궁금합니다. 감사합니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하십니까. 강의를 들으면서 컬렉션 조회시 Optional로 감싸지 않는 이유가 제가 생각한게 맞는지 궁금해서 질문 남기게 되었습니다. 단건 조회시 데이터가 없으면 null이 반환되는데 , 이 null을 까딱 잘못 처리하면 예외가 터지기 때문에 더 안전한 Optional로 감싸서 사용을 많이 하는데요 , 반면 컬렉션 조회의 경우 조회한 데이터가 없어도 null이 아니라 빈 컬렉션이 반환되기 때문에 - 이러한 사실만 잘 인지하고 있으면 , 굳이 컬렉션을 Optional로 감싸지 않아도 컬렉션의 사이즈 정보를 가지로 처리를 할 수 있기 때문에 반환타입을 명시할 때 단건 조회의 경우 Optional로 감싸는 형태 를 많이 사용하고 컬렉션 조회의 경우 그냥 컬렉션 타입 그대로 명시 하는게 일반적인 흐름인지 여쭙고 싶습니다. 사소한 질문 들어주셔서 감사합니다.
안녕하세요! 강의 정말 잘 듣고 있습니다!!!! 본 영상에서 첫번째 예시로 기간 범위에 따른 조회(1997년 주문)를 예시로 들어주셨는데 -- 강사님 예시 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND b.order_date BETWEEN to_date('19970101', 'yyyymmdd') AND to_date('19971231', 'yyyymmdd'); 그런데 기간 범위를 설정할 때 1년 범위 설정 쿼리가 너무 길어보여서 다른 function들을 찾아서 적용해보았습니다. -- 수정1 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND date_part('year', b.order_date) = '1997'; (물론 이쪽은 연도나 월 등 딱 하나만 인덱싱이 가능하니 한계는 있어보이네요.) 혹은 -- 수정2 SELECT a.contact_name, a.address, b.order_id, b.order_date, b.shipped_date, b.ship_address FROM customers a JOIN orders b ON a.customer_id = b.customer_id WHERE a.contact_name = 'Antonio Moreno' AND b.order_date BETWEEN '1997-01-01' AND '1997-12-31'; 이렇게 작성해도 결과물은 같긴 하더라고요. 강사님이 들어주신 예시의 to_date()는 검색해보니 대부분 오라클에서 많이 언급되는 것 같은데, 이쪽 쿼리가 더 범용적으로 사용되기에 사용하신 것인지, 아니면 다른 function도 딱히 문제는 없는 것인지 궁금합니다. 강의 최고입니다!! 감사합니다.
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
영상에서는 div className 이후에 속성 값을 넣을 경우 자동완성이 되는거 같은데요. 제 비쥬얼 스튜디오에서는 자동완성이나 상세 내용이 안보이는데요. 따로 설정을 하신건가요? 그리고 div className에 속성 값을 넣으면 화면에 아무것도 표시가 되지 않습니다. 이건 왜그럴까요 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 어떨 떄에는 push로 넘겨줄때 name 과 params 를 같이 쓰고 어떨 때에는 name 만쓰는 이유가 무엇은가요 ㅠㅠ,,
HTML FORM을 사용할 때 GET 과 POST만 지원하여서 필요한 경우 컨트롤 URI를 작성해야한다고 하셨습니다. 여기서 궁금한점이 회원 삭제를 할때 POST를 사용하면 일어나는 과정이 궁금합니다. POST라고하니 삭제라는 동작이 어떻게 일어나는지 이해가 잘 되지 않습니다. DELETE는 메서드에 작성하면 삭제를 알아서 삭제를 해줄 것 같은데 POST는 감이 잡히지가 않습니다. 다른 처리를 해주어야한다면 어떤 것을 해야하는지 궁금합니다.
doSearch() 함수 42, 61번째 라인에서 전역변수 currentData 에 조회결과를 담음으로써 해당 함수가 종료된 이후에 doSort() 함수에서 currentData 를 조작할 수 있는 부분은 이해됐습니다. 궁금한 부분은 doSearch() 함수 43, 63 라인에서 renderTable() 함수의 파라미터로 userList, data를 넘기셨는데 currentData 를 넘겨도 상관없을까요?
강의 잘 듣고 있습니다 감사합니다! 혹시 스프링 2.7.3 사용, 자바 11 사용 중인데 java: package io.jsonwebtoken.io does not exist import io.jsonwebtoken.*; import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; 요 3개를 import 하지 못합니다... java: package io.jsonwebtoken.io does not exist 오류가 뜹니다... 바쁘신데 죄송합니다.
안녕하세요 원띵님! 좋은강의 정말 감사드립니다. 강의 내용을 보면서 실습하던중, 실습내용과 다르게 구현되는부분이 있어 질문 올리게되었습니다. Slash이펙트제작#1에서, 블렌더를 통해 스태틱메시를 제작하고 포토샵을 통해 위에는 동그라미, 아래는 별 텍스쳐를 가지고 와서 확인하는부분에서 위 아래가 영상과 다르게 나타납니다. 영상에서는 동그라미가 왼쪽, 별이 오른쪽으로 배치되지만, 실습진행중에는 위 아래로 정직하게(...)나타났습니다. UV맵핑과 관련한 문제인듯한데, 영상과 똑같이 제작했음에도 이런현상이 나타나서 어디서 잘못했는지 모르겠어서 질문드립니다. Slash 이펙트제작#5 에서, 머테리얼에서 Dynamic Parameter 노드를 입력후에 나이아가라 시스템에서 Dynamic Material Parameters 모듈을 통해 움직임을 구현하는 과정에서 데이터값을 -로 넣어도 뒤에서 휘두르는 느낌이 아닌, 텍스쳐 그림이 늘어져서 채워지는느낌이 나타납니다. 위 1번의 스태틱메시를 통해 진행하였기에 텍스쳐 모양과 Append 노드 연결부 역시 영상과 다르게 구현하였습니다. 텍스쳐는 90도 돌려서 진행하였고, Append노드 변수 역시 Y값이 아닌 X값을 조정하며 진행하였습니다. 나이아가라 시스템에서 커브값을 조정하는 영상을 촬영하였으나, 영상을 게시할수없어 머테리얼 제작부분에서 Dynamic Parameter노드의 값을 패러미터 노드로 변경하여 X값을 조정하여 게시합니다. X값이 0일때(원래상태) X값이 -0.3일때 X값이 -0.7일때 //X값이 양수로 갈때는 정상적으로 회전함을 확인했습니다. X값이 0.5일때 X와 Y값이 변경된것이 문제의 원인이라고 생각하지않지만, 그 외에는 영상과 동일하게 진행하였습니다. X,Y값이 뒤바뀌어서 그런것인지, 다른원인인지, 해결책은 무엇인지 여쭤보고자 합니다.
안녕하세요 강사님? 강사님께서 너무 질 좋은 수업을 제공해주셔서 정말 많은 도움을 받고 있습니다. 제가 구글 이미지 크롤링을 하는데, 제 나름대로 keyword, number 입력과 같은 여러 개를 추가했습니다. 그리고 강사님께서 알려주신 것처럼 했는데, 다운받아지는 처음 이미지만 큰 이미지이고 다른거는 다 작은 이미지더라구요. 코드에 어느 부분이 잘못되었는지 확인해주실 수 있으신가요? 그리고 강사님께서 이미지를 추출하실 때 img.n3VNCb로 클래스를 사용하시고 큰 이미지와 작은 이미지를 구분하기 위해서 리스트를 사용하셨는데, 지금 구글에서 이미지의 클래스를 확인해보니 'img.n3VNCb.KAlRDb'로 바뀐?것 같더라구요. 이거랑 같은 클래스를 가진 사진들은 모두 큰 사진밖에 없더라구요. 그래서 이걸 활용하고, target=driver.find_element(By.CSS_SELECTOR, 'img.n3VNCb.KAIRDb')로 했는데 그때는 이미지가 아에 다운받아지지 않더라구요. 이 두 문제를 해결해 주실 수 있으신가요? from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyautogui import os import urllib.request keyword=pyautogui.prompt('검색어를 입력하세요') number=int(pyautogui.prompt('몇 번째 이미지까지 크롤링할까요?')) num=0 if not os.path.exists(f'{keyword}.google'): os.mkdir(f'{keyword}.google') service=Service(executable_path=ChromeDriverManager().install()) driver=webdriver.Chrome(service=service) response=driver.get(f'https://www.google.com/search?q={keyword}&sxsrf=ALiCzsadE49SRlwdOzINREC1wSxMZD0kiw:1661318376125&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjjoaud3d75AhUXmVYBHUXqBUMQ_AUoAXoECAIQAw&biw=767&bih=712&dpr=1.25&safe=active&ssui=on#imgrc=hIwGHHtQdIeMRM') driver.maximize_window driver.implicitly_wait(5) before_h=driver.execute_script('return window.scrollY') while True: driver.find_element(By.CSS_SELECTOR, 'body').send_keys(Keys.END) time.sleep(1) after_h=driver.execute_script('return window.scrollY') if before_h==after_h: break before_h=after_h imgs=driver.find_elements(By.CSS_SELECTOR, 'img.rg_i.Q4LuWd') for i, img in enumerate(imgs, 1): if num==number: break # 클릭하다보면 element click intercepted 에러 #javascript로 클릭을 직접 하도록 만들기. driver.execute_script('arguments[0].click();',img) if i==1: target=driver.find_elements(By.CSS_SELECTOR, 'img.n3VNCb')[0] else: target=driver.find_elements(By.CSS_SELECTOR, 'img.n3VNCb')[1] img_src=target.get_attribute('src') #403:Forbidden 에러 해결 opener=urllib.request.build_opener() opener.addheaders=[('User-Agent','Mozila/5.0')] urllib.request.install_opener(opener) try: urllib.request.urlretrieve(img_src, f'{keyword}.google/{i}.png') except: pass num+=1