반응형
[Kotlin+Spring] 자주 사용하는 변환식 확장 함수(Extension Function) Util로 관리하기
Back-end 2024. 11. 5. 22:34

회사에서 프로젝트를 진행하다 보면 자주 사용하게 되는 반복적인 변환을 많이 하게 되는 경우가 있다.그럴 경우 공통 util로 빼서 관리하면 형식이 수정될때 한번에 수정하기도 편하고 코드량 자체도 줄어들 수 있어.. 기록용으로 남겨본다. 공통 모듈 코드현재 회사에서는 날짜랑 금액을 나타낼때 해당 util을 사용했었다object ConvertToStringUtil { // timestamp를 특정 날짜 형식으로 표현 fun Int.toStringDate(): String { val dateTime = LocalDateTime.ofEpochSecond(this.toLong(), 0, ZoneOffset.of("+9")) return dateTime.format(DateTim..

[SpringBoot] 프로젝트 리소스 파일 가져오기
Back-end 2022. 11. 29. 22:45

프로젝트를 진행하다 보면 ~/src/main/resources 폴더에 파일을 저장하고 가져와서 사용할 일이 있다. 이때 프로젝트를 빌드하게 되면 리소스 파일은 CLASS_PATH에 위치하게 된다. 따라서 로컬에서는 아래의 예시 코드로 실행해도 실행이 되지만. 실제로 빌드를 하고 배포를 했을 때는 에러가 발생한다. ... fun getSheetService(): Sheets { return Sheets.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), HttpCredentialsAdapter( ServiceAccountCredentials.fromStream(FileInputStream("src/m..

HTTP Method & Patch 등장에 따른 Dispatcher Servlet의 변화
Back-end 2022. 8. 2. 23:49

HTTP Method 간략 정리 주요 메소드 : GET, POST, PUT, DELETE, PATCH OPTIONS : 주로 CORS에서 사용, 요청 URI에서 사용할 수 있는 옵션 설명 HEAD : GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환 TRACE : 목적 리소스의 경로를 따라 메시지 loop-back 테스트 CONNECT : 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺음 Patch Method의 등장 • 과거 HTTP 표준에는 PATCH 메소드가 존재하지 않았다. • 2010년도에 Ruby on Rails가 부분 수정의 필요를 주장하면서 공식적으로 HTTP 프로토콜로 추가되었다. • 스프링 프레임워크는 2002년에 첫 릴리즈를 하였는데, 이보다 한참 뒤에 등장하였고..

카카오 소셜 로그인 With Front (React)
Back-end 2022. 1. 26. 00:51

프로젝트를 진행하며 가입 및 로그인 과정이 길어서 불편하다는 피드백을 받고 소셜 로그인을 도입하게 되었다. 카풀을 주제로 한 프로젝트 였기에 아무래도 사용자의 신원 확인을 위해 기본적으로 요구하는 정보가 조금 많았다..ㅠㅠ 프로젝트 대상이 아무래도 스키 & 스노우보드를 좋아하는 특정 사람들이 되다 보니 홍보의 경우 오픈 채팅방에서 주로 이루어지기 때문에 카카오 소셜 로그인과 네이버 소셜 로그인을 도입하기로 했다. ( 네이버는.. 검수 미통과로 구현 & 테스트는 다 되었으나 배포는 하지 못함..ㅠㅠ ) 소셜 로그인 도입의 장점 기존의 사용자에게 직접 입력 받던 성별, 나이대 항목에 대하여 검증이 불가했지만 카카오 로그인에서는 검증된 값을 가져올 수 있다. 회원 가입 & 로그인에서 아이디, 닉네임, 비밀번호..

[Spring boot] multipart, form-data, requestPart 테스트 코드 작성하기
Back-end 2022. 1. 1. 03:33

프로젝트 중 유저 프로필을 작성하는 부분에서 multipart data로 이미지와 json 형식의 data를 동시에 받는 API가 있었다. 이 부분의 테스트 코드를 작성하는 과정을 정리해볼 예정.. 테스트를 진행할 Controller 먼저 Spring 서버의 Controller 부분이다. // 유저 프로필 작성 @PostMapping("/user/profile") public ResponseEntity writeUserProfile(@RequestPart("profileImg") MultipartFile profileImg, @RequestPart("vacImg") MultipartFile vacImg, @RequestPart("requestDto") UserDto.ProfileRequestDto req..

[Spring boot] 문자 SMS 인증 구현하기(2)
Back-end 2021. 12. 22. 02:19

2021.12.22 - [Back-end/Spring & Spring Boot] - [Spring boot] 문자 SMS 인증 구현하기(1) 이전 포스팅에 SMS 문자로 인증 번호를 발송하는 부분을 구현해보았는데 이번 포스팅엔 발송했던 인증 번호를 저장해 두었다가 인증 번호 확인을 하는 부분을 구현해보려고 한다. 휴대폰이나 이메일 인증을 통해 회원가입을 진행할때 고민해야할 가장 큰 부분은 인증번호 관리라고 생각한다. 기본적으로 생각해볼 수 있는 방법은 회원 테이블에서 관리하는 것이었지만 이 방식의 경우 한 번 인증 후 다시 인증을 할 일도 없고 인증번호의 경우 짧은 시간 내에 인증이 이뤄져야 했기에 RDB에서 관리하는 것은 비효율적이라고 생각하여 배제했다. 그에 비해 Redis는 기본적으로 Map형태의 ..

[Spring boot] 문자 SMS 인증 구현하기(1)
Back-end 2021. 12. 22. 01:58

스프링으로 CoolSMS로 문자 SMS 인증 시스템을 구현해보았다. SMS 문자를 발송하는 부분이랑 발송한 랜덤인증번호를 Redis로 저장해두었다가 검증하는 과정으로 두 파트로 나누어 포스트를 정리해본다. 2021.12.22 - [Back-end/Spring & Spring Boot] - [Spring boot] 문자 SMS 인증 구현하기(1) 2021.12.22 - [Back-end/Spring & Spring Boot] - [Spring boot] 문자 SMS 인증 구현하기(2) SMS API 서비스 문자 인증 API 서비스를 찾다가 제일 가격이 저렴하고 Spring과 무료 연동이 가능해 이 서비스를 선택하게 되었다. https://coolsms.co.kr/ 세상에서 가장 안정적이고 빠른 메시지 발송..

[ Spring boot ] CORS란? 스프링부트에서의 CORS 설정
Back-end 2021. 12. 12. 20:00

처음으로 back과 front를 다른 서버에서 구현을 하는 작업을 하여 테스트를 해보려고 하니, CORS에러가 떴다.. CORS가 뭔지, 어떻게 해결해줄지 적어보기.. CORS란? Cross-Origing Resource Sharing의 줄임말로, 교차 출처 리소스 공유라는 뜻이다. -> 다른 출처의 리소스를 공유 여기서 말하는 출처는 protocol, host, port를 합친 것을 의미한다. 즉... 이렇게 브라우저에 접속한 위치가 출처라고 보면 된다. 같은 출처? 다른 출처? 현재의 웹페이지 주소가 https://diddl.tistory.com/manage일 때, 같은 출처는 무엇이고 어떤 것이 다른 출처인지 보자 URL 같은 출처 여부 이유 https://diddl.tistory.com/manag..

반응형