Wecode - Project 3 (부트캠프)/세션 7

Software Testing 2) - [TDD] 테스트 실습 + 추후에 따라해보기 **

A. 테스트 자동화 실습 Javascript를 테스트할 수 있는 도구로 Jest가 있습니다. 기존 모듈들을 Jest를 통해 테스트를 진행해보겠습니다. 1. 유닛(단위) 테스트 실습 아래에 계산기 프로그램 코드가 있습니다. add 는 두 숫자를 받아서 더하는 함수, subtract 는 두 숫자를 받아서 빼는 함수, multiple 은 두 숫자를 받아서 곱하는 함수, divide 는 두 숫자를 받아서 나누는 함수 입니다. calculate.js unit 단위 테스트 코드 현재 함수 단위로 나누어져 있음 // calculate.js function add(a, b) { return a + b; } function subtract(a, b) { return a - b; } function multiple(a, ..

Software Testing 1) - [Software Test란 ?

1. 소프트웨어 테스트란 소프트웨어를 배포하기 전 해당 소프트웨어가 정상적으로 작동하는가에 대해 검증하는 단계 테스트의 종류: 3가지 유닛 테스트, 통합 테스트, 인수 테스트 --> 프로그래밍적으로 수행가능하기 때문에 자동화 처리가 가능 이후 QA 통해 테스터가 직접 소프트웨어를 테스트 이전 직장에 QA, RA 부서가 바로 앞에 있고, 프로그래밍 팀 - SW - HW - V&V (verify, validate) - marketing clinic (임상) - QA, RA 가 있어서 흥미로웠다. QA는 외주 혹은 개별 팀에서 진행하는 사항이기 때문에 여기에서는 자동화 할 수 있는 테스트 방식에 집중하여 살펴보겠습니다. 테스트 전체 형태 아래 피라미드처럼 구성합니다. 1. 단위테스트, 유닛 (Unit) 테스트..

이후 해보면 좋을 [계산기 프로그램 리팩토링] 과제 **

이후 개발을 하면서, 이전에 학습 자료에 있던 과제를 해보고 나서 하면 도움이 된 적이 있어서, 이렇게 적어둔다. 과제 안내 https://www.notion.so/wecode/Assignment-1-e94825f059d04f2fbea2917ecb407ca2 calculate.js 코드 function add(a, b) { if (b < 0) { throw new Error("b가 0보다 작습니다."); } return a + b; } function subtract(a, b) { return a - b; } function multiple(a, b) { return a * b; } function divide(a, b) { return a / b; } module.exports = { add, subt..

주니어 개발자 마인드셋

세션은 아니지만, 늘 벽에 붙어있던, 내가 가장 크게 공감했던, 부분들. 나는 비즈니스와 프로덕트를 고려하는, 코드로 문제를 해결하고자 하는 개발자이다. 코드만 생각하는, 개발자 동기들로 인해 어려웠다. 앞으로는 미래만 나아가야 하니. 🗣️ 성장하는 주니어 개발자의 11가지 혼잣말 1. 개발자는 내가 가진 기술로 누군가의 삶의 가치를 높여주는 업이다. 2. 프로그래밍은 무엇을 알고 있는가에 대한 것이 아니라 무엇을 알아낼 수 있는 가에 대한 것이다. 3. 코드의 90%는 개발 시간의 90%를 설명하며 나머지 10%는 그 시간에 일어난 다른 일의 90%를 설명한다. 4. 붓과 색을 공부한다고 좋은 화가가 되지 않듯이, 기술만 공부한다고 좋은 프로그래머가 되지 않는다. 5. 지금 쓰는 한 줄은 찰나를 기억하..

Docker를 활용한 AWS 실습 [개념]

[참고자료] 만들면서 이해하는 도커(Docker) 이미지: 도커 이미지 빌드 원리와 OverlayFS 도커 이미지는 유니온 마운트 기술을 활용해 계층화된 레이어들로 구성되며, 도커 레지스트리를 사용해 쉽고 효율적인 공유를 가능하게 해줍니다. 이 글에서는 도커 이미지가 저장되는 방식과 www.44bits.io 1. 실습을 시작하기 전에 해당 실습은 AWS EC2와 RDS 생성 및 연결까지 준비되어 있어야 합니다. 또한 기본적인 AWS, Docker 개념 학습이 선행되어야 합니다. 기존에 EC2에서 **git clone** 을 통해 GitHub 에서 코드를 가져와서 배포를 했다면, 이번 실습에서는 Docker 컨테이너를 활용해 배포하겠습니다. 1-1. Docker 회원가입 소스 코드를 GitHub에서 관리하..

docker 세션 [개념, 명령어, docker file ]

docker는 hub에 가입하는 과정 필요 -> 사이트 들어가서 가입 무료 배포 버전, MS가 4조 주고 사려고 했음 1. 가상화 하기 전 운영 방식 2. 가상화 2-1. 하이퍼바이저 원도우 하나에 다른 os 깔아서 호스트가 관리하며 쓰는 것 - 각각의 os 해야 해서 불편해서 만든 거 -> os 를 가상화하지 말자, 서버만 별도로 os가 아니라, 돌아가고 있는 서버만 -> 속도 빠르게 가능 Docker 개념 윈도우에서는 되는데 맥에선 안 되고 서버 같은데 같은 코드인데 다른 사람 사람 코드에서는 안 되고 -> docker로 모든 사람들의 개발 환경을 똑같이 만듦 -> 똑같은 버전의 node가 설치된 걸 다운 받음 회사 가서도 자잘한 설치 없이 docker로 하면, 스펙/ 버전/ 메모리가 달라서 안 되는..

에러 핸들링 [개념] 1

일반적으로 Javascript 에서는 try-catch문과 throw를 이용하여 에러를 처리 에러 핸들링 미들웨어는 에러를 처리하기 위해 반복적으로 진행되는 코드를 모듈화하여 소프트웨어의 확장성과 생산성을 높이기 위해 사용 1. 에러 핸들링의 목적과 의의 1-1. 에러 핸들링 목적 개발자는 사용자가 서비스를 이용하는 동안 발생할 수 있는 에러를 미리 사전에 예측하여, 이용자의 사용 흐름이 막히지 않도록 유도해야합니다. 이런 과정을 에러 핸들링 그러나 에러 발생율이 0%인 서비스는 존재하지 않습니다. 따라서, 예외 상황이나 에러가 발생했을 때, 소프트웨어를 갑자기 종료하는 것 보다는 에러가 발생했음을 알리고, 곧 서비스가 정상적으로 구동될 것임을 안내하는 것이 좋습니다. 따라서, 이러한 에러 핸들링은 사용..