$ ls -lt posts/ | sed -n 141,160p
SY Tech Blog_
-
NestJS Entity 파일과 dto의 동기화
Nest.js Entity 파일과 dto의 동기화 typeorm방식으로 Entity.ts 파일을 사용해 graphql 스키마와 DB Table 스키마를 동시에 만들어낼 수 있었다. 문제는 이에 접근하는 방식인 dto의 정의였는데, entity에 개체와 dto의 내용에 차이가 있다고해도 dto 스키마에 맞게 쿼리를 작성하…
[backend] -
NestJS, Graphql 연동
NestJS + Graphql 함께 사용해보기 \ \ Mutations\ \ Mutation은 GraphQL에서 서버 사이드 데이터를 modify 하는 방식이다. REST에서 GET 메서드의 요청은 데이터 수정을 하지 못하도록 하는게 원칙인 것 처럼 Query로 들어온 요청은 데이터를 수정하지 못한다. Nest에서는 데…
[backend] -
Heroku deploy error - devDependency module 설치 이상
Heroku devDependency Module ’not found’ Error Problem GraphQL yoga로 만든 간단한 api 서버를 heroku에 deploy하려는데 계속 오류가 발생했다. 에러 메세지는 아래와 같다. 파일에서 모듈은 devDependency에 들어가있었다. ’package.json’ 다…
[troubleshooting] -
React 기본 내용 정리
리액트 라이브러리를 설치함으로써 시작할 수 있다. 기본적으로 Node.js가 설치되어있어야 한다. 리액트 프로젝트를 처음부터 구성하는 것은 쉽지 않은 일이다. 리액트는 구성이 되어있는 프로젝트를 바로 시작하는 라이브러리를 가지고 있다. 아래 명령어로 간단하게 시작할 수 있다. 이때 를 사용하는 이유는 최신 리액트 버전을…
[frontend] -
graphql-yoga로 GraphQL 시작하기
기본 사용법을 익히기 위해 를 사용했다. 서버 열기 서버를 열면서 스키마 파일을 지정하고, resolver 또한 설정해준다. 포트를 따로 지정하지 않으면 4000번 포트로 서버가 열리고 브라우저로 접속시 깔끔한 ui를 가진 플레이그라운드로 간편하게 api를 테스트 해볼 수 있다. 오른쪽에 보이는 , 를 누르면 API 설…
[backend] -
특정 포트 listening 강제 종료
vs code에서 서버를 열고 사용하다보면 창을 reload 한다던가 하여 터미널 창이 지워질 때가 있다. 이 경우 더이상 이 터미널에서 서버 상태 로그를 볼 수 없고 서버를 멈출 수도 없다. 바로 이런 경우.. 이 경우 cmd로 들어가 강제로 종료시켜야 한다. 사용중인 프로세스의 pid 확인 cmd 창에서 위 명령어를…
[misc] -
GraphQL 이란
<style img + em { display: block; text align: center; } </style GraphQL은 페이스북에서 만든 쿼리언어이다. 등장한지 얼마 안됐음에도 불구하고 인기가 매우 가파르게 올라가고 있지만 아직 GraphQL을 이용한 open API를 제공하는 곳은 국내 및 해외를 포함해도…
[backend] -
Gulp 사용 오류 정리
Gulp 이슈 정리 Gulp 사용 실습을 따라하다 발생한 오류들을 해결했던 방법들을 정리 해놓으려한다. gulp image 설치 이슈 (ENONET) 위 에러가 발생해 이틀동안 원인을 찾았다. 는 이미지 파일을 압축하여 서버에 올려주는 작업을 해주는 라이브러리이다. gulp image npm 설치 페이지에서 다양한 옵션…
[backend] -
Gulp.js
Gulp.js Gulp는 오픈소스 자바스크립트 toolkit이다. Node.js로 만들어진 task runner로 시간을 잡아먹는 반복적인 작업들을 자동화하는데 사용된다. 사용 예로는 파일 합치기, 유닛 테스트 작업, linting, 최적화 작업 등이 있겠다.
[frontend] -
Data analytics3 - Athena, Glue 실습
: 로그 데이터를 Athena Glue로 분석하기 CloudWatch 로그 데이터를 S3 로 옮기는 방법은 두 가지가 있다. 1. Export log data to S3 directly 2. Using Kinesis Firehose to push log messages from CloudWatch Logs to S3 옵…
[cloud] -
Data analytics2 - DataLake
DataLake Data lake는 정형화된 그리고 비정형화된 그 어떤 데이터도 모두 저장할 수 있는 중앙화된 집중식 레파지토리이다. 말 그대로 필터링이나 정제화가 진행되지 않은 데이터가 흐르는 강이다. 특징 데이터를 구조화 할 필요 없이, 있는 그대로 저장하여 데이터에 따라 서로 다른 분석 작업을 진행 할 수 있고,…
[cloud] -
Data Analytics1 - Athena
표준 SQL을 사용하여 AWS S3에 저장된 데이터를 쉽게 바로 분석할 수 있는 대화형 쿼리 분석 서비스 특징 사용하기 쉽다. (아테나가 S3 저장소를 가리키도록 하고 스키마를 정의하고 표준 SQL로 쿼리 한다) 서버리스 서비스이다 인프라를 관리할 필요가 없다. 99.999999999%의 객체 내구성을 보장한다. 자동으…
[cloud] -
AWS - DynamoDB6
DynamoDB로 집계내기 문제 DynamoDB는 pure ’key value’ NoSQL로 집계와 같은 메서드는 제공하지 않는다. 생각해본 다른 방법 1. Apache Hive 연동 2. 별도 table 두기 3. Amazon Redshift 이용 1. Hive 사용 장점 : RDB에서 사용하는 쿼리문을 그대로 사용할…
[cloud] -
AWS - DynamoDB5
DynamoDB 설계 키 설계 DynamoDB는 NoSQL이기 때문에 어떤 쿼리를 사용하게 될 지 생각해보고 해당 작업을 빠르게 할 수 있는 키를 설정하는 것이 매우 중요하다. DynamoDB의 기본키는 ’파티션 키’와 ’정렬 키’로 이루어진다. 새 테이블을 만들 때 기본키는 무조건 지정해야 한다. 기본키 기본키는 테이…
[cloud] -
AWS - DynamoDB4
DynammoDB 요금 정책 요금 정책에는 두 가지가 있다. 1. 온디맨드 용량 모드 요금 해당 APP이 테이블에서 수행하는 데이터 READ/WRITE에 대해 요금이 부과된다. 워크로드의 확장/축소를 DB가 알아서 처리하기 때문에 읽기 및 쓰기 처리량을 지정할 필요가 없다. APP의 트래픽 처리량을 예측하기 힘든 경우…
[cloud] -
AWS - DynamoDB3
Dynamodb + Lambda 주의할 점 이전에는 event, context, callback 을 사용했지만 세번째 인자 callback은 더이상 잘 사용되지 않는다고 한다. 현재는 를 포함한 response 구조를 가진 객체를 return 하면 된다. Dynamodb로 작업하기 fetch data 데이터를 가져오는…
[cloud] -
AWS - DynamoDB
DynamoDB AWS의 종합 관리형 NoSQL DB 서비스이다. 원활한 확장성과 성능을 제공한다. NoSQL vs RDBMS RDBMS : 데이터를 유연하게 쿼리할 수 있지만, 쿼리 비용이 상대적으로 높아 트래픽이 많은 상황에서는 확장성이 떨어진다. 유연성을 목표로 설계하는 것이 중요하고 정규화가 중요하다. NoSQL…
[cloud] -
AWS - DynamoDB2
DynamoDB 활용가능성 DynamoDB를 사용할 수 있는지 계속해서 활용방안을 생각해보고있다. 현 상황 재생량을 전송하는 작업에서 uuid로 구분되는 MySQL(RDBMS) 로그 데이터 테이블에 insert와 update가 빈번하게 발생하고 있다. 이를 개선시키고자 한다. 이슈 1. 재생량 전송 처리 서버를 분리한다…
[cloud] -
Node.js + Lambda + APIGateway + DynamoDB
Lambda 람다는 서버리스 코드 실행 컴퓨팅 서비스이다. 항상 가동되는 것이 아니라 필요 시에만 코드를 실행하기 때문에 경제적이다. 또한 사용자는 컴퓨터 자원에 대해서는 고려하지 않아도 되며 오로지 코드에만 책임을 가지기 때문에 상황에 따라 아주 효율적으로 사용될 수 있다. 람다는 다양한 언어로 사용할 수 있다. No…
[cloud] -
CodeCommit
CodeCommit AWS CodeCommit은 클라우드에서 asset을 비공개로 저장하여 관리할 수 있도록 AWS에서 호스팅되는 버전 관리 서비스이다. Git의 표준 기능을 지원하므로 기존 Git 기반 도구와도 원활하게 연동된다. CodeCommit이 지원하는 기능들 AWS가 호스팅하여 종합 관리 서비스를 제공함 암호…
[cloud]