전체글114 단위테스트 vs 통합테스트 vs 인수테스트 목차개요단위 테스트(Unit Test)통합 테스트(Integration Test)인수 테스트(Acceptance Test)결론1. 개요테스트를 크게 3가지 분류로 나눌 수 있는데 가장 많은 범위를 차지 하고 있는 단위 테스트 통합 테스트, 인수 테스트 순으로 위 그림 처럼 나타낼 수 있다.이는 테스트 케이스의 개수라고 보면 될 것이고 코드 범위로 따지면 단위테스트가 가장 작고 인수 테스트가 가장 큰 것을 볼 수 있다.2. 단위 테스트(Unit Test)단일 서버 / 단일 프로세스 / 단일 쓰레드에서 돌아가는 테스트를 말한다.테스트에 Disk I/O가 있어서는 안되고 Blocking call이 있어서도 안된다.매우 간단하고 명확해야 하며 기본적으로 테스트를 위한 입력 값을 주어 그에 대한 함수의 출력 값이.. 2023. 5. 16. 테스트코드는 무엇이고 왜 작성해야 할까요? 목차테스트코드란?테스트 코드는 왜 작성해야 할까?테스트 코드의 단점결론1. 테스트코드란?소스 코드가 의도된 대로 정확히 동작하는지 검증하고 오류를 찾는 절차에 사용된다.즉, 특정 기능이 제대로 작동하는지 확인하고, 변경사항이나 추가 기능이 기존 기능에 영향을 미치지 않는지 검증하는데 도움을 준다.2. 테스트 코드는 왜 작성해야 할까?(도서) 구글 엔지니어는 이렇게 일한다. 11장구글도 초창기에는 엔지니어에 의한 자동 테스트를 그다지 중요하게 생각하지 않았다. 그러나 2005년에 구글 웹 서버(GWS) 규모와 복잡성이 무척 커지면서 생산성이 급속도로 떨어지는 경험을 했다. GWS는 구글 검색 쿼리를 제공하는 웹 서버로, 구글 검생에 있어서는 마치 공항의 관제 시스템만큼 중요한 역할을 하는 서비스이다. 릴리.. 2023. 5. 15. __GC 방식에는 어떤 것들이 있을까?__ 목차개요Serial GCParallel GCParallel Old GC(Parallel Compacting GC)Concurrent Mark & Sweep GC(이하 CMS)G1(Garbage First) GC결론 1. 개요Old 영역은 기본적으로 데이터가 가득 차면 GC를 실행하는데 이때 GC방식에 따라 처리 절차가 달라진다. 어떤 GC방식이 있는지 살펴보고 이해해보자.2. Serial GC운영서버에서 절대 사용하면 안되는 방식이며 데스크톱의 CPU 코어가 하나만 있을때 사용하기 위해 만든 방식이다.하나의 쓰레드로 GC를 실행하기에 Stop-The-World 시간이 길어지므로 애플리케이션의 성능이 많이 덜어진다.Serial GC는 적은 메모리와 CPU 코어 개수가 적을 때 적합한 방식이다.3. Para.. 2023. 5. 4. GC**(GarbageCollection)**는 어떻게 동작하며 왜 필요할까? 목차GC는 무엇인가?GC는 왜 필요할까?GC 알고리즘3-1. Reference Counting3-2. Mark And SweepGC는 어떻게 동작하는가?4-1. 동작구조4-2. Minor GC랑 Major GC는 무슨 차이지?4-3. young영역과 old영역 왜 나눠놨지?5. 결론1. GC는 무엇인가?위키백과를 보면 다음과 같이 나와있다.즉, 동적 할당된 메모리 영역 가운데 더 이상 사용할 수 없게 된 영역을 탐지하여 자동으로 해제해준다.2. GC는 왜 필요할까?GC를 사용하면 수동으로 메모리 관리를 했던 여러 작업이나 에러들을 방지할 수 있다.장점메모리 누수를 막을 수 있다해제된 메모리에 접근을 막을 수 있다.해제한 메모리 또 해제하는 경우를 막을 수 있다단점GC 작업은 순수 오버헤드개발자는 언제 G.. 2023. 5. 2. Maven vs Gradle 목차빌드 관리 도구란?MavenGradleMaven vs Gradle결론 1. 빌드 관리 도구란?소프트웨어 개발에서 자동화된 빌드 프로스세스를 지원하기 위해 사용되는 도구이다.라이브러리 및 종속성을 관리하며 일반적으로 개발에 필요한 외부 라이브러리들을 자동으로 다운로드하고 업데이트하는 역할이다.2. MavenApache의 Ant 대안으로 2004년 출시.빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리 종속성 관계를 pom.xml에 명시외부저장소에서 필요한 라이브러리와 플러그인들을 다운로드 한다음, 로컬시스템의 캐시에 모두 저장. 3. GradleAnt와 Maven의 장점을 모아 2012년 출시.Android 빌드 도구로 채택 됨.Groovy 스크립트를 활용한 빌드 관리 도구.멀티 프로젝트에 사용.. 2023. 4. 27. JWT(JSON Web Token)란? 목차JWT란?JWT 사용시기JWT구조JWT 이용한 인증 과정JWT 장점1. JWT란?JWT(JSON Web Token)란 인증에 필요한 정보들을 암호화시킨 JSON 토큰 을 의미한다. 그리고 JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다JWT는 JSON 데이터를 Base64 URL-safe Encode 를 통해 인코딩하여 직렬화한 것이며, 토큰 내부에는 위변조 방지를 위해 개인키를 통한 전자서명도 들어있다. 따라서 사용자가 JWT 를 서버로 전송하면 서버는 서명을 검증하는 과정을 거치게 되며 검증이 완료되면 요청한 응답을 돌려준다.2. JWT 사용시기AuthorizationJWT를 사용하는 가장 일반적인 예시다.사용자가 로그인 한 후.. 2023. 4. 25. 이전 1 ··· 11 12 13 14 15 16 17 ··· 19 다음