- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring Security
- 스프링
- docker
- 브랜치전략
- spring
- 팀네이버
- Kotlin
- Project
- LazyInitialization
- network
- redis
- Java
- 리뷰
- websocket
- 팀네이버 공채
- 젠킨스
- chrome80
- SpringBoot
- 후기
- container
- JPA
- SPRING JWT
- 만들면서 배우는 클린 아키텍처
- 캐싱전략
- jenkins
- EntityTransaction
- JWT
- 책
- 프로젝트
- infra
목록기술_개발 (45)
PPAK

지난 포스팅 에서 Spring Cloud Data Flow(이하 SCDF) 에 대해 설명했는데 1년이 조금 넘는 시간동안 추가적으로 운영하면서 느낀점을 남기려고 한다. SCDF에 대해서는 생소할 수 있는데, 마이크로 서비스 기반의 스트리밍, 배치 처리 플랫폼이라 하고 쉽게 이야기하면 Spring Cloud Stream, Spring Clodu Batch/Task 파이프라인을 손쉽게 구성할 수 있는 추상화된 기능을 제공한다. 또한, K8S, Cloud Foundry 에서 손쉽게 배포가 가능하다. 안타깝게도 최근에 올라온 포스팅에 따르면 더이상 오픈소스로 공개하지 않는다고 하는데 여러 내부적인 사유가 있겠지만 눈에 띄었던 것은 아래 문구인데 The vast majority of usage we see for..

블로그에 Hazelcast 관련 포스팅을 했었는데 실제 서버를 운영하면서 느낀점을 포스팅 해본다.https://ppaksang.tistory.com/35 [Hazelcast] Distributed Computing (Predicate)이번 포스팅에서는 Hazelcast를 프로젝트에서 사용하면서 정리한 내용을 간단하게 적고, 내가 겪은 Hazelcast 관련 문제에 대한 상황과 해결(?)한 방법을 설명하고자 한다. 본 포스팅에서는 Hazelcast 환ppaksang.tistory.com Hazelcast란?Hazelcast는 여러 대의 컴퓨터 메모리를 하나의 메모리처럼 사용할 수 있는 IMDG(In-Memory Data Grid)를 지원하는 캐시 솔루션이다. 이 IMDG 기술을 사용해 Hazelcast는 ..

어김없이 돌아온 톺아보기 조금씩 톺아보기를 업로드 하는 날짜가 미뤄지는 것은 기분 탓인가...https://ppaksang.tistory.com/40 2023년 톺아보기작년에 이어 올해도 이 블로그에 23년 회고를 작성해보고자 한다. 지난 서두에서 그 어느 때보다 짧았던 2022년이라고 표현했는데, 그 말이 무색할 만큼 2023년은 너무 짧았고, 정신없던 한 해였던ppaksang.tistory.com 늘 내 마음속에 담아두고 상기하는 배움, 성장, 도전 이라는 키워드는 올해도 유효했다.올해는 거기서 더 나아가 진정한 의미의 휴식을 조금이나마 알게된 해이기도 하다. 나는 내가 성장할 수 있는 환경에 스스로를 던지는 행동을 잘 하는데 이따금 그것이 나를 지치게 만들기도 했다.멈출 수 없는 기차처럼 휴식하는 ..

multipart/form-data multipart/form-data 는 http 를 사용해 데이터를 주고 받는 상황에서 하나의 body 에 여러 데이터를 넣어야 하는 경우를 구현하기 위해 만들어진 Content-Type 이다. (e.g 사진을 전송하는데 이에 대한 설명을 함께 포함해서 전송하고 싶은 경우에 사진은 image/jpeg 타입이지만, 설명은 text/plain 으로 전송해야 하는 경우, 웹브라우저 관점에서는 폼 데이터를 전송할 때 사용하는 Content-Type 이다) 위 사진은 HTTP Request 의 구조이다 multipart/form-data type의 데이터를 전송하겠다는 것의 의미는 ContentType 헤더 값으로 multipart/form-data 를 사용하는 것이고 body..

