일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 미라클모닝
- javascript unit test
- 서브넷
- subnet
- mock객체
- forbetterme
- AWS
- nestjs
- 라우팅테이블
- axios-mock-adaptor
- 리스코프치환원칙
- jest.fn
- 도커
- docker commands
- mock함수
- VPC
- 단위테스트
- docker
- TypeScript
- jest
- 인터넷게이트웨이
- Unit Test
- parameter group
- TDD
- JavaScript
- axios mock
- IPv4
- 테스트코드
- test code
- 의존관계역전원칙
- Today
- Total
목록분류 전체보기 (40)
My Dream Being Visualized
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 지난 시간에, 간단한 예제를 만들어 보았다. 이번 시간엔, Using Matchers라는 주제로 넘어가보겠다. https://jestjs.io/docs/using-matchers Jest는 "matchers"를 쓰는데, 이는 다양한 방법으로 테스트 값을 도출해 내기 위함이다. 자주 사용되는 matchers를 소개해보겠다. https://jestjs.io/docs/expect (다른 리스트들도 볼 수 있다.) Common Matchers 테스트 값을 도출하기에 가장 간단한 방법은, 값의 동일함을 테스트 하는 것이다. test('two plus two is four', () => { expect(2 + 2).toBe(4); }..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 지난 시간에, Jest를 활용한 단위 테스트 할 준비를 마쳤다. 이번 시간엔, Jest Docs의 예제를 보고 개념을 잡아 보도록 하겠다. https://jestjs.io/docs/getting-started // sum.js라는 파일을 만들고 함수를 선언한다. function sum(a, b) { return a + b; } module.exports = sum; // sum.test.js라는 파일을 만들고 실제 테스트 코드를 넣는다. const sum = require('./sum'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); }); // 테스트..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 지난 시간엔, TDD가 무엇인지, 장단점이 무엇인지, 어떻게 써야하는지에 대해서 알아보았다. 이번 시간에는 단위 테스트에 대해서 알아볼 것이다. 단위 테스트란? 개발자가 만든 모듈 단위 '내'에서 개별 단위로 나누어 테스트를 하는 방법이다. 그렇기에, 다른 테스트에 의존하지 않아야 한다. (한 마디로, 기능(들)에 대한 가장 작은 단위인 모듈을 쪼개서 테스트하는 방식이다!) 초기 단계에서 테스트를 진행하기 때문에 디버깅 시간을 많이 줄일 수 있다. 왜 단위 테스트를 해야하는가? 프로그램이 방대하여 아래와 같이 테스트를 위한 조건이 까다로울 때 꼭! 필요하다. 시간이 오래 걸린다. 작은 로직만 수정했음에도 불구하고 테스트시간..
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _) 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에..