트러블슈팅

트러블슈팅

ICT 2024 하반기 인턴 회고, 백엔드 6개월 인턴 회고

2024년 9월부터 2025년 2월까지 백엔드 인턴을 진행하면서 경험했던 것을 되새기며, 6개월 동안 진행했던 인턴을 마무리하고자 한다. 이번 회고록에서는 인턴을 진행하면서 기술적인 요소보다 Soft Skill 적으로 느낀 점을 작성하고자 한다. Q1. 협업과 개발 문화를 경험하면서 어땠는지,Slack, Notion, Jira를 사용했는데 Slack이 기록과 커뮤니케이션하기에 너무나 편리한 도구임을 느꼈다. (이전에는 슬랙을 슬랙답지 못하게 썼던 것 같다)Slack을 통해 전달 사항이나 프로젝트 진행 상황을 공유하는 데 있어, 다른 사람들에게 간편하게 공유되고 나중에 다시 확인할 수 있는 점이 너무 좋았다. 그래서 Slack을 사용할 때는 개인적인 이야기가 아니라면 주로 채널을 통해서 이야기를 공유하는 ..

트러블슈팅

GitHub Actions CI/CD 자동 배포 시 @Value 값 주입 문제 해결하기

저희 Glue 서비스에서는 application.yml과 같은 설정 파일은 Spring Cloud Config로부터 전달받아 각 마이크로 서비스에 적용하는 방식으로 구현하였습니다. Spring Cloud Config는 연결된 Github의 Private Repository에서 application.yml을 조회하고 name과 profile을 기준으로 각 spring cloud server에게 전달해줍니다. 저희 팀에서는 MSA 환경에서 application.yml을 Spring Cloud Config 서버를 통해 관리하도록 하였습니다. 이슈👉 Spring Cloud 프로젝트를 Github Actions로 CI/CD를 구축하는데 @Value 값이 초기화되지 않는 오류를 만났습니다.@Value로 설정된 부..

트러블슈팅

Spring @Value, static 정적 바인딩 오류 해결하기

이슈👉 Spring Boot 프로젝트에서는 application.yml에 다양한 설정과 환경 변수처럼 프로젝트에 사용할 값을 지정할 수 있습니다.이를 @Value 어노테이션으로 값을 불러와 사용할 수 있습니다. Auth-Service에서 jwt secret, access-expiration-time, refresh-expiration-time의 값을 yml 파일에서 불러오며 사용하였습니다. 처음에 JWT를 생성하고 검증하는 JwtTokenProvider.class를 생성했을 때, jwt secret, access-expiration-time, refresh-expiration-time 값들은 변경되지 않는 값이고 다른 메서드에서 사용될 수 있도록 private static final로 설정하고 @Val..

트러블슈팅

JavaBeans Convention - boolean 필드에서 발생하는 변수명 변경 문제 해결

가천-카카오엔터프라이즈 SW 아카데미를 참여하면서, 겪은 에러 상황에 대해 트러블 슈팅을 작성하고자 합니다.이슈 설명👉 API를 작성하면서 목록 데이터를 페이징하여 전달해줘야 했습니다. 페이징 중 Slice의 정보만 필요하여, hasNext, isFirst, isLast의 값을 DTO에 담아서 응답 값을 전달하였습니다.하지만, Swagger로 테스트를 하면 계속해서 isFirst → First, isLast → Last로 응답하는 이슈가 있었습니다. 문제 분석👉 ‘JavaBeans Convention’ 처리 방식에 의해 is 키워드가 제거되는 문제 Java Beans 컨벤션에 따라 boolean 타입의 필드에 대한 getter 메서드는 is로 시작합니다. boolean isLast 필드의 경우, ge..