반응형
TDD ( Test Driven Development ) TDD란 "Test Driven Development"의 약자로 "테스트 주도 개발"이라고 합니다. 제품이 오류 없이 정상 작동하는지 확인하기 위해 모든 코드는 프로그래머가 작성하고 나서 테스트를 거치게 되는데, TDD에서는 제품의 기능 구현을 위한 코드와 별개로, 해당 기능이 정상적으로 움직이는지 검증하기 위한 테스트 코드를 작성합니다. 이를 통해 테스트가 실패할 경우, 테스트를 통과하기 위한 최소한으로 코드를 개선하고, 최종적으로 테스트에 성공한 코드를 리팩토링 하는 과정을 거칩니다. TDD 개발 절차 테스트 주도 개발은 다음과 같은 개발 절차를 가집니다. RED ( Write a failing test ) : 실패하는 테스트 코드를 먼저 작성..
개발을 하다보면 자연스럽게 사용하게 되는 git과 Github 사실 저는 이 두 개가 같은 건줄알고 Github 줄인 말이 git인줄 알았습니다 ㅋㅋ; 하지만 CS 면접 나오는 대표적인 질문들 중 하나이기에 이번 포스팅으로 차이점을 알아보고자 합니다. 📌 Git ( 깃 ) 이란 ? 로컬 파일의 변경사항을 기록하고 해당 파일에 대한 여러 사용자 간의 작업을 조율하기 위한 분산형 버전 관리 시스템(VCS : Version Control System) 입니다. Git 이 왜 필요한지에 대해 살펴보자면, 우리가 과제를 제출할 때를 봅시다. 처음에 과제를 완성했다하고 이름을 저장했을 때는 "김김씨 과제.pdf"라고 저장할 것입니다. 근데, 다시 확인을 해보니 수정이 필요해 이전 파일이 필요할지도 모르니 복사하여 ..
동기(Synchronous) 방식 동기란, 말 그대로 동시에 일어난다는 뜻입니다. 요청을 하면 동시에 응답을 한다는 약속으로, 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 응답(결과)가 주어져야 합니다. 동기의 예 중에는 여러가지가 있지만, 콜센터의 직원을 예로 설명해 보겠습니다. 콜센터 직원 한명에게 3명의 고객이 전화를 건다고 생각해봅시다. 한명의 직원은 각기 다른 3명의 고객들의 이야기를 듣고 대답해줄 순 없을 겁니다. 그렇기 때문에 전화가 온 순서대로 고객의 전화를 받고 그 뒤 고객들은 "상담원이 통화중이니 잠시만 기다려주세요"라는 안내 음성을 들은적이 있을겁니다. 콜센터 직원은 제일 먼저 통화를 건 고객 1과의 전화를 먼저 한 후 끝나면 대기가 걸려있던 고객 2의 대기를 풀고 전화를..