안녕하세요! 세이 심플입니다. 카카오임팩트와 모두의연구소가 함께 '돕는 기술'로 사회문제를 해결하는 테크포임팩트에 대해서 아시나요? https://techforimpact.io/ 테크포임팩트돕는 기술과 돕는 사람이 만나 세상을 변화시키는 곳techforimpact.io 이번에 테크포임팩트의 누구나리포터 LAB에 프롬프트 엔지니어로 새로 참가하게 되었습니다!누구나리포터 LAB은 AI 챗봇으로 데이터 기반 의사결정돕기 프로젝트를 진행할 예정입니다. 위 프로젝트는 소셜벤처 '(주)누구나데이터'와 함께, 기부자 데이터 분석 솔루션 '오늘의리포트'를 활용한 LLM 기반 챗봇 리포트 서비스를 개발하는 프로젝트입니다. 이를 통해 데이터 분석 인력이 없는 비영리단체들에게 마치 주니어 분석가를 채용한 것과 같은 수준의 ..
분류 전체보기
서론오랜만에 새 기기의 리뷰를 작성하게 되었습니다. 그것도 무려 맥북 에어에요! m3 칩셋을 장착한 맥북에어가 24년 4월 15일 한국에 출시되었습니다! 오늘은 출시된지 이미 한 달 가량이 지난 시점인데요. 인터넷의 리뷰글과 유튜브를 보니 대부분 영상편집을 위한 비교글들은 많은데 개발자를 위한 글은 많이 안보이더라구요. 그래서! 개발자를 위한 비교글을 작성해 보았습니다. 두 기기는 원활한 개발을 진행하기 위한 최소 사양 16GB, 512GB의 스펙을 기준으로 비교합니다. 스펙 비교항목/모델 별 스펙14인치 맥북프로15인치 맥북에어CPU8코어 CPU(성능 코어 4개, 효율 코어 4개), 16코어 뉴럴 엔진 탑재8코어 CPU(성능 코어 4개, 효율 코어 4개), 16코어 뉴럴 엔진 탑재GPU10코어 GP..
3편: https://saysimple.tistory.com/201본론저번 글에선 Aggregate와 Handler를 마저 리뷰했습니다. 이번 시간에는 제 입맛에 맞게 디렉토리 구조를 리팩토링하고 유저 서비스를 Aggregate에 추가해 보겠습니다.구조폴더 구조는 저번 구조에서 아래와 같이 변경하였습니다. 설정 파일, 컨트롤러, service, dto 등을 기존 스프링부트 파일 구조와 같이 가져갔으며 command, query, event를 모델로 분리 하였습니다. 또한 메모리에서 변경이 일어나는 부분을 Aggregate, 실제 저장소에서 읽기, 변경이 일어나는 부분을 Handler로 분리하였습니다.└─src ├─main │ ├─java │ │ └─com │ │ └─..
2편: https://saysimple.tistory.com/199 [SpringBoot] Axon을 사용해 CQRS와 이벤트 소싱이 적용된 Order 서비스 만들기 - 2 1편: https://saysimple.tistory.com/197 [SpringBoot] Axon을 사용해 CQRS와 이벤트 소싱이 적용된 Order 서비스 만들기 - 1 CQRS에 대한 정보는 아래 글을 참고해주세요. https://saysimple.tistory.com/196 [CQRS] CQRS란? CQRS CQR saysimple.tistory.com 서론 저번 시간에는 테스트 코드를 리뷰했습니다. 이번 시간에는 Handler와 Aggregate를 리뷰해 어떻게 Command, Query를 실행하고 Event를 발행하는지 알..
1편: https://saysimple.tistory.com/197 [SpringBoot] Axon을 사용해 CQRS와 이벤트 소싱이 적용된 Order 서비스 만들기 - 1 CQRS에 대한 정보는 아래 글을 참고해주세요. https://saysimple.tistory.com/196 [CQRS] CQRS란? CQRS CQRS란 Command and Query Responsibility Segregation 의 약자입니다. 저장소로부터 질의/명령을 이용하여 읽기/ 쓰기 작 saysimple.tistory.com 서론 저번 글에선 Axon을 이용한 CQRS구조를 Postman을 이용해 테스트 해보았습니다. 이번 글에선 유닛 테스트, 통합 테스트를 통해 테스트의 시나리오를 구성하는 방법과 테스트 코드를 리뷰해 ..
이번에는 자바8에 추가된 CompletableFuture에 대해 알아보도록 하겠습니다. 1. CompletableFuture에 대한 이해 [ Future의 단점 및 한계 ] Java5에 Future가 추가되면서 비동기 작업에 대한 결과값을 반환 받을 수 있게 되었다. 하지만 Future는 다음과 같은 한계점이 있었다. 외부에서 완료시킬 수 없고, get의 타임아웃 설정으로만 완료 가능 블로킹 코드(get)를 통해서만 이후의 결과를 처리할 수 있음 여러 Future를 조합할 수 없음 ex) 회원 정보를 가져오고, 알림을 발송하는 등 여러 작업을 조합하거나 예외 처리할 수 없음 Future는 외부에서 작업을 완료시킬 수 없고, 작업 완료는 오직 get 호출 시에 타임아웃으로만 가능하다. 또한 비동기 작업의 ..