분류 전체보기 (73) 썸네일형 리스트형 Java 문자열 비교 equals, == 차이점 - 삽질중인 개발자 보호되어 있는 글입니다. Spring Boot 이메일 인증 구현하기 - 삽질중인 개발자 - 회원가입 이메일 인증 구현하기 - 이메일 인증을 구현하는 방법에는 크게 2가지 방법이 있다. 첫 번째로 접속하면 이메일 인증이 되는 특정 URL 링크를 넘겨줘서 이메일 인증을 하는 방법이고 두 번째는 인증 코드를 이메일로 보내서 이메일 코드를 입력하게 해 인증하는 방법이다. 그중 해당 포스팅에서는 특정 URL 링크를 접속하여 이메일 인증이 되는 첫 번째 방식을 구현할 것이다. 인증 이메일을 보내는 방법으로는Gmail SMTP를 이용할 것이다. ( 네이버나 다른 서버도 설정만 바꾸면 바로 적용 가능하다. ) 우선 큰 흐름을 살펴보자 회원가입을 한 유저가 이메일 인증이 안된 회원인 경우 인증 메일을 보내기 -> 인증 메일 안에 있는 URL을 클릭 -> 해당 URL에 접속 시 유저의 이메일 인증 관련 DB.. Spring Security UserDetails, UserDetailsService 란? - 삽질중인 개발자 Spring Security - UserDetails , UserDetailsService UserDetails 란? Spring Security에서 사용자의 정보를 담는 인터페이스이다. Spring Security에서 사용자의 정보를 불러오기 위해서 구현해야 하는 인터페이스로 기본 오버라이드 메서드들은 아래와 같다. 메소드 리턴 타입 설명 기본값 getAuthorities() Collection SheetJS 사용법 - SheetJS 엑셀 다운로드 - 삽질중인 개발자 - SheetJS 엑셀 다운로드 - 개발을 하다 보면 엑셀 파일로 다운로드할 수 있게 해야 하는 기능을 구현해야 하는 경우가 있다. 아마 가장 많이 나오는 경우가 JSON 형태의 데이터를 엑셀로 다운로드시켜주는 기능일 것이다. 이때 Javascript로 클라이언트 단에서 엑셀 다운로드를 구현하는데 이 때 사용되는 javascript 라이브러리가 SheetJs이다. SheetJS 라이브러리는 무료버전과 유료버전이 존재하는데 무료 버전에 디테일한 기능은 좀 부족하긴 해도 엑셀 데이터를 뽑아주는 기능은 문제가 없어 아주 괜찮은 라이브러리이다. 이 포스트에서는 SheetJS의 기능중 하나인 excel 파일 다운로드 기능에 대해서 포스팅할 것이다. IE6~IE9 ,IOS safari에서는 해당 기능이 정상 작동하.. SheetJS 사용법 - HTML table을 엑셀로 변환하기 - 삽질중인 개발자 - SheetJS HTML 테이블을 Excel 파일로 만들기 - 웹 개발을 하다보면 HTML 테이블에 그려진 화면을 엑셀 파일로 다운로드 하는 기능을 추가해달라는 요청이 종종 있다. 엑셀 다운로드 기능을 구현하는 방법에는 첫번째로 서버에서 엑셀을 만들어서 다운로드하게 해주는 방법이 있고 두번째로는 브라우저에서 엑셀 파일을 만들어서 다운 받게 하는 방법이 있다. 서버에서 엑셀 파일을 만들게 되면 I/O 작업이 있어 서버의 부하가 생기기에 보통 클라이언트쪽(javascript)에서 처리를 많이한다. 이때 사용하는 자바스크립트 라이브러리가 SheetJS 라는 라이브러리다. 이 SheetJS 라이브러리는 무료버전과 유료버전이 존재하는데 무료 버전에 디테일한 기능은 좀 부족하긴해도 엑셀 데이터를 뽑아주는 기능은 .. javascript filter 사용법 - 삽질중인 개발자 - JAVASCRIPT filter 사용법 - 자바스크립트의 filter 메서드는 조건을 주고 해당 조건이 참인 요소를 모아 새로운 배열로 반환하는 메서드이다. 배열에서 원하는 데이터만 추출 하고 싶을 때 자주 사용하는 사용성이 좋은 메서드이다. 여기서 잘 기억하고 있어야 하는 부분은 새로운 배열을 반환해준다는 점이다. 또한 filter는 중복값을 제거해주지 않는다. 따라서 중복값이 나올 수 있다. 기본 구문 arr.filter(callback(element[, index[, array]])[, thisArg]) callback : 각 요소에 대한 조건값 element : 처리할 현재 요소 index : 현재 인덱스 array : filter를 호출한 배열 thisArg : callback을 생행 할 때.. Spring boot logging - @Slf4j 어노테이션 사용법 - 삽질중인 개발자 개발을 하거나 운영을 하는 상황에서 LOGGING 은 아주 중요하다. Spring boot에서는 로그를 남기는 방법이 많이 있다. 그중 가장 편하게 사용되는 @Slf4j 어노테이션을 알아보자. SLF4J 란? 로깅에 대한 추상 레이어를 제공하는 인터페이스의 모음이다. (로깅 Facade) 인터페이스를 사용하여 로깅을 구현하게 되면 좋은 점은 추후에 필요로 의해 로깅 라이브러리를 변경할 때 코드의 변경 없이 가능하다는 점이다. application.yml 설정 ( spring boot 2.3.1 ) logging: file: name: ${user.dir}/log/test.log # 로깅 파일 위치이다. max-history: 7 # 로그 파일 삭제 주기이다. 7일 이후 로그는 삭제한다. max-size:.. Envelope pattern(봉투 패턴) - Rest API Design Pattern - 삽질중인 개발자 - Envelope Pattern - 최근 점점 더 많은 서비스들이 Rest API 형태로 개발이 되고 있다. 이런 Rest API를 개발하다 보면 응답 값은 어떤 식으로 넘겨줘야 할 지에 대해서 고민을 하게 된다. 이 포스트에서는 데이터를 캡슐화하는 방법 중 하나인 Envelope Pattern에 대해서 설명한다. 우선 멤버(Member)라는 객체가 있다고 가정을 해보자. public class Member { private Long id; private String name; private int age; } 멤버 객체를 JSON 형태로 표현을 한다면 아래와 같이 나오게 된다. { "id" : 1, "username" : "홍길동", "age" : 15 } 만약 이 멤버를 여러 명을 조회해야 하는 A.. 이전 1 2 3 4 5 6 ··· 10 다음