묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결웹 게임을 만들며 배우는 React
[7-3] Shallow Copy / Deep Copy
강의에서는 불변성을 지키기 위해 Shallow Copy(얕은 복사)를 하신다고 하셨는데,이는 많은 혼동을 야기하는 것 같습니다.https://developer.mozilla.org/en-US/docs/Glossary/Shallow_copyhttps://developer.mozilla.org/en-US/docs/Glossary/Deep_copy에 따르면,Shallow Copy 는 원본 객체의 속성과 동일한 참조를 공유하는 복사본이고Deep Copy 는 원본 객체의 속성과 동일한 참조(동일한 기본 값을 가리킴)를 공유하지 않는 복사본이라 되어있습니다.강사 님이 생각하시는 참조가 Shallow Copy 고,불변성을 지키기 위해 사용하는 것이 Deep Copy 가 아닌지요?강사님의 강의는 앞으로 개발 능력 향상에 아주 도움이 되기에, 정확한 이해를 위해 질문드려봅니다.
-
해결됨Blender(블렌더) 3.0 3D 그래픽의 입문 Part. 1
화면 움직이는 키 alt아닌가요?
강의 계속 보면 언젠가 키 지정하는거 나오겠거니...하면서 보고 있는데 보면 볼수록 불편하기만 하고 alt키 아무리 누르면서 마우스 오른쪽도 왼쪽도 안 먹고 뭘까요 ㅠㅠ
-
미해결스프링 시큐리티
EntryPoint와 Handler의 차이가 궁금합니다.
안녕하세요 인증이나 인가 예외가 터졌을 때 인증 예외의 경우에는 AuthenticationEntryPoint가 리다이렉트 등의 로직을 수행하고 AccessDeniedException의 경우에는 AccessDeniedHandler가 동작하는 것으로 이해하였습니다. 근데 둘다 결국 예외가 발생했을 때 처리를 하는 역할인데 굳이 하나는 엔트리포인트라는 객체를, 다른 하나는 핸들러 객체를 사용하는지 모르겠습니다. 저는 둘 다 엔트리포인트나 혹은 핸들러라고 할 수 있는 거 아닌가 생각이 들었는데 둘이 무슨 차이가 있는지 잘 모르겠어서요 ㅠㅠ 알려주시면 감사하겠습니다.
-
해결됨홍정모의 따라하며 배우는 C언어
4-4 Extra 예시 오류
안녕하세요. 교수님과 똑같이 코드를 쳤는데 에러가 발생했습니다.인터넷을 검색해도 무슨 말인지 잘 모르겠어서 질문 드립니다. 감사합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
도메인 모델을 나눌 때 중간테이블
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]현재 다니고 있는 회사에서는 Pojo 모델과 Entity 모델을 나누어서 관리하고 있습니다. 이 때, M:N 테이블을 나누어 주는 중간 테이블은 POJO 모델을 만들지 않고 infrastructure 레이어에 위치시키고 도메인 레이어에는 노출시키지 않으려고 하고 있는데요, 이 때 해당 중간 테이블을 구분되는 두 도메인중 어느쪽에 위치시켜야할지 고민이 되어 질문을 남깁니다.보통 이러한 중간 테이블에 대응하는 Entity는 어느 패키지에 두는지 기준이 궁금합니다.추후 데이터베이스를 나누었을 때 이러한 중간 테이블을 어디에 위치 시켜야할지 아니면 서로 다른 데이터베이스에 중간테이블을 중복 저장 시켜야할지 궁금합니다.양 쪽 모두에서 간간히 조회에 활용 됩니다. 위 방법 자체에 문제가 있다고 느끼신다면 어떤 대안이 있을지 남겨주시면 감사하겠습니다. 감사합니다.
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
soup으로 검색한 버튼 또는 text를 click할때 어떻게 하나요 ?
webdriver의 find_element로 찾은 경우 .click()을 붙여주면 click이 되는데, soup으로 찾은 경우 .click()을 붙여주면 오류가 발생하네요.click을 하려면 find_element를 써야 할까요? soup으로 찾은 객체는 click을 할 수 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 전처리 강의 이상치 처리 질문
# age가 음수인 데이터 X_train[X_train['age']<=0]# age가 1이상인 데이터만 살림 print(X_train.shape) X_train = X_train[X_train['age']>0] print(X_train.shape) 이런식으로 밖에 X_train 대괄호로 전체를 한번 더 묶어주는 것은 어떤 의미가 있나요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
사용자 목록 조회가 하얀 화면만 뜹니다
정확히는 정말잠깐 순간적으로 목록화면이 뜨는듯 하다가 바로 하얀화면으로 전환됩니다저는 8080포트가 사용중이어서 9090으로 포트를 설정했습니다.8080으로도 바꿔서 해봤지만 증상은 같았습니다8080과9090에 할당된 서버의 상태는 이렇습니다강의는 8강. 유저 조회 API 개발과 테스트까지 수강한 상태입니다
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
해시의 시간복잡도
강의에서 실무에서는 10~20개의 연결리스트만하기때문에 해시의 O(1)을 갖는다고 하셨는데,면접에서 물어볼경우는 O(n) 이라고 답하는게 맞을까요O(1)이라고 하는게 맞을까요? 실무에서는 제한을 두지만 여기서는 그런 제한을 두고 물어볼거라는 의도가 있을까? 해서요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
자바 기본적인 두수 바꾸기 메소드 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. public static void swap(int a, int b) {if (a > b) {int t= a; a = b; b = t; }}int x= 1000;int y= 100;swap(x,y);이렇게 코드작성하면x는 100나오고 y는 1000나와야정상아닌가요?? 왜 인텔리제이에서 돌리면 x값과 y값이 그대로일까요?
-
미해결
왓챠피디아 리뷰 크롤링 관련 질문입니다
왓챠피디아에 올라가 있는 넷플릭스 드라마 리뷰들을 파이썬으로 웹 크롤링 해보고 싶어서 https://github.com/Stan7s/IMDb-Review-Crawler/blob/master/IMDb-Review-Crawler.py의 imdb 크롤링 방식을 참고했습니다.그런데 IMDB에선 잘 되던 것이, 왓챠피디아 쪽은 리뷰가 크롤링 되지 않습니다.어떻게 하면 해결할 수 있을까요? #수집하고 싶은 영화의 user riviews 페이지 url 붙여넣기 url = 'https://pedia.watcha.com/ko-KR/contents/tRzLggZ/comments' #수집하고 싶은 영화 리뷰 수 지정 MAX_CNT = 150 cnt = 0 print("url = ", url) res = requests.get(url) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, "lxml") load_more = soup.select(".load-more-data") flag = True if len(load_more): ajaxurl = load_more[0]['data-ajaxurl'] base_url = base_url + ajaxurl + "?ref_=undefined&paginationKey=" key = load_more[0]['data-key'] else: flag = False while flag: url = base_url + key print("url = ", url) res = requests.get(url) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, "lxml") for item in soup.select(".lister-item-content"): rating = item.select("span.rating-other-user-rating > span") if len(rating) == 2: rating = rating[0].text review = item.select(".text")[0].text pn = rating_transfer(int(rating)) review_list.append(review) rating_list.append(pn) cnt = cnt + 1 else: rating = "" review = item.select(".text")[0].text
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
가변분할방식/고정분할방식과 세그멘테이션/페이징
"메모리 분할 방식" 강의에서 가변 분할 방식으로 분할된 단위 하나가 세그멘테이션(세그먼트?)이고 고정 분할 방식으로 분할된 단위 하나가 페이지라고 하셨습니다.페이징, 세그멘테이션이 가변 분할 방식, 고정 분할 방식에서의 단위를 말하는 건가요? 또 다른 메모리 관리 기법인가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
도와주세요...
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 제가 야생형으로 들어서 실습을 먼저해서 h2를 다운 받았는데 또 받아야 하나요???일단 안받고 햇는데 이렇게 빨간줄이 뜹니다 무엇이 문제일까요 ?>??ㅜㅜㅜ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서블릿 필터 에러 처리, 컨트롤러 에러 처리
안녕하세요 영한님영한님의 새로운 도전 응원하며강의 항상 잘 듣고 있습니다.!! 예외 처리 관련해서 강의를 듣고 제가 이해한것이 맞는지 확인차 질문 드립니다.일단 예외는 2가지 상황에서 발생 가능하다고 생각했습니다.서블릿 컨테이너에서 발생한 예외스프링 컨테이너에서 발생한 예외 서블릿 컨테이너에서 발생한 예외서블릿 컨테이너는 스프링 컨테이너가 직접 관리할 수 없기 때문에 @ControllerAdvice와 @ExceptionHandler을 사용하여 예외 처리를 할 수 없습니다. 따라서 필터에서 발생한 예외는 필터에서 처리해야 합니다. 예외 처리 방법예외가 발생하는 필터의 상위 필터에서 예외가 발생하는 필터의 예외를 처리하도록 한다.흐름서블릿 <- 필터1(필터2, 3 예외처리) <- 필터2 <- 필터3(예외 발생) 스프링 컨테이너에서 발생한 예외스프링 컨테이너에서 발생한 예외를 서블릿 컨테이너까지 보낼필요는 없다. 스프링 컨테이너에서 예외를 처리하고 서블릿 컨테이너에는 정상 호출인 것처럼 하면 된다. 예외 처리 방법@ControllerAdvice와 @ExceptionHandler을 사용하여 예외 처리를 한다. 흐름필터 <- 디스패처 서블릿 <- 컨트롤러 <- 인터셉터 <- ExceptionResolver(서비스 레이어 예외 처리) <- 서비스 레이어(예외 발생) 추가로 궁금한것이 있습니다.제가 보기에는 인터셉터에서 예외를 처리할 수 있을것 같습니다.그런데 인터셉터에서 예외를 처리하지 않는 이유는단일 책임 원칙을 지키기 위해서이다.따라서 컨트롤러(핸들러) 내부에서 발생한 예외 처리는 ExceptionResolver에 위임한다.정도로 이해 하면 될까요? 감사합니다.
-
미해결AB 테스트 실무자 완벽 가이드
가설검정 강의 마지막 부분이 헷갈립니다.
가설검정 마지막 부분이 헷갈려서 질문드립니다. 단측검정일 경우 0.05로 유의수준을 잡지만양측검정일 경우 그래프에서는 a/2로 되어있으니 0.025로 가는게 맞나요? 엄격한, 보수적인 실험이 안되도록 조심하라고 하셨는데 0.05로 가는게 맞나요? 말씀해주신 내용과 그래프가 살짝 상반된 것 같아서 질문 드립니다.강의 잘보고있습니다. 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
따라했는데 오류가 떠요
이렇게 main이 빨간줄이 뜨고 이것도 복붙을 했는데 이렇게 떠요ㅠ
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
DiaryItem
import { useState, useRef } from "react"; const DiaryItem = ({ author, emotion, created_time, content, id, onDelete, onEdit, }) => { const [isEdit, setIsEdit] = useState(false); const [localContent, setLocalContent] = useState(content); // 본문 수정 시 수정 전 콘텐츠 띄우기 const localContentInput = useRef(); const toggleIsEdit = () => { setIsEdit(!isEdit); }; const handleDelete = () => { if (window.confirm(`${id}번째 일기를 삭제하시겠습니까?`)) { onDelete(id); } }; const handleQuitEdit = () => { setIsEdit(false); setLocalContent(content); }; const handleEdit = () => { if (localContent.length < 5) { localContentInput.current.focus(); return; } onEdit(id, localContent); }; return ( <div className="DiaryItem"> <div className="info"> <span> 작성자 : {author} | 감정점수 : {emotion} </span> <br /> <span className="date">{new Date(created_time).toLocaleString()}</span> </div> <div className="content"> {/* 수정 중 콘텐츠 vs 수정 전 콘텐츠 */} {isEdit ? ( <textArea ref={localContentInput} value={localContent} onChange={(e) => setLocalContent(e.target.value)} /> ) : ( <>{content}</> )} </div> {/* 수정 중 버튼 vs 수정 전 버튼 */} {isEdit ? ( <> <button onClick={handleQuitEdit}>수정 취소</button> <button onClick={handleEdit}>수정 완료</button> </> ) : ( <> <button onClick={handleDelete}>삭제하기</button> <button onClick={toggleIsEdit}>수정하기</button> </> )} </div> ); }; export default DiaryItem;위는 제가 수업을 보며 따라친 DiaryItem.js인데 실행을 시키면 수정하기 버튼을 눌렀을 때 원래 콘텐츠가 textArea에 뜨지 않고 수정이 되지 않습니다. 하지만 소스코드에 올려진 DiaryItem.js를 복붙했을 때는 또 됩니다. 몇 번이나 두 파일을 비교했지만 잘못된 점을 찾아낼 수가 없었는데 도와주세요 ㅠㅠ
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
reg 뒤에 붙는 signed 표현에 대해서 질문 드려요!
reg 뒤에 signed 를 붙여도 합성 가능한 코드인가요?또 $signed 함수를 사용한 부분도 실제로 합성이 가능한지 궁금합니다...!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
쿠팡 페이지 지정 출력
안녕하세요 쿠팡 크롤링 100개 상품 출력 강의를 듣고 코드를 작성했는데요, 똑같이 작성을 해봐도 페이지만 숫자만 출력되고 안에 내용이 출력되지 않습니다 ㅠ 코드 한번만 확인 부탁드려도 될까요? import requests from bs4 import BeautifulSoup import pyautogui keyword = pyautogui.prompt("검색어를 입력하세요 >> ") rank = 1 done = False for page in range(1,5): if done == True: break print(page, "번째 페이지 입니다.") main_url = "https://www.coupang.com/np/search?&q={keyword}&page={page}" coupang_header = { 'Host': 'www.coupang.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3', } response = requests.get(main_url, headers=coupang_header) html = response.text soup = BeautifulSoup(html, "html.parser") links = soup.select("a.search-product-link") for link in links: if len(link.select("span.ad-badge-text")) > 0: print("광고상품 입니다.") else: sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url, headers=coupang_header) html = response.text soup = BeautifulSoup(html, "html.parser") try: brand_name = soup.select_one("a.prod-brand-name").text except: brand_name = "" product_name = soup.select_one("h2.prod-buy-header__title").text try: product_price = soup.select_one("span.total-price > strong").text except: product_price ="" print(rank, brand_name, product_name, product_price) rank = rank + 1 if rank > 100: done = True break
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
삼항연산자
34번째 줄에서 {content}를 빈 태그로 감싸는 이유가 뭔가요? 어차피 content는 문자열 아닌가요?