묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
멤버 필드를 해당 객체에서 사용할때,,
안녕하세요 별거아닌 질문인데요 엔티티 개발할때 보니, 자신의 멤버 필드에 접근할때 그냥 필드명을 사용하는게 아니라 getter 메서드로 접근하고 계시더라구요, 필드로 접근하든 getter로 접근하든 상관은 없을것 같은데 혹시 특별한 이유가 있나 싶어서 문의드립니다! 감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
'int' object is not callable
#sum부분에서 자꾸 오류가 나네요. #답변해주시면 감사하겠습니다. N, m = map(int, input().split()) n=list(map(int, input().split())) cnt=0 for i in range(0, N): for j in range(i+1, N): t=n[i:j] if sum(t)==m: cnt+=1 print(cnt)
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
댓글을 크롤링해보는데 잘 안되서 문의드려봅니다.
import requests from bs4 import BeautifulSoup res=requests.get('https://comic.naver.com/index.nhn') soup=BeautifulSoup(res.content, 'html.parser') data=soup.select('#realTimeRankFavorite > li > a') for index,item in enumerate (data): print(index+1, "인기웹툰:", item.get_text()) 이렇게 코드를 짜서 인기웹툰 순위 크롤링은 되었는데요. import requests from bs4 import BeautifulSoup res=requests.get('https://comic.naver.com/webtoon/detail.nhn?titleId=743031&no=34&weekday=mon') soup=BeautifulSoup(res.content, 'html.parser') data=soup.select('ul #u_cbox_list') for item in data: print(item.get_text()) #구현시에 아무것도 안뜨는데 혹시 어떤 부분을 수정해야 하는걸까요? 웹툰에 달리는 댓글들을 크롤링해보고 싶은데 검색에 들어가서 copy해서 찾아 넣었는데 실행을 하면 에러코드도 아니고 아예 아무것도 안떠서요. 어디가 잘못된건지.. 혹은 댓글 크롤링은 아예 다른 접근이 필요한건지 문의드려봅니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
no suitable method found for addAllAttributes 관련질문
안녕하세요 강사님 수업내용과 똑같이 코드를 작성하였는데, 오류가 발생하고 웹페이지가 열리지 않아서 질문 올립니다. 감사합니다..!!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
first.py 실행이 안됩니다...
(사진)
-
미해결스프링 시큐리티
안녕하세요
혹시 최종 완성본 말고 이 강의까지 완성된 건 없는건가요??? 어떤 클래스가 새로 생긴거고 어떤 클래스를 고쳐야 할지 완성본을 갖고 판단 할 수 가없습니다. 따라 치면서 공부 하고싶은데 도저히 다음 강의를 진행 할 수 가 없습니다..
-
해결됨함수형 프로그래밍과 JavaScript ES6+
Object 프로토타입에 등록해서 쓰면 불이익이 있을까요?
Object.prototype.map = function (f) { const result = []; for (const el of this) result.push(f(el)); return result; }; 제 생각에 이런 식으로 정의를 하면 기존의 Array.prototype.map메서드 처럼 체이닝해서 사용할 수 있을 것 같다고 생각을 했어요. 가독성 측면에서 더 나아지지 않을까 생각을 했습니다. 이렇게 사용했을 때 불리한 점이 있을까 궁금해서 질문드려봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
질문이있습니다
s에 |모양이있는 모양은 어떻게 만드나요 7:35초
-
미해결Vue.js 시작하기 - Age of Vue.js
안녕하세요.
component와 components와의 차이점을 다시한번 말씀해주세요. 점점 너무 어려워지는 것 같습니다. 이해하고 암기가 답인건지.. 너무 어렵네요 ㅠㅠ
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
vs 오류가 뜹니다.
모든파일이 저렇게 뜨면서 오류가 발생하는데, 문제가 뭔지 모르겠습니다. 참고로 저는 window 사용합니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
범주형 변수 질문입니다.
안녕하세요! 항상 좋은 강의를 제공해주셔서 정말 감사드립니다. 다름이 아니라, 강의를 듣고 별도의 데이터로 실습을 해보고자, 타겟 변수(종속 변수)가 명목형 범주형 변수이고, 독립 변수(예측 변수)가 범주형 변수, 연속형 변수가 섞여져 있는 상황에서 분석 공부를 하다가 궁금한 점이 생겨 질문을 드리게 되었습니다. 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 속성의 값은 변화가 없게 되는거 아닌가요?