분류 전체보기

Spring/공부

JPA - Lazy Loading, @Transactional에 관해

@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@Entity@Table(name = "users")//@SQLDelete(sql = "UPDATE users SET deleted = true WHERE id = ?")//@Where(clause = "deleted = false")public class User extends BaseTimeEntity implements UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "user_id" , unique = true, nullable = false) ..

프로젝트

연차 신청, 관리 시스템 만들기 #14 완성...?

일단 사이트를 만들었지만 추후 만들어야 할 것1. 마스터에게 어드민권한 계정 요청 시 이메일 혹은 디스코드 알람 기능2. 사원이 휴가를 신청 했을 시 팀장, 어드민에게 이메일 혹은 디스코드 알람 기능  아마 JMS로 해야할 것 같은데 그 전에 에러 케이스가 생기면 그것 부터 고치고 해야겠다.3. 엑셀로 출력 기능 poi로 할 것.  https://tonyworld.kr/ Vite + Vue tonyworld.kr UI가 참 불편하게 모바일은 고려 안했다 ..

프로젝트

연차 신청, 관리 시스템 만들기 #13 logback.xml 설정, 로그 cloudwatch로 전달, 디스코드로 알람 설정

로컬 pc에선 에러가 나면 그냥 내가 그대로 고치면 된다.하지만 ec2에 배포한 상황에서 로그 기록을 보려면iterm 켜서 ec2에 ssh 접속 하고 docker logs [컨테이너이름] 하고계속 이러다보니 현타가 와버렸다. 그리고 쓸데없는 INFO 레벨 로그도 내 귀찮음에 한 몫 했다.그래서 서버에선 에러 로그만 출력되고 에러가 뜨면 CloudWatch에 저장되게 하고, 디스코드로 웹 훅을 걸어두기로 했따.이전 회사에서도 이게 귀찮아서 slack에 알람 해뒀었는데 지금은 슬랙을 안쓰니.. 디스코드로 해보기로 했다. 그래들 // logback,cloudwatch implementation 'ca.pjer:logback-awslogs-appender:1.6.0' logback.xml ..

프로젝트

연차 신청, 관리 시스템 만들기 #12 EC2 스웨거 http -> https

EC2에 배포를 하고 요청을 하니 스웨거의 기본 요청이 http인 것을 발견..본 ec2는 nginx로 https SSL 발급을 하였다.그래서 스웨거 설정에서 https를 바라보게 해줘야한다.@Configuration@OpenAPIDefinition( info = @io.swagger.v3.oas.annotations.info.Info(title = "연차시스템 API 명세서", description = "연차 시스템 API 명세서", version = "v1"))public class SwaggerConfig { @Profile("dev") @Bean public OpenAPI devOpenAPI() { ... return new Ope..

프로젝트

연차 신청, 관리 시스템 만들기 #11 인프라 구축

블로그에 기록들을 적어두면 좋겠지만..이것도한 에너지 소비인 것을 생각해서.. 조금은 내려놓고 간략하게 하는 방향으로 정했다..우선## 마스터 , 관리자1. - [x] 기업 관리자 등록2. - [x] 기업 상호명 수정3. - [x] 기업 삭제## 모든 유저1. - [x] 로그인 \[아이디, 비밀번호\]2. - [x] 로그아웃3. - [x] 등록된 기업 상호 명 조회 (조건은 아직 안 정함) / 프론트 x4. - [x] 등록된 모든 기업 조회 / 프론트 x5. - [x] 기업 등록 (국세청 사업자등록번호 조회 OpenAPI 필요)6. - [x] 유저 정보 수정 / 프론트 x7. - [ ] 유저 프로필 사진 수정(S3) / 프론트 x8...

프로젝트

연차 신청, 관리 시스템 만들기 #10 로그인에 캐시를 써보자

현 프로젝트는 로그인, 권한체크, 리프레시 토큰으로 액세스 토큰 재발급시 DB를 조회하게 된다.DB조회가 가장 많을 것으로 예상되는 파트이다. 그래서 고민 하게 되었다.DB가 너무 많이 부담된다. 이것을 캐시 히트가 된다면 DB조회가 많이 줄 지 않을까? 라는 생각에서 삽질이 시작되었다.public JwtToken refreshAccessToken(String refreshToken) {// if(!validateRefreshToken(refreshToken)){// throw new CustomException(ResponseCode.RefreshTokenValidException);// } Claims claims = parseClaims(re..

프로젝트

연차 신청, 관리 시스템 만들기 #9 공공데이터포털 국세청_사업자등록정보 진위확인 및 상태조회 서비스 OpenAPI 이용하기 (Vue

#8 시리즈에서 백엔드를 구현 했다면 #9에선 프론트에서 연동을 해보았다. vue DatePicker 라이브러리를 이용해서 만들었다. 유저 회원가입과는 다르게 날짜 포맷을 YYYYmmDD로 하였다. 이전 방식은 나중에 자르고 그래야하니 두 번 일하는것 같았다. 화면과는 다르게 여기서 문제가 생겼었다 처음엔. 나는 2024년6월12일 달력을 눌렀는데 밑에는 20240611이 뜨는 것이였다. 이전 회사에서 aws 인프라를 하면서 UTC 타임존 때문에 먼가 설정한다고 삽질 했던 기억이 스쳐지나갔다.. 그렇다 여기서 시간 값을//return date.toISOString().substring(0,10); Timezone 이슈 이렇게 받아왔는데 이러면 Timezone이 UTC 기준으로 날짜 값을 반환 한다. 해당..

프로젝트

연차 신청, 관리 시스템 만들기 #8 공공데이터포털 국세청_사업자등록정보 진위확인 및 상태조회 서비스 OpenAPI 이용하기

1. 만들어야 되는 이유 : 회사 어드민이 회사를 등록 하기전에 회사가 실존하는지 존재 유무를 체크 하기 위해 공공데이터포털에 있는 사업자등록정보 조회 openAPI를 이용하여 검증 후에 등록을 하는 로직을 만들어야 했다.  2. openAPI 사용권한 요청 하기  우선 공공데이터포털에 해당 api 신청은 #2 에 올렸으므로 참고 바랍니다..https://synclair.tistory.com/entry/%EC%97%B0%EC%B0%A8-%EC%8B%A0%EC%B2%AD-%EA%B4%80%EB%A6%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EB%A7%8C%EB%93%A4%EA%B8%B0-2 3. 구현 하기  로컬서버(스프링) OPENAPI 간 HTTP 통신을 위해 스프링의 WebClien..

synclair
'분류 전체보기' 카테고리의 글 목록 (2 Page)