-
feature 개발 진행하면서 알게된 것들 책, 영상, 자료를 먼저 보고 파악한 내용이 아닌 실제 필요한 기능 개발을 하면서 알게된 것들 : 정말 소중한 경험을 하면서 얻게된 것들을 당분간 남길 것 같음 Jackson json 파싱 기준(예제) 자바빈 규약을 지켜야함 : NoArgsConstructor, setter/getter [] 일 경우 array로 할지, List로 할지는 마음대로 하면 됨 { "id": 123, "name": "Pankaj", "permanent": true, "address": { "street": "Albany Dr", "city": "San Jose", "zipcode": 95129 }, "phoneNumbers": [ 123456, 987654 ], "role":...
-
working 프로젝트에 투입되기 전 배경지식을 얼른 캐치하는 것이 좋음 : 기획 배경, 사용 플로우(직접 사용해보기), API/테이블 목록, 정의, ERD 파악하기 다른 분의 코드를 보니깐 딱 든 생각은 컨벤션의 중요성과 문서화의 중요성(혹은 주석이라도 남기기)임 : 후임자가 코드를 보는데 아무런 설명이 없다면 생산성에 엄청난 악영향을 끼치게 됨 API의 사용처, 객체의 역할, 메소드 각각에 대한 주석 등이 굉장히 생산성에 영향을 미친다는 것을 알게됨 스프링 MVC @RestController redirect @Controller와 달리 redirect를 시키기위해서 HttpServletRequest(JavaEE)를 인자로 받아서 redirect 시켜줘야함 직접적인 JavaEE...
-
MySQL 데이터 타입 성능을 위해서 꼭 맞는 데이터를 고르기 : 공간 낭비(읽어오는 시간, 공간까지도 낭비) 숫자 unsigned : 양수(+)만 타입 크기 참고 BIT(N) 1 ~ 64bit까지 지정 크게 잡고 작은 수를 넣을 경우 0으로 채워짐 TINYINT 1byte SMALLINT 2byte INT 4byte BIGINT 8byte FLOAT 4byte DOUBLE 8byte DECIMAL 지정 시 : (M, N), Mbyte(정확한 소수점을 저장할 때 사용) M 길이로 N개 남은 수부터는 소수점으로, 문자 타입 크기 참고 CHAR(N)...
-
java 팩토리메소드 패턴 객체를 만드는 공장을 생성해두는 것 왜? 특정 조건에 의해 생성되는 인스턴스(같은 상위클래스의 하위클래스)가 다를 때 구체적인 클래스로 인스턴스 생성하는 코드 작성하지않고 생성 권한을 위임 받은 아이에게 요청하면 결합도를 낮출 수 있기 때문(구체적인 클래스를 명시해서 직접 생성하기보다 맞는 조건이 있으면 생성, 없으면 예외 발생이 되도록 할 수도 있음) 조금 더 나아가면 싱글턴일 때 팩토리 혹은 인스턴스 관리자에게 인스턴스를 특정 조건값을 주고 가져오게 할 수도 있음 : 여기에 더 추가하자면 인스턴스들에게 물어봐서 특정 조건값에...
-
test spock 사용해보기 기존에 자바 코드(+spring)를 테스트할 때는 JUnit(unit test), Mockito(integration test)을 사용해서 테스트를 했는데, 워크샵에서 groovy로 테스트 코드를 작성하는 것을 보고 무엇인지 보았더니 Spock 였음 /* build.gradle Spock 추가 : mvnrepo(Core Module) : 스프링 환경에서 테스트 하는 것이 아니므로 Core만 */ dependencies { testCompile group: 'org.spockframework', name: 'spock-core', version: '1.1-groovy-2.4' } junit과 비교했을 때 Spock는 어떤 특징을 가지는지 알아보았음 POJO 테스트 /* 테스트 대상 코드 */ public class Person { private static NameRule rule...