CS 6

Cookie

Cookie 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 ✔︎ 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다는 특징이 있다. ✔︎ 클라이언트에 300개까지 저장 가능하며, 하나의 도메인당 20개의 값만 가질 수 있다. 하나의 쿠키값은 4KB까지 저장가능하다. ✔︎ 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다. ✔︎ 쿠키는 사용자가 따로 요청하지 않아도 브라우저가 Request시에 Request Header를 넣어서 자동으로 서버에 전송한다. ✔︎ 사용 예) 로그인 시, ’아이디와 비밀번호를 저장하시겠습니까?’ ’오늘 더 이상 이 창을 보지 않음’ 장바구니 ✔︎ 쿠키의 구성 요소 이름 : 각각의 쿠키를 구별하는데..

CS 2021.06.25

좋은 객체 지향 설계의 5가지 원칙(SOLID)

SOLID ? : 클린 코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 1. SRP : 단일 책임 원칙(single responsibility principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수 있도, 작을 수 있다. 문맥과 상황에 따라 다르다. 책임에 대한 범위를 적절하게 잘 조절하는 것이 객체 지향 설계의 묘미 중요한 판단의 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 예) UI 변경(변경할 때 SQL 코드나 애플리케이션 다 고쳐야 하면 잘 못 설계한 것.), 객체의 생성과 사용을 분리 ✔︎ 계층이 잘 나누어져 있는 이유는 단일 책임 원칙을 잘 지키기 위함이다. 2. OCP : 개방-폐쇄 ..

CS 2021.06.01

빌드 관리 도구 (Maven vs Gradle)

빌드 관리 도구란 ? 프로젝트에서 작성한 Java 코드와 프로젝트 내에 필요한 각종 xml, properties, jar 파일들을 JVM이나 WAS가 인식할 수 있도록 패키징 해주는 빌드 과정이 "빌드 자동화 도구"라고 할 수 있다. 빌드 도구는 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램이며, 빠른 기간 동안 계속해서 늘어나는 라이브러리 추가 프로젝트를 진행하고, 라이브러리의 버전 동기화의 어려움을 해소하고자 등장했다. 1. ANT Ant는 Java 기반의 빌드 도구로 다른 빌드 도구보다 역사가 오래되었다. Ant는 개발자가 원하는 것을 개발할 수 있다는 유연성에 큰 장점이 있다. 각 프로젝트에 대한 XML 기반 빌드 스크립트 개발 형식적 규칙이 없다 → 결과물을 넣을 위치를 정..

CS 2021.05.27

TDD(테스트 주도 개발)

TDD란 ? ✔︎ Test Driven Development : 테스트 주도 개발. 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 테스트 케이스를 먼저 만들고 이 테스트를 통과하기 위해 구현을 짜는 것이다. 즉, 만드는 과정에서 먼저 테스트를 작성하고 그것을 통과하는 코드를 만들며 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다. ✔︎ 보통 SW 개발을 할 때 코딩을 다 끝낸 후, 테스트를 한다. 그러나 이 순서를 바꾸는 것이 TDD를 적용하는 것이다. TDD의 효과 TDD를 왜 해야 할까 ? 애자일과 같이 불확실성이 높을 때 '피드백'과 '협력'이 중요하다. 왜냐하면, 불확실성이 높을 때 피드백과 협력을 이용하면 더 좋은 결과가 나올 확률이 높아진다. TDD도 마찬가..

CS 2021.05.18