재검토중 이 글에서 설명하는 방법으로 이슈가 해결되지 않음을 확인했습니다. 하나의 탐구과정으로 봐주시면 감사하겠습니다.문제의 발생ObjectMapper의 NamingStrategies를 여러개 쓰이게 되는 상황이 발생했다.여러 종류의 외부 API를 반영하는 서비스였기에 외부 API 마다의 json 네이밍 컨벤션이 달랐다.특히, 하나의 NamingStrategies가 늘어날 때 마다 ObjectMapper에 대한 빈을 하나 더 등록하면서 주입 받을 때도 빈이 여러개라서 신경을 써야 하는 등의 불편함이 발생했다.이 문제를 해결하는 방법을 찾던 중, 디자인 패턴인 Composite 패턴을 통해 해결하기로 했다.Composite 패턴이란?Component 라 불리는 최상위 클래스와 Leaf, Composite ..
객체지향과 인지 능력 앨리스 이야기 앨리스의 행동은 상태에 의존적 행동에 의해 상태가 변함 앨리스의 상태가 변하여도 앨리스가 다른 사람이 되는 것은 아님 → 상태와 무관하게 유일한 존재로 식별 가능 객체, 그리고 소프트웨어 나라 객체 상태 행동 식별자 객체란 식별 가능한 개체 또는 사물이다. 객체는 자동차처럼 만질 수 있는 구체적인 사물일 수 있고, 시간처럼 추상적인 개념일 수도 있다. 객체는 구별 가능한 식별자, 특징적인 행동, 변경 가능한 상태를 가진다. 소프트웨어 안에서 객체는 저장된 상테와 실행 가능한 코드를 통해 구현된다. 상태 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측하고 설명할 수 있다. 상태와 프로퍼티 객체의 상태를 구성하는 모든 특징을 통틀어 객체의 프로퍼티라고 한..
객체지향과 객체 ↔ 현실 사실, 객체지향의 목표는 실세계를 모방하는 것이 아님 그렇다면? 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다. 하지만 실세계의 모방이라는 설명은 객체지향의 다양한 측면에 대한 이해 및 학습을 돕는다. 협력하는 사람들 - 커피 공화국의 아침 요점 사람들은 서로 협력 관계에 있음 각자의 역할을 가짐 자신이 맡은 바 책임을 다함 요청과 응답으로 구성된 협력 하나의 객체로 모든 것을 처리하기 버거움 → 다른 객체에게 요청한다. → 요청은 연쇄적으로 발생 주어진 책임을 다하고 요청에 대해 무언가를 제공한다. → 요청에 대해 응답한다. → 응답 역시 연쇄적으로 전달됨 요청과 응답을 통한 협력 → 복잡한 문제를 해결할 수 있는 공동체 형성 → 협력의 성공은 특정 역할 맡은 각 ..
이번 주 목표 맥북 적응 2023-6-25 일요일 졸업작품 API의 키 값들을 스네이크 케이스로 마이그레이션? 했지만 오류가 발생해 수정 중이다. 2023-6-26 월요일 졸업작품의 스네이크 케이스 관련 오류를 수정했다. 2023-6-27 화요일 졸업작품에 부하테스트를 수행했다. 딱히 오류가 생기지는 않았다. Duration=10ms, vus=10, iteration=150으로 가장 느리고 복잡한 API 몇개를 호출해봤다. 2023-6-28 수요일 서버가 간헐적으로 꺼지는 오류를 발견했다. AWS로그와 도커 백엔드 로그를 저장해놨다. 조만간 분석하고 알아봐야겠다. 2023-6-29 목요일 어제 발견한 서버 오류는 아무래도 서버의 사양이 다소 낮아서 생긴 오류 같다. https://github.com/tu..
이번 주 목표 졸업작품 발표 준비 및 발표 2023-6-18 일요일 졸업작품의 DTO 수정 작업을 이어서 진행했다. 2023-6-19 월요일 졸업작품 수정작업을 진행했다. 2023-6-20 화요일 졸업작품 수정작업을 진행했다. 생일이라 졸업작품은 조금만 하고 쉬었다. 2023-6-21 수요일 졸업작품 수정작업을 밤을 세워가면서 진행했다. AWS EC2 가 갑자기 말썽을 부려서 시간을 많이 썼다. 로컬에서 도커를 돌려 내일 시연하려고한다. 2023-6-22 목요일 졸업작품 4차 세션에서 발표했다. 2023-6-23 금요일 UMC 프로젝트 주제를 지원해 합격했다. 졸업작품 서버를 다시 배포했다. 맥북을 샀다!!! 2023-6-24 토요일 졸업작품 수정작업을 수행했다. 이번 주 리뷰 졸업작품을 위해 일주일을 ..
이번 주 목표 기말고사 마무리 졸업작품 진행 추가 수정사항 반영 테스트 코드 작성 2023-6-11 일요일 졸업작품 테스트 코드 작성 및 리팩토링을 진행했다. 2023-6-12 월요일 교양 시험공부를 했고, 시험을 치뤘다. 2023-6-13 화요일 교양 시험공부를 했고, 시험을 치뤘다. 2023-6-14 수요일 졸업작품 테스트 코드를 짰다. 서비스 계층의 테스트 코드를 짰다. 2023-6-15 목요일 테스트 코드 작업을 마쳤다. PR을 날렸다. https://github.com/tukcom2023CD/DragonGuard-JinJin/pull/142 커버리지가 Class는 82%, 메소드는 64%, 코드 라인은 61%정도가 나온 것을 확인할 수 있다. 교양 시험공부를 했다. 2023-6-16 금요일 교양..
이번 주 목표 졸업작품 서버 배포 시험 공부 2023-6-1 목요일 배포에 시간을 정말 많이 쏟았다. Jenkins는 완료했고, eks를 통해 argo cd와 함께 배포작업을 진행중이다. 2023-6-2 금요일 배포를 완료했다. CI/CD를 통해 배포 파이프라인을 구축했다는 점이 유익했다. 2023-6-3 토요일 CI/CD 에서 오류를 찾아 수정하고 있다. https://github.com/tukcom2023CD/DragonGuard-JinJin/issues/138 2023-6-4 일요일 CI/CD 오류를 모두 해결했다. 알고보니 EBS 볼륨을 다 써서 공간이 없는 문제였다. 아래 코멘트에 더 자세히 나와있다. CI/CD Jenkins 오류 · Issue #138 · tukcom2023CD/DragonG..