묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
열부분 슬라이싱 질문
행부분을 temp = board[j][i+5]로 슬라이싱하셨는데열부분은 temp = board[j:j+5][i]로는 슬라이싱이 안되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DI 이해도 확인
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 DI를 제대로 이해한 것인지 확인 부탁드려도 될까요?MemberService클래스와 MemberServiceTest클래스의 멤버변수인 MemoryMemberRepository 객체가 다른 객체일 가능성이 있습니다. 각각의 두 클래스에서 굳이 동일한(총 2개) MemoryMemberRepository객체를 만들 필요는 없습니다. 왜냐하면 두 객체가 다른 객체일 가능성도 있고 목적상 다른 객체이어야 할 이유가 전혀 없기 때문입니다. 이러한 문제를 개선하기 위해 DI가 필요합니다. DI를 하는 방법은 다음과 같습니다. MemberService클래스에서 멤버변수에MemoryMemberRepository 객체를 생성하지 않고 참조변수만을 선언합니다. 생성자를 만들어 MemoryMemberRepository 객체를 주입받고 그 객체를 멤버변수 MemoryMemberRepository로서 사용하도록 합니다. MemberServiceTest클래스에서 MemberService 생성자를 사용하여 MemberService 객체를 생성하는데 이 때, 생성자의 인자에 MemoryMemberRepository 객체를 생성해 주입합니다. MemberService클래스에서 생성자를 만들었고 생성자의 인자로 MemoryMemberRepository 객체를 주입받고 그 객체를 멤버변수로 사용하기로 했다는 것을 잊지말아야 합니다. 이것이 핵심입니다. 물론 14분대 강의영상에서는 MemberServiceTest클래스에서 MemberService의 각 메서드들이 테스트되기 전 매번 MemberService 객체가 만들어져야 하므로 beforeEach() 메서드 안에서 구현이 되었을 뿐, DI의 원리는 지금까지 설명한 바와 동일합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
Math.max
안녕하세요 강사님궁금한 것이 있는데요마지막에 answer = Math.max(answer, cnt)는 처음부터 못 사는 경우를 생각해서 하는건가요??answer = cnt만 해도 그냥 답이 나와가지고 궁금해서 여쭤봅니다.
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
이해가됐습니다...
강의를 보면서 왜 갑자기 count 1이 2가 되지 했는데hanoi 함수가 스택에 쌓이면서 count가 2이었던 함수 3이었던 함수가 끝이 안났기 때문에 계속 count가 올라갔던거군요. 이거 때문에 분명 count 1인 상태로 함수가 끝났는데 갑자기 2이었던 함수가 왜 시작되는지 의아했습니다. 동영상 5번 반복적으로 보니깐 이제야 이해되네요! 감사합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker 설치 질문드립니다.
윈도우에 WSL2 설치해서 사용중인 사람도Docker Desktop 을 윈도우 버전으로 설치 해야하는게 맞는건가요?Docker Desktop 도 설치하고, 노션에 있는 설치 스크립트도 실행하면 될까요?
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
tank rig 저장 후 열었을 때 오류
탱크 리깅 수업 5번인 track spline 까지 따라하고 맥스 파일을 저장후 다시 열었는 데 오류가 생긴건지 바퀴나 헬퍼들이 한곳에 합쳐져 있습니다. 본은 사라진건지 보이지도 않습니다. 도대체 뭐가 원인인지 감도 안잡힙니다. 버전은 2023입니다.
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
npm run dev 에러
➜ vue-til-server git:(master) ✗ npm i bcrypt npm WARN deprecated bcrypt@3.0.8: versions < v5.0.0 do not handle NUL in passwords properlynpm WARN deprecated node-pre-gyp@0.14.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the futurenpm ERR! code 1npm ERR! path /Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcryptnpm ERR! command failednpm ERR! command sh -c node-pre-gyp install --fallback-to-buildnpm ERR! CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.onpm ERR! CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.onpm ERR! CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.onpm ERR! Failed to execute '/opt/homebrew/Cellar/node/19.6.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v111' (1)npm ERR! node-pre-gyp info it worked if it ends with oknpm ERR! node-pre-gyp info using node-pre-gyp@0.14.0npm ERR! node-pre-gyp info using node@19.6.0 | darwin | arm64npm ERR! node-pre-gyp WARN Using needle for node-pre-gyp https download npm ERR! node-pre-gyp info check checked for "/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node" (not found)npm ERR! node-pre-gyp http GET https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v111-darwin-arm64-unknown.tar.gznpm ERR! node-pre-gyp http 404 https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v111-darwin-arm64-unknown.tar.gznpm ERR! node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v111-darwin-arm64-unknown.tar.gz npm ERR! node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.8 and node@19.6.0 (node-v111 ABI, unknown) (falling back to source compile with node-gyp) npm ERR! node-pre-gyp http 404 status code downloading tarball https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v111-darwin-arm64-unknown.tar.gz npm ERR! gyp info it worked if it ends with oknpm ERR! gyp info using node-gyp@9.3.0npm ERR! gyp info using node@19.6.0 | darwin | arm64npm ERR! gyp info ok npm ERR! gyp info it worked if it ends with oknpm ERR! gyp info using node-gyp@9.3.0npm ERR! gyp info using node@19.6.0 | darwin | arm64npm ERR! gyp info find Python using Python version 3.10.10 found at "/opt/homebrew/opt/python@3.10/bin/python3.10"npm ERR! gyp info spawn /opt/homebrew/opt/python@3.10/bin/python3.10npm ERR! gyp info spawn args [npm ERR! gyp info spawn args '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',npm ERR! gyp info spawn args 'binding.gyp',npm ERR! gyp info spawn args '-f',npm ERR! gyp info spawn args 'make',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/build/config.gypi',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/Users/seungwonjang/Library/Caches/node-gyp/19.6.0/include/node/common.gypi',npm ERR! gyp info spawn args '-Dlibrary=shared_library',npm ERR! gyp info spawn args '-Dvisibility=default',npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/seungwonjang/Library/Caches/node-gyp/19.6.0',npm ERR! gyp info spawn args '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/seungwonjang/Library/Caches/node-gyp/19.6.0/<(target_arch)/node.lib',npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt',npm ERR! gyp info spawn args '-Dnode_engine=v8',npm ERR! gyp info spawn args '--depth=.',npm ERR! gyp info spawn args '--no-parallel',npm ERR! gyp info spawn args '--generator-output',npm ERR! gyp info spawn args 'build',npm ERR! gyp info spawn args '-Goutput_dir=.'npm ERR! gyp info spawn args ]npm ERR! gyp info ok npm ERR! gyp info it worked if it ends with oknpm ERR! gyp info using node-gyp@9.3.0npm ERR! gyp info using node@19.6.0 | darwin | arm64npm ERR! gyp info spawn makenpm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]npm ERR! In file included from ../src/bcrypt_node.cc:1:npm ERR! In file included from ../../nan/nan.h:174:npm ERR! ../../nan/nan_callbacks.h:55:23: error: no member named 'AccessorSignature' in namespace 'v8'npm ERR! typedef v8::Local<v8::AccessorSignature> Sig;npm ERR! ~~~~^npm ERR! In file included from ../src/bcrypt_node.cc:1:npm ERR! ../../nan/nan.h:2536:8: error: no matching member function for call to 'SetAccessor'npm ERR! tpl->SetAccessor(npm ERR! ~~~~~^~~~~~~~~~~npm ERR! /Users/seungwonjang/Library/Caches/node-gyp/19.6.0/include/node/v8-template.h:814:8: note: candidate function not viable: no known conversion from 'imp::Sig' (aka 'int') to 'v8::SideEffectType' for 7th argumentnpm ERR! void SetAccessor(npm ERR! ^npm ERR! /Users/seungwonjang/Library/Caches/node-gyp/19.6.0/include/node/v8-template.h:807:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'v8::AccessorGetterCallback' (aka 'void (*)(Local<v8::String>, const PropertyCallbackInfo<v8::Value> &)') for 2nd argumentnpm ERR! void SetAccessor(npm ERR! ^npm ERR! In file included from ../src/bcrypt_node.cc:1:npm ERR! In file included from ../../nan/nan.h:2884:npm ERR! ../../nan/nan_typedarray_contents.h:34:43: error: no member named 'GetContents' in 'v8::ArrayBuffer'npm ERR! data = static_cast<char*>(buffer->GetContents().Data()) + byte_offset;npm ERR! ~~~~~~~~^npm ERR! 3 errors generated.npm ERR! make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error: make failed with exit code: 2npm ERR! gyp ERR! stack at ChildProcess.onExit (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:512:28)npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12)npm ERR! gyp ERR! System Darwin 22.3.0npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/19.6.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v111"npm ERR! gyp ERR! cwd /Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcryptnpm ERR! gyp ERR! node -v v19.6.0npm ERR! gyp ERR! node-gyp -v v9.3.0npm ERR! gyp ERR! not ok npm ERR! node-pre-gyp ERR! build error npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/opt/homebrew/Cellar/node/19.6.0/bin/node /opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcrypt/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v111' (1)npm ERR! node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/node-pre-gyp/lib/util/compile.js:83:29)npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:512:28)npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1098:16)npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)npm ERR! node-pre-gyp ERR! System Darwin 22.3.0npm ERR! node-pre-gyp ERR! command "/opt/homebrew/Cellar/node/19.6.0/bin/node" "/Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"npm ERR! node-pre-gyp ERR! cwd /Users/seungwonjang/Desktop/VUE-ENDGAME/vue-til-server/node_modules/bcryptnpm ERR! node-pre-gyp ERR! node -v v19.6.0npm ERR! node-pre-gyp ERR! node-pre-gyp -v v0.14.0npm ERR! node-pre-gyp ERR! not oknpm ERR! A complete log of this run can be found in:npm ERR! /Users/seungwonjang/.npm/_logs/2023-02-12T15_29_26_893Z-debug-0.log➜ vue-til-server git:(master) ✗ 미치겠습니다..npm i -g @vue/cli는 입력한 상태입니다그뒤로 npm run dev를 입력하면 에러가 나서 npm i bycrypt 를 입력하면 ➜ vue-til-server git:(master) ✗ npm i bycrypt npm ERR! code E404npm ERR! 404 Not Found - GET https://registry.npmjs.org/bycrypt - Not foundnpm ERR! 404 npm ERR! 404 'bycrypt@*' is not in this registry.npm ERR! 404 npm ERR! 404 Note that you can also install from anpm ERR! 404 tarball, folder, http url, or git url.npm ERR! A complete log of this run can be found in:npm ERR! /Users/seungwonjang/.npm/_logs/2023-02-12T15_33_38_306Z-debug-0.log해당 에러가 발생합니다 확인 부탁드립니다
-
미해결대세는 쿠버네티스 (Helm편)
jenkins에서 helm, kubectl 사용하도록 설정?
안녕하세요.강의 잘 듣고 있습니다.jenkins에서 helm, kubectl 사용할 수 있도록 설정하는 부분에 대하여 질문드립니다.강의에서kubectl, helm 명령어가 동작하지 않아 mkdir,cp,chown 명령어 사용하고 나니, 해당 명령어들을 jekins에서 사용할 수 있게 되었는데 사용 가능해지는지 원리가 궁금합니다.강의만 들었을 때는 디렉토리생성, 파일copy, jekins권한부여 이정도만 다루고 있는데...이 명령어들로 인해 어떻게 사용이 가능해지는 원리가 궁금합니다! 감사합니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
Vagrantfile 내부 질문드립니다.
설치완료 후 kubectl get pod -A 실행시coredns, dashboard 관련 pod가 계속 pending 상태이고, 강의에서 해당명령어를 쳤을때와 다르게 pod 중 calico 관련 파드가 존재하지 않아서 Vagrantfile의 Calico 설치부분중# Calico 설치 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml구문을 직접 master node에서 커맨드로 쳐본 결과[root@k8s-master ~]# kubectl apply -f calico.yamlerror: error validating "calico.yaml": error validating data: invalid object to validate; if you choose to ignore these errors, turn validation off with --validate=false에러가 발생합니다.해결방법 문의드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
12분대 memberRepository 참조변수 이름 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]MemberService에서 아직 어떤 DB를 사용할지 모르니 참조타입을 MemberRepository로 하고생성자를 MemoryMemberRepository를 한 것은 이해가 갔습니다. 다형성을 위해서 그러신 것이죠.private final MemberRepository memberRepository = new MemoryMemberRepository(); 근데 강의영상 12:00부터의도치 않은 Member객체를 가르킬 수 있으니 MemberServiceTest에서 멤버변수 AfterEach()를 새로 만들어 리포지토리를 지우기 위해 MemoryMemberRepository의 clearStore()를 가져와야 했습니다.그래서 MemberServiceTest 16라인에MemoryMemberRepository memberRepository = new MemoryMemberRepository();이렇게 작성하셨습니다. 근데 제가 생각했을 때 참조타입도 MemoryMemberRepository 이고 생성자도 MemoryMemberRepository인데 어째서 참조변수의 이름은 memberRepository 인건지 궁금합니다. 귀한 시간 내주셔서 제 질문 읽어주셔서 감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Basic Video Call을 통해서 영상 접속이 처음에만 되는 이유가 뭘까요?
코드를 그대로 따라하면서 작성했는데이상하게도 영상 마지막 부분에서 나온 웹사이트를 통해서 시도해보면채널 참가 첫 1회시에만 기능하고채널 나가기를 누른 후 다시 참여할때는 emulator에서 아무리 기다려도 채널에 유저가 없습니다 가 뜹니다.이유를 찾으려고 해봤지만,, 쉽지 않네요...
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
훌륭한 강의 잘 보고 있습니다~
혹시 파일 업로드 처리 관련해서는 추가 강의나 예제 자료를 제공해주실 수는 없을까요~?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
시간복잡도 기준 질문
전 강의(수의 합)에서는 시간복잡도 때문에 for문 한번만 작성해야하고 어느문제는 그냥풀어도 되는건지 그 기준이 궁금합니다.
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
수업 파일 부탁드립니다~
안녕하세요수업 자료를 받아볼 수 있을까요?실무편은 자료가 있는데 초급편은 없네요 ㅠㅠdbtkdgml91@gmail.com로 부탁드립니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
조건(where)을 포함한 일대다(1:N) 페이징 쿼리 질문
안녕하세요. 영한님20만 수강생 진심으로 축하드립니다.^^🎉프로젝트 도중에 막혀서 강의를 👀복습하던 중 질문드립니다..!(영한님 강의 덕분에 저도 이러한 고민을 하게되다니... 감사의 말씀 드립니다.😊) 페이징이 가능하고 item.name으로 order를 조회하려고 하면 어떠한 방식으로 코드를 작성 해야할까요? 일단 제가 생각한 방법은 다음과 같습니다.V3.1 적용요구사항은 회원(member), 결제(payment), 배송(delievery), 주문 상품(orderItem)을 포함해서 페이징이 되도록 주문(order)을 조회하고, 조건으로 상품 이름(item.name)으로 조회가 가능해야 하는 것 입니다.orderItem은 일대다 관계 이기 때문에 페이징이 불가합니다.그래서 V3.1의 방법인 hibernate.default_batch_fetch_size 을 이용하여 IN 쿼리로 orderItem을 조회하려고 합니다.이렇게 하면 페이징이 가능하도록 order는 조회할수는 있지만, item.name을 조건으로 조회 할 수는 없습니다. V5 적용그래서 V5에서 알려주신 방법을 사용했습니다.order와 orderItem을 분리한다.order을 이용하여 orderItem을 조회한다.(추가로 item.name 조건도 넣는다.)조회한 결과를 하나의 List으로 만든다.List을 다시 Page로 변환한다.public Page<AdminOrderListQueryDto> findOrdersByAdmin(Pageable pageable, OrderSearchCondition condition) { // 주문 전체 조회 List<AdminOrderListQueryDto> content = queryFactory .select(new QAdminOrderListQueryDto(order.id, order.status.stringValue(), order.safeKingPayment.amount, order.createDate, order.merchantUid, new QAdminOrderListPaymentQueryDto(order.safeKingPayment.status.stringValue()), new QAdminOrderListMemberQueryDto(order.member.name), new QAdminOrderListDeliveryQueryDto(order.delivery.receiver, order.delivery.status.stringValue())) ) .from(order) .leftJoin(order.safeKingPayment, safekingPayment) .leftJoin(order.delivery, delivery) .leftJoin(order.member, member) .where( orderBetweenDate(condition.getFromDate(), condition.getToDate()), deliveryStatusEq(condition.getDeliveryStatus()), paymentStatusEq(condition.getPaymentStatus()) ) .orderBy(order.createDate.desc()) .fetch(); // 주문 아이디 저장 List<Long> orderIds = content.stream() .map(o -> o.getId()) .collect(Collectors.toList()); // 상품명으로 검색 조건 Map<Long, List<AdminOrderListOrderItemQueryDto>> orderItemMap = findOrderItemMap(orderIds, condition.getKeyword()); // 주문객체에 주문 상품컬렉션 저장 content.forEach(o -> o.setOrderItems(orderItemMap.get(o.getId()))); // 주문상품이 null이 아닌 컬렌션으로 구성 List<AdminOrderListQueryDto> resultContent = content.stream() .filter(o -> o.getOrderItems() != null) .collect(Collectors.toList()); // List를 Page로 변환 PageRequest pageRequest = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize()); int start = (int) pageRequest.getOffset(); int end = Math.min(start + pageRequest.getPageSize(), resultContent.size()); if(start > end) { throw new OrderException("데이터가 없습니다. 관리자에게 문의하세요."); } return new PageImpl<>(resultContent.subList(start, end), pageRequest, resultContent.size()); } private Map<Long, List<AdminOrderListOrderItemQueryDto>> findOrderItemMap(List<Long> orderIds, String keyword) { // 주문 상품 검색(item.name 조건 포함) List<AdminOrderListOrderItemQueryDto> orderItems = queryFactory.select(new QAdminOrderListOrderItemQueryDto(orderItem.order.id, orderItem.id, orderItem.item.name)) .from(orderItem) .leftJoin(orderItem.item, item) .where( orderItem.order.id.in(orderIds), keywordContains(keyword) ) .fetch(); // Map 으로 변환 Map<Long, List<AdminOrderListOrderItemQueryDto>> orderItemMap = orderItems.stream() .collect(Collectors.groupingBy(orderItemQueryDto -> orderItemQueryDto.getOrderId())); return orderItemMap; } // 아이템이름 포함 조건 private BooleanExpression keywordContains(String keyword) { return hasText(keyword) ? item.name.contains(keyword) : null; } 이러한 방식을 사용하는게 맞을까요? 🤔 감사합니다.^^
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
!pip install -r requirements.txt 설치시 에러
!pip install -r requirements.txt 설치시 에러 메시지가 뜹니다 에러 내용이 길어서 아래 세 부분만 켭쳐했습니다-에러메시지 나오기전 바로 위-에러메시지 시작부분-에러메시지 끝부분 정말 왕초보이니 해결책 제발 쉽게 설명좀 부탁드립니다
-
해결됨React 기반 Gatsby로 기술 블로그 개발하기
쿼리오류 Field "thumbnail" must not have a selection...
메인 페이지에서 Props로 받아 포스트 데이터 출력하기 강의에서 여기까지 한 후, 2개의 포스트 아이템이 화면에 잘 출력되는지 확인해주세요.>>>> 이 부분까지 하고 실행을 하려니 아래와 같은 쿼리 오류가 생겼습니다.There was an error in your GraphQL query: Field "thumbnail" must not have a selection since type "String" has no subfields. This can happen if you e.g. accidentally added { } to the field "thumbnail". If you didn't expect "thumbnail" to be of type "String" make sure that your input source and/or plugin is correct. However, if you expect "thumbnail" to exist, the field might be accessible in another subfield. Please try your query in GraphiQL. It is recommended to explicitly type your GraphQL schema if you want to use optional fields.publicURL 을 못가져오는것 같은데.. 어떻게 해결해야할까요 ㅠ.ㅠ레포지토리 남깁니다! https://github.com/syankkim/syankkim.github.io
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
save 파라미터에 스프레드 안쓰고 객체를 넘겨도 되나요?
const savedProductSaleslocation = await this.productSaleslocationRepository.save({ ...productSaleslocation, });위 코드에서, 아래처럼 코드를 바꿔봤습니다. const savedProductSaleslocation = await this.productSaleslocationRepository.save(productSaleslocation);정상 작동했는데 차이가 무엇인가요? 또 권장하는 방식은 무엇인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
request inputStream 로깅 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]공통처리는 필터보다는 인터셉터를 우선적으로 고려하라고 말씀해 주셨었는데요,모든 요청에 대해 request 의 inputStream 을 이용해 requestBody 로깅을 한다고 했을때 필터와 인터셉트 중 어느것을 사용하는게 더 적절하다고 보시는지 궁금합니다.
-
해결됨기초부터 실무까지 Tableau 시각화
섹션 3 캘린더 시각화 질문 있습니다.
동영상 부분의 내용 따라서 평일 수식 넣었는데, 일요일 [기준일자] 1 작동 잘됩니다.토요일 [기준일자] 7 작동 안됩니다. 예를 들면 토요일 3, 10, 17, 24, 31 이 평일 3, 10, 17, 24, 31과 동일하게 숫자가 표시되는데 수식 관련 도움좀 주실 수 있나요?