📊 분류 전체보기 276

commonJs 가 뭔데...

commonJs - 자바스크립트의 모듈화를 위한 프로젝트 중 하나 임 - 2009년 ServerJS의 이름으로 시작해 다시 CommonJS로 이름이 변경됨 - CommonJS를 구분하는 가장 쉬운 방법으로 require()와 module.exports를 사용하는 것으로 판단할 수 있음. (ECMA Script 모듈의 경우 import, export 사용) - Class, Singleton 등을 사용할 수 있음 - Node의 경우 CommonJS를 기본으로 사용함 - Webpack 역시 CommonJS를 기본으로 사용함 그럼 commonJs 와 es6 를 비교해보자!! 먼저 자바스크립트의 모듈시스템에 대해 설명하자면 기존에는 html 파일에서 태그를 이용하여 필요한 자바스크립트 파일들을 불러왔다. 이러한 ..

🌿 Node 2022.02.21

프리즈마, 그래프큐엘의 yarn codegen

model Profile { id Int @id @default(autoincrement()) bio String user User @relation(fields: [userId], references: [id]) ◀️ profile에 연결된 user입니다. userId Int 외래키 ◀️(userId)입니다. } @relation Database상 FOREIGN KEY/REFERENCES에 매칭되는 속성입니다. model상 외래키로 설정 할 필드와, 다른 모델의 PRIMARY KEY를 인수로 가집니다 @relation 의 예시 https://www.prisma.io/docs/concepts/components/prisma-schema/relations 사진 참고 relation 는 프리즈마 스키마에서 ..

👩🏻‍💻 TIL 2022.02.21

express 공부

app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.writeHead(200, {'Content-Type': 'text/plain'}) res.end(JSON.stringify({hello: 'zerocho'})); }); 노드에서 json 으로 보낼 때는 다음과 같았다. 하지만 express 에서는 app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.json({hello: 'zerocho'}); }); 이렇게 줄여준다. express 의 방식으로 실행 결과, 네트워크 탭을 보자. app.use((req:Request, res:Resp..

🌿 Node 2022.02.20

espress 기초 다지기 - 미들웨어편

import express, { Request, Response, NextFunction } from "express"; const app = express(); app.set('port', process.env.PORT || 3000) app.get('/welcome', (req: Request, res: Response, next: NextFunction)=>{ res.send('welcome!'); }); app.listen(app.get('port'), () => { console.log(`server listening on port : `); }) [ 코드 설명 ] app.set 으로 port 라는 변수에 심는 역할을 한다. 지금은 process.env 에 설정해둔 PORT 가 없으므로 3000..

🌿 Node 2022.02.20

express 파일 구조와 몽고 디비

routes: 라우팅 정보를 가집니다. controller: 라우팅 정보에 의해 전달된 처리를 하는 로직입니다. 여기서 다시 signUpService 호출 ↓ services : controller 에서 전달된 정보에 의해서 DB 처리 등을 담당합니다. db.findOne , db.save() 등의 메서드를 이용합니다. Users.findOne({ name: 'zerocho' }, (err, result) => { if (err) { throw err; } Users.update({ name: result.name }, { updated: true, }, (err, updateResult) => { if (err) { throw err; } con..

🌿 Node 2022.02.16

노드 이해하기2

REST API (Representational State Transfer) 서버의 자원을 정의하고 자원에 대한 주소를 지정하는 방법 /user 이면 사용자 정보에 관한 정보를 요청하는 것 /post 면 게시글에 관련된 자원을 요청하는 것 HTTP 요청 메서드 : GET, POST, PUT, PATCH, DELETE HTTP 프로토콜 클라이언트가 누구든 서버와 HTTP 프로토콜로 소통 가능 iOS, 안드로이트, 웹이 모두 같은 주소로 요청을 보낼 수 있음 서버와 클라이언트 분리 RESTful REST API 를 사용한 주소 체계를 이용하는 서버 GET /user 는 사용자를 조회하는 요청, POST /user 는 사용자를 등록하는 요청 래스트풀하다~~~~ 다음과 같이 작성해보자. 네트워크탭 -> Head..

🌿 Node 2022.02.13

노드 이해하기

node.js 코딩 패턴 Routes - Controllers - Services node.js 는 코드의 특성별로 소스 파일을 나눈다고 한다. 처음에 잘 구조를 잡아두어야 유지보수할 때 큰 이득을 볼 수 있다....! 먼저 개념 정리... 모듈 모듈이란 관련된 코드들을 하나의 코드 단위로 캡슐화하는 것을 말한다. 다음과 같은 greeting.js 라는 파일이 있다고 하자. 이 파일은 두개의 함수를 포함하고 있다. 모듈 추출하기(exporting) greeting.js 의 코드가 다른 파일에서 사용될 때 그 효용성이 증가할 것이다. 이러한 일을 하기 위해서는 다음과 같은 3가지의 단계를 거쳐야 한다. 1. greeting.js 파일의 코드 첫 부분에 다음과 같은 코드가 존재해야 한다. // greetin..

🌿 Node 2022.02.13

2022_02_09_TIL

인터페이스는 타입들의 이름을 짓는 역할을 하고 코드 안의 계약을 정의하는 것 뿐만 아니라 프로젝트 외부에서 사용하는 코드의 계약을 정의하는 강력한 방법이다. function printLabel(labeledObj: {label: string}){ console.log(labeledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); 타입 검사는 printLabel 호출을 확인합니다. printLabel 함수는 string 타입 label을 갖는 객체를 하나의 매개변수로 가집니다. 이 객체가 실제로는 더 많은 프로퍼티를 갖고 있지만, 컴파일러는 최소한 필요한 프로퍼티가 있는지와 타입이 잘 맞는지만 검사합니다. Ty..

👩🏻‍💻 TIL 2022.02.10

이번주 할 일 정리

1. Graphql api 강의를 마저 듣는다 (수) 2. 11시 출근 예정, 펌웨어팀과 점심을 먹는다. 그리고 보고서를 오후 내내 쓴다 + 지결 작성 + 그래프큐엘 api 코드 연구 & 팀장님이나 선배개발자분에게 참고 코드 하나만 추천해달라고 해본다 (목) -> 목요일은 보고서랑 지결 위주로 진행하고 나머지 시간에 코드를 연구하는 것이 좋겠다 3. 아침에 node.js 강의를 듣는다. 11시 반 출근 예정, wifi팀과 점심을 먹는다. 오후에는 보고서 제출 + 회사코드 분석이나 도커 블로그글 읽기 (금) -> 블로그 글로 먼저 이해한 후에 세션 영상을 보는게 좋을 것 같다. 4. 주말을 이용해 node.js 강의 + 리액트 graphql 강의를 듣는다. 이번주 목표 : 그래프큐엘은 이해하고 싶다. 노드..

카테고리 없음 2022.02.09