본문 바로가기

분류 전체보기273

(완)Node/Express : TDD - 2 2023. 4. 30.
Node/Express - TDD 오랜만에 필기공부 1. 필기공부 장점 : - 쓸 때는 머리에 잘 들어온다 - 이해가 안되는 부분을 천천히 곱씹으면서 보기 때문에 좀 더 자세히 이해가 가능하다. - 써놓으면 뭔가 기부니가 좋다. - 필기 실력이 는다? 2. 필기공부 단점 : - 악필이라 보기가 싫다. 다시 읽기 싫다. - 맥-아이패드 조합이면 유니버설 컨트롤로 D&D만으로 코드스샷같은게 쉽게 옮겨지지만, 다른 조합이라면 코드 스샷해서 파일 옮겨서 첨부하기 귀찮다. - 아주 오랜만에 읽는 거면 뭐라고 똥글을 싸놨는지 감도 안온다. 2023. 4. 28.
[Refactoring] 애자일과 TDD 애자일 방법론과 TDD의 관계 애자일 방법론은 소프트웨어 개발 방식 중 하나로, 빠르게 변화하는 고객의 요구사항에 유연하게 대응할 수 있도록 개발하는 것을 목표로 합니다. 애자일 방법론의 핵심 원칙 중 하나는 '지속적인 테스트와 통합'인데요, 이 원칙은 테스트 주도 개발(TDD)과 밀접한 관련이 있습니다. TDD는 개발자가 요구 사항을 충족하는 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 방법론입니다. 이렇게 함으로써 개발자는 코드의 정확성과 안정성을 보장하고, 리팩토링 과정에서 발생할 수 있는 오류를 최소화할 수 있습니다. 애자일 방법론과 TDD는 서로 상호 보완적인 관계를 가지고 있습니다. 소프트웨어 설계의 중요성 소프트웨어 설계는 개발 과정에서 굉장히 중요한 역할을 담당합니다. 소프트웨어 설.. 2023. 4. 24.
[O'REILLY] Node & Express - 21장 : 사이트 오픈 (완) 이번 포스팅은 사실 DevOps의 영역과 밀접한 관계가 있다. 단순한 서버의 비즈니스로직 개발을 넘어서 지속적이고 자동화된 솔루션을 구축하는 것에 대한 문화에 대한 기본적인 지식을 포함하고 있다. 1. 도메인 등록과 호스팅 - 인터넷의 모든 웹사이트/서비스는 인터넷 프로토콜(IP) 주소로 식별한다. - 도메인이름은 google.com 과 같은 사람이 이해하기 쉬운 주소이름을 숫자로된 IP 주소로 연결한다. - 호스팅은 웹사이트를 실행하는 컴퓨터를 가리킨다. - 도메인 등록업체는 대부분 호스팅 서비스를 제공하거나, 호스팅 업체와 파트너십을 맺고 있다. - 도메인이름과 IP주소를 연결하는 것은 DNS(Domain Name System)이다. 2. 보안 - 도메인 이름에는 가치가 있다. - 도메인을 탈취당할 .. 2023. 4. 21.
[O'REILLY] Node & Express - 20장 : 디버깅 1. 디버깅 원칙 - 디버깅은 보통 버그를 찾고 제거하는 작업이다. - 디버깅에서 가장 중요한 것은 '제외' 이다. 문제의 원인에서 제외해가며 남는 것이 범인이다. - 제외할 수 있는 것이 많을 수록 살펴봐야할 부분이 줄어든다. 2. 방법 - 코드 블럭을 주석처리하거나 비활성화해본다. - TDD 방법론을 통해 개발하여 단위테스트를 모두 제외하면서 디버깅할 수 있도록 한다. - 네트워크 트래픽을 분석해본다. - 직접 실행 입력을 해보고 QA해본다. - 버전관리를 통해 버그가 사라질 때 까지 앞뒤로 왔다리갔다리 하면서 테스트 해본다. - 복잡한 다른 시스템을 제외하고 버그부분만 똑 떼서 모킹해서 테스트 해본다. 3. 제외가 모든 것의 답은 아니다. REPL 활용 - 브라우저의 콘솔을 열면 REPL이 열린다... 2023. 4. 21.
[O'REILLY] Node & Express - 19장 : 서드파티 API - 소셜 네트워크, 지오로케이션 서비스, 맵 서비스 등의 서드파티 API가 있으면 비즈니스로직에 당연히 도움이 된다. - 서드파티 API의 필요성은 더 설명할 필요 없을듯 1. 소셜미디어 - 유튜브 , 페이스북 , 트위터 , 인스타그램 등의 서드파티 API를 활용하여 검색/호출/렌더링 등의 작업을 할 수 있다. - 소셜미디어와의 통합은 대부분 프론트엔드 작업이다. - 각 소셜미디어 개발팀에서 제공하는 API키와 자바스크립트 스니펫을 활용해 프론트엔드에서 API요청을 통해 각종 기능을 활용할 수 있다. - 서버에서는 소셜미디어의 API중에서도 검색, 최근트윗 조회 등의 기능을 별도로 요청해서 캐싱하여 성능을 개선할 수 있다. - 항상 사용하고자 하는 서비스의 개발팀이 제공하는 공식문서를 자세히 읽어보고 적.. 2023. 4. 21.
[O'REILLY] Node & Express - 18장 : 보안 처리 -2(인증) 1. 인증 - 인증은 크고 복잡한 주제이다. - 웹앱에서 빼놓을 수 없는 중요한 주제이고, 제발 직접 만들려고 하지 말자. - 앱의 보안시스템을 이해하는 것은 중요하지만, 직접 구현하는 시도는 '보안 전문가' 가 아니라면 접어두는 것이 좋다. 2. 인증과 권한 부여 - 인증은 사용자를 확인하는 작업이다. (Authentication) - 권한부여는 사용자에게 접근/수정/볼 권한을 주는 것이다.(Authorization) - 인증은 AuthN, 권한부여는 AuthZ라고 짧게 표기하는 사례가 많다. 3. 비밀번호 문제 - 비밀번호에서 문제는 사람이다. 사람이 만들기 때문에 가장 약한 고리이다. - 2018년 보안 분석 결과 대부분의 비밀번호가 '123456' 이었고, 'password'가 두 번째로 많았다고.. 2023. 4. 17.
[O'REILLY] Node & Express - 18장 : 보안 처리 1. HTTPS - 안전한 서비스를 만드는 첫 단계 - 패킷을 암호화해서 공격자가 정보에 접근하기 힘들게 만든다. - 공개 키 인증서(SSL 인증서)를 둔다. - 인증서를 발급하는 CA(인증기관, Certificate Authority)가 있다. - 인증 기관은 브라우저 제조사가 신뢰할 수 있는 루트 인증서를 사용할 수 있게 해준다. - 서버에 반드시 CA가 발급하는 인증서를 사용해야 한다. - HTTPS를 사용하려면, CA에서 인증서를 받아야 한다. 무료/유료 둘 다 있다. 2. 인증서 직접 생성 - 개발과 테스트 목적에만 사용해야 하는 인증서. - 인증서는 계층 구조를 가지므로 브라우저는 자신이 알고 있는 CA에서 생성한 인증서만 신뢰한다. - 개인적으로 만든 인증서는 신뢰하지 않는다. - 그래도 개.. 2023. 4. 17.