
예약 가능 조건 확인 예약 가능한 일자인지 체크 휴무일 여부 체크 해당 예약가능 날짜 안에 사용시간대 리스트 중 예약 가능 불가능 체크 1,2,3 내용이 포함된 전체적인 틀 코드(캘린더예약 시스템 (1) 에 연장선) // 최종 캘린더 리스트 List resultList = new ArrayList(); //해당 예약상품의 사용시간리스트 조회(날짜별 사용중인 시간대 포함) List x.isCloseDt(date)).findFirst().orElse(null); //stream filter를 통해 조회하는 일자가 존재 하지 않을 경우 휴일이 x if(vo == null){ return false; } return true; } convertCalendarToMap() → 일자에 포함되는 내용 map화 Map..

어쩌다 보니 예약 시스템을 개발하게 되었는데요. 지금 것 참여했던 프로젝트를 보니 쿼리문을 이용해서 달력리스트를 뽑아오는게 대부분이더군요.. 그러다보니 유지보수시 쿼리문이 괘랄해지는?? 문제가 생겨 인수인계 받거나 받는 과정에서 문제가 생기더군요... (어떤 경우는 쿼리가 기본 50줄이 넘어가는...) 그래서 그 경험??을 토대로 쿼리는 단순한 데이터들만 가져오고 서비스단에서 캘린더를 처리하는 방식을 이용하여 유지보수시 코드 가독성에 도움이 되었던 작업내용을 일기처럼 남길까합니다~ 예약 시스템 정보 : 캘린더 달력에서 예약 가능한 날짜 선택 선택시 팝업창과 함께 사용 가능 시간대 체크리스트가 출력 예약가능 상태의 사용시간대를 체크하여 예약 진행 캘린더 생성 방식 종류 달력 테이블을 이용한 달력 형태 생성..
LocalDate, DateTimeFormatter, ChronoUnit , IntStream 을 이용 1. LocalDate : 날짜를 나타내는 불변의 날짜-시간 객체입니다. 종종 년-월-일로 간주됩니다. 참고 : LocalDate (자바 플랫폼 SE 8) (oracle.com) 2. DateTimeFormatter : 날짜, 시간 개체를 처리하도록 도와주는 포맷터(Formatter) 이다. 참고 : DateTimeFormatter (자바 플랫폼 SE 8) (oracle.com) 3. ChronoUnit : Enum 클래스로 날짜 기간 단위의 표준 집합이다. 날짜 , 시간 또는 날짜-시간을 조작할 수 있는 단위 기반 액세스를 제공한다. ChronoUnit.DAYS.between(Temporal tmp,..
사이드 프로젝트로 Spring이 아닌 jsp/servlet 을 이용하여 프로젝트를 만든 적이 있습니다. Spring은 파일 처리할때 정말 편리하지만 jsp/servlet은 Spring 처럼 편리함을 제공하지 않고 직접 처리를 해줘야 했었습니다. 특히 파일 처리할 때 이리 불편할 수가 없었습니다. 그래서 파일처리 방식을 커스텀하여 직접 사용하였던 방식들을 공유하려고 합니다. Jsp/servlet 에서 기본적으로 파일업로드를 진행했을 때 사용하는 것이 MultipartRequest를 제공하는 라이브러리인 cors.jar 를 많이 사용합니다. 하지만 필자가 MultipartRequest 를 사용하면서 어떻게 보면 편리하긴 한데 너무 제한적인 부분들이 많았고 컨트롤이 어려웠던 부분들이 있었습니다. 그래서 필자는..
우리가 프로젝트를 진행을 하다보면 lock을 이용해서 동시성 제어를 해야 할 경우가 있다. 동시성 제어에는 db를 이용한 하드락이 있을 것이고 또는 hazlecast를 이용하여 처리하는 방법도 있다. 오늘은 간단하게 자바에서 제공하는 lock기능에 대해서 설명하고자 한다. import 내용 import java.util.concurrent.locks.Lock; 사용 방법: //lock 10초간 기다림 if(lock.tryLock(10, TimeUnit.SECONDS)) { try { //데이터 처리... }catch (Exception e) { // 예외 }finally { lock.unlock(); } }else { System.out.println("## lock time out"); } lock.t..
- Total
- Today
- Yesterday
- 격리수준
- 컨테이너
- 리눅스
- insert
- 정의
- 개념 이해하기
- Lock
- dockerfile
- 네이버 클라우드
- spring
- Quartz
- centos7
- ncp
- 캐시
- Java
- 권한
- mybatis
- docker
- LocalDate
- dfs
- 도커
- 이미지
- Linux
- Cache
- 알고리즘
- 스케줄러
- hazelcast
- 캘린더
- leatcode
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |