묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
c++ 설치관련문의
교안에서 윈도로 설치할 경우 DevC++을 추천한다고 했습니다. 제가 유니티를 전에 사용하면서 비줄얼스튜디오2022가 이미 설치가 되어있습니다. 이경우에서도 DevC++를 설치하는 것이 나을지 아니면 이미 있는 비주얼스튜디오2022로 사용해도 되는지 각각의 장단점을 문의드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Error: Access denied for user 'root'@'localhost' (using password: YES) 에러
아래 질문과 동일한 에러가 발생해서 알려주신 해결책으로 진행했는데...이번에는 다른 문제가 발생했습니다.Error: Access denied for user 'root'@'localhost' (using password: YES)구글링으로 아무리 찾아서 해보아도 해결이 안되고 있습니다.아래 테이블 만들었구요권한문제인가 싶어서 user 테이블의 root 의 authentication_string 을 바꿔도 해쉬값으로 저장되지도 않고...현재는 NULL로 해놓고 있는데 도무지 해결이 되지 않습니다. 도와주세요 ㅠㅠ
-
미해결처음 만난 리액트(React)
Event handler 질문입니다.
변수 handleConfirm의 Arrow function이 실행하는 것은 어떤걸 받아서 무엇을 하는 건가요?prevIsConfirmed이 뭘 하는 녀석인지 모르겠습니다.
-
미해결프레이머를 활용하여 쉽고 간단하게 프로토타입 제작하기
스크롤 기능 사라졌나요?
스크린 크기 늘려야 스크롤이 생기네요피그마랑 똑같아진건가요
-
미해결
[JPA] 다른 컬럼명을 참조하는 연관관계에 대한 궁굼점 (referencedColumnName)
다른 컬럼명을 참조하는 연관관계에 대한 궁굼점 JPA 를 공부하며 궁굼한게 있어 질문 드립니다 !아래와 같은 테이블이 존재한다고 가정한다.QNA 테이블에 존재하는 Q_REG_USER , Q_UPD_USER 는 USER.U_SEQ 이다.이렇게 서로 다른 컬럼명을 참조하고 있을경우 어떻게 대처해야 할지몰라 방법을 찾아본 후referencedColumnName 를 사용해 명시를 해준 후 매핑을 해주니 내가 원하는 결과가 잘 나왔다.하지만 실무에서 실제로 어떻게 쓰이는지 몰라 맞는 방법을 몰라 조언을 구합니다.이런 경우에 이런 식으로 매칭을 시켜주는게 맞는지,또한 어떻게 사용하는지도 알려주시면 감사할 것 같습니다 !
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
수들의 합
해당 코드는 강사님 풀이와 비교했을 때 어떤지 궁금합니다. N, M = map(int, input().split()) list = list(map(int, input().split())) cnt = 0 for i in range(N): sum = list[i] temp = i while True: if sum == M: cnt += 1 break if sum > M: break if temp == N - 1: break temp += 1 sum += list[temp] print(cnt)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
크롤링 로켓배송 제외
안녕하세요. 문의드립니다.쿠팡 로켓배송 크롤링강의를 보고 쿠팡 1~10(위에 빨간리본상품) 중 로켓배송상품, 광고상품을 빼고 상품의 이름을 가져오고 싶은데요. 강의 보고 어떻게 적용을 해야할지 해매고 있어 문의드립니다.초보라 모르는게 많네요. 도와주세요~
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
스프링부트 3.0.2 querydsl + rest docs + propoerties
스프링부트 3.0.2로 따라하고 계신분들을 위한 공유입니다.queryDSLimplementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"Spring REST Docsext { asciidocVersion = "3.0.0" }버전을 3.0.0으로 지정application.propertiesspring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
seeder is not a constructor
yarn seed를 통해 더미데이터를 생성하려 했으나 "seeder is not a constructor" 라는 에러에 마주칩니다. 어느 부분이 잘못됫는지 알아보기 위해 에러코드를 살펴봤으나 제 코드 부분이 아닌 typeorm-extension 부분에서 에러가 나는것 같아 해결하기 어렵습니다.TypeError: seeder is not a constructor at /Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/src/seeder/module.ts:122:19 at Generator.next (<anonymous>) at fulfilled (/Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/dist/seeder/module.js:5:58) dataSource.ts import dotenv from 'dotenv'; //dataSource에 entity를 입력해줄때는 절대경로면 못찾아온다. 그래서 상대 경로로 써줘야함 import { User } from './src/users/entities/user.entity'; import { DataSource } from 'typeorm'; const mode = process.env.NODE_ENV || 'development'; dotenv.config({ path: process.cwd() + `/.env.${mode}` }); const dataSource = new DataSource({ type: 'mysql', host: 'localhost', port: 3306, database: process.env.DB_DATABASE, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, charset: 'utf8mb4_general_ci', entities: [User], migrations: [__dirname + '/src/migrations/*.ts'], synchronize: true, logging: true, }); export default dataSource; package.json seed부분 설정 "seed": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js seed -d ./dataSource.ts" database/seeds/create-initial-data.ts import { User } from '../../users/entities/user.entity'; import { DataSource } from 'typeorm'; import { Seeder, SeederFactoryManager } from 'typeorm-extension'; export class UserSeeder implements Seeder { async run( dataSource: DataSource, factoryManager: SeederFactoryManager, ): Promise<any> { const userRepository = dataSource.getRepository(User); await userRepository.save({ email: 'ggg@gmail.com', firstName: 'sfvs', lastName: 'wdwdwd', nickname: 'hihi', }); } } typeorm-extension 버젼 "typeorm-extension": "^2.4.2", "typeorm": "^0.3.12", 시도해본 내용1. dataSource 생성시 new DataSource({... 중략seed:["create-initial-data.ts 경로"] 추가})2. db 삭제후 다시 생성(생성시 테이블 싱크까지 맞춘후 seed 시도)3. typeorm-extension 버전 문제일까 해서 다운그레이드 시도4. typeorm 0.3대는 유지하고 0.3.11, 0.3.10등 다른 버전으로 시도결과 모두 실패
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
자바스크립트에서는 항상 맨날 힙 구현해서 풀어야했는데..
실시간 정렬해야되는 문제들 보면 거의 무조건 힙구조도 같이 이용해야하는 문제들이여서..자바스크립트로 풀때는 최소 빨라도 3~4분정도는..요로코롬Min이나 Max 힙 구조 만드는데 소요해야하고,class MaxHeap { constructor() { this.heap = [null]; } push(value) { this.heap.push(value); let currentIndex = this.heap.length - 1; let parentIndex = Math.floor(currentIndex / 2); while (parentIndex !== 0 && value > this.heap[parentIndex]) { const temp = this.heap[parentIndex]; this.heap[parentIndex] = value; this.heap[currentIndex] = temp; currentIndex = parentIndex; parentIndex = Math.floor(currentIndex / 2); } } pop() { if (this.heap.length === 1) return; if (this.heap.length === 2) { return this.heap.pop(); } const returnValue = this.heap[1]; this.heap[1] = this.heap.pop(); let currentIndex = 1; let leftIndex = 2; let rightIndex = 3; while ( this.heap[currentIndex] < this.heap[leftIndex] || this.heap[currentIndex] < this.heap[rightIndex] ) { if (this.heap[leftIndex] < this.heap[rightIndex]) { const temp = this.heap[currentIndex]; this.heap[currentIndex] = this.heap[rightIndex]; this.heap[rightIndex] = temp; currentIndex = rightIndex; } else { const temp = this.heap[currentIndex]; this.heap[currentIndex] = this.heap[leftIndex]; this.heap[leftIndex] = temp; currentIndex = leftIndex; } leftIndex = currentIndex * 2; rightIndex = currentIndex * 2 + 1; } return returnValue; } } 심지어 문제 구조에서, 힙에 들어가야하는게 객체요소이면서, 객체의 어떤 Key 값에 따라서 실시간 정렬해야할 경우엔 여기서 또 out of index , key값 더 생각해서, class MinHeap { constructor() { this.heap = [null]; } isEmpty() { return this.heap.length === 1; } _swap(a, b) { [this.heap[a], this.heap[b]] = [this.heap[b], this.heap[a]]; } push(value) { this.heap.push(value); let currentIndex = this.heap.length - 1; let parentIndex = Math.floor(currentIndex / 2); // while (parentIndex !== 0 && this.heap[parentIndex].key > value.key) { this._swap(parentIndex, currentIndex); currentIndex = parentIndex; parentIndex = Math.floor(currentIndex / 2); } } pop() { if (this.isEmpty()) return; if (this.heap.length === 2) return this.heap.pop(); const returnValue = this.heap[1]; this.heap[1] = this.heap.pop(); let currentIndex = 1; let leftIndex = 2; let rightIndex = 3; while ( (this.heap[leftIndex] && this.heap[currentIndex].key > this.heap[leftIndex].key) || (this.heap[rightIndex] && this.heap[currentIndex].key > this.heap[rightIndex].key) ) { if (this.heap[rightIndex] === undefined) { this._swap(leftIndex, currentIndex); currentIndex = leftIndex; } else if (this.heap[rightIndex].key < this.heap[leftIndex].key) { this._swap(rightIndex, currentIndex); currentIndex = rightIndex; } else if (this.heap[rightIndex].key >= this.heap[leftIndex].key) { this._swap(leftIndex, currentIndex); currentIndex = leftIndex; } leftIndex = currentIndex * 2; rightIndex = currentIndex * 2 + 1; } return returnValue; } } 요로코롬 이렇게 힙구조 작성하는데만 4~5분 먹고, 그담 문제 풀이 본격적으로 시작할 수 있습니다..파이썬의 deque 같은경우는 자바스크립트에선 Queue 구조 1분. 먹고왜 사람들이 파이썬 코테로 많이 쓰는지 알겠네요..ㄷㄷ;;import heapq , 단 1초면 모듈 가져오고, 끝이네요.코테에서 import 모듈 제한 없다면 진짜 무조건 파이썬이네요 ;;
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
열부분 슬라이싱 질문
행부분을 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 인건지 궁금합니다. 귀한 시간 내주셔서 제 질문 읽어주셔서 감사합니다.