본문 바로가기

웹 개발99

새해 덕담 카드 만들기 안녕하세요 저는 최근에 다우기술 개발센터에서 진행하는 온데이 세미나에서 이미지 생성형 ai 활용을 주제로 발표를 하게 되었습니다. 팀의 구성은 개발자 1명, 디자이너 1명으로 총 2명의 인원으로 구성되었습니다.  처음에는 기획자 1분도 계셔서 이 조합이면 어떤 서비스든 뚝딱 만들 수 있겠다고 생각했지만 기획자 1분은 개인 사정으로 불참하게 되었고 시간이 흐르고 의욕이 조금씩 떨어지게 되었습니다. 세미나 발표를 준비하면서 가장 어려웠던 부분은 다른 직무의 팀원들이 의견을 하나로 합치는게 생각보다 어려웠던 것 같습니다. 이거 엄청 괜찮다! 하는 그런 아이디어가 없었고 각자 하고 싶은 부분 그리고 세미나를 통해서 얻고자 하는 부분에서 생각이 조금 달랐습니다. 그래서 각자 하나씩 서비스를 만들어보자! 라고 의견.. 2024. 12. 1.
이벤트 리스너 사용법 @Getter@RequiredArgsConstructorpublic enum EmailAlarmEventType implements StonEnumMapperType { GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM("GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM", "상품 판매 중단에 따른 스케줄링 취소 메일 알림"), DEFERRED_USE_LIMIT_MAIL_ALARM("DEFERRED_USE_LIMIT_MAIL_ALARM", "후불 마스터 사용 한도 알림"); private final String code; private final String title;} 첫번째로 이벤트 타입을 Enum 클래스를 생성합니다. 원하는 이벤트 타입을 예시.. 2024. 9. 17.
Java 헷갈리는 것들 모음 최근에 Java를 사용하면서 헷갈렸던 것들을 가져와봤습니다. 1. @AllArgsConstructor 주의점@AllArgsConstructor를 자주 사옹하지는 않지만 처음에 서버에서 오류가 나길래 한참 해맸더니 파라미터 순서를 지키지 않아서 발생한 오류였습니다.   2. final, static 개념final은 고정하는 것, static은 어디서든 접근할 수 있음fianl이 선언되면 해당 변수를 수정할 수 없고 클래스는 상속할 수 없습니다.static이 선언되면 해당 변수, 메서드를 다른 클래스에 공유해서 생성자를 만들필요 없이 바로 사용할 수 있습니다.   3. 정적 팩터리 메서드 개념객체를 생성할 때 생성자 방식보다 정적 팩터리 메서드를 주로 사용한다. 생성자 방식은 잘 사용하지 않는 이유는 여러 .. 2024. 9. 16.
마이바티스 사용법 쿼리에서 문자열 빈값 확인하기 이렇게 직접 null과 ""인지 확인하는 것 보다는 StringUtils를 사용하는게 더 안전하다고 합니다.       리스트 컬럼 가져오기  public Response(Long addressBookFolderNo, String folderName, LocalDateTime createdAt, List groupList) { this.addressBookFolderNo = addressBookFolderNo; this.folderName = folderName; this.createdAt = createdAt; this.groupList = groupList; } .. 2024. 9. 15.
@Mapper 사용법(Dto -> 엔티티 매핑) @Mapper는 어떻게 사용하는 어노테이션일까?   @Mapper(config = MapstructMapperConfig.class)public interface UserMapper { UserMapper INSTANCE = Mappers.getMapper(UserMapper.class); UserMain to(UserModifyDto.ModifyPasswordByKmcDi modifyPasswordByKmcDiDto); UserMain to(UserAwakenDto.Request request, UserStatus userStatus); UserMain to(UserPaymentRegisterDto.Request request, Long userNo);} @Mapper 어노테이션은.. 2024. 9. 9.
검색 카테고리 여러 개 동시 선택 검색 조건을 여러개 동시에 선택을 할 때 배열에 선택된 속성들을 추가한 후 보내줘야 합니다. 만약 회원 상태라는 검색 조건을 여러개 검색하고 싶은 경우 아래 코드처럼 ref로 배열을 만들고 검색 조건들을 입력합니다. 그리고 vue3에서는 v-model로 각 요소들을 연결해주면 각 조건을 체크하면 설정한 v-model에 true, false가 입력됩니다. const accountStatusList = ref([ { model: isTest1Status, id: 'test1', label: '회원상태1' }, { model: isTest2Status, id: 'test2', label: '회원상태2' }, { model: isTest3Status, id: 'test3', label: '회원상태3' },.. 2024. 6. 15.
Vue3 조직도 만들기 Vue3로 조직도를 보여주는 화면을 만들어보았습니다.조금씩 Vue에 익숙해지는 느낌이 들뻔했습니다...아직도 라이프사이클 순서가 어렵습니다...특히 재귀함수로 만들다 보니깐 중간에 흐름을 놓치면 멍때리고 있는 나를 만날 수 있습니다.  디자인 적용 전   디자인 적용 후    체크박스가 없다면 아주 간단한 기능이 될 수 있었지만 체크박스가 있음으로 인해 많이 복잡해집니다. 예를 들어 토글을 열지 않고 체크를 하는 경우 해당 부서 내의 모든 사용자를 체크 상태로 바꿔야합니다. 또한 하위 부서나 사용자 체크 박스를 해제하면 상위 부서의 체크 박스를 해제해줘야 하기 때문에 토글 버튼 상태와 체크 박스 상태를 계속해서 추적하며 관리해야합니다.  가장 어려웠던 점은 부서의 depth가 제한이 없다는 점입니다. 사.. 2024. 6. 6.
vue3-excel-editor 사용법 서브회원 초대하기 모달에서 excel기능을 사용할 일이 생겨서 vue3-excel-editor를 사용해봤습니다.Vue3 를 처음 사용해봐서 vue3-excel-editor 사용에 있어서 놓친 부분이 많지만 나중에 여유가 생기면 다시 도전하려고 합니다.   필요기능1. 이메일 중복 시 -> 유효성 통과 X2. 모든 입력칸 미입력시 -> 유효성 통과 X3. 유효하지 않은 이메일, 이름, 휴대폰 번호 형식 -> 유효성 통과 X4. 입력한 총 건수 표시      디자인 적용 후(아직 디자인 깨지는 부분 있음)   서브호원을 초대하는 모달에서 vue3-excel-editor를 사용했고 아래 코드 예시는 vue3-excel-editor과 관련된 메서드들을 가져왔습니다. 필요한 경우 커스터마이징 할 수 있습니다.  .. 2024. 6. 1.
스프링 시큐리티 개념 스프링 시큐리티 스터디를 시작하게 되었는데 다음주 발표라서 급하게 만듭니다. 단어, 그림 위주로 넣고 발표할 때 자세히 설명할거임 -> 사유: 꽤바쁨     1. 교재   2. 스프링 시큐리티란?스프링 시큐리티는 Spring 기반의 애플리케이션에서 보안 기능을 제공합니다. 인증 : 사용자의 신원 확인인가: 사용자의 권한 확인 추가적으로 CSRF, XSS, 세션 변조 등 여러가지 웹해킹 공격을 방지해주는 기능을 제공합니다.   3. 왜 스프링 시큐리티를 사용하는가? 그냥 JWT 토큰만 사용하는거랑 무슨 차이가 있을까? 1. 직접 설정하기 귀찮다.-> JWT 코드@Slf4j@Service@RequiredArgsConstructorpublic class JwtService { public static f.. 2024. 5. 19.