일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리스코프치환원칙
- 미라클모닝
- axios-mock-adaptor
- IPv4
- jest
- jest.fn
- mock함수
- forbetterme
- 도커
- mock객체
- test code
- 단위테스트
- JavaScript
- 서브넷
- subnet
- parameter group
- TDD
- AWS
- 인터넷게이트웨이
- 테스트코드
- VPC
- axios mock
- 의존관계역전원칙
- TypeScript
- nestjs
- docker commands
- docker
- Unit Test
- javascript unit test
- 라우팅테이블
- Today
- Total
목록분류 전체보기 (37)
My Dream Being Visualized
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) TDD를 공부하게 된 계기 TDD(Test Driven Development, 테스트 주도 개발)에 대해서는 동료 개발자들과 토의 중 몇번 들어본 단어였다. 영어를 공부할 때에도, 모르는 단어가 있으면 찾고 이해하기 전까지 그 자리에 서서 절대 움직이지 않았던 것 처럼.. 인터넷에 바로 찾아보았다. 처음 이해한 TDD는 대략 이런 내용이었다. "테스트 코드를 먼저 작성 후, 실제 코드로 옮기는 작업" 그런데 이상했다. "실제로 코드를 짤 때에도 여러가지 상황을 생각한 뒤 테스트를 해보고 실제 코드를 완성시키는데, 당연한 거 아닌가?" 라는 생각이 들었고, 실제로 TDD라는 개발 방식을 어떻게 적용하고 코드를 짜는지 영상을 ..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 지금까지, 여러가지(?) 데이터베이스를 사용해보았다. SQLite, MySQL, MongoDB, PostgreSQL ... 로컬환경에서부터, iwinv라는 국내 클라우드 서버, AWS documentDB, AWS RDS... 이젠 하나로 정착하기로 했다. iwinv같은 등록한 ip만 접근 가능한 서비스는, 오토 스케일링에 굉장히 불리했다. 그래서 AWS를 사용하게 되었고, 개인 프로젝트에는 프리티어로 적용시켜볼까 한다. 관계형 데이터베이스가 무엇인지는 과감히 생략한다 [AWS 설명] Amazon 관계형 데이터베이스 서비스(Amazon RDS)는 클라우드 환경에서 구성하고, 사용하고, 관계형 데이터베이스를 확대하기 쉽다. 이..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) [AWS 설명] AWS는 VPC를 위해 보안을 늘리고 모니터링 할 수 있는 기능들을 제공한다. 보안그룹(Security groups) ACL(Network Access Control Lists) Flow logs Traffic mirroring ACL이란? ACL(Network access control list, 네트워크 엑세스 제어 목록)은 VPC를 위한 하나 이상의 서브넷에서 들어오고 나가는 트래픽을 제어하기 위한 방화벽(firewall) 역할을 하는 추가적인 보안 계층이다. VPC에 보안그룹(security groups)과 비슷한 추가적인 보안 계층을 추가하기 위해서 ACL을 설정할 수 있다. 네트워크 ACLs는 연..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 라우팅테이블이란? [AWS 설명] 라우팅 테이블(route table)은 서브넷 혹은 게이트웨이를 통해서 네트워크 트래픽이 어디로 향하는지에 대해 결정할 때 사용되는 routes라는 몇가지 룰을 포함한다. 라우팅 테이블은 네트워크 트래픽을 통과시켜주기 위해 서브넷과 게이트웨이를 통과함을 알 수 있다! 라우팅 테이블 개념 라우팅 테이블에 대한 주요 개념이다. 한번 읽어봐도 되며, bold된 것만 읽어도 된다. 메인 라우팅 테이블: VPC와 자동적으로 딸려오는 라우팅 테이블. 다른 라우팅 테이블과 분명하게 연결이 된 모든 서브넷을 위한 라우팅을 조정한다. 커스텀 라우팅 테이블: VPC를 위해 만든 라우팅 테이블 (기본적으로 생..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 인터넷게이트웨이란? [AWS 설명] 인터넷 게이트웨이란 VPC와 인터넷 사이에 통신을 가능하게 하는 수평 확장가능한, 중복가능한, 고가용성 VPC 컴포넌트(요소)이다. [ AWS ] Subnet 생성 및 라우팅 글에서 설명했던, VPC는 외부 서비스와의 통신이 기본적으로 안되는데, public 서브넷은 Internet gateway를 통해서 외부와의 통신이 가능하다고 했다. 인터넷 게이트웨이는 2가지 용도를 제공한다. 1) 인터넷에 라우팅 가능한 트래픽을 위해 VPC 라우팅 테이블에 있는 타겟을 제공 2) 공인 IPv4 주소가 할당된 인스턴스를 위한 NAT(네트워크 주소 변환기)를 수행 더 쉬운 말로, 1) VPC에 붙어 ..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 서브넷이란? [AWS설명] VPC를 생선한 후, 각 가용영역(AZ)에 하나 이상의 서브넷을 둘 수 있다. 서브넷은 VPC내에 IP 주소의 범위이다. (이게 무슨 말이고? 계속 읽어보자) 특정 서브넷 내에 EC2 인스턴스 같은 AWS 서비스를 시작할 수 있는데, 서브넷을 만들고 나서 VPC CIDR 블록의 부분(subset)인 IPv4 CIDR 블록을 각 서브넷에 대하여 명시한다. VPC의 CIDR 블록을 10.0.0.0/16 으로 만들었고, 사용가능한 IP는 약 6만5천개였다. 2021.11.07 - [토이프로젝트/Infrastructure] - [ AWS ] VPC 생성하기 그 중, 한 IP를 서브넷에 할당해준다. 각 서..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 욕심 같아서는, 그림도 그리고 이해하기 쉬운 예시도 들어가며 설명하고 싶지만 미래의 나를 위한 글이기에 최대한 간단히 정리하려고 한다. VPC란? [AWS 설명] VPC는 AWS 계정에 속한 가상 네트워크이다. AWS 클라우드에서 다른 가상 네트워크들과는 격리됨으로서, Amazon EC2 인스턴스와 같은 AWS 객체로 채워집니다. VPC를 생성할 때 IPv4 주소 범위를 지정해야 합니다. IPv4 주소 범위를 CIDR(Classless Inter-Domain Routing) 블록으로 지정합니다 (예: 10.0.0.0/16). /16보다 큰 IPv4 CIDR 블록은 지정할 수 없습니다. 또는 IPv6 CIDR 블록을 VPC에..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 곧 런칭 준비중인 프로그램을 미리 쓰고 계시는 직장동료가 물었다. "회원가입하면, 제 비밀번호도 알 수 있어요?" 처음 회원가입 및 로그인 기능을 만들 때, 당연히 암호화를 해야 된다고 봐왔고 그렇게 했지만, 마음만 먹으면 몰래 저장하고 볼 수 있다는 생각이 머리를 스쳤다. 평범한 사람이 되거나, 나쁜 사람이 되는 건 한끗 차이인 것 같다. "클라이언트에서 요청이 SSL 인증서를 타고 https화 되서 서버에서 해쉬 알고리즘을 거쳐서 데이터베이스에 저장돼요." 라고 말하면 앞으로 아무 질문도 안 할것 같아서 "암호화 되서 뭔지 저도 알 수가 없어요!" 라고 간단하게 말씀드렸다. 다시 한번 회원가입 및 로그인 서비스를 만드는..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 모듈내 필요한 기능 회원가입 로그인 회원인증 기능에 따른 파일 구조 Controller Service Entity Repository JWT, Passport 모듈 및 파일 생성 nest g module auth 설명: auth와 관련된 기능을 담당할 모든 파일을 위한 모듈 & 폴더 생성 생성: auth -> auth.module.ts 기능: imports, exports, controllers, providers 명시 및 관리 nest g controller auth --no-spec 설명: auth 모듈 내 컨트롤러 생성 / --no-spec 옵션은 테스트 파일을 생성하지 않겠다라는 의미 생성: auth.controll..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) TypeORM이란? TypeScript + ORM ORM(Object Relational Mapping) > SQL문을 최소한으로 작성하며 생산성을 높일지에 대한 고민이 담긴 기술, 객체와 관계형 데이터베이스를 자동으로 변형 및 연결하는 작업, 코드길이를 줄여줌(가독성 향상) TypeORM은 NodeJS에서 실행되고, TypeScript로 작성된 ORM 라이브러리이다. NestJS에서는 기본적으로 RDBMS를 사용할 때 TypeORM을 지원 Pure Javascript SQL vs TypeORM const sql = ` SELECT * FROM exampleTable.table WHERE title = 'test' AND ..