CS(10)
-
Backend-RoadMap_Testing
기능 테스팅 단위 테스팅 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트 테스트 대상 단위 : 일반적으로 클래스 또는 메소드 수준 단위가 작을수록 복잡성이 낮아짐 단위의 크기를 작게 설정해 단위 테스트를 간단하고 디버깅 하기 쉽게 작성해야함 통합 테스팅 여러 모듈들을 모아 이들이 의도대록 협력하는지 확인하는 테스트 단위 테스트와 달리 개발자가 변경할 수 없는 부분(외부 라이브러리 등)까지 묶어 검증할때 사용 DB에 접근하거나 전체 코드와 다양한 환경이 제대로 작동하는지 확인하는데 필요한 모든 작업을 수행할 수 있다 장점: 단위 테스트에서 발견하기 어려운 버그 탐색 가능 단점: 신뢰성이 떨어질 수 있음 에러 발생 위치를 확인하기 쉽지 않아 유지보수가 어려..
2023.04.11 -
Backend-RoadMap_Web Security Knowlege
Web Security 비지니스에 영향을 줄 수 있는 위협으로부터 웹 응용 프로그램을 보호하기 위해 개발자가 취하는 보호 조치 MD 5 128 비트 암호화 해시 함수 단방향 암호화 문제점 해시 충돌 발생 brute force attack에 취약함 SHA 암호화 해시 함수 SHA-0: 1993년에 발표된 이 알고리즘은 제품군의 첫 번째 알고리즘입니다. 출시 직후 공개되지 않은 중대한 결함으로 인해 중단되었습니다. SHA-1: SHA-0을 대체하기 위해 만들어졌으며 MD5와 유사한 이 알고리즘은 2010년부터 안전하지 않은 것으로 간주되었습니다. SHA-2: 이것은 알고리즘이 아니라 SHA-256 및 SHA-512가 가장 많이 사용되는 일련의 알고리즘입니다. SHA-2는 여전히 안전하고 널리 사용됩니다. S..
2023.04.11 -
Clean Architecture_3부 정리
3부. 설계 원칙 Solid 원칙 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명 SRP(단일 책임 원칙): 각 소프트웨어 모듈은 변경의 이유가 단 하나여야함 OCP(개방 폐쇄 원칙): 기존 코드를 수정하기보다는 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할수 있도록 설계해야 시스템을 쉽게 변경할 수 있다. LSP(리코스프 치환 원칙): 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 잇으려면, 이들 구성요소는 반드시 서로 치환 가능해야한다는 제약을 지켜야함 ISP(인터페이스 분리 원칙): 소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 한다. DIP(의존성 역전 원칙): 고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하..
2023.04.01 -
Clean Architecture_2부 정리
4장. 구조적 프로그래밍 데이크스트라: goto문장이 모듈을 더 작은 단위로 재귀적으로 분해하는 과정에 방해가 되는 경우가 있다는 사실 발견 모듈을 분해할 수 없으면 분할 정복 접근법 사용 불가 goto문의 좋은 사용 방식은 if, then, else, do/while 과 같은 분기와 반복이라는 단순한 제어 구조에 해당한다는 사실 발견 이러한 종류의 제어구조만 사용한다면 증명 가능한단위로 모듈을 재귀적으로 세분화 하는 것이 가능 뵘과 야코피니: 모든 프로그램은 순차, 분기, 반복 이라는 세가지 구조만으로 표현 가능 → 모듈을 증명가능하게 하는 바로 그 제어 구조가 모든 프로그램을 만들 수 있는 제어구조의 최소 집합과 동일 → 구조적 프로그래밍 탄생 5장. 객체 지향 프로그래밍 객체 지향 언어의 필수 요소..
2023.03.31 -
Clean Architecture_1부 정리
1부. 소개 1장. 설계와 아키텍처란? 설계 == 아키텍처 설계 : 저수준의 구조 또는 결정사항 등을 의미할 때가 많음 아키텍처 : 고수준의 무언가를 가리킬 때 흔히 사용 소트트웨어 아키텍처의 목표 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화 2장. 두 가지 가치에 대한 이야기 소프트웨어 시스템이 제공하는 가치 행위 (기능) 긴급하지만 매번 높은 중요도를 가지는 것은 아님 구조 (아키텍처) 중요하지만 즉각적인 긴급성을 필요호 하는 경우는 없음 우선순위 긴급하고 중요한 긴급하지는 않지만 중요한 긴급하지만 중요하지 않은 긴급하지도, 중요하지도 않은
2023.03.31 -
Backend-RoadMap_APIs
API Application Programmin Interface 두개의 응용 프로그램이 서로 통신할 수 있도록 하는 매커니즘 Authentication OAuth 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹 사이트 상의 자신들의 정보에 대해 웹 사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준 프로토콜 타사의 플랫폼 정보에 접근하기 위해서 권한을 타사 플랫폼으로부터 위임 받는 것 OAuth 참여자 Resource Owner 자원의 소유주 사용자 Resource Server client가 제어하고자 하는 자원을 보유하고 있는 서버 google, facebook 등 Client Resource Server에 접속해서 정보를 가져오고자하는..
2023.03.27