개인 프로젝트를 진행하면서 코드 변경 사항을 테스트, 빌드하고 빠르게 배포하고자 간단한 CI/CD 를 구축할 필요가 있었다. 파이프라인을 무엇으로 구축해볼까... 하다가 관성적으로 Jenkins 가 먼저 떠올랐는데, 살짝 지루할 것 같기도 했고 개념적으로만 이해하던 Github Actions 을 이번 기회에 직접 써볼까 해서 사용하게 되었다. 이번에 Github Actions 를 도입하면서 내가 확인해보고 싶었던 것들은 아래 두 가지고 1. Github Acitons workflow 작성 방법의 간결함 (-> 문법이 익숙하지 않은 동료들에게 설명하기 쉬운가) 2. Github Actions 을 통한 파이프라인(workflow) 구축 속도 및 확장성 (-> 파이프라인을 추상적으로 구축하기 쉬운가) 이것 외..
지난 포스팅 에서 Hazelcast 에 대해 간략히 알아보고 user-code-deployment 를 사용해 Distributed Computing 과정에서 발생하는 문제점을 해결했다. 그때는 팀에서 이미 구축해놓은 클러스터에서 작업을 진행 했었는데, hazelcast 에 대해 조금 더 깊게 알아보고 싶고 버전업도 할 겸 직접 클러스터를 배포해 보았다. v5.0 부터는 IMDG 가 아닌 hazelcast platform 으로 이름이 바뀌면서 이미지 내부 폴더 구조나 설정 파일, 클러스터 시작 방법 등등이 변경되었다. 개인적으로는 말 그대로 platform 의 의미를 살려서 hazelcast 중심의 생태계(손쉬운 배포부터 세부 설정 방법까지 제공, 플러그인 강화 등등) 를 구축해나가려고 하는 것 같았다. ..
작년에 이어 올해도 이 블로그에 23년 회고를 작성해보고자 한다. 지난 서두에서 그 어느 때보다 짧았던 2022년이라고 표현했는데, 그 말이 무색할 만큼 2023년은 너무 짧았고, 정신없던 한 해였던 것 같다. 2023년은 지난 날의 노력에 대한 작은 결실을 이룬 기념비적인 해이기도 하지만 그 과정에서 스스로 그 어느 때보다 불안했던 한 해라고 말하고 싶다. 2022년 톺아보기 그 어느 때보다 짧았던 2022년 한 해가 끝나간다. 오늘 졸프 최종 성과발표회가 끝나 찐종강을 하기도 했고, 올해 무엇을 했나 정리도 할 겸 어찌보면 고리타분할 수 있는 한 해 마무리를 주제로 ppaksang.tistory.com 졸업, 취업 올해 졸업을 했다. 본래 8학기 졸업을 하면 내년 2월이 되겠지만, 한 학기 당겨서 졸..

Spring Rest Docs 는 API 인터페이스를 손쉽게 만들기 위해서 사용하는데, Spring MVC Test 혹은 WebTestClient를 통해 생성된 파일(adoc 파일, snippets)을 조합하는 방식으로 수행한다. 비슷한 목적으로 Swagger를 사용하곤 한다. Swagger의 경우 프로덕션 코드에 Swagger 코드가 섞여 들어가는게 다소 부담됐고 변화하는 API 스펙에 맞춰 Swagger 코드 또한 수정해야 했었는데, Rest Docs는 테스트 코드를 바탕으로 문서가 생성되기 때문에 이러한 문제가 해결 된다. 즉, 테스트를 통과한 코드에 대해서 문서를 생성하기 때문에 잘못된 문서를 제공할 일이 줄어든다. 물론, Swagger를 사용하면 웹에서 API 호출 테스트를 손쉽게 수행할 수 있..

입사하고 시간이 얼마 안 지났지만 굉장히 다사다난(?)한 일들을 겪었는데, 그 중 하나가 조직 이동이다. 연말 회고에서 그 때의 심경을 남기겠지만 이번 포스팅은 그 과정에서 운이 좋게도(?) 새로운 프로젝트를 시작하면서 Spring Cloud Data Flow(SCDF) 구축한 내용에 대해서 남기고자 한다. 이전에 스트림, 배치 기반의 마이크로서비스 개발 경험이 없어서(이번에 처음 Stream, Task 개념에 대해 학습했다) SCDF가 기존의 비슷한 역할을 수행하는 솔루션들과 비교했을 때 얼마나 큰 효용이 있는지 체감 못했지만, 현재 사용하는 입장에서 느낀 편리한 점은 스트림/배치 파이프라이닝이 굉장히 편하고, 모니터링 구축이 용이하다는 것이다. 기본적으로 Spring Cloud Stream과 Bin..
지난 포스팅에서도 언급했듯 2023년도에는 현실적으로 운영 가능한 시스템을 구축하는 능력을 키우는데 초점을 맞췄다. 그 중 하반기는 탄탄한 시스템을 구축하기 위한 협업 방식을 습득하는데 집중했고, 이를 위해 프로그래밍 스킬 외에도 다양한 소프트 스킬을 키우기 위해서 노력했다. 특히, '내가 새로운 팀에 합류하게 되면 어떻게 잘 적응할 수 있을까' 라는 생각을 중심으로 고민했고 결과적으로 협업에 도움될 수 있는 보편적이고 포괄적인(기본이 되는) 능력을 키우고자 했다. 클린 코드는 이러한 포괄적인 능력을 키우는데 굉장히 적합한 책이라고 생각한다. 책의 앞부분에서는 클린한 코드를 작성하기 위한 여러 가지 패턴(단순히 코드를 작성할 때 주의할 점부터 클래스 작성법, 테스트, 예외 처리 방법까지)을 소개하고, 뒤..