분류 전체보기
-
프론트엔드 테스트 코드 시작하기 - 개념편React.js & Next.js 2024. 3. 26. 20:13
목차 Goal What do you want to test Types of tests End to End test Integration test Unit test Static test Project Prerequisites Init Installation jest ts-node set the config Add script on package.json Initialize the test jsdom environment Sumaary results etc 레퍼런스 1) Goal 정확성 및 신뢰성 확보 테스팅의 주요 목적은 코드가 올바르게 작동하는지 확인하는 것 다양한 조건 및 입력에서 리액트 컴포넌트가 예상대로 동작하는지 확인하는 것 수월한 리팩터링 프로젝트가 성장하면 리팩터링이 필요함 코드 품질, 성능개..
-
실용주의 프로그래머 8장 - 프로젝트 전에Book Study 2024. 3. 4. 20:35
나의 키워드 요구 사항의 구렁텅이 불가능한 퍼즐 풀기 함께 일하기 애자일의 핵심 여러분 그리고 여러분의 팀은 프로젝트를 시작할 때 요구 사항을 파악해야 한다 (p.349) 요구 사항의 구렁텅이 완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 뺄 것이 없을 때 달성되는 것이다. - 앙투안 드 생텍쥐페리 많은 책과 튜토리얼에 따르면 ‘요구 사항 수집’은 프로젝트의 초기에 이뤄진다. 수집이라는 말은 왠지 베토벤의 전원 교향곡이 배경 음악으로 부드럽게 울려 퍼지는 가운데 행복한 분석가들이 주변에 널려 있는 지식 덩어리를 주워 담는 장면을 연상케 한다 (p.350) 요구 사항이 이미 널려 있다는, 고로 그것들을 쉽게 찾아서 바구니에 주워 담고 행복하게 가던 길을 계속 갈 수 있다는 느낌을 풍긴다...
-
실용주의 프로그래머 9장 - 실용주의 프로젝트Book Study 2024. 2. 29. 20:41
나의 키워드 실용주의 팀 코코넛만으로는 부족하다 사용자를 기쁘게 하라 오만과 편견 소프트웨어 개발 방법론의 목표는 사람들이 함께 일하는 것을 돕는 것이다. (p.377) 실용주의 팀 우리가 말하는 팀은 작고 보통은 그 자체로 안정적인 존재다. 50명은 팀이 아니다. 큰 무리다. 구성원이 계속 다른 업무에 끌려가고, 아무도 서로를 모르는 팀도 사실 팀이 아니다. (p.379) 실용주의 팀은 작다. 구성원이 대략 10 ~ 12명 이하여야 하고, 구성원이 추가되거나 빠지는 일은 드물어야 한다. 모두가 서로를 잘 알고, 신뢰하며, 의존해야 한다. (p.379) 품질은 팀의 문제다. 아무리 부지런한 개발자라 해도 품질에 무심한 팀에 배치된다면, 자질구례하게 계속되는 문제를 고치는 데 필요한 열정을 유지하긴 어려울..
-
나를 살려준 깃 커맨드, git reflog끄적끄적 2024. 2. 27. 20:54
레퍼런스 Git - git-reflog Documentation Git - git-reflog Documentation git-reflog - Manage reflog information git-scm.com 상황 오늘 작업한 작업물을 리베이스하는 도중에 예상치 못한 packages 관련된 충돌이 발생하였다. 따라서 기존 브랜치에서 conflict을 해결하고 리베이스하기 위해 해당 리베이스를 abort했다. 문제는 브랜치의 origin에 푸쉬하지 않은 local commit이 지워졌는데, 동료의 도움으로 git reflog 를 통해 회생시킬 수 있었다. $ git reflog reflog에 대한 가벼운 설명 This command manages the information recorded in the ..
-
기본 리눅스 명령어 15가지 알아두기Computer Science 2024. 2. 26. 22:39
레퍼런스 [Rocky Linux] 15가지 리눅스 기본 명령어 정리 [Rocky Linux] 15가지 리눅스 기본 명령어 정리 리눅스 명령은 옵션까지 모두 포함해서 수천 개가 넘을 정도로 많습니다. 명령을 다 외운다는 것은 거의 불가능하고 외울 필요도 없지만, 리눅스를 사용하는 데 필요한 기본 명령 15가지는 필수 m.hanbit.co.kr 1) ls List, 해당 디렉터리(폴더) 에 있는 파일의 목록을 나열하는 명령어 # ls → 현재 디렉터리의 파일 목록을 표시 # ls /etc/sysconfig /etc/sysconfig → 디렉터리의 목록을 표시 # ls -a → 현재 디렉터리의 목록(숨김 파일 포함)을 표시 # ls -l → 현재 디렉터리의 목록을 자세히 표시 # ls *.cfg → 확장자가 ..
-
실용주의 프로그래머 7장 - 코딩하는 동안Book Study 2024. 2. 20. 20:28
나의 키워드 파충류의 뇌에 귀 기울이기 우연에 맡기는 프로그래밍 알고리즘의 속도 리팩터링 일단 코딩에 들어가면 대부분 기계적인 작업, 즉 설계 내용을 컴퓨터가 실행할 수 있는 문장으로 바꾸는 일만 하면 된다고들 많이 생각한다. 이런 태도가 소프트웨어 프로젝트가 실패하는 가장 큰 원인이다. 이런 태도 때문에 많은 시스템이 결국 너저분해지고, 비효율적이 되고, 구조가 망가지고, 유지 보수가 힘들어지고, 한마디로 완전히 잘못되고 만다. (p.273) 적극적으로 자기 코드에 대해 생각하지 않는 프로그래머는 우연에 맡기는 프로그래밍을 하는 것이다. 코드가 작동하긴 하지만 왜 그렇게 작동하는지 설명은 못한다. (p.274) 테스트는 버그를 찾는 작업이 아니다. 여러분의 코드에 대한 피드백을 받는 작업이다. 파충류의..
-
실용주의 프로그래머 스터디 2장 - 실용주의 접근법Book Study 2024. 2. 19. 19:32
나의 키워드 직교성 가역성 추정 1. 직교성 (orthogonality) ‘직교성’은 기하학에서 빌려 온 용어다. 그래프와 축과 같이 두 직선이 직각으로 만나는 경우 직교한다고 말한다. 하나가 바뀌어도 나머지에 어떤 영향도 주지 않는 것을 의미한다. 컴퓨터 과학에서 이 용어는 일종의 독립성이나, 결합도 줄이기(decoupling) 를 의미한다. (p.54) 직교적인 시스템을 작성하면 두 가지 큰 장점이 있다. 바로 생산성 향상과 리스크 감소다 (p.57) 1.1) 생산성 향상 변화를 국소화해서 개발 시간과 테스트 시간이 줄어든다. 상대적으로 작고, 자족적인 컴포넌트들을 작성하는 것이 하나의 커다란 코드 덩어리를 만드는 것보다 더 쉽다. (p.57) 1.2) 리스크 감소 직교적인 접근법은 모든 개발 작업에..
-
실용주의 프로그래머 스터디 1장 - 실용주의 철학Book Study 2024. 2. 14. 20:43
나의 키워드 실용주의 철학 실용주의 철학 당신이 이 책을 손에 든 이유는 당신이 더 나은 개발자가 될 수 있음을 알기 때문이다. 다른 사람이 더 나아지는 것을 도울 수 있음을 알기 때문이다 (p.1) 당신은 ‘실용주의 프로그래머’가 될 수 있다 실용주의 프로그래머는 무엇이 다른가? 우리는 문제와 해법에 접근하는 태도와 방식, 철학에 차이가 있다고 생각한다. 실용주의 프로그래머는 직면한 문제 너머를 고민한다. 문제를 더 큰 맥락에 놓고 더 큰 그림을 보려고 노력한다. 자신이 하는 모든 일에 책임을 진다 (p.1) 당신의 인생이다 나는 당신의 기대대로 살기 위해 이 세상에 있는 게 아니고, 당신도 내 기대대로 살기 위해 이 세상에 있는 게 아니다. - 브루스 리(Bruce Lee) 당신의 인생이다. 당신의,..