Web Programming

JUnit자바용 유닛 테스트 프레임워크구현한 기능에 대한 단위 테스트가 가능하며, 클래스 레벨 단위로도 테스트가 가능하다. 사실 이 글을 쓰게 된 건assertThat과 isEqaulTo를 쓰는 것과assertEquals를 쓰는 게 뭐가 다른지 궁금해서 찾아본 것을 정리하기 위함이다.아주 기본적인 거겠지만,이번 기회에 잘 정리해서 단위 테스트를 작성해보고자 한다. assertThat(AssertJ)와 assertEquals(JUnit)차이점 요약은 다음과 같다.특징assertThatassertEquals라이브러리AssertJ (의존성 추가 필요)JUnit오류 메시지상세하고 직관적간단함단언 메서드 다양성매우 풍부제한적확장성객체 상태 확인 등 확장성 우수단순 비교에 적합 정리해보자면,assertEquals를..
스프링 배치 (Spring Batch)스프링 배치는 대량의 데이터 처리를 위한 프레임워크로,대량의 데이터베이스 작업이나 배치 처리를 쉽게 관리하고 실행할 수 있도록 돕는다.주로 데이터 마이그레이션, ETL 작업 등에 사용되면, 대규모 작업에서 유용하다. ** 배치사용자와의 상호작용 없이 여러 개의 작업을 미리 정해진 순서에 따라 중단 없이 처리하는 것→ 일괄 처리정기 배치: 일, 주, 월과 같이 정해진 기간에 정기적으로 수행이벤트성 배치: 특정 조건을 설정해두고 조건이 충족될 때만 수행On-Demand 배치: 사용자 요청 시 수행 스프링 배치는 배치 작업을 관리하지만, 이 작업(Job)을 구동하거나 실행시키는 기능은 지원하지 않는다. 스프링에서 작업을 실행시키려면 Quartz, Scheduler, Jen..
JWT (Json 웹 토큰)JSON 웹 토큰(JWT)은 온라인 네트워크에서 정보를 안전하게 통신할 때 사용하는 인터넷 표준 토큰이다.JWT는 간결하고 URL에 안전하게 사용할 수 있다는 장점이 있다.JWT는 인증, 정보 교환 등 다양한 용도에 사용된다. 이때 주고받는 정보를 클레임(Claim)이라고 하고, 클레임의 집합은 JSON 객체로 표현한다. JWT의 두 가지 유형JWT는 JWS 또는 JWE로 구현되어야 한다. JWT는 JWE와 JWS를 아우르는 인터페이스 같은 존재이고, 실제 구현은 JWS와 JWE로 나누어지는 것이다.JWT는 토큰이고 JWE와 JWS는 그 평문 토큰을 더 안전하게 만들어주는 추가 구현이다. JWE 혹은 JWS 방식 중 하나를 필수적으로 선택해야지만 JWT라고 부를 수 있다. Cl..
Spring은 @Autowired 어노테이션을 이용한 다양한 의존성 주입(DI: Dependency Injection) 방법을 제공한다.의존성 주입은 new 연산자를 통해 필요한 객체를 직접 생성하는 것이 아니라 외부로부터 객체를 받아 사용하는 것이다. 이때 외부란 추상적으로 스프링 컨테이너라는 애플리케이션 내 별도의 공간을 의미한다. 의존성 주입(DI)이 필요한 이유예를 들어 연필이라는 상품과 1개의 연필을 판매하는 Store 클래스가 있다고 하자.public class Store { private Pencil pencil; public Store() { this.pencil = new Pencil(); }} 위와 같은 예시 클래스는 이러한 문제점을 가지고 있다. - 두 클래스..
HikariCP(Hikari Connection Pool)JDBC DBCP(Database Connection Pool)HikariCP는 데이터베이스 연결(Connection)을 관리해 주는 도구(라이브러리)이다. HikariCP에서 커넥션 풀(Connection Pool)이 설정된 커넥션의 사이즈만큼 연결을 허용하며,HTTP 요청에 대해 순차적으로 DB 커넥션을 처리해 주는 기능을 수행한다. DBCP (Database Connection Pool)JDBC 연결은 드라이버를 로드하고 연결하여 객체를 받아와야 하는 과정을 가진다.이 과정은 매번 사용자가 요청할 때마다 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하는 과정이 불편하고속도와 자원 소모에 대한 단점이 있다.-> 이 단점을 보완하기 위..
이번 프론트엔드 기술세미나를 준비하면서 우리 팀은 'CORS'를 주제로 잡았는데,까먹기 전에 제대로 정리해두고 싶어서 이렇게 글을 작성한다. 들어가며프론트엔드에서 요청 코드 잘 적었고,백엔드의 서버 코드나 세팅에도 문제가 없는 것 같은데,왜 내가 요청한 자료에 대해 “CORS policy”에 의한 에러가 뜰까? 요청 방식에 따라 다른 CORS 방식 여부1. , , , 태그 등→ 기본적으로 Cross-Origin 정책을 지원한다.이런 식으로 우리는 태그의 href에서 .css 리소스에 접근하거나 태그의 src에서 다른 사이트의 .png, .jpg 등의 리소스에 접근하는 것이 가능하다. 2. XMLHttpRequest, Fetch API 스크립트→ 기본적으로 Same-Origin 정책을 따른다.자바스크..
추상클래스(Abstract Class)란? 추상 클래스(Abstract Class)는 추상 메서드를 선언해 놓고 상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다. 이러한 특성 탓에 미완성 설계도라고 표현하기도 한다. 추상클래스는 상속을 위한 클래스이기 때문에 따로 인스턴스를 생성할 수 없다. ​ 클래스라 함은 인스턴스를 생성해주는 템플릿 같은 개념이다. 그리고 이러한 인스턴스 객체 자료형을 사용하여 우리는 보다 구조적으로 프로그램을 설계할 수 있다. 추상 클래스는 클래스에 추상화를 접목시켜 보다 구조적이게 객체를 설계하고, 프로그램의 유지보수성을 올려주며, 만일 프로그램에 어떠한 기능을 업그레이드한다고 하면 수정 / 추가에 대해 유연적이게 해주어, 퀄리티 높은 프로그램과 솔루션을 개발..
번들러(Bundler) 탄생 이전 초기의 웹 애플리케이션의 규모는 지금과 같이 크지 않았다. 그러나 기술의 발전으로 컴퓨터 성능이 좋아지고, 네트워크 속도도 빨라지면서 자연스럽게 웹 애플리케이션의 규모 또한 커져갔다. 이로 인해 파일의 양은 늘어났고, 그에 따라 다양한 문제를 야기했다. ​ 하나의 웹 서비스에서 수십 수백개의 자바스크립트 파일을 다루면서 하나 둘씩 문제들이 발생하기 시작했던 것! ​ 1) 중복된 이름으로 인한 에러 대규모의 웹 페이지의 경우 수백 수천개의 자바스크립트 파일이 있고, 여러 사람이 관리하다보니 함수명이나 변수명을 똑같이 짓는 일이 일어날 수 있다. 이때 예상치 못한 에러가 발생할 수 있다. ​ 2) 파일로 인한 문제 사용자가 요청을 보내면 서버는 웹 애플리케이션을 구성하는 파..
효딩
'Web Programming' 카테고리의 글 목록