본문 바로가기

Back-end139

TDD(Test-Driven-Development) : 테스트 주도 개발 TDD Test Driven Development(테스트 주도 개발) 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법 TFD(Test First Development) + 리팩토링 기능 동작을 검증(메서드 단위) BDD Behavior Driven Development(행위 주도 개발) 시나리오 기반으로 테스트 코드를 작성하는 개발 방법 하나의 시나리오는 Given, When, Then 구조를 가짐 테스트 코드를 작성하는 이유? 문서화 역할 코드에 결함을 발견하기 위함 리팩토링 시 안정성 확보 테스트 하기 쉬운 코드를 작성하다보면 더 낮은 결합도를 가진 설계를 얻을 수 있음 2022. 8. 21.
쿠키(Cookie) HTTP 쿠키 HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용한다. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있다. 상태가 없는(Stateless) HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문이다. 쿠키는 주로 세가지 목적을 위해 사용된다. 세션 관리(Session Management) 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화(Personalization) 사용자 선호, 테마 등의 세팅 트래킹(Tracking) 사용자.. 2022. 5. 18.
캐시(Caching) HTTP Caching 웹 사이트와 애플리케이션의 성능은 이전에 가져온 리소스들을 재사용함으로써 현저하게 향상될 수 있다. 웹 캐시는 레이턴시와 네트워크 트래픽을 줄여줌으로써 리소스를 보여주는 데에 필요한 시간을 줄여준다. HTTP 캐싱을 활용하면 웹 사이트가 좀 빠르게 반응하도록 만들 수 있다. 다른 종류의 캐시들 캐싱은 주어진 리소스의 복사본을 저장하고 있다가 요청 시에 그것을 제공하는 기술이다. 웹 캐시가 자신의 저장소 내에 요청된 리소스를 가지고 있다면, 요청을 가로채 원래의 서버로부터 리소스를 다시 다운로드 하는 대신 리소스의 복사본을 반환한다. 모든 클라이언트를 서비스할 필요가 없어지므로 서버의 부하를 완화하고, 클라이언트에 더 가까이 있으므로 성능이 향상된다. 즉 리소스를 회신하는데 더 적은.. 2022. 5. 18.
HTTP HTTP 란 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜 클라이언트-서버 프로토콜은 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미한다. 클라이엄트와 서버들은 개별적인 메시지 교환에 의해 통신한다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(Request)라고 부르고, 그에 대해 서버에서 응답으로 전송되는 메시지를 응답(Response)이라고 부른다. HTTP는 애플리케이션 계층의 프로토콜로, 신뢰 가능한 전송 프로토콜이고, 이론상으로는 무엇이든 전송이 가능하지만, TCP 혹은 암호화된 TCP 연결인 TLS를 통해 전송된다. HTTP의 확장성 덕분에, 오늘날 하이퍼텍스트 문서 .. 2022. 5. 18.
프로젝트(Spring Boot & JPA) 프로젝트 생성 DB, Entity 설계 Repository 설계 Service 설계 Controller & View 설계 2022. 1. 23.
Lombok Lombok (롬복) 자바 빈즈 자바빈즈(JavaBeans)는 자바로 작성된 소프트웨어 컴포넌트이다. 자바빈즈의 사양은 썬 마이크로시스템에서 다음과 같이 정의되어 있다. "빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트이다." 자바빈즈는 많은 측면에서 유사하지만 엔터프라이즈 자바빈즈(EJB)와 혼동하지 말아야 한다. EJB는 자바 플랫폼, 엔터프라이즈 에디선(Java EE)의 일부로서 서버 계열의 컴포넌트이다. 자바빈즈의 관례 자바빈즈 클래스로서 작동하기 위해서, 객체 클래스는 명명법, 생성법 그리고 행동에 관련된 일련의 관례를 따라야만 한다. 이러한 관례는 (빌더 형식의) 개발 도구에서 자바빈즈와의 연결을 통해 클래스의 재사용 그리고 클래스의 재배치를 가능하.. 2021. 10. 6.