
GraphQL으로 간단한 project를 진행할 수 있는 기회가 생겨서 GraphQL을 조사하고 개발하되었다. 기존에는 REST API 형식으로 api를 구성했다. GraphQL을 사용하면서 느낀 것은 schema 변화에 많이 자유로워 질 수 있는 장점이 크다. REST API로 구성하게 되면 client에서 어떤 정보를 추가해달라는 요청이 들어오면 항상 코드 수정이 필요했다. 하지만 GraphQL은 client가 필요한 정보를 요청하여 받아올 수 있어 코드 수정이 줄어든다. REST API는 URL, METHOD등을 조합하기 때문에 다양한 Endpoint가 존재 합니다. 반면, gql은 단 하나의 Endpoint가 존재 합니다. 또한, gql API에서는 불러오는 데이터의 종류를 쿼리 조합을 통해서 결..

DI를 활용하여 test code를 작성하는 방법에 대하여 알아보자. DI + test code class Robot { private helloService; constructor() { this.helloService = new HelloService(); } public start() { return this.helloService.hello(); } } 위와 같이 Robot class 안에 HelloService를 new하면 Robot은 HelloService에 종속하게 된다. Robot class의 test code를 작성하기 위해서는 HelloService의 hello mothod의 호출을 생각해야한다. 이러한 종속성을 제거하기 위해 inversify와 같은 DI container를 사용하여 ..
inversify를 사용하면서 자주 사용하는 factory 패턴에 대하여 정리한다. inversify에서 factory 패턴은 클래스의 인스턴스를 만드는 것을 서브클래스에서 결정하도록 한다는 것입니다. factory 패턴을 찾아보면 서브클래스 안에서 객체를 생성하는 방식을 많이 찾을 수 있다. inversify를 사용하면 서브클래스에서는 객체를 선택만하고 객체 생성은 외부에서 생성하여 서브클래스에 주입하는 방식으로 구현하게 된다. inversify에서 factory 패턴을 구현할 때 named binding을 많이 사용하게 된다. Named binding은 같은 identifier에서 다른 객체를 가지고 올때 사용한다. inversify에서 named binding은 아래와 같이 구성한다. https:/..

IoC란 객체를 생성하고 객체 간의 의존 관계를 프레임워크가 대신 해주는 것을 의미한다. 개발자가 직접 객체를 생성하지 않고 의존 관계를 관리할 수 있게 된다. 객체를 제어하고 관리하는 역할이 개발자로 부터 프레임워크에게 역전 된다. DI(Dependency Injection)는 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념이다객체 자체가 아니라 Framework에 의해 객체의 의존성이 주입되는 설계 패턴이다. Framwork에 의해 주입되므로 여러 객체 간의 결합이 줄어들고 재사용성이 증가한다. inversify는 IoC(Inversion of Control) 컨테이너이다. DI를 구현하기 위해 javascript에서 많이 사용되는 것은 inversify와 typedi 등이 있다. DI를 구현하..
3:7의 인풋과 아웃풋 비율 - 날짜: 2019–11–18 - 저자: 가바사와 시온 책을 읽기 시작할 때는 책과 친해지기 위해서 시간이 생기면 책을 읽기 위해서 항상 책을 들고 다녔다. 대중 교통으로 이동중이거나 약속시간에 먼저 도착하는 등 자투리 시간을 많이 활용했다. 이렇게 책을 읽는 것은 이제 조금 습관이 된것 같다. 하지만 책을 읽고 며칠만 지나도 책의 내용이 생각 나지 않는다. 여자친구 또는 다른 지인들에게 읽었던 책을 추천해주려고 내용을 설명하다보면 생각이 잘 나지 않을 때가 많았다. 아웃풋 트레이닝에서는 아웃풋의 비율을 늘여야 한다고 한다. 책을 읽는 것은 인풋을 하는 것이고 토론하기, 글쓰기, 말하기 등이 아웃풋이다. 아웃풋을 통해 책에서 읽은 내용이 장기 기억으로 넘어간다고 저자는 말한다..

Deserve Coffee Co.는 홍대를 지나가면서 주자보이던 카페였다. 반지하에 있어서 눈에 안 들어올 것 같지만 밝은 조명때문에 지나갈 때마다 눈에 들어왔던 카페이다. 밖에서 보았을 때는 좁아보이고 항상 손님이 없다고 생각하여 망설이고 있었는데 막상 들어가보니 공간도 넓고 인테리어도 아주 깔끔하게 되어있었다. 손님이 안 보였던 이유는 위층에도 공간이 있었고 대부분의 사람들이 위층에 올라가 있었다. 에스프레소 머신도 있지만 브루잉 커피가 있어 마시보았다. 게이샤 원두는 다른 카페에서는 아주 비싸게 파는데 이곳에서는 6500원 나쁘지 않은 가격이다. 고소한 커피 보다는 향이 많고 신맛이 있는 원두를 선호한다. 사장님께서 신맛이 나는 원두로 에티오피아 부투차를 추천해 주셨다. 에티어피아 원두는 많이 들어..
- Total
- Today
- Yesterday
- nginx
- Airflow
- conventional commit
- Cloudfront
- mognodb
- JavaScript
- graphql
- Develop
- sementic version
- Lifecycle
- Prisma
- pagination
- slowquery
- Terraform
- NLP
- Github Actions
- Cognito
- Python
- typescript
- Elasticsearch
- Neptune
- inversify
- aws
- shorten
- lambda@edge
- nltk
- mongoDB
- commit message
- AWS community day seoul
- Clickjacking
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |