들어가며채용 공고를 보면 JUnit (Test) 자격 요건에 들어간다. 테스트는 크게 TDD와 단위 테스트가 있으며 나는 이번 쇼핑몰 프로젝트에 단위 테스트를 넣어보았다. 단위 테스트를 하려면 mock 객체가 필요하다. mock 객체가 왜 필요한지, 단위 테스트 왜 쓰는지 알아보았다. 1. Unit Test코드를 작성하면 여러가지 단위 즉, 많은 메서드를 작성하게 된다. 이 많은 메서드가 정확히 돌아가는지, 예외는 제대로 터지는지, 코드를 수정하면 정상적으로 작동하는지 확인해야 한다. 이걸 일일이 웹 사이트에서 확인하면 시간과 비용이 많이 들어간다. 이때 단위 테스트를 하게 되면 개발한 코드들에 대해 수시로 빠르게 검증을 받을 수 있으며, 기능을 수정하거나 리팩토링을 할 때에도 검증을 받으므로 안정성을 ..
2022.04 ~ 2022.05 진행 - 김영한 님의 인프런 스프링 핵심 원리 강의 정리 - 스프링의 본질과 객체 지향의 필요성을 느끼게 되는 강의였다.1일차 - 스프링과 객체지향설계 시작스프링 핵심- 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크- 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크스프링 vs 스프링부트 차이- 스프링은 톰캣 설정해야 하는 번거로움이 있지만 스프링 부트는 톰캣이 웹 서버에 저장- 라이브러리 버전 자동 설정- 메트릭, 상태확인, 외부 구성 같은 프로덕션 준비 기능 제공- 세팅하는 시간이 감소SOLID - 클린 코드로 좋은 객채 지향 설계의 5가지 원칙1. SRP : 단일 책임 원칙- 한 클래스는 하나의 책임만 가진다. - ex) UI 변경,..
들어가며새로운 프로젝트를 하면 첫 번째 기능이 JWT Token 활용해서 만드는 로그인, 로그아웃 페이지이다. 항상 할 때마다 흐름과 각 클래스마다 역할을 까먹어서 중간중간 구글링 하는 것보다 정리하는 게 낫다고 생각이 들어서 정리하기로 마음 먹었다. 일단 스프링 부트에서 제공하는 Security와 Jwt 토큰에 대해 알아보자 1. Security 역할웹 사이트에서 관리자 페이지와 사용자 페이지가 필수이다. 그로 인해서 특정 페이지를 조회와 데이터 요청을 권한에 따라 주거나 막아야 한다. 해커가 관리자 페이지에 들어가서 정보를 약탈하거나 게시글을 삭제하면 아주 큰 문제가 발생한다. SpringBoot Security는 이러한 부분을 제어할 수 있도록 도와주는 역할을 한다. 2. JWT 구조구조는 3개..
● Java 장점 - 운영체제가 독립적 - 객체지향언어 - 비교적 배우기 쉬움 - 네트워크와 분산처리를 지원 - 자동 메모리 관리 >> 가비지컬렉터(garbage collector) - 멀티쓰레드 지원 >> 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당 - 동적 로딩 지원 ● JVM 역할(Java Virtual Machine) - 자바 애플리케이션을 실행시키기 위한 소프트웨어 기능 1 -> 하드웨어 기계어로 변환해주어 속도 향상해주는 JIT 컴파일러 기능 2 -> 각 운영체제에 맞게 실행 ● JDK 역할(Java Development Kit) - JVM과 자바클래스 라이브러리 외에 자바를 개발하는데 필요한 프로그램이 설치 JDK bin 역할 - javac.exe >> 자바 컴파일러, 자바 소스코드..