묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
객체간에 this를 넘기는 부분에 관련해 질문이 있습니다..
지금까지 코딩해 올 때, 객체에게 this를 직접 넘기는 케이스를 지양하고자 하였는데요, 왜냐하면 객체간의 불필요한 의존성을 만들고, 잘못햇다간 circular dependency를 만들고, 구조를 파악하기 어렵게 만든다고 느꼈기 때문입니다. 중재자 패턴, 상태 패턴 등을 포함한 일부 패턴들에는 생성자 혹은 메서드 등에 this를 직접 넘기는 경우를 예시로 보여주셨는데, 단순하게 primitive 값 혹은 값 객체를 넘기면 해결될 의존성이 객체가 다른 객체로, 그리고 또 다른 객체로 이동하여 더더욱 파악이 어려워 질 수도 있겠다고 느꼈습니다.생판 관계 없는 객체가 다른 객체의 속성을 변경하거나, 접근하는 등 디미터 법칙을 어기기 쉬워질 수 있겠다는 생각도 들구요.(CleaningService는 restaurant만 알면 되고, 타월을 restaurant에게만 넘겨주면 되는데, this를 넘기게 될 시 CleaningService가 guest가 누구인지까지 알아야 된다는 점에서 그렇게 느꼈습니다.) 개인적으로 이러한 이유로 안티패턴이 될 수도 있다고 생각하는데, 그렇다고 말할 수 있는 것인지 궁금합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
QueryDSL Pageable 질문
안녕하세요, 강의 잘 듣고 있습니다.동적 쿼리 구성을 하려다가 기존에findByName(name: String, pageable: Pageable)이라는 함수를 써서 쉽게 sorting 및 pagination 을 구현했는데요.영상에서처럼 검색 조건이 늘어나서 QueryDSL 로 바꾸려고 하는데, 혹시 pageable 을 쉽게 QueryDSL 에서 구현하는 방법이 있을까요?
-
미해결스프링 기반 REST API 개발
mvn package 시 다음과 같은 에러가 나시면
Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module다음과 같은 에러 나시면 plugin 에<groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>2.1.0</version>버전을 최신으로 업데이트 하심 해결됩니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
싱글스레드, 멀티스레드 한 파일에서 실행하니 싱글이 여러 번 시행됩니다.
영상 중 싱글스레드와 워커스레드 부분 코드를 함수명과 배열명만 바꿔 같은 파일 안에서 실행하였습니다.해당 캡처사진처럼 스레드를 나눈 만큼 if 안에 담기지 않은 싱글스레드 코드가 여러 번 실행된 것이 확인됩니다.어째서 이렇게 동작하는지 궁금하여 질문 남깁니다.즐거운 연휴 보내시길 바랍니다!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
12강 데이터 엑셀에 저장하기 관련 질문드립니다
안녕하세요 강사님 다음과 같은 에러가 뜨는데 왜 이런걸까요?에러내용을 보면 튜플이 있어서 작동하지 않는다 이 뜻인거 같은데 만든 적도 없는 튜플이 있다니 이해가 되지 않아서요뭐가 잘못됐는지 모르겠습니다ㅠㅠ
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
분류 모델 학습 차원 질문 드립니다.
안녕하세요. 강의 재밌게 수강하고 있습니다. 분류 모델 학습하기 위해서 학습 데이터의 shape를 어떻게 구성하는게 맞는지 질문드립니다.예를 들면, 쇼핑몰에서 고객이 상품을 주문 후 해당 상품이 도착예정일에 도착할 수 있을지 없을지에 대해서 예측 한다라고 할때, 학습 데이터를 어떻게 구성해야 맞는지 고민이 되는데요.아래와 같은 리스트 형태의 데이터가 있다고 하면, 이를 flatten 하게 2차원으로 데이터 프레임으로 구성해야 되는지, 3차원으로 구성해야 하는지가 궁금합니다.memberId: StringorderHistoryList: List<OrderHistory>deliveryInfoList: List<Delivery> 아래와 같이 2차원으로 flatten 하게 구성하게 되면, 고객마다 list 갯수가 다르기 때문에 3차원으로 구성해서 학습하는게 맞지 않나 싶어서 질문 드립니다. 컬럼 : [memberId, OrderHistory1, OrderHistory2.., Deliver1,.., target] 혹시 위와 같은 데이터 세트를 가질때 어떻게 학습하는 방향이 맞는지 답변주실 수 있을가요? 감사합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
Connection Pool 질문
좋은 강의 잘 들었습니다!혹시 maxConnectionPoolSize 는 왠마하면 10으로 설정하라고 말씀하셨는데 multi dataSource환경에서10개가 넘은 dataSource 각각을 10으로 설정해도 괜찮을 까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예외 발생 위치와 오류 처리에 대해 질문이 있습니다.
현재 컨트롤러에서 throw new RuntimeException("잘못된 사용자"); 이렇게 오류를 발생시키고 있는데 이 부분을 서비스 로직 위치에서 오류를 발생시켜도 괜찮을까요? 그리고 앞에서 배웠던 WAS ~ 컨트롤러 예외처리 동작순서가 서비스 로직에서 오류를 발생시켜도 똑같이 적용이 되는건가요?제가 런타임예외가 아니라 throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "수정권한이 없습니다."); 이렇게 또 다른 예외처리를 만들면WebServerCustomizer 에서 그 오류부분에 관한 ErrorPage 객체를 만들면 되나요?if (bindingResult.hasErrors()) { return ResponseEntity.notFound().build(); }bindingResult 에 에러가 존재하면 위 코드와 같이 리턴했는데 저것 보다는 오류를 발생시키는게 좋을까요?감사합니다
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
URL접근제한 미흡 - 관리자 페이지 Burp spider
안녕하세요. 좋은강의 매번 감사합니다.URL접근제한 미흡에서 관리자페이지는 유추해야 한다고 하셨는데,Burpsuite의 spider 같은 기능사용하면쉽게 알 수 있지 않나요?
-
미해결배달앱 클론코딩 [with React Native]
patches폴더에 있는 내용빌드해서
안드로이드에서는 성공적으로 사진찍으면 갤러리에 저장되는데, ios에서는 카메라 지원안되는거맞죠 ? 사진찍기 클릭하니까 cannot run camera on simulator 이렇게 뜨더라구요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 DRF 쿼리셋에 대하여 질문드립니다!!
안녕하세요 DRF 인스타그램을 만들다가 조금더 업그레이드를 하고 싶어서이런저런 기능을 추가하였는데요 추가를 하다보니 너무 많이 한 Viewset 에많은 조인을 걸려있어서 이부분이 차후 DB성능에 문제가 될 수 있을것 같아서 질문을드립니다! 위와 같이 한 포스트리스트에 댓글, 좋아요 유저셋, 이미지셋, 태그셋 등등 너무 많이 조인이 걸려있는데또 저기에 스크랩여부 추가하려고 해서,, 걱정이되네요....(지금이야 데이터양이 적고 유저가 테스트 1~2명 유저이기 때문에 빠르게 동작하지만, 만일 저게 배포가 되어서 많은 데이터가 쌓이고 여러 유저가 사용된다면 문제가 될 것처럼 보여서 질문드립니다 ㅠ) 즉 저렇게 많이 걸려있어도 문제가 없는지? (문제가 없다는 기준은 scale up이 된다면 데이터양에 상관없이 충분히 성능이 나오는지)아니면 저런 queryset 코드 자체가 잘못된건지 판단이 잘 서지 않네요 (실무 경험이 없다보니 )그래서 차라리 api호출을 두번 이상 하는게 나은지? (한페이지에 여러 정보를 표시하다보니 저렇게 됬네요 )아니면 다른 방법이 있는지,,,,?? 어떻게 하면 위의 viewset호출을 좀 더 실무적으로 효과적으로 api를 호출 할 수있을까요??
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
디스크 용량
디스크 총 용량은 142GB인데 왜 사용 가능 공간은 14GB 밖에 안나올까요??
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
leftjoin에 관한 질문입니다.
처음에 N+1을 해결하시기전에 tag만 leftjoin으로 보여주시고 중복되는 row를 보여주시는 부분에서 질문이있습니다. 해당 sql문이 동작하는 방식이 아래인것같은데where문이 먼저 study중 jpa가 들어간 study만 조회해온다.후에 해당 study 에 연관된 애들만 fetch join해서 가져온다.궁금한것은 왜 join먼저 되고 where문이 걸러주지 방식으로 동작하지 않는건가요..? 원래 이 방식이 sql 문에 join 과 where을 같이 썼을때 동작하는 방식이 아닌가요..?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
ppt+ 강의면 책 별도로 안봐도 됩니까?
안녕하세요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
머티리얼과 텍스쳐, 셰이더를 따로 관리해도 되나요?
텍스쳐는 이미지고, 셰이더는 그리는 방법이고, 머티리얼은 재질이니까 어찌보면 서로 다른거잖아요. 물론 위 3개가 합쳐져서 최종적으로 픽셀값이 정해지겠지만요.유니티처럼 머티리얼을 텍스쳐, 셰이더, 재질(metalic 등의 파라미터)을 랩핑한 하나의 객체로 정의해서 하나의 파일로 관리하는게 아니라, 텍스쳐, 셰이더, 재질을 따로 관리하고싶습니다.예를들어 유니티에서는 머티리얼 파일 하나를 만들었으면 그 머티리얼만 지정해 놓으면 되지만, 저의 경우는 셰이더, 텍스쳐, 머티리얼 총 3개의 파일을 지정하는거죠.유니티는 쇠 텍스쳐와 스탠다드 셰이더를 사용하고 금속재질 파일로 관리하는거고, 제가 말한건 쇠 텍스쳐 따로, 스탠다드 셰이더 따로, 금속재질 따로 관리하는 방식입니다.이렇게 관리해도 문제가 없을까요?
-
미해결고객 데이터를 활용하는 CRM & 마케팅 자동화 코스
강의 자료 다운로드
안녕하세요오늘 수강신청했는데 강연 자료 다운로드 받을 수 있을까요
-
미해결카프카 완벽 가이드 - 코어편
NoCommit의 경우 Offset을 어떻게 알고 요청을 하게 될까요?
안녕하세요! 항상 좋은 강의 감사합니다Offset의 경우 어떻게 No Commit을 인식하고 값을 가져오는지 궁금합니다. Commit이라는 행위 자체가 Broker의 __consumer_offsets의 그룹별로 offsets 번호를 갱신하는 것으로 이해하고 있습니다.이 때, No Commit을 하게 되면 Broker는 어떻게 Consumer에게 적절한 Offset을 전달하는 것일까요? 생각한 내용은 아래와 같은데 이게 맞을까요? Broker는 데이터를 전달하기 전에__consumer_offsets에 그 값을 읽고 보낸다.보낸 후에 __consumer_offsets에 그 값을 저장한다.만약, consumer가 offsets commit 메세지를 보내온다면 이 값을 __consumer_offsets에 업데이트한다.No Commit이라면 Commit 메세지가 없기 때문에 온전히 Broker의 논리대로만 __consumer_offsets가 정해진다. 위와 같이 동작하는게 맞을까요? 만약 맞다면, Consumer async에 대해서도 조금 이상한 것 같습니다. 아래와 같은 방식으로 이상하게 동작할 것 같은데.. 제가 생각하는 것이 맞을까요? 브로커는 100까지 전송한 후 __consumer_offsets에 101을 기록한다.consumer는 100의 메세지를 전송 받고, 그 다음 메세지를 전송 요청함과 동시에 offsets = 101을 커밋 요청한다.이 때, 브로커는 300까지 전송한 후 __consumer_offsets에 301을 기록한다.이 때, consumer가 보낸 offsets = 101 커밋이 전달되어 __consumer_offset은 301 → 101로 변경된다.브로커는 offsets가 101이기 때문에 101부터 다시 메세지를 보낸다. 바꿔서 이야기하면, Consumer나 Broker에 에러가 발생하지 않아도 중복이 발생할 가능성이 매우 많은 것처럼 보입니다. 또한, sync() 메서드를 이용 + No Commit으로 할 경우에도 동작이 잘 이해가 되지 않습니다.동일 그룹 ID로 접근할 경우, 이미 __consumer_offsets은 1000 이상의 값이 설정되어 있을 수 있습니다.이 때, sync()로 10을 설정 + No Commit을 할 경우... 어떻게 첫번째부터 꾸준히 값을 불러오게 되는걸까요?예를 들어 Broker에서 전달해준 offsets 값을 꾸준히 업데이트 해주는 것이라면, 초기에 10을 전달해준다고 하더라도 Broker는 __consumer_offsets의 값을 1000 이상을 가지고 있기 때문에 1000 이상의 값을 계속 전달해줘야 할 것 같습니다.그런데 그렇지 않고 10번부터 차곡차곡 전달해주고 있습니다.이 경우에는 Broker가 전달한 값을 매번 __consumer_offsets에 저장하지 않는 것처럼 보입니다. 이것저것 다 따져보면...결론은 다음과 같을텐데 맞을까요...?Consumer Client는 자신이 읽고 있는 토픽 + 파티션별로 Offset 정보를 가지고 있다. poll()을 할 때, Consumer Client는 자신이 가지고 있는 정보를 바탕으로 Broker에게 메세지를 달라고 한다.Broker는 Consumer로부터 Commit이 온 것만 __consumer_offsets에 저장한다. 제가 위에 생각한 경우들이 맞을까요??감사합니다!
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
SSR axios를 하는 과정에서 401 에러가 떠요..
getServerSideProps를 이용해서 SSR을 할 때axios에서 계속 401 Unauthorized 에러가 발생하네요...혹시몰라서 CSR로도 시도해봤는데 이때는 잘 되구요...혹시 SSR에서 header 설정을 추가로 해주어야한다거나 하는 경우가 있는건가요...? 어떻게 시도를 해도 에러가 없어지지 않네요ㅠㅠㅠ
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
put, copyFromLocal과 get, copyToLocal
안녕하세요 강사님 강의 정말 잘 듣고 있습니다. 다름이 아니라 put, copyFromLocal과 get, copyToLocal는 서로 같은 명령어인데 저렇게 같은 명령어를 두개나 만든 이유가 있을까요? 혹시 성능이나 기타 다른 점에서 차이가 있는 것인지 궁금합니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
시험장에 비주얼스튜디오 한글판 설치 되어 있지 않습니까?
시험장에 비주얼스튜디오 한글판 설치 되어 있지 않습니까?영문으로 준비해야 합니까?