npm i vs npm add
미해결
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
현재 Swagger를 활용한 API-Docs 생성 수강중 입니다. 21분 36초에 npm add 로 설치하는데 npm i 와 npm add 의 차이를 앞부분에서 설명해 주셨을까요? 기억이 왜 안날까요?
- express
- node.js
- javascript
- tdd
- nodejs
- rest-api
- docker
- nestjs
- NestJS
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
현재 Swagger를 활용한 API-Docs 생성 수강중 입니다. 21분 36초에 npm add 로 설치하는데 npm i 와 npm add 의 차이를 앞부분에서 설명해 주셨을까요? 기억이 왜 안날까요?
미해결
1.variable Environment가 Lexical Environment의 snapshot이며 outerEnvironmentReference는 함수가 선언될 당시 Lexical Environment를 참조한다고 하였습니다... 그렇다면 variable Environment를 참조하는 것과 같지 않은지가 궁금합니다. 2.variableEnvironment의 environmentRecord는 선언된 식별자를 LexicalEnvironment의 environmentRcord는 선언된 식별자를 포함해 let과 const 등까지 포함하는지 궁금합니다.. 3.ThisBinding이 variableEnvironment나 LexicalEnvironment의 environmentRecord에 속해 있는 게 아니라 따로 떨어져있는게 맞는지가 궁금합니다...
해결됨
코어 자바스크립트
안녕하세요 클로저에 대해 명확한 이해가 되지 않아서 질문 드립니다. 전역, outer, inner 함수가 있다고 가정할 때, outer 함수가 실행되면, outer의 LexicalEnviroment이 생길것이고, 그 내부에는 enviromentRecord와 outerEnviromentRef 가 생길 것입니다. enviromentRecord에는 inner 함수도 포함이 될 것이고, inner 함수는 outer 함수 내부에서 선언되었으므로, inner 함수의 [[Enviroment]] 슬롯은 outer 컨텍스트의 LexicalEnviroment를 참조할 것입니다. 따라서 outer컨텍스트가 종료 되어도 inner함수의 [[Enviroment]] 슬롯이 outer 컨텍스트의 LexicalEnviroment를 참조하고 있기 때문에 GC 의 대상이 되지않고, (outer컨텍스트가 없어진 후에) inner 컨텍스트가 생성되어도 정상적으로 inner의 outerEnviromentRef가 outer의 LexicalEnviroment를 참조할 수 있을 것입니다. outer LexcialEnviroment는 enviromentRecord와 outerEnviromentRef를 참조하고 있으므로, 이 두 객체는 없어지지 않아야 할 것 같은데, 강의 5:15 에서 outer의 enviromentRecord와 outerEnviromentRef는 a:1 을 제외하고 모두 제거 되고 있습니다. 제 생각에는 참조의 과정을 따라가면 객체 내부의 프로퍼티가 남는게 아니라 객체(enviromentRecord나 outerEnviromentRef 그 자체) 가 남아야 할 것 같은데, 저렇게 일부를 제외하고 다 지워지는 이유가 있을까요? a와 inner 는 outer enviromentRecord에서 참조하고 있고, enviromentRecord와 outerEnviromentRef는 LexcialEnviroment에 의해 참조되며 LexcialEnviroment는 다시 inner 함수의 [[Enviroment]] 또는 inner 컨텍스트의 outerEnviromentRef에 의해 참조 되고 있으므로, 다 살아남아야 하는 것이 아닌가 생각됩니다.
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
혹시 과제 풀이를 볼수 있는곳이 있을까요?
미해결
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
vi /etc/nginx/sites-available/default 수정 전에는 정상 작동합니다. 그런데 아래와 같이 수정하면 에러 발생합니다.
미해결
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
다이어리 에디터 직접 만들어보고 있는데 강의에서 e.target .name에 []괄호 안에넣는데 e.target.name 자체가 string이잖아요 괄호표기법으로 안써도 위에서는 그냥 author: "" 이렇게 key갑: value 값 써줬는데 e.target .name도 console찍어보면 author라고 뜨는데 왜 괄호를 붙여야 하나요? [ e.target.name ] 왜 이렇게 써야하는지 궁금합니다. 위에선 괄호없이 string으로 썼는데
해결됨
[코드캠프] 훈훈한 Javascript
<!DOCTYPE html> <html lang="ko"> <head> <title>D-day</title> <script> const dateFormMaker = function () { const inputYear = document.querySelector('#target-year-input').value; const inputMonth = document.querySelector('#target-month-input').value; const inputDate = document.querySelector('#target-date-input').value; //const dateFormat = inputYear + '-' + inputMonth + '-' + inputDate; const dateFormat = `${inputYear}-${inputMonth}-${inputDate}`; return dateFormat; //console.log(inputYear, inputMonth, inputDate); }; const counterMaker = function () { const targetDateInput = dateFormMaker(); //console.log(targetDateInput); const nowDate = new Date(); console.log('nowDate!!!!', nowDate); const targetDate = new Date(targetDateInput).setHours(0, 0, 0, 0); const remaining = (targetDate - nowDate) / 1000; const remainingDate = Math.floor(remaining / 3600 / 24); const remainingHours = Math.floor(remaining / 3600) % 24; const remainingMin = Math.floor(remaining / 60) % 60; const remainingSec = Math.floor(remaining) % 60; console.log(remainingDate, remainingHours, remainingMin, remainingSec); } </script> </head> <body> <input id="target-year-input" class="target-input"/> <input id="target-month-input" class="target-input"/> <input id="target-date-input" class="target-input"/> <button onclick="counterMaker()" class="btn">버튼</button> </body> </html> '함수의 리턴' 강의 영상에서 위와 같은 코드로 디데이 카운터를 만들었는데요. 제 생각에는 dateFormMaker 함수안에 있는 내용들을 굳이 왜 함수로 묶어야 할까 싶어서 <!DOCTYPE html> <html lang="ko"> <head> <title>D-day</title> <script> const inputYear = document.querySelector('#target-year-input').value; const inputMonth = document.querySelector('#target-month-input').value; const inputDate = document.querySelector('#target-date-input').value; const dateFormat = `${inputYear}-${inputMonth}-${inputDate}`; const counterMaker = function () { const nowDate = new Date(); console.log('nowDate!!!!', nowDate); const targetDate = new Date(dateFormat).setHours(0, 0, 0, 0); const remaining = (targetDate - nowDate) / 1000; const remainingDate = Math.floor(remaining / 3600 / 24); const remainingHours = Math.floor(remaining / 3600) % 24; const remainingMin = Math.floor(remaining / 60) % 60; const remainingSec = Math.floor(remaining) % 60; console.log(remainingDate, remainingHours, remainingMin, remainingSec); } </script> </head> <body> <input id="target-year-input" class="target-input"/> <input id="target-month-input" class="target-input"/> <input id="target-date-input" class="target-input"/> <button onclick="counterMaker()" class="btn">버튼</button> </body> </html> 이렇게 만들고 실행시켜보니 콘솔 창에 아래와 같이 뜨더라구요 함수안에 넣지 않았으니까 index 파일이 실행되자마자 const inputYear = document.querySelector('#target-year-input').value; const inputMonth = document.querySelector('#target-month-input').value; const inputDate = document.querySelector('#target-date-input').value; 위 부분이 실행이 된 것이고, 그래서 input 창에 아직 내용을 입력을 하지 않았으니 value 값을 읽을 수 없다고 뜨나보다 라고 생각하고 input 창에 값을 입력하고 버튼을 눌러보니 counterMaker is not defined 이런 오류가 뜨는데, counterMaker 함수는 정의되어 있는데 왜 정의되어 있지 않다고 뜨는 것인지 궁금합니다.
미해결
실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
강의를 새로 들을때마다 lite-server가 구동되지 않는데, 제가 git을 잘못 다루고 있는거 같습니다... 강의 열릴때 visual스튜디오 코드 연다음에 git bash에다가 git checkout -f 1-vanilla/scafolding cd 1-vanilla lite-server 을 했거든요....! 어떻게 해야 이전 강의와 연결되서 lite-server구동할수 있을까요?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
windows에서 vscode에서 typescript를 사용하시다 보면 아래와 같이 delete 'cr'이라고 계속 빨간 글씨가 떠서 눈에 거슬리는 경우가 있습니다. 해결책 : eslintrc.js파일에 가셔서 아래와 같이 rules에 추가한 후 저장해 주시면 됩니다. 긁어서 eslintrc.js파일의 하단의 rules에 추가해 주세요 'prettier/prettier': [ 'error', { endOfLine: 'auto', }, ],
미해결
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
경로 설정은 잘 된거같은데 not found가 나오네요 ㅠ nginx restart도 해봤습니다. 문제가 뭘까요? https://github.com/memilmooki/FoodMap
미해결
타입스크립트 입문 - 기초부터 실전까지
위처럼 저는 age가 같이 뜨는데... 뭔가 잘못한걸까요?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
여러 방면으로 시도 중인데, error_code : "NOT_READY" error_msg : "등록된 사용자가 아니거나, 아임포트 관리자 페이지에 설정된 PG정보가 없습니다." 해당 에러가 뜨면서 계속 실패하네요;; 혹시 하신 분들은 어떻게 성공하셨는지 궁금합니다. 일단 제가 예상한 것으로는 강의 화면이랑 제 구 관리자콘솔의 시스템 관리 탭이 다른 점에 눈이 가는데, 이걸 어떻게 처리해야되는지 어디를 찾아봐도 안나오네요... 강의에서는 여러 탭이 있는데 저는 두 개의 탭 밖에 보이지 않습니다. 해결 방법을 찾고 싶어도 어디서 찾아야 되는 지 감이 안잡히네요
미해결
Node.Js 활용하기
"mysql -u root -p"해서 mysql을 들어가고, 다음과 같은 명령어를 실행해봅니다. ALTER USER 'root'@' localhost ' IDENTIFIED WITH mysql_native_password BY '0000' 그리고 app_session_mysql.js를 다시 실행하면 session table이 만들어진 것을 확인할 수 있습니다. "왜 최신 mysql에서 저렇게 해야 sessions table이 자동으로 만들어 지는가?"는 인터넷에 찾아보면 나와있습니다!
미해결
처음 배우는 리액트 네이티브
스타일드 컴포넌트를 설치했는데 이렇게 에러가 뜨는데 어떤 에러일까요? 깃 주소 : https://github.com/jjunseokk/react-native
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요. 제가 찾고 기다리던 내용의 강의라 매우 만족하며 수강하고 있는 수강생입니다! ㅎ products.service.ts 파일에서 create와 update 메서드 작성할 때 typescript 에러에 대해 질문드립니다. products.service.ts 파일 create 메서드에서 productTags를 등록하는 과정에 const result2 = [] 부분을 const result2: string[]로 작성하면 await productRepository.save (...) 에서 No overload matches this call이 뜨고 update 메서드에서 updateProductInput에 UpdateProductInput로 타입을 지정하면 위와 마찬가지로 await productRepository.save (newProduct)에서 No overload matches this call이 뜹니다. 두 경우 모두 Type 'string' is not assignable to type 'ProductTag' 문제로 product.entity.ts에서는 productTag를 아래와 같이 등록하고 @Field(() => [ProductTag]) @JoinTable() @ManyToMany(() => ProductTag, (productTags) => productTags.products) productTags: ProductTag[]; createProduct.input.ts에서는 CreateProductInput에서 productTag를 아래와 같이 등록해서 발생하는 문제라고 추측했습니다. @Field(() => [String]) productTags: string[]; 두 경우 모두 타입을 지정하지 않고 any로 두면 문제는 사라지긴 합니다. any로 두고 사용할 수밖에 없는 것인지 아니면 타입 지정을 해서 사용하는 방법이 있는지 궁금합니다.
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
yarn start:dev 실행 하고 나면 아래와 같이 나오면서 에러가 뜨고 있어요 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... 아래 코드도 정상적으로 기입 했는데, 계속 접속 오류로 연결이 되지가 않습니다. import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo' import { Module } from '@nestjs/common' import { GraphQLModule } from '@nestjs/graphql' import { TypeOrmModule } from '@nestjs/typeorm' import { BoardsModule } from './apis/boards/boards.module' import { Board } from './apis/boards/entities/board.entity' @Module({ imports: [ BoardsModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: 'test1234', database: 'myproject03', entities: [Board], synchronize: true, logging: true, }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {} 현재 brew 확인시 Mysql 서버도 정상적으로 켜져 있는것을 확인 할 수 있어요 디비버에서도myproject03 이라고 정확하게 만들었습니다. 선생님의 강의하고 다른부분을 못 찾았는데, 데이터 베이스가 연결이 안될 때는 어느부분을 더 점검 해 봐야 할지요?
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
콘솔 결과와 error가 같이 출력됩니다!
해결됨
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 강의 잘 듣고 있습니다. C++ 강의에서 js 질문을 드려도 될지 싶은데 일단 적어 보겠습니다. (프론트엔드 경력 코테 준비중이라 js 를 고집하고 있는중입니다.) 3-K (백준 3197 - 백조의 호수)를 js 로 포팅 했는데 시간 초과가 발생하네요. 강사님 코드 로직을 그대로 적용 했다고 생각하는데 혹시 제코드에 빠트린게 있을지 궁금합니다. (제 눈에는 안보이네요 ㅠ) 로직이 똑같은거라면 어느부분을 개선 해야될지 조언 좀 부탁드립니다. http://boj.kr/a9a2b9684a774eb3ad7e2efb5baf57d8
해결됨
코어 자바스크립트
강의에서 설명해 주신 객체(인스턴스) 와, 그것의 생성자 함수, 그리고 객체의 프로토타입 이 3가지의 구조에 대해서는 이해했습니다. 그렇게 되면, 어떤 객체를 프로토타입 체인을 타고 올라가도 결국 Object.prototype 에 도달하게 되는 것이고, Object.prototype 또한 constructor 를 가지고 있을 것입니다. 그렇다면 그 constructor는 함수 이므로, Function.prototype 을 상속 받을 것이고, Fuction.prototype의 constructor 는 역시 함수이므로 Function.prototype을 상속 받게 됩니다. 크롬 개발자 도구에서 객체를 선언하고 console.dir로 타고타고 올라가면 결국 저 Object.prototype.constructor 가 나오는 시점부터 무한하게 트리를 타고 올라가게 되는데 [[prototype]] > constructor > [[prototype]] > constructor > [[prototype]] .... 제가 보기엔 재귀참조형태 같아보이는데 이것이 맞는지 궁금하여 질문 드립니다. 그렇게 되면 Function.prototype.constuctor === Function() Function().[[prototype]] === Function.prototype Function.prototype.[[prototype]] === Object.prototype Object.prototype.constructor === Object() Object().[[prototype]] === Function.prototype 형태가 되어버리는데 이게 맞는 지 궁금합니다.. 무언갈 놓치고 있는 것인지? 아니면 최상위 Object 객체에선 다르게 동작하는 규칙이 있는 것인지 궁금합니다.
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
안녕하세요 강사님 해당 상품을 클릭했을때 url은 바뀌지만 상품상세페이지로 화면은 바뀌지 않는 오류가 발생했습니다(새로고침하면 화면이 바뀌긴 합니다) 다른 수강생들의 비슷한 질문답변을 참고하여 <React.StrictMode>를 지워도보고 react-router-dom 버전도 5.2.0이고 Route path도 "/products/:id"라고 적었는데 여전히 오류가 해결되지 않습니다 https://github.com/kanghanju/grab-market-client/commit/01c0657f4f64398b47493c1b2c3b44836bf1a785# 여기는 Link태그 해당 수업코드 파일입니다!