본문 바로가기

Express21

(완)Node/Express : TDD - 2 2023. 4. 30.
Node/Express - TDD 오랜만에 필기공부 1. 필기공부 장점 : - 쓸 때는 머리에 잘 들어온다 - 이해가 안되는 부분을 천천히 곱씹으면서 보기 때문에 좀 더 자세히 이해가 가능하다. - 써놓으면 뭔가 기부니가 좋다. - 필기 실력이 는다? 2. 필기공부 단점 : - 악필이라 보기가 싫다. 다시 읽기 싫다. - 맥-아이패드 조합이면 유니버설 컨트롤로 D&D만으로 코드스샷같은게 쉽게 옮겨지지만, 다른 조합이라면 코드 스샷해서 파일 옮겨서 첨부하기 귀찮다. - 아주 오랜만에 읽는 거면 뭐라고 똥글을 싸놨는지 감도 안온다. 2023. 4. 28.
[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.
[O'REILLY] Node & Express - 15장 : REST API와 JSON - 지금까지 여러 REST API의 예제를 보아왔지만, 지금껏 '서버에서 데이터를 처리하고 클라이언트에게 html을 전송한다는 예제' 가 주를 이뤘다. - 하지만 2023 현재 대세는 상당수가 HTML, CSS, JS 등의 렌더링 파일 자체는 정적으로 받아오고, 실제 데이터는 JSON으로 AJAX를 통해 받아서 HTML를 구성하는 SPA의 형태를 띄는 경우도 많다. 물론 SEO가 구려서 SSR이 다시 대두되고 있어서 프로젝트의 형태와 목적에 따라서 적절히 구성하는 것이 현명하다. - 어쨌든 SSR 방식이더라도, 서버의 API는 매우 중요하며, API엔드포인트를 제공하는 방법을 알아야한다. - 웹 서비스는 HTTP로 접근할 수 있는 어플리케이션 프로그래밍 인터페이스 (Application Programmi.. 2023. 4. 11.