본문 바로가기

반응형

분류 전체보기

(178)
2025년 회고 끄적 작년 3월 초에 현재 회사로 이직을 했고 벌써 10개월 째 다니고 있습니다. 새로운 인프라 환경, 새로운 사람들, 새로운 업무 방식, 업무 강도 등 모두 새롭습니다.. 업무 강도도 훨씬 쎄고 업무 방식도 완전히 다르고.. 그래서 겸사겸사 회고를 살면서 처음 끄적거려봅니다. 작년 3월에 3년동안 다녔던 회사를 그만 뒀습니다. 뭔가 시원섭섭했네요. 그래도 퇴사하길 잘한듯 싶습니다. 워라벨은 굉장히 좋은 회사였으나 연봉 인상률, 성장 기회 등을 고려하면 오래 다닐 회사가 아니라 판단했습니다. (만약 자녀가 있었다면 계속 다녔을수도) 처음 입사할 때 인프라 구조가 개판(?)이었어서 거의 초기 구축부터 운영, 최적화까지 모두 담당해본 것 같습니다. VPC 설계, EKS 클러스터 구축, 헬름 차트, 외부망에 노출..
kube-audit-rest로 EKS Control plane 로깅 비용 절감하기 1. 개요https://sendbird.com/blog/aws-eks-migration-optimizations 7 AWS EKS Optimizations When Migrating From EC2-ASGLearn how Sendbird migrated from EC2-based Auto Scaling Groups to Amazon EKS and implemented 7 key optimizations.sendbird.com sendbird 블로그 글을 보고 힌트를 얻어 작업하게 되었습니다. https://github.com/RichardoC/kube-audit-rest GitHub - RichardoC/kube-audit-rest: Kubernetes audit logging, when you don'..
[React] 기본 개념 공부 React 기본 개념들에 대해 정리합니다. 공부하는 목적은 플랫폼 엔지니어링 오픈소스인 https://backstage.io/ 에서 Custom 플러그인을 개발하기 위해 React 지식이 필요한 것 같아 공부하려 해봅니다. React는 UI를 만들기 위한 Javascript 라이브러리임. Factbook에서 개발했으며 빠르고 효율적인 UI를 만들기 위한 목적으로 만들어졌음 1. Component- React의 핵심 단위- UI를 작고 재사용 가능한 단위로 쪼개서 관리- 함수형 컴포넌트가 많이 사용된다. function Hello(props) { return Hello, {props.name}!} 2. JSX (JavaScript XML)- JavaScript 코드 안에서 HTML 처럼 보이는 코드를 ..
[DevOps] EKS 환경에서 Helm으로 Jenkins 안전하게 구축하기 1. 개요AWS 환경에서 Jenkins를 안정적이고 효율적으로 운영하고 싶다면 Helm으로 Jenkins를 설치하는 것이 정신 건강상 좋다고 본다. 왜냐하면 EC2 환경에서의 Agent 연결하는 방식과 다르게 Controller와 Agent를 단순 values.yaml 파일만 가지고 분리하는 것도 굉장히 쉽고 Controller를 재시작해도 EBS Volume을 붙여둔다면 안전하게 재시작할 수 있기 때문이다. 다음의 내용들을 고려하여 작업한다고 가정한다. - Agent, Controller의 분리- Controller를 자유롭게 재시작할 수 있도록 EBS Volume 붙이기- docker 명령어를 agent pod에서 사용할 수 있도록 하기- 모니터링을 수월하게 할 수 있도록 하기...  참괴 : 이 글..
[Java] 김영한의 자바 중급 2편 #7 - HashSet Set : 중복을 허용하지 않고, 순서를 보장하지 않는 자료 구조1. 직접 구현하는 Set1 - MyHashSetV1이전에 구현한 성능이 O(n)으로 느린 MyHashSetV0를 다시 한번 확인해보자.1.1. 단점add() 사용 시 중복 데이터가 있는지 전체 데이터를 항상 확인해야 한다. → o(n)contains()로 데이터를 찾을 때는 Set에 있는 모든 데이터를 찾고 비교해야 하므로 평균 O(n)이 걸린다.→ 데이터를 추가할 때 중복 데이터가 있는지 체크하는 부분에서 성능이 o(n)으로 좋지 않다.→ 이 부분을 평균 O(1)로 개선해보자.1.2. 해시 알고리즘을 사용하도록 변경package collection.set;import java.util.Arrays;import java.util.Linke..
[ECK Elasticsearch] 데이터 노드가 재시작되면 레이턴시가 급증했던 이슈 필자는 현재 ECK Operator로 ElasticSearch를 운영중이다. 현재 ECK Elasticsearch는 글을 쓰는 기점으로 2.15 버전이 나왔으며 상당히 만족하면서 사용하고 있다. https://www.elastic.co/guide/en/cloud-on-k8s/current/index.html Elastic Cloud on Kubernetes [2.15] | Elastic www.elastic.co  ECK ES를 운영하면서 참고할만한 내용에 대해서도 적을 내용이 꽤나 있긴 한데 사실 ES를 잘 알지 못하기에 그런 부분들은 따로 적지 않으려고 한다. 최근에 경험했던 이슈에 대해서 간략히 정리해보려 한다.  [참고하면 좋을 무신사, 당근마켓 ECK 관련 글] https://medium.com..
[Java] 김영한의 자바 중급 2편 #6 - Set 1. List vs Set자료구조에서 List와 Set은 각각 특정한 방식으로 데이터를 저장하고 관리하는데 사용된다. 1.1. List순서가 중요하거나 중복된 요소를 허용할 때 주로 사용된다. 특징순서 유지중복 허용인덱스 접근1.2. Set중복을 허용하지 않고 요소의 유무만 중요한 경우에 사용된다.  특징유일성순서 미보장빠른 검색 (내부적으로 최적화되어 있다.) 1.3. List, Set 예시List : 장바구니 목록처럼 중요한 일련의 이벤트 목록Set : 회원 ID 집합처럼 고유한 항목의 집합 2. 직접 구현하는 Set0 - 시작인덱스가 없기 때문에 데이터를 넣고, 데이터가 있는지 확인하고, 데이터를 삭제하는 정도면 충분하다. 그리고 데이터를 추가할 때 중복 여부만 체크해주면 된다.add(value)c..
[Java] 김영한의 자바 중급 2편 #5 - List 1. 리스트 추상화1 - 인터페이스 도입자료 구조에 다형성과 OCP 원칙이 어떻게 적용되는지 확인해본다. List : 순서가 있고, 중복을 허용하는 자료 구조→ MyArrayList와 MyLinkedList의 공통 기능을 인터페이스로 뽑아서 추상화를 한다면 다형성을 활용한 다양한 이득을 얻을 수 있다.   MyListpackage collection.list;public interface MyList { int size(); void add(E e); void add(int index, E e); E get(int index); E set(int index, E element); E remove(int index); int indexOf(E o);}아래의 메서드들은 ..

반응형