본문 바로가기
728x90

분류 전체보기257

[SpringDataElasticsearch] Client 구현을 통한 사용 방법 Elasticsearch 클라이언트를 직접 사용하여 클러스터 작업을 수행할 수 있지만 SpringDataElasticsearch 클라이언트를 사용하면 DataAccess, ObjectMapping, Annotation, QueryDSL, Transaction 등을 이용하여 보다 쉽고 편리하게 Elasticsearch를 사용할 수 있게 도와준다. Imperative Rest Client (명령형 REST 클라이언트) 전통적인 동기식 프로그래밍 방식을 따르며, 요청을 보내고 응답을 기다리는 동안 블로킹되는 방식을 동작한다. Ex> RestTemplate, WebClient 등,, 명령형 (비반응형) 클라이언트를 사용하기 위한 Bean 구성 @Configuration public class MyClientCo.. 2023. 12. 16.
[Junit] Test 종류. Test Case (feat. 전자정부 프레임워크) 테스트는 소프트웨어 개발 생명주기에서 매우 중요한 부분을 차지한다. 테스트를 잘 하면 버그 감소와 유지보수 용이성, 코드 문서화, 개발 생산성 향상 등의 측면에서 유리하다. White Box Test (구조 기반 테스트) 소프트웨어의 내부 구조와 동작을 검증하는 테스트로 개발자가 코드의 내부 로직, 제어 흐름, 데이터 흐름 등을 이해하고 테스트 케이스를 작성하는 방법이다. 코드의 모든 경로와 조건을 확인할 수 있어 Code Coverage가 높지만, 개발자의 시각에 의존하므로 완전한 테스트는 힘들다. Black Box Test (기능 기반 테스트) 소프트웨어의 내부 구현을 알지 못하고 기능에만 초점을 맞춘 테스트로 시스템이 요구 사항을 만족하는지 여부를 확인하는 것이 목표이다. 사용자의 관점에서 테스트하.. 2023. 11. 17.
[Junit] TypeReference, JsonPath - Json 다루기 (feat. ObjectMapper) Junit을 사용하여 Integration Test Case 작성 중 데이터 검증로직을 구현할 때 유용하게 사용할 수 있다. TypeReference란? TypeReference는 Jackson 라이브러리에서 제공하는 클래스로, 제네릭 타입을 사용하는 경우에 JSON 데이터를 해당 제네릭 타입으로 역직렬화할 때 유용하다. Jackson은 제네릭 타입 정보를 유지할 수 없기 때문에 이러한 경우에 TypeReference를 사용하여 타입 정보를 보존한다. Example > List list = new ObjectMapper().readValue(responseContent, new TypeReference(){}); @Test //Todo. User 리스트 조회 테스트 @Transactional public.. 2023. 11. 17.
[Junit] Junit4 다양한 라이브러리 활용 (feat. AssertJ, Unitils, RestAssured) Test Code를 작성하려면 Junit만 사용해도 되지만 Test Code에 대한 가독성이나 편리성을 높여주는 라이브러리들을 활용하면 더 쉽고 편하게 코드를 작성할 수 있다. Junit에 대한 기본적인 내용은 이전 글 참고! https://inbeom.tistory.com/entry/JUnit-JUnit%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EA%B8%B0%EB%B3%B8-%EC%A0%95%EB%A6%AC Junit 기반 테스트 코드를 작성할때 활용할 수 있는 여러 라이브러리가 있지만 가장 많이 사용되는 것은 AssertJ, Unitils, RestAssured 3가지가 있다. AssertJ AssertJ는 Java기반의 객체 지향적인 방식으로 테스트 코드를 작성할 수 있.. 2023. 11. 17.
JAVA ver.8 Java 8버전이 많이 사용되는 이유. JDK 8은 2014년에 등장하였고 장기 지원(LTS)버전 중에서도 가장 오랜 기간 지원되는 버전이며, 이러한 이유로 많은 프로젝트들이 Java 8로 개발되었기 때문에 기존 제품과의 호환성과 안정성 등의 이유 때문에 아직까지도 가장 많이 사용되는 버전입니다. *Oracle JDK 버전별 지원 로드맵 Java 8버전의 핵심 기능들 Lambda Expression Stream Optional Class Lambda Expression 람다 함수(Lambda Function)란? 람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로, 익명함수 라고도 불리고 있습니다. 람다 표현식을 사용하여 함수를 정의하며 이름이 없는 함수로, 코드를 간결하게 만들고 익명 함수를 간단.. 2023. 11. 10.
[ColorScripter] 글 작성 시 소스코드 디자인 변경 인터넷에 네이버 블로그, Tistory 등 글을 작성할 때 Color Scripter를 활용하면 더욱 보기 쉽고 이쁘게 코드를 작성할 수 있다. Action Script, ASP, C, C#, CSS, HaXe, HTML, Java, JavaScript, JSP, Objective C, Perl, PHP, Python, Ruby, SQL, Swift, Visual Basic 등 다양한 언어를 사용하여 소스코드를 작성할 수 있도록 지원한다. 또한 네이버 블로그 등 태그가 지원되지 않아 Syntax HighLighter를 사용할 수 없는 곳에서도 사용할 수 있으며, 간단한 설정만으로 자신이 원하는 방식으로 소스코드를 하이라이팅 할 수 있다. 웹 사이트 > https://colorscripter.com/ Co.. 2023. 10. 26.
[SpringBoot] Redirect처리 과정 (feat. ClassCastException) SpringMVC를 사용하여 웹 API개발 중 세션이 없는 요청에 대해 로그인 페이지로 Redirect 시키는 서비스 로직을 작성하였는데 화면 이동등에 대한 요청은 문제없이 Redirect 처리 되었지만 데이터 조회와 같은 Api요청에서는 에러가 발생하였다. 우선 원인은 Redirect처리 시 발생한 ClassCastException 때문인데, Spring의 Redirect의 처리 과정에 대해 자세히 알아보자. Spring에서 Redirection은 클라이언트에게 새로운 URL로 이동하라고 알려주는 프로세스를 의미한다. 리다이렉션은 주로 사용자를 다른 페이지로 이동시키거나, 요청을 다른 컨트롤러 또는 URL로 보내는 데 사용된다. Redirect Processing Logic (Debugging) 1. .. 2023. 10. 23.
[SQLD] SQL 자격검정 실전문제 - 핵심 정리 (데이터 모델링의 이해) SQLD 자격증 시험을 준비하며 SQL 자격검정 실전문제 교재의 제1-1장. 데이터 모델링의 이해 단원 핵심내용 정리 과목 1. 데이터 모델링의 이해 제1장. 데이터 모델링의 이해 발생시점에 따른 엔티티 분류 기본/키엔티티 (Fundamental Enity, Key Entity) 중심엔티티 (Main Entity) 행위엔티티 (Active Entity) 데이터 모델링이란? 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정 데이터베이스를 구축하기 위한 분석/설계의 과정 데이터 모델링의 유의점 중복 (Duplication) 비유연성 (Inflexibility) 비일관성 (Inconsistency) 개념적 데이터 모델링 추상화 수준이 높고 업.. 2023. 10. 23.
[SSO] SSO(Single Sign-On) 개념 정리 SSO는 사용자가 여러 애플리케이션 또는 서비스에 대해 하나의 인증 정보로 로그인할 수 있는 인증 메커니즘으로 보안 강화 및 인증, 권한 부여 솔루션 등으로 활용된다. 특징 및 장점 단일 인증 정보: 사용자는 SSO시스템을 통해 단일 인증 정보(id,pw)를 입력하여 여러 서비스에 접근할 수 있다. 사용자 경험 향상: 여러 번의 로그인 절차를 거치지 않고도 여러 서비스에 쉽게 액세스할 수 있다. 보안 강화: 하나의 강력한 인증 수단을 사용하므로, 다양한 애플리케이션에서 사용자 인증 정보를 관리하는 데 필요한 보안 수준을 높일 수 있다. 관리 용이성: 사용자 인증 정보를 중앙 집중화하여 관리자가 액세스 권한을 효과적으로 관리할 수 있다. 단점 의존성: SSO 시스템이 다운될 경우, 여러 서비스에 대한 액세.. 2023. 10. 20.
728x90