본문 바로가기

전체 글

[VBA] Layout 작업하기 What to do? 여러개의 Layout 파일이 있다고 가정하자. 각 Layout 파일의 첫번째 시트에는 A열에는 "담보" 라는 단어와 함께 담보순번이 적혀있다. 매크로 파일의 List 시트에는 각 파일에 보여주고 싶은 담보순번만 다음과 같은 양식으로 정리하였다. List 시트에 있는 각각의 Layout 파일을 열어서 특정 담보번호만 남기고 나머지는 행 숨기기를 하고 싶다. 전체 코드 Option Explicit Public BoolArrDict As Object Public fllePathCollection As Collection Sub setBoolArrDict() Dim ii, seq As Long Dim boolArr(3000) As Boolean Dim fileName As String Se.. 더보기
[VBA] 파일명 가져오기 What to do? 파일명 가져오기 msoFileDialogFolderPicker & Dir 함수 사용하기 Sub 파일명가져오기() Dim 파일다이얼로그 As FileDialog Dim 파일경로, 파일명 As String Set 파일다이얼로그 = Application.FileDialog(msoFileDialogFolderPicker) 파일다이얼로그.Show 파일경로 = 파일다이얼로그.SelectedItems(1) 파일명 = Dir(파일경로 & "\*.*") Do While 파일명 "" Debug.Print 파일명 파일명 = Dir() Loop End Sub msoFileDialogFilePicker 사용하기 Sub 파일명가져오기() Dim 파일다이얼로그 As FileDialog Dim 파일경로, 파일명.. 더보기
[Spring] 간단한 SNS 만들기 #3 What to do? API 작성하기 회원가입 로그인 포스팅 조회/작성/수정/삭제 댓글 조회/작성/수정/삭제 에러처리 에러코드 정의 HttpStatus와 에러메세지를 담고 잇는 에러코드 정의 @Getter @AllArgsConstructor public enum CustomErrorCode { // duplicated DUPLICATED_USERNAME(HttpStatus.CONFLICT, "User is duplicated..."), DUPLICATED_NICKNAME(HttpStatus.CONFLICT, "Nickname is duplicated..."), DUPLICATED_EMAIL(HttpStatus.CONFLICT, "Email is duplicated..."), // not found USE.. 더보기
[Spring] 간단한 SNS 만들기 #2 What to do? 인증기능 JWT를 사용한 인증기능 구현 UserEntity UserDetail을 implement하고, 아래의 메써드들을 오버라이딩 @Entity public class UserEntity implements UserDetails { ... @Override public Collection 더보기
[Spring] 간단한 SNS 만들기 #1 What to do? Domain 코드 작성하기 User Post Comment User RoleType 권한 설정을 위해 만든 enum public enum RoleType { USER,MANAGER,ADMIN; } UserEntity 필드 아이디, 이메일, 유저명, 비밀번호, 권한, 생성시간, 수정시간, 삭제시간 인증기능을 구현하기 위해서 UserDetails를 implement getAuthroties, isAccountExpired, isAccountNonLocked, isCredentialsNonExpired, isEnabled 를 구현해주어야 함 @Entity @Getter @Setter @Table(name = "\"user\"") @SQLDelete(sql = "UPDATE \"user\".. 더보기
[Spring] 길찾기 서비스 #6 What to do? 예제 데이터 추가 1. Jpa Auditing 기능 추가하기 2. Docker파일 수정 Jpa Auditing 생성일/수정일/삭제일 필드 엔티티 삭제시 실제 데이터베이스에서 레코드를 삭제하지 않고, removed_at 컬럼에 삭제일자만 기록 @Where(clause = "removed_at is NULL") 엔티티 조회 시에는 removed_at 필드가 NULL인 경우만 조회 작성자, 수정자 필드는 인증 기능 후 구현 @Getter @ToString @EntityListeners(AuditingEntityListener.class) @MappedSuperclass @Where(clause = "removed_at is NULL") public abstract class Auditin.. 더보기
[Spring] 길찾기 서비스 #5 What to do? 테스트 코드 작성하기 application.yaml test/resources/application.yaml # properties for test spring: datasource: driver-class-name: org.testcontainers.jdbc.ContainerDatabaseDriver url: jdbc:tc:mariadb:10:/// jpa: hibernate: ddl-auto: create show-sql: true kakao: api: base-url: "https://dapi.kakao.com/v2/local/search/address.json" secret-key: ${KAKAO_API_SECRET_KEY} Edit Configuration 메뉴를 통해서 카.. 더보기
[Spring] 게시판 만들기 #12 What to do? 인증기능 완성하기 #1 Spring Security 구현내용 회원가입 기능 및 화면 구현 게시글 작성 게시글을 작성자가 현재 로그인한 유저명으로 잘 뜨는걸 확인할 수 있음 댓글 작성 댓글작성 시에도 작성자 이름이 잘뜨는걸 확인할 수 있음 데이터 베이스 MySQL에서 직접 쿼리를 쏴서 확인 created_by에 로그인한 유저명이 Jpa Auditing을 통해서 잘 박힘 비밀번호도 Bcrypt Encoder로 Encoding된 비밀번호가 잘 박힘 Principal MyPricipal.java @Getter public class MyPrincipal implements UserDetails { private String email; private String username; priva.. 더보기