묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
범주형 변수 질문입니다.
안녕하세요! 항상 좋은 강의를 제공해주셔서 정말 감사드립니다. 다름이 아니라, 강의를 듣고 별도의 데이터로 실습을 해보고자, 타겟 변수(종속 변수)가 명목형 범주형 변수이고, 독립 변수(예측 변수)가 범주형 변수, 연속형 변수가 섞여져 있는 상황에서 분석 공부를 하다가 궁금한 점이 생겨 질문을 드리게 되었습니다. 1) 독립 변수 중 범주형 변수 중에서, 명목 척도가 아닌 순서 척도를 활용해야 하는 상황인 경우, 원-핫 인코딩으로 진행을 하게 되면 '순서'의 정보를 잃게 되는데, 캐글에서는 ordinal encoding, mean encoding 혹은 target encoding 등을 자주 활용한다고 들었습니다. 보통 분석에서 범주형 변수를 다룰 시, 명목 척도와 순서 척도를 구분하여 서로 다른 인코딩을 적용하는지, 아니면 구분하지 않고 하나의 인코딩을 적용하는지 알고 싶습니다. 2)스케일링에서, 범주형 변수를 인코딩한 후 값이 큰 연속형 변수와 같이 스케일링을 수행해도 되는 것인지, 아니면 스케일링을 연속형 변수에만 수행하는 것인지 알고 싶습니다. 3) corr() 함수는 보통 연속 변수 & 연속 변수 혹은 범주형 순서 척도 & 범주형 순서 척도에 대한 피어슨 상관 계수를 출력하는 것으로 알고 있는데, binary가 아닌 범주형 명목 척도 & 연속형 변수, 그리고 범주형 순서 척도 & 연속형 변수에 대한 상관도는 어떻게 구하는지 알고 싶습니다. 항상 좋은 강의 감사드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
회원 조회 로직의 응답 형식에 대해 질문이 있습니다.
아래처럼 회원 조회 로직이 있을때 멤버 엔티티 정보를 스트림화 한뒤 멤버 디티오 형식으로 다시 설정하고 그걸 리스트화하는것까지는 의미상으로 이해가 가는데여 응답 클래스 Result<T> 객체를 만들어서 응답하는 이유가 무엇인가여? @GetMapping("/api/v2/members")public Result memberV2() { List<Member> findMembers = memberService.findMembers(); List<MemberDto> collect = findMembers.stream() .map(m-> new MemberDto(m.getName())) .collect(Collectors.toList()); return new Result(collect);}@Data@AllArgsConstructorstatic class Result<T> { private T data;}@Data@AllArgsConstructorstatic class MemberDto { private String name;}
-
미해결Do it! Node.js 프로그래밍(개정판)
ch01에 01강의중 console오류 질문드립니다.
console입력하고 저장할때 JSLint 'console' was used before it was defined. ESLine ERROR:Unexpected console statement.[no-console] ERROR:'console' is not defined.[no-undef] 해당오류가 표시됩니다. 콘솔이 정의되지않았다고하는데 설정해주는 부분이 있는지 질문드려요.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ValidateDuplicateMember 메소드와 트랜젝션 관련해서 질문입니다.
@Transactional 애노테이션을 붙인 메서드는 오버라이딩 할 수 있어야 하기때문에 ValidateDuplicateMember 메서드를 private 접근지정자를 설정하면 명시적으로 @Transactional 애노테이션을 해당 메서드에 붙일 수가 없는데,강사님께서 하신것처럼 클래스 레벨로 @Transactional(readOnly = true) 애노테이션을 붙이면 ValidateDuplicateMember 메서드는 트랜젝션이 적용이 안되는지 궁금합니다.만약 적용이 안된다면 접근 지정자를 protected 로 변경해서 사용해도 되는지 궁금합니다. ----------------------- 전체 소스코드 입니다. ------------------------------- @Service@Transactionalpublic class MemberService { @Autowired private MemberRepository memberRepository; /** * 회원가입 * @param member member entity * @return memberId */ public Long join(Member member) { ValidateDuplicateMember(member); memberRepository.save(member); /* * member를 영속화 할때 key를 member의 id로 설정 (generateValue) * member 객체의 id 필드에는 값이 채워져있는 것을 보장할 수 있음 */ return member.getId(); } @Transactional(readOnly = true) protected void ValidateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if (!findMembers.isEmpty()) { throw new IllegalStateException("이미 존재하는 회원입니다."); } } /** * 회원 전체 조회 * @return memberList */ @Transactional(readOnly = true) // 성능 최적화 public List<Member> findMembers() { return memberRepository.findAll(); } /** * 회원 단건 조회 * @param memberId memberId * @return findMember */ @Transactional(readOnly = true) public Member findOne(Long memberId) { return memberRepository.findOne(memberId); }}
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
현재 리액트로 다른 프로젝트를 하면서 아래 에러가 나는데 어떻게 해결해야할까요?
error문구 react-dom.development.js?61bb:67 Warning: Text content did not match. Server: "가이드 페이지입니다 ~" Client: "홈 화면 입니다" ------ 맨 처음 접속할 때 쿠키값을 가지고 guideLine을 읽었으면 메인페이지로 가고 읽지 않았으면 가이드라인 페이지로 가는 상황입니다. Guide 페이지에서 시작하기 버튼을 누르면 쿠키에 넣고 const [cookies, setCookie] = useCookies(); const onClickJumpStartButton = useCallback(() => { const day = 2000; setCookie('checkGuideLine', 'checked', { maxAge: day * 24 * 60 * 60 * 1000 }); }, []); <SwiperJumpStartButton type="button" onClick={onClickJumpStartButton}>시작하기</SwiperJumpStartButton> index.js에서 쿠키가 있으면 mainpage, 없으면 guide 화면을 보여줍니다. import React from 'react'; import { useCookies } from 'react-cookie'; import Guide from '../components/MainPage/Guide'; import MainPage from '../components/MainPage/Home'; const Home = () => { const [cookies] = useCookies(); return ( <div> { cookies.checkGuideLine === 'checked' ? <MainPage /> : <Guide /> } </div> ); }; export default Home; 가이드 화면에서 시작하기 버튼을 눌러서 쿠키가 등록 된뒤에 새로고침을 했을 때 쿠키가 있으니까 mainpage로는 넘어가지는데 위의 에러가 발생합니다. 쿠키 라이브러리는 react-cookie를 사용하였습니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
생성자 주입에 @Autowire 질문
pdf 파일에 보면 참고: 생성자에 @Autowired 를 사용하면 객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입한다. 생성자가 1개만 있으면 @Autowired 는 생략할 수 있다. 라고 되어 있습니다. 1. 생성자가 1개라는게 주입받을 빈이 1개라는 의미 인가요? 2. 1번의 의미가 맞다면 생성자 매개변수에 memberService, memberRepository를 넣고 실행, 사용해보아도 제대로 빈을 주입받아서 에러가 나지 않습니다. 생성자 주입시 @autowire가 2개 이상일때도 필요한건가에 대해서 궁금합니다.
-
해결됨Svelte.js SPA 영화 검색 프로젝트
await _fetchMovie(...)
처음 목록을 가져오는 부분에만 try 처리를 했는데 특별한 이유가 있는 건가요, 아니면 추가 목록 가져오는 부분, 상세 정보 가져오는 부분도 try 처리를 하는 것이 맞는 걸까요?
-
해결됨실전! Querydsl
쿼리 최적화 질문 (N+1문제)
안녕하세요! 강의 복습을 위해서 토이 프로젝트를 하는 중에 N+1 문제를 어떻게 해결해야 할 지 모르겠어서 질문 드립니다. 먼저, 제가 원하는 출력 결과는 아래와 같습니다. ====== 메뉴 정보 ====== id = 101 메뉴 = 후라이드 가격 = 14000 수량 = 2 ====== 옵션 정보 ====== 옵션 = 눈꽃 치즈볼 4개 가격 = 3500 수량 = 2 옵션 = 치즈볼 4개 가격 = 3000 수량 = 2 ====== 메뉴 정보 ====== id = 22 메뉴 = 후라이드 가격 = 14000 수량 = 1 ====== 옵션 정보 ====== 1. 엔티티 [그림 1]. 엔티티 설계 ※ OrderMenu에서 옵션을 선택하지 않으면 OrderMenu, OrderOption 조인 한 뒤에 OrderOption 조회 시 NullPointerException 발생해서 OrderMenu에 양방향 연관관계 추가 [그림 2]. Join 시 <null> 발생 2. 데이터 [그림 3]. 입력한 데이터 아래와 같은 테스트를 작성했을 때 [그림 4]과 같은 N+1 문제가 발생했습니다. @Testpublic void 주문메뉴_주문옵션조회() throws Exception { Long orderId = 100L; List<OrderMenu> fetch1 = queryFactory .select(orderMenu) .from(orderMenu) .where(orderMenu.order.id.eq(orderId)) .fetch(); for (OrderMenu orderMenu : fetch1) { System.out.println("====== 메뉴 정보 ======"); System.out.println("id = " + orderMenu.getId()); System.out.println("메뉴 = " + orderMenu.getMenu().getName()); System.out.println("가격 = " + orderMenu.getMenu().getPrice()); System.out.println("수량 = " + orderMenu.getQuantity()); List<OrderOption> orderOptionList = orderMenu.getOrderOption(); System.out.println("====== 옵션 정보 ======"); for (OrderOption orderOption : orderOptionList) { System.out.println(" 옵션 = " + orderOption.getOption().getName()); System.out.println(" 가격 = " + orderOption.getOption().getPrice()); System.out.println(" 수량 = " + orderOption.getQuantity()); } }} [그림 4] N + 1 문제 발생 위 문제를 해결하기 위해서 fetch join을 사용해서 OrderMenu와 OrderOption을 한 번에 불러왔지만 OrderMenu의 Menu, OrderOption의 Option은 여전히 Lazy loading이 되었습니다. @Testpublic void 주문메뉴_주문옵션조회() throws Exception { Long orderId = 100L; List<OrderMenu> fetch = queryFactory .selectFrom(orderMenu) .distinct() .leftJoin(orderMenu.orderOption, orderOption).fetchJoin() .where(orderMenu.order.id.eq(orderId)) .fetch(); for (OrderMenu orderMenu : fetch) { System.out.println("====== 메뉴 정보 ======"); System.out.println("id = " + orderMenu.getId()); System.out.println("메뉴 = " + orderMenu.getMenu().getName()); System.out.println("가격 = " + orderMenu.getMenu().getPrice()); System.out.println("수량 = " + orderMenu.getQuantity()); List<OrderOption> orderOptionList = orderMenu.getOrderOption(); System.out.println("====== 옵션 정보 ======"); for (OrderOption orderOption : orderOptionList) { System.out.println(" 옵션 = " + orderOption.getOption().getName()); System.out.println(" 가격 = " + orderOption.getOption().getPrice()); System.out.println(" 수량 = " + orderOption.getQuantity()); } }} 출력 내용 select distinct ordermenu0_.order_menu_id as order_me1_7_0_, orderoptio1_.order_option_id as order_op1_8_1_, ordermenu0_.menu_id as menu_id3_7_0_, ordermenu0_.order_id as order_id4_7_0_, ordermenu0_.quantity as quantity2_7_0_, orderoptio1_.option_id as option_i3_8_1_, orderoptio1_.order_menu_id as order_me4_8_1_, orderoptio1_.quantity as quantity2_8_1_, orderoptio1_.order_menu_id as order_me4_8_0__, orderoptio1_.order_option_id as order_op1_8_0__ from order_menu ordermenu0_ left outer join order_option orderoptio1_ on ordermenu0_.order_menu_id=orderoptio1_.order_menu_id where ordermenu0_.order_id=? ====== 메뉴 정보 ====== id = 101 2021-01-27 15:12:12.595 DEBUG 35340 --- [ main] org.hibernate.SQL : select menu0_.menu_id as menu_id1_3_0_, menu0_.created_date as created_2_3_0_, menu0_.last_modified_date as last_mod3_3_0_, menu0_.menu_category_id as menu_cat8_3_0_, menu0_.name as name4_3_0_, menu0_.price as price5_3_0_, menu0_.image_url as image_ur6_3_0_, menu0_.share_url as share_ur7_3_0_, menucatego1_.menu_category_id as menu_cat1_4_1_, menucatego1_.name as name2_4_1_, menucatego1_.restaurant_id as restaura3_4_1_ from menu menu0_ left outer join menu_category menucatego1_ on menu0_.menu_category_id=menucatego1_.menu_category_id where menu0_.menu_id=? 메뉴 = 후라이드 가격 = 14000 수량 = 2 ====== 옵션 정보 ====== 2021-01-27 15:12:12.604 DEBUG 35340 --- [ main] org.hibernate.SQL : select option0_.option_id as option_i1_6_0_, option0_.name as name2_6_0_, option0_.option_category_id as option_c4_6_0_, option0_.price as price3_6_0_ from options option0_ where option0_.option_id=? 옵션 = 눈꽃 치즈볼 4개 가격 = 3500 수량 = 2 2021-01-27 15:12:12.609 DEBUG 35340 --- [ main] org.hibernate.SQL : select option0_.option_id as option_i1_6_0_, option0_.name as name2_6_0_, option0_.option_category_id as option_c4_6_0_, option0_.price as price3_6_0_ from options option0_ where option0_.option_id=? 옵션 = 치즈볼 4개 가격 = 3000 수량 = 2 ====== 메뉴 정보 ====== id = 22 메뉴 = 후라이드 가격 = 14000 수량 = 1 ====== 옵션 정보 ====== OrderMenu와 OrderOption을 조회할 때, 연관된 Menu와 Option을 한 번에 조회하는 방법이 있을까요? 아니면 엔티티 설계를 변경해야 할까요?
-
미해결실전 프로젝트로 배우는 타입스크립트
npm run build 이후.. 자바스크립트 오류..
선생님 따라 다했는데 여기서 npm run build 이후.. 라이브 서버로 실행해보보니 컨솔에서 자바스크립트 오류..가 계속 뜹니다. 자꾸 데이터를 불러오지 못하네요.. Uncaught ReferenceError: exports is not defined 따라 가보니 Object.defineProperty(exports, "__esModule", { value: true }); 에서 오류가 생기는것 같습니다.. 혹시 원인을 아시나요? <글자색이 이상하네요 죄송합니다 ㅠ>
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
StandardScaler 부분 코드에 대해서 질문 있습니다.
StandardScaler 부분 코드를 자세히 읽어보니 get_preprocessed_df 함수를 정의하셨는데, 밑의 코드를 보니 그 함수를 적용하지 않고 바로 card_df를 이용하여 다시 학습을 시키신거 같은데 그렇게 되면 원본 Amount 속성의 값은 변화가 없게 되는거 아닌가요?
-
[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님! 서버통신 중 post 방식 관련해서 하나 질문 드려요ㅠㅠ
삭제된 글입니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
object Detection에서의 TN 질문입니다.
그렇다면 object Detection에서 TN의 값은 따로 없는건가요??
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
선생님 질문좀할께요
const key = req.url.split('/')[2]; 1,이게 무슨뜻인가요? 그리고 이건 챙피한 질문인데요 const { name } = JSON.parse(body); const id = Date.now(); users[id] = name; 2,JSON.parse(body)이부분이 const { name } 이라는 객체에 들어가는건가요? 3,그리고 마지막으로 const id 가 users[id]배열에 들어가는 건가요?
-
해결됨Svelte.js SPA 영화 검색 프로젝트
document.createElement 메모리
로딩 이미지를 표시하기 위해서 document.createElement를 사용하는데 이 후 제거하는 부분이 없어서 메모리에 문제가 되지는 않을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
OnClicked clicked = new OnClicked(TestDelegate) 에관해서 질문..
c언어를 조금 배운 상태에서 강의를 듣고있습니다. 참조 형식라고 하여서 clicked 변수에 함수 주소를 받는 포인터로 대입을 해서 생각하고 있는데 new 생성자로 인스턴스를 만들면 새로 메모리를 할당해서 그 주소를 받는다고 이해해왔습니다. 그렇다면 OnClicked clicked 는 TestDelegate의 주소 (함수 원형)을 받는것이 아니라 새로 인스턴스로 생성된 TestDelegate의 복사본의 주소를 받게되는 것인가요? 제대로 질문을 했는지 모르겟군요.. 답변해주시면 감사하겠습니다.
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
저는 왜 이게 출력이 안될까요..ㅠㅠ
우선 이런 좋은 퀄리티의 강의를 들을 수 있게 해주셔서 무한한 감사의 말씀을 전해드립니다.! 다름이 아니구 대머리아저씨 발모제 찾는 게임을 만들어보았는데 'a, b번 발모제를 발라보았습니다'. 할 때 a 와 b의 값이 안나오더라구요. 그래서 최대한 강의를 다시보고 다시보고 최종적으로 제가보기엔 똑같은 것 같은데 혹시 뭐가 문제인지 ㅠㅠ 사진으로 한번 확인 부탁드립니다 !
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
텍스트 포맷팅
갑자기 강의를 듣다 궁금해진건데 c++에는 "{0}, {1}, {2}", a, b, c 와 비슷한 형식으로 텍스트를 포맷팅 하는 방법이 없나요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
interface, abstract 차이에 대한 질문
제가 인터페이스와 abstract의 차이가 어려워서 인터넷을 찾아보던 중 다음과 같이 차이를 말해둔 것이 있던데 그 의미를 모르겠습니다. 인터페이스 : 구현이 아닌 서명만 가질 수 있다. abstract : 구현을 제공할 수 있다. 이 차이와 더불어서 "구현" 이라는 말도 정확히 무엇을 뜻하는지 헷갈립니다. 도와주세요..
-
미해결예제로 살펴보는 PyQt Tutorial
따라했는데 안되요....오류가 뜹니다...
TypeError: addWidget(self, QWidget, stretch: int = 0, alignment: Union[Qt.Alignment, Qt.AlignmentFlag] = Qt.Alignment()): argument 1 has unexpected type 'method' PS C:\Users\woody\OneDrive\바탕 화면\Python Workspace> 몇시간을 돌려봐도 선생님이 짠 코드랑 똑같이 짰는데 실행이 안되요.....한번 봐주시겠어요???? from PyQt5.QtCore import Qt import sys from PyQt5.QtWidgets import * class myapp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.s = '' self.one = QPushButton('1') self.one.clicked.connect(lambda:self.clickedNum('1')) self.plus = QPushButton('+') self.plus.clicked.connect(lambda:self.clickedNum('+')) self.three = QPushButton('3') self.three.clicked.connect(lambda:self.clickedNum('3')) self.one = QPushButton('=') self.one.clicked.connect(self.calc) hbox = QHBoxLayout() hbox.addWidget(self.one) hbox.addWidget(self.plus) hbox.addWidget(self.three) hbox.addWidget(self.calc) self.setLayout(hbox) self.setWindowTitle("계산기") self.show() def clickedNum(self, text): self.s += text print(self.s) def calc(self): print(eval(self.s)) self.s = '' if __name__ == '__main__': app = QApplication(sys.argv) ex = myapp() app.exec_()
-
미해결더 개발자, 인터뷰 가이드
스택의 재귀에 대해서 선장님께서 말씀하신 부분 디버깅 한 내용 공유드립니다~!
* 스택 재귀* 재귀를 생각할때는 작은 단위로 생각하라** 1 2 3** solution2 - 1 2 3** solution2 - 1 2 - pop(3)* solution2 - 1 - pop(2)* solution2 - - pop(1) ** *************solution2 - - pop(1)************** insertAtBottom - null , 1* 1 push** 현재 스택 [1]**************solution2 - - pop(1)****************************solution2 - 1 - pop(2)************** insertAtBottom - [1] , 2* pop 1* insertAtBottom - null , 2* push 2* push 1** 현재 스택 [1 2]***************solution2 - 1 2 - pop(3)************** insertAtBottom [1 2] , 3* pop 1* insertAtBottom [2] , 3* pop 2* insertAtBottom null , 3* push 3* push 2* push 1** 현재 스택 [1 2 3]**************solution2 - 1 2 - pop(3)*************