일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 계산 검색 방식
- @ComponentScan
- 클린코드
- code
- 쿠키
- @RequiredArgsConstructor
- 인터페이스
- @NoArgsConstructor
- 연결 리스트
- query
- WebClient
- CleanCode
- mysql
- 내부 정렬
- 쿼리메소드
- 트리
- 자료구조
- 정렬
- java
- 클린
- 코드
- 선형 리스트
- JsonNode
- 빅 오 표기법
- 리스트
- 배열
- 스택 큐 차이
- 클래스
- 마크다운 테이블
- 마크다운
- Today
- Total
목록JAVA (8)
Developer Cafe
※ 본 포스터는 이전 포스터 연장선입니다. 이전 포스터에서 Json으로 불러오니 json value 값이 다음 배열의 json key 값으로 들어가는걸 알게 되었다. 위의 API 를 주고 이걸 JAVA로 바꿔 차이름 입력시 model과 code가 나오게 해달라 라고 하셨다. 복잡한 요구사항이 있어 설계를 했다. 시작일과 종료일은 오늘날짜와 내일날짜로 고정하기 때문에 Date를 불러오는 메서드를 만든다. 입력데이터가 있냐없냐, 데이터가 하나냐 여러개냐에 따라 나뉘기 때문에 body부분을 분리한다. API 요청 후 응답값이 PHP형태이므로 이를 JAVA형태로 만들 필요가 있기 때문에 관련메서드를 만든다. 받은 Json 데이터에서 차량 이름과 아이디를 알아내야될 필요가 있으므로 이를 얻는 메서드를 만든다. 이..
위의 API 를 주고 이걸 JAVA로 바꿔 차이름 입력시 model과 code가 나오게 해달라 라고 하셨다. 과제를 받고 난뒤 너무 난감했다. 왜냐하면... 생전 처음보는 Json이였기 때문이다. RestFull API 에는 Json, xml만 있는지 알았지 이런 Json이 있는지는 처음알았다. 몇번이나 구글링한 후 위의 사진이 PHP Json이라는걸 알아냈다. 이를 Java Json화 시키는 작업이 있을까 몇일을 구글링 한 후에야 JsonNode라는걸 이용해 Java화 시키는게 가능한걸 알아냈다. 1. WebClient로 Request하기 우선 요청규격에 맞게 WebClient를 작성했다. WebClient.RequestHeadersSpec request = WebClient.create("https:..
맨 아래에 쓰여진 매소드 정리해놨습니다. 2021/07/01 로 기본 세팅 int month = 7; int year = 2021; Calendar cal = Calendar.getInstance(); cal.set(year,month-1,1); 사례1. 연월일이 정확히 몇주차인지 알고싶다. System.out.println(getCurrentWeekOfMonth(2021,6,20)); 6월의 3주차라는 의미다. 사례2. 해당날짜의 마지막 날짜가 몇일인지 알고싶다. System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH)); 2021년 7월은 31일이 마지막 날짜다 라는 의미다. 사례3. 해당날짜의 마지막 주차가 몇주차인지 알고싶다. System.o..
JAVA 8 전에는 메서드가 특정 조건에서 값을 반환할 수 없을 때 취할 수 있는 선택지가 2가지였다. Exception Throw Null Return 예외는 반드시 예외적인 상황에서만 사용해야 한다. 예외는 실행 스택을 추적을 캡쳐하기 때문에 비용이 비싸다 null을 리턴하는 경우에는 NPE(Null Pointer Exception)을 항상 조심해야한다. Optional 이란 Optional은 값이 있을 수도 있고 없을 수도 있는 객체다. 참조 타입의 객체를 한 번 감싼 일종의 래퍼 클래스 이다. Optional은 원소를 최대 1개 가질 수 있는 불변 Collection 이다. 자바 8 이전의 코드보다 null-safe한 로직을 처리 할 수 있게 해준다. Optional을 반환하여 좀 더 로직을 유연..
예시) object객체들을 담고있는 car, 리스트를 담고 있는 insurance, object객체들을 담고있는 agency [ { "car": { "modelCode": "xxxx", "erpCode": "xxx", "erpName": "xxxx", "possibleCnt": 0000, "seatCnt": 0000, "classCode": "xxxxx", "gearCode": "xxxx", "makerCode": "xxxx", "fuelCode": "xxxx", "yearsCode": "", "optionsCode": "xxxxxxxxxxxxxxx", "defaultFee": 00000, "saleFee": 00000, "specialAgency": "none", "imgUrlList": "https:..
JIT (Just-In-Time) 컴파일러는 런타임시 Java 애플리케이션의 성능을 향상시키는 Java Runtime Environment의 구성 요소입니다. JVM (Java Virtual Machine)의 표준 구현 인 바이트 코드를 해석하면 프로그램 실행 속도가 느려집니다. 성능을 향상시키기 위해 JIT 컴파일러는 런타임에 JVM과 상호 작용하고 적절한 바이트 코드 시퀀스를 원시 기계 코드로 컴파일합니다. JIT (Just-In-Time) 컴파일러는 런타임시 Java 애플리케이션의 성능을 향상시키는 Java Runtime Environment의 구성 요소입니다. Java 프로그램은 다양한 컴퓨터 아키텍처에서 JVM이 해석 할 수있는 플랫폼 중립 바이트 코드를 포함하는 클래스로 구성됩니다. 런타임에 ..
세션(Session) 웹 컨테이너에 정보를 보관할 때 사용(오직 서버에만 생성) 한 웹 브라우저마다 한 세션을 생성한다. 세션은 지정한 유효시간만큼만 유지(실행 중 지속 사용되는 데이터의 저장소로 적합) 1) 세션 생성 0){ for(int i = 0 ; i < cookies.length ; i++) { name[i] = cookies[i].getName() value[i] = URLDecoder.decode(cookies[i].getValue(), "utf-8"); } } 5) 쿠키 값 변경 및 쿠키 삭제하기 변경: 같은 쿠키 이름의 쿠키 객체를 생성해서 응답 데이터에 추가 삭제: setMaxAge() 메소드를 이용, 매개변수로 0 입력시 삭제됨 6) 쿠키의 도메인 같은 도메인을 사용하는 모든 서버에 ..
본 글에서는 간단히 텍스트 형식의 네이버메일 보내기만 해보겠습니다. 설정을 하는데 두가지로 나눌 수 있습니다. 2단계보안설정을 안한자 2단계보안설정을 한자 입니다. 공통적으로 설정하셔야 하는부분입니다 다음은 코드입력입니다. @PostMapping("/mail") public void mail(SendToMeDto sendToMeDto, HttpServletResponse response) { log.info("mail이 호출되었습니다."); response.setContentType("text/html; charset=UTF-8"); PrintWriter out=null; SimpleEmail email1 = new SimpleEmail(); email1.setHostName("smtp.naver.com..