
nestJS CLI 이용해서 CRUD 작성해보기
2022. 10. 20. 16:36
오늘의 공부 정리
새로운 폴더를 생성해서 또 같은 CRUD를 작성하고, 모듈에 추가하고 하는 등의 반복작업을 하던 중 nestjs docs에 나와있는 CLI를 활용해서 이를 간편하게 만들수 있다는 것을 발견했다. 나만 힘들게 직접 다 만들고 그랬던거야.. 아무튼 CLI란 command-line interface 의 약자로 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다. 따라서 이 터미널에 명령어를 입력해서 nestjs에서 제공하는 다양한 기능들을 써보았다. 폴더 구조를 작성할때 가장 기본적으로는 Module, controller(Resolver), Service를 작성하고 각각의 파일에는 기본적인 구조가 정해져있다 (모듈에 provider를 추가한다거나 resolver에서 service를 ..

41. ES6의 특징
2022. 8. 26. 10:37
오늘의 공부 정리
JavaScript ES6는 코드를 보다 현대적이고 읽기 쉽게 만들기 위해 새로운 구문과 새로운 놀라운 기능을 제공한다. 코드를 적게 쓰고 더 많은 작업을 할 수 있다. 따라서 Write less, do more! 을 하나의 슬로건처럼 사용하는 듯 하다. ES6에서는 화살표 함수기능, template literal, module 등과 같은 여러 가지 훌륭한 기능을 갖고 있다. 한번 살펴보자! const , let , var const and var const는 변수를 선언하기 위한 ES6의 새로운 키워드이다. const는 기존의 var보다 더 강력하다. 따라서 변수를 한 번 사용하면 다시 할당할 수 없다. 즉, 개체와 함께 사용될 때를 제외하고는 불변의 변수이다. 이것은 선택기를 대상으로 하는 데 정말..

40. == 과 === 의 차이?
2022. 8. 26. 09:47
오늘의 공부 정리
JS에서 코드를 작성할 때, 혹은 알고리즘 문제를 풀 때 A와 B가 같다고 표현할 때 A == B 혹은 A === B 라고 표현하곤한다. 얼핏 알기로는 ===가 더 강하게 같다고 표현하는? 그런 걸로 알고있는데 무엇을 강하게 표현한다는 것인지 정확히 알고 넘어간 것이 아니여서 이번에 한번 찾아보았다. == 의 특징 자바스크립트에서는 두값을 비교하기 위해 비교 연산자를 사용한다. 두 값을 비교하여 값이 같은지 또는 같지 않은지 결정하는 조금 특이한 비교연산자가 '==' 과 '===' 인데 우선 '==' 에 대해서 알아보자. 먼저 예시를 살펴보자 let a = 10; let b = '10'; console.log(a == b); //output: true == 연산자는 요소를 비교하기 전에 유형 변환을 먼저..

39. gitflow, workflow
2022. 8. 25. 23:09
오늘의 공부 정리
아마 내가 처음 포스팅한 글이 git과 github에대한 글이였을 것이다. 그때 그 글을 작성했을때만 하더라도 정말 git에 대해서 기초도 잘 몰랐던 시절이였는데 근 한두달사이에 많은걸 배우고 git도 꽤나 친숙해졌다. 이제는 그 git을 이용해서 실제 현업에서 협업하는 방식, 프로젝트를 진행하는 방식등을 배워보고 적용할 시기가 온 것 같다. 많이 친해진 것 같지만 여전히 어색한 git으로 어떻게 해야 효율적이고 트러블없이 협업할 수 있을까? Gitflow 우아한 형제들 기술블로그에서 나동호님이 작성하신 git-flow에 대한 설명중 이를 가장 이해하기 쉽고 직관적인 그림이 있어서 가져와보았다. Git-flow를 사용했을 때 작업을 어떻게 하는지 살펴보기 전에 먼저 Git-flow에 대해서 간단히 살펴..

38. Server performance Tuning
2022. 8. 25. 21:45
오늘의 공부 정리
내가 만든 서버가 너무 좋은 서비스고 세상에 없는 신박한 서비스라고 해도 막상 이용하려했더니 제대로 동작하지 못하고 버벅거리면 과연 사람들이 그 사이트를 애용할까? 분명 아닐것이다. 따라서 우리는 우리의 소중한 서비스가 정상 동작할수 있도록 서버의 성능을 업그레이드 해주어야 한다. 물론 나같은 초보개발자가 서버의 성능을 드라마틱하게 업그레이드 하는것은 무리가 있겠지만 적어도 백엔드 개발자라면 항상 내 서버를 어떻게 해야 더 나은 서버가 될지에 대해서 끊임없이 고민하고 시도해보아야 한다고 생각한다. 때문에 오늘은 서버의 성능향상의 위한 방법을 정리해보려한다. Server Performance Tuning Performance Engineering의 정의와 범위 Performance Engineering은 ..

37. CI/CD & Cloudbuild
2022. 8. 25. 21:02
오늘의 공부 정리
CI/CD 여러 사람들이 깃허브에 본인의 코드를 올리고 테스트 코드를 돌려서 테스트의 이상이 없는지를 확인해 보고 merge하는 과정을 하는데 배포과정에서 이런 test/merge와 같은 역할을 하는 것을 CI라고 하고 이렇게 최종적으로 merge 된 코드를 release 하고 deployment , 배포하는 것을 CD 라고 한다. 이와 같은 CI/CD 과정을 실험해보기 위해서 Jenkins라는 도구를 사용하는데 이 외에도 깃허브에서 제공하는 Github Actions, GCP에서 제공하는 cloudbuild, AWS에서 제공하는 codebuilder 등도 있다. 각각의 클라우드 업체에서 제공하는 도구를 사용하면 해당 클라우드에서 배포하는 것이 용이할 수 있다. Jenkins같은 경우는 추가 기능들을 설..

36. Autoscale
2022. 8. 25. 15:09
오늘의 공부 정리
서버가 갑자기 트래픽이 몰려서 과부하가 걸리거나 정상적인 기능이 불가능한 경우가 생기게 되면 자동으로 서버를 복제하거나 추가해서 정상작동하도록 도와주는 기능을 Autoscale이라고 한다. 내 서버는 아직 트래픽이 몰리거나 할 상황은 없지만 (추후에 이를 테스트해보는 연습도 해볼 예정이지만) 그런 상황을 미리 대비해서 Autoscale 기능에 대해서 알아보자 Autoscale 우리의 서버가 정상 작동하다가 갑자기 특정 시간에 트래픽이 몰리게 되면 서버가 다운될 수 있다. 이같은 경험은 아마 누구나 겪어봤을텐데, 좋아하는 가수의 공연을 티켓팅할때, 수강신청할때, 한정판 물건을 구매할 때 등 특정 시간에 특정 이벤트가 발생해서 서버에 과도한 트래픽이 몰리는 경우 자동으로 기존의 서버를 복제, 추가해주는 기능..

35. SSL, HTTPS
2022. 8. 25. 14:33
오늘의 공부 정리
아무생각없이 어떤 사이트를 주소창에 입력하고 접속할때 http나 https 등은 별로 신경쓰지 않고 사용했는데 사실 그 둘에는 큰 차이가 있었다. 가끔 주소창에 자물쇠 모양이 있는경우랑 주의 표시가 있을 때 '그냥 그런가보다' 하고 지나갔던 적이 있는데 이제는 이 둘의 차이를 배웠으니 한번 더 생각해보고 이게 그 의미구나 하면서 알아차릴 수 있을 것 같다. 오늘은 Http와 Https의 차이점, 그리고 https 설정 할 때 필요한 SSL 인증서 개념까지 배워보았다. Http vs Https Http 옛날 포스팅 글에서 http 통신에 대한 글을 적은적이 있었다. 그때 이 http의 정의에 대한 설명도 함께 적었었는데 다시한번 상기시켜보면, http란 Hypertext Transfer Protocol 의..