코드 가독성다른 사람이 내 코드를 읽고 이해할 수 있게 짰는지 코드 모듈화코드 재사용성 및 일반화재사용성을 고민한다면 해당 기능을 클래스로 분리하고 그 클래스를 의존주입 받는 방법이 있음테스트 용이성 및 적절한 테스트
자바 메서드 파라미터는 디폴트가 가변이여서 함수 내부에서 변경하지 못하게 하려면 final을 지정해 불변 값으로 바꾸어야함. 코틀린 함수 파라미터는 무조건 불변. 함수 본문에서 파라미터 값을 변경하면 컴파일 오류 발생파라미터 앞에 val, var를 표시할 수 없음강제하
주석한줄 짜리 주석 -> /여러 줄 주석 -> /\* \*/KDoc 여러 줄 주석 -> /\*\* \*/자바독과 비슷한 리치 텍스트 문서를 생성하기 위해 사용변수 정의하기정의를 이루는 요소val 키워드: 값을 뜻하는 value에서 유래변수 식별자: 새 변수에 이름을
관리자관리자는 파트너사를 등록한다.파트너사 이름, 파트너사 전화번호, 파트너사 주소관리자는 파트너사를 수정한다.관리자는 프로모션을 등록한다.프로모션 타이틀, 프로모션 내용, 사전동의 내용, 모집일관리자는 프로모션을 수정한다.프로모션 등록일이 지나면 배치를 통해 프로모션
현재 회사에서 어드민 페이지는 MyBatis를 사용 중이다.다음과 같은 이유로 JPA 설정을 추가하여 동시에 사용해볼 예정이다테스트 코드의 생산성 증가 기대MyBatis를 사용했을 경우 기본적은 CRUD를 내가 직접 구현해야하기 때문에 기능 최초 생성 시 더 많은 시간
springboot 2.2.5gradlemybatis 사용처음에는 다음과 같이 설정을 진행했다. 설정을 통해 프로퍼티에서 hikari 정보를 가져오고, 가져온 정보로 jpa, jdbc 트랜잭션을 각각 만들어준다.설정을 하는 도중에 propertis의 spring.dat
인상깊었던 점을 중점으로 작성동욱님이 생각하시는 일정을 잘 지키는 사람의 공통점은 다음과 같다.코드 작성 시의 고민의 시간을 최소화본인만의 기준과 원칙으로 빠르게 결정설계가 더 필요한 부분은 고민을 하며 시간 투자를 하나, 나머지는 본인의 원칙으로 빠르게 판단을 해나감
코드에서 구상 클래스를 많이 사용하면 새로운 구상 클래스가 추가될 때마다 코드를 고쳐야 하는 문제 발생 -> 변화에 닫혀있는 코드가 됨(OCP 위배)새로운 구상 형식을 써서 확장해야할 때 어떻게 해서든 다시 열 수 있어야함엄밀히 말하면 디자인 패턴은 아님, 관용구에 가
코틀린은 어떤 클래스에 인스턴스가 오직 하나만 존재하게 보장하는 싱글턴 패턴을 내장코틀린에서는 클래스와 비슷한 방법으로 싱글턴을 선언하는데 object라는 키워드 사용이러한 객체 선언은 클래스를 정의하는 동시에 클래스 인스턴스를 정의하는 것이기도 함
null 이란 아무것도 참조하지 않는 참조값을 말함java에서 NullPointException은 runtime에서만 체크가능코틀린은 널 값이 될 수 있는 참조 타입과 널 값이 될 수 없는 참조 타입을 확실하게 구분하여 컴파일 시점에 NullPointException
다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능장점타입의 안정성을 제공타입체크와 형변환을 생략할 수 있으므로 코드가 간결해짐클래스와 메서드에 선언 가능클래스 선언T는 타입 변수(type variable)라고 하며, Type의
필드가 많은 엔티티가 있음.이 엔티티를 객체로 만들어서 사용할 때 빌드 패턴을 사용함.필드가 너무 많아서 객체를 만들 때 여러 줄을 차지.소스 코드를 볼 때 너무 여러 줄을 차지해서 보기 안좋음ex.그럼 이 코드를 생성자를 쓰는 것처럼 한 줄로 줄여볼 수는 없을까?\-
값 뿐만 아니라 타입까지 관리 -> 논리적 오류는 더 줄일 수 있음상수를 사용했을 경우, 상수의 값이 바뀌면 해당 상수를 사용하는 모든 소스를 다시 컴파일 해야하지만 열거형 상수를 사용하면, 기존의 소스를 다시 컴파일 하지 않아도 됨"==" 연산 사용 가능("<"
프로퍼티와 함수로 구성프로퍼티를 마치 변수 처럼 참조하는 구문p같이 인스턴스를 식으로 지정한 것을 수신 객체라고 함멤버 함수의 경우에도 똑같이 수신 객체가 있고, 이런 경우 멤버 함수를 메서드라고 함this를 통해 수신 객체를 참조할 수 있음. 대부분의 경우 this를
만든 어플리케이션을 AWS, EC2, RDS, Jenkins를 통해 배포해보았다각각의 세부 과정들에 대해서는 설명하지 않고 간단한 과정과 발생했던 문제들에 대해서만 글을 쓰겠다프리티어에서 사용가능한 centOS 인스턴스 생성여기서 봐야할 정보들은 내 public IP와
Member 객체, FriendRelation 객체는 1:N의 관계를 맺고 있음하지만 FriendRelation 객체에 Member 객체를 매핑할 때 PK를 FK로 쓴것이 아닌 회원의 아이디를 FK로 썼음FriendRepository에서 친구 객체에 멤버객체를 조인한
API 폴더를 Controller와 구분해서 따로 둘 것(공통 예외 처리가 다를 수 있으니 분리 한 것)entity를 노출하지 말고 API 스펙에 맞춰 DTO를 만들것DTO에 유효성 체크 할 것
MockMvc는 perform()을 통해 httpRequest를 내가 짠 메서드에 맞게 세팅한 후 andExpect()를 통해 그 결과를 확인할 수 있음 현재 상태에서는 처리 상태에 따라 view가 제대로 리턴이 되는지, status 값이 원하는데로 리턴되는지 확인하
Service Service Test Code 로그인과 회원 등록에 관한 테스트 코드 작성 테스트를 하는 데 가장 메인이 되는 클래스인 MemberService는 @InjectMocks 해주고, 나머지 클래스들은 @Mock 처리. 비밀번호 암호화 클래스는 진짜 사용