본문 바로가기

TIL150

Testing, and the value thereof (unit test) 엔지니어링에서 수학은 가장 엄격한 잣대를 요구합니다. 구조 공학, 기계 공학, 우주 공학 모두 미분, 적분, 미분 방정식, 선형 수학 등을 주로 사용하며, 무엇이든지 그냥 만드는 경우는 없습니다. 컴퓨터 공학도 수학에 깊은 뿌리를 두고 있지만, 공학도들처럼 직접적으로 사용하는 경우는 드뭅니다. 그렇다면, 프로그래머들은 자신이 구축한 시스템이 바르게 작동하는지 어떻게 알 수 있을까요? 일반적으로 프로그래머들이 하부 시스템들을 구축해 나가는 과정에는 계산과정이 그다지 많지 않습니다. 대부분의 프로그래머들에게 해당되는 실제적인 답변은... 테스트 작성이 프로그래머 세계에서의 엄격한 공학입니다. 여기서 언급하는 "테스트"라는 말은 특정한 매뉴얼을 가지고 프로그램의 작동을 확인한다는 말이 아닙니다. Automat.. 2020. 1. 15.
테스트 주도 개발 TDD(Test-driven Development) TDD(Test-driven Development)는 코드를 작성하기 전에 테스트를 쓰는 방법론입니다. Pros 대부분의 사람은 TDD를 버그 잡는 방법이라고 생각합니다. 그런 면도 있지만 생각해보면 버그를 잡기 위해 테스트를 짠다는 생각은 비직관적입니다. 테스트를 실행하고 그 후에 버그를 잡는다고 생각하는 것이 더 논리적일 것입니다. 실제로 TDD를 통해 정교한 테스트를 짜기 위해서 코드를 어떻게 구성할지 고민하게 되며, 그 과정에서 버그가 더 적은 코드를 짜게 됩니다. 테스트가 쉽도록 코드를 디자인하는 것도 같은 효과를 내게 됩니다. TDD는 무턱대고 코드를 바로 작성하지 않고 코드를 면밀하게 살펴보도록 합니다. 자신이 작성할 코드가 어떤 역할을 하게 되며, 전체와 어떤 관계가 있는지 생각하게 합니다.. 2020. 1. 15.
CLI & GUI & LINUX/UNIX & useful commands WHY COMMAND LINE INTERFACE? 빠르다 강력하다 접근성이 좋다 WHY *NIX (LINUX/UNIX)? 서버 시장에서의 *nix 점유율이 매우 높음 AWS 및 Azure등에서 제공하는 서버는 대부분 *nix 계열 Open Source! USEFUL COMMANDS 파일 보기 ls ex) myuser@mymachine:~$ ls Desktop/ Documents/ Downloads/ hello.txt 권한? ls -al의 상세 내용 (1) (2) (3) (4) (5) (6) (7) (8) drwxr-xr-x 2 root wheel 64B 11 7 14:14 test/ 접근 권한 (읽기/쓰기/실행 가능) 여부 chmod 명령어 링크된 파일 갯수 소유자 소유그룹 파일 크기 만든 날짜 만든 시.. 2020. 1. 15.