# 서론 [ek tour 리뉴얼 프로젝트 중 기록] 이미지 파일을 스프링 부트 resource에 넣으면 빌드를 하면 수정하기 힘들다. 그래서 동적으로 변경가능하게끔 외부 경로에서 (가상 인스턴스에 이미지 파일을 넣어놓고, 이를 경로로 불러오기) 가져오는걸 구현하는 방법을 기록한다. # 가상 인스턴스에 이미지 업로드 pwd 명령어를 통해서 해당 디렉토리 위치를 파악한다. /home/ubuntu/spring 뭔가 이렇게 설정을 하면 될 것 같지만 안 된다. 따라서 추가적인 설정을 해줘야한다. # 스프링 부트 설정 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/im..
[ek tour 리뉴얼 프로젝트 중 기록] Thymeleaf 활용하여 어드민 백오피스 메인 페이지 페이징 기능과 검색 기능을 구현하면서 삽질했던 내용을 기록한다. # Controller @GetMapping("/main") public String main(@Login Admin loginAdmin, Model model, @PageableDefault(size = PageConfig.PAGE_PER_COUNT, sort = PageConfig.SORT_STANDARD, direction = Sort.Direction.DESC) Pageable pageable) { if (loginAdmin == null) return "login"; Page eList = estimateService.findAllBy..
# EC2 가상 인스턴스에 원격 접속하기 - Putty를 활용할 수 있으나, git bash를 활용해본다 git bash를 열어서 ssh -i 키페어위치 ubuntu@공개아이피 를 입력한다 *키페어 위치는 드래그 앤 드랍하면 되고 공개 아이피는 인스턴스 공개 아이피를 말한다 (당연히 모든 포트 인바운드가 열려있어야 함) # JDK 설치 sudo apt-get update // 동기화한번 해주가 sudo apt-get install openjdk-11-jdk // 자바 11 설치 java -version //버전 확인 (나오면 설치된 것) # FileZilla 로 jar 파일 배포 맨 왼쪽위 새 사이트 연결을 클릭하고 다음과 같이 입력 오른쪽이 원격으로 파일을 업로드할 가상 인스턴스이다. 디렉토리를 하나 ..
# 서론 프로젝트를 진행하다 보니 디비에있는 데이터를 불러와서 엑셀 파일로 저장해야하는 기능을 구현해야하는 일이 생겼다. 그래서 조사를 해보고 구현완료된걸 나중에 다시 삽질하지 않기 위해서 기록한다. 자바에서 엑셀을 다루기위해선 아파치 재단에서 만든 POI라는 라이브러리를 사용한다. # 환경 설정 Gradle 의존성 implementation group: 'org.apache.poi', name: 'poi', version: '5.0.0' implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.0.0' 구현할 기능의 흐름도는 다음과 같다. 엑셀 파일 불러오기 -> DB에서 데이터 읽어와서 엑셀에 쓰기 -> 해당 엑셀파일 다운로드 # ..
# 프로젝트 소개 제목 : TeamOne 분류 : 학교 팀프로젝트2 과목 프로젝트 팀원 : 3명 기간 : 한 학기 (3개월) 간략소개 : 학교에서 전공, 교양 팀플레이 수업을 할 때 팀원을 보다 손 쉽게 구할 수 있는 소통의 창구를 제공하는 모바일 서비스 기획의도 : 아는 친구가 없으면 팀플레이 과목에서 팀원을 구하기 굉장히 난감하고, 랜덤으로 짜진 팀원은 무임승차를 할 확률이 높기 때문에 원하는 팀원을 구하는 서비스를 기획하게 됨 주요기능 회원가입, 로그인/로그아웃 (학교 재학생 인증을 위해서 자체 개발) 커뮤니티 (게시판, 댓글) 랭킹 시스팀 (서비스 참여 독려) 유의 사용자 지정 기능 게시물 검색, 필터 리뷰 (팀원 평가, 내가 한 평가 조회, 내가 받은 평가 조회) 게시물 즐겨찾기 쪽지(메시지) ..
# 개요 네이버 메일을 이용해서 스프링 부트에서 메일을 보내는 기능을 구현한다 (Gmail은 5/30 이후로 정책이 바뀌어서 이제 손 쉽게 메일을 보내기 어려워졌다) # 환경설정 Gradle 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-mail' 네이버 메일 설정 SMTP 사용을 사용함으로 설정해준다 application.yml spring: mail: host: smtp.naver.com port: 465 username: 아이디@naver.com password: 비밀번호 properties: mail.smtp.auth: true mail.smtp.ssl.enable: true mail.smtp.ssl.trust: smtp...
@Null - null 만 허용 @NotEmpty - null, "" 허용X - " " 은 허용 @NotBlank - null, "", " " 다 허용 X @NotNull - null 허용 X, "", " "는 허용 - int 타입에 사용가능 @Email - 이메일 형식 검증 @Pattern(regexp = "") - 정규식으로 직접 검증 @Size(min=, max=) - 길이제한 # 휴대폰 번호 정규식 (010-1234-1234 or 01012341234) @Pattern(regexp = "^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$")