분류 전체보기144 OAuth2의 4 가지 흐름 OAuth2의 기본 개념OAuth2는 인터넷 사용자가 비밀번호를 제공하지 않고도 다른 웹사이트의 자원에 대한 접근 권한을 제 3자 애플리케이션에 부여할 수 있는 개방형 표준입니다. 이 프로토콜은 특히 "인증(Authorization)"에 초점을 맞추고 있습니다.Resource Owner(리소스 소유자): 일반적으로 서비스를 사용하는 사용자Client(클라이언트): 사용자 대신 특정 API 액세스 권한을 요청하는 애플리케이션Resource Server(리소스 서버): 사용자 데이터를 보유하고 있는 서버Authorization Server(인증 서버): 클라이언트가 사용자를 대신해 리소스에 접근할 수 있도록 토큰을 발급하는 서버 OAuth 장점개발자 관점1. 보안 강화: OAuth를 사용하면 개발자는 사용자.. 2024. 12. 5. Jenkins, Docker-compose로 컨테이너화 하기 Jenkins젠킨스는 Java기반의 소프트웨어 개발 시 지속적으로 탕합 서비스를 제공하는 툴입니다. CI(continuous Intergration) 툴이라고 표현합니다. 젠킨스와 같은 CI툴이 등장하기 전에는 소위 nightly-build라고 불리우는 개발자들이 당일 작성한 소스들의 커밋이 모드 끝난 심야대에 빌드가 타이머에 의해 집중적으로 진행되는 행위가 있었지만, CI 툴의 등장으로 빌드를 포함하여 서브버전, Git과 같은 버전관리 시스템과 연동하여 소스의 커밋을 감지하여 자동적 테스트가 포함한 빌드하도록 설정할 수 있게 되었습니다.Jenkins를 사용함으로 써의 이점프로젝트 표준 컴파일 환경에서의 컴파일 오류 검출자동화 테스트 수행정적 코드 분석에 의한 코딩 규약 준수여부 체크프로파일링 툴을 이용.. 2024. 12. 3. Spring Rest Controller, Spring MVC와 비교 Spring에서 REST API는 @RestController 어노테이션을 사용하여 구현됩니다.@RestController는 @Controller와 @ResponseBody 어노테이션의 조합으로, 컨트롤러의 모든 메소드의 반환값이 HTTP 응답 본문으로 직접 반환되도록 합니다. 이를 통해 JSON이나 XML과 같은 형태로 데이터를 쉽게 주고 받을 수 있으며, HTTP 요청을 처리하는 핸들러 메서드는 @RequestMapping 또는 그와 어노테이션(@GetMapping, @PostMapping 등)을 사용하여 구체적 HTTP 메소드와 경로를 지정합니다. Spring 프레임워크는 RESTful 서비스의 인기가 높아지기 전, 주로 Spring MVC(Model-View-Controller)아키텍처를 사용하여.. 2024. 12. 2. 통합테스트, SpringBootTest 통합테스트란?통합테스트는 소프트웨어 개발의 여러 단계 중 하나로, 개별적으로 개발된 모듈들을 결합하여 전체 시스템이나 애플리케이션의 일부가 제대로 작동하는지 검증하는 테스트입니다. 이는 단위 테스트가 개별 컴포넌트 또는 클래스의 기능을 검증하는 반면, 통합테스트는 여러 컴포넌트나 시스템의 상호작용을 검증하여 오류를 찾아내고, 전체 시스템이 요구사항을 만족하는지 확인합니다.Spring Boot와 SpringBootTestSpring Boot는 Spring 기반의 애플리케이션을 쉽고 빠르게 구축할 수 있도록 도와주는 도구로, 다양한 'starter'종속성과 자동 구성(Auto-configuration) 기능을제공합니다. @SpringBootTest는 Spring Boot에서 제공하는 어노테이션 중 하나로, .. 2024. 12. 2. 자바 Garbage Collector 자바에서 Garbage Collector는 메모리 관리를 자동으로 수행하는 시스템으로 더 이상 사용되지 않는 객체를 자동으로 검출하고 메모리를 해제하는 역할을 합니다.1. 객체 식별가비지 컬렉터는 먼저 사용 중인 객체와 사용되지 않는 객체를 구분해야 합니다. 이 과정에서 도달 가능성 분석을 수행하여, 루트 집합에서부터 시작해 참조를 따라갈 수 있는 객체를 식별합니다. 루트 집합은 메소드 영역에 있는 클래스, 스택 영역의 지역 변수, 네이티브 스택의 JNI 참조 등에서 참조하는 개체들을 포함합니다. 참조할수 있는 경로가 있는 객체는 '도달 가능한 객체'로 분류되며, 그렇지 않은 객체는 가비지로 간주됩니다.2. 가비지 수집도달할 수 없는 객체들이 식별되면, 가비지 컬렉터는 이들 객체가 차지하고 있는 메모리를.. 2024. 12. 2. 자바 객체의 생명주기 자바에서 객체의 생명 주기는 크게 네 단계로 나눌 수 있습니다. 이러한 단계를 이해하는 것은 메모리 관리 및 효율적인 자바 프로그래밍에서 매우 중요합니다.1. 객체 생성객체의 생명주기는 new 키워드를 사용하여 객체가 생성되는 순간부터 시작됩니다. 이때 생성자가 호출되어 객체의 초기 상태가 설정됩니다 예를 들어, Person person = new Person(); 코드는 Person 타입의 새 객체를 메모리에 할당하고, Person 클래스의 생성자를 호출합니다. 2. 사용객체가 생성된 후, 해당 객체를 참조하는 변수를 통해 접근하고 객체의 메서드를 호출하거나 변수를 수정하는 등의 작업을 수행할 수 있습니다. 이 단계에서 객체는 활동적인 상태에 있으며, 어떤 작업을 수행하든 해당 객체가 메모리에 존재하는.. 2024. 12. 2. Spring Container가 관리하는 Bean에 대하여 Bean을 알기 전 Spring Container스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트입니다. 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공한다. 스플링에서 자바 객체를 Bean 이라고 부릅니다.Spring Container의 두 인터페이스Bean factory: 빈의 관계설정 같은 제어를 담당하는 IoC 오브젝트Application Conext: Beanfactory의 확장한 오브젝트로서, Bean factory의 기능을 상속 받아 제공기능스프링 컨테이너는 Bean의 인스턴스화, 구성, 전체 생명 주기 및 제거를 관리객체 생성의존성 주입을 통해 애플리케이션의 컴포넌트를 관리서로 다른 Bean을 연결BeanBean은 스프링 컨테이너에 의해 관리되는 재사용 가.. 2024. 12. 2. Spring의 단위 테스트, JUnit5과 Mockito를 사용한 계층별 테스트 단위 테스트단위 테스트란 특정 소스코드의 모듈이 의도한 대로 잘 작동하는지 검증하는 테스트입니다. Spring에서 단위 테스트는 Spring Container에 올라와 있는 Bean을 테스트 하는 것입니다.JUnit5JUnit은 Java의 테스트 프레임워크 입니다. JUnit5는 가장 많이 쓰이는 JUnit 버전이며, JUnit4와 달리 JUnit Jupiter API가 추가되어 총 3개의 모듈로 구성됩니다.JUnit5의 세가지 모듈JUnit platform테스트를 발견하고 테스트 계획을 생성하는 Test Engine 인터페이스를 정의합니다.JUnit JupiterJUnit5에서 테스트 및 Extension을 작성하기 위한 새로운 프로그래밍 모델과 확장 모델의 조합이며, TestEngine API 구현체.. 2024. 11. 30. Zephyr를 이용한 테스트 관리 ZephyrJira가 BTS(Bug Tracking System)이라면 Zephyr은 TMS(Test Management System)입니다. TMS는 테스트의 시작 즉 요구사항 명세부터 요구사항에서 도출된 테스트 케이스 관리, 테스트 셋 수행, 결과 관리 그리고 테스트 케이스와 이슈의 추적성까지 모두 관리하는 시스템이 TMS 입니다. 여러 TMS 시스템 중 Zephyr는 Jephyr Enterprise와 Zephyr for Jira로 분류되며 오늘은 Zephyr for Jira를 알아보려고 합니다.프로세스QA에서 중요한 것은 추적성 입니다. 추적성을 위해서는 버전을 이용하는 것이 필수 입니다.버전생성서비스나 패키지의 버전명명 체계가 없는 경우에는 담당자가 추적할 수 잇는 단서를 이용하여 버전을 만드는 .. 2024. 11. 28. 이전 1 2 3 4 5 6 7 ··· 16 다음