본문 바로가기
728x90
반응형

분류 전체보기279

[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.
[SSO] SSO(Single Sign-On) 개념 정리 SSO는 사용자가 여러 애플리케이션 또는 서비스에 대해 하나의 인증 정보로 로그인할 수 있는 인증 메커니즘으로 보안 강화 및 인증, 권한 부여 솔루션 등으로 활용된다. 특징 및 장점 단일 인증 정보: 사용자는 SSO시스템을 통해 단일 인증 정보(id,pw)를 입력하여 여러 서비스에 접근할 수 있다. 사용자 경험 향상: 여러 번의 로그인 절차를 거치지 않고도 여러 서비스에 쉽게 액세스할 수 있다. 보안 강화: 하나의 강력한 인증 수단을 사용하므로, 다양한 애플리케이션에서 사용자 인증 정보를 관리하는 데 필요한 보안 수준을 높일 수 있다. 관리 용이성: 사용자 인증 정보를 중앙 집중화하여 관리자가 액세스 권한을 효과적으로 관리할 수 있다. 단점 의존성: SSO 시스템이 다운될 경우, 여러 서비스에 대한 액세.. 2023. 10. 20.
[SpringBoot] 로그아웃 후 이전 페이지로 이동(뒤로가기) 방지 웹 브라우저에서 로그아웃, 세션 만료 등으로 인해 로그인페이지로 이동됐을 때 뒤로가기 버튼을 눌러 이전 페이지로 돌아가는것을 막는 방법..! 웹 사이트에서는 보통 Session을 이용해 사용자의 로그인 상태를 유지한다. Interceptor를 등록해 session의 유무를 확인하여 로그아웃이나 세션 유지기간의 만료로 인해 세션이 소멸된 경우 로그인 화면으로 강제로 이동(redirect)시킨다. 하지만 강제로 로그인 페이지로 Redirect 시키더라도 웹 브라우저의 뒤로가기 버튼을 누르면 이전 페이지를 볼 수 있다. *Session이 없는 상태에서 주요 페이지를 보는것은 보안 매우 취약할 수 있다. 원인: 웹브라우저에서 페이지를 이동하면 자체적으로 방문기록(History)을 캐시(cache)에 저장하는데 .. 2023. 10. 20.
[JasperReports] 05. Java) JasperPrint Export. 보고서 출력 JasperSoft Studio로 생성한 Report(.jrxml)파일을 출력하는 방법 1. Library Setting 1. Library 의존성 추가: net.sf.jasperreports jasperreports 6.4.0 2. jasper File Directory 생성: jasper studio에서 common directory를 경로로 잡았기 때문에 studio에서 .jrxml 파일을 수정하고 저장하면 자동 반영된다. 2. Report 요청 - Controller @ResponseBody @RequestMapping(value = "/searchReport01", method = RequestMethod.GET) public void searchReport01(Model model, HttpS.. 2023. 10. 20.
[JasperReports] 04. Parameter, Variable, Dataset (Style) JasperReports에 데이터를 삽입하는 방법 1. Parameter Parameter: 외부에서 값을 전달받아 사용할 수 있는 변수로 동적으로 값을 생성하거나 보고서의 동작을 제어하는 데 사용된다. // 3. java) parameter 전달: Map parameters = new HashMap(); parameters.put("ReportTitle", "Sales Report"); JasperPrint jasperPrint = JasperFillManager.fillReport("YourReport.jasper", parameters, dataSource); 2. Variable Variable: 데이터를 계산하고 저장하기 위한 요소로 이를 통해 보고서에서 다양한 계산을 수행할 수 있다. // 3.. 2023. 10. 19.
[JasperReports] 03. Elements 구성요소 JasperSoft Studio에서 사용하는 Elements설명 Elements 목록 Properties 지정*Element 선택 시 나오는 Properties 창에서 font, color, size 등 Style을 지정할 수 있다 (source화면에서 code로 작성 가능) Elements 구성Text Field:문자, 숫자 등 작성. (변수)주로 parameter를 받을 때 사용한다.Variable, Paramter를 선택하여 삽입 가능ex> $P{reportTitle1} 이란 이름의 파라미터 값을 매핑   Static Text:문자, 숫자 등 작성. (상수)   Table:표 형식의 테이블.Table Column에 TextField, StaticText등 요소를 삽입하여 테이블 구조 세팅$F{F.. 2023. 10. 19.
728x90
반응형