분류 전체보기
-
Spring Boot + Prometheus + Grafana 로 모니터링 구축모니터링 2024. 1. 25. 00:01
개요 Spring Actuator, Prometheus, Grafana, Thanos 등 개념공부를 해보았으니 이제 직접 모니터링 시스템을 구축해 보도록 하겠습니다. 본 글에서는 Actuator, Prometheus, Grafana에 대해 어느정도 알고 계신다고 가정하고 docker를 활용하여 모니터링 시스템을 구축하겠습니다. Prometheus, Grafana를 직접 설치하는 예제들도 존재하므로 docker를 활용하고 싶지 않은 분들은 다른 분들의 글을 참고하시면 좋을 것 같습니다. 개념공부를 하면 정리했던 글들을 모아보았습니다. 필요하신 분들은 참고하시면 좋을 것 같습니다. Spring Actuator란? 프로메테우스란 무엇인가? Spring Actuator health check 주의사항 내가 만든..
-
토스뱅크 이직기회고 2024. 1. 24. 00:01
개요결론부터 이야기하자면 토스뱅크에 Server Developer로 입사하게 되었습니다.그에 대한 이야기를 적어보고자 합니다. 1년이 막 지난 시점인 왜 지금인가? 지원을 하는 시점은 막 백엔드 개발자로 현업을 시작한 지 1년이 조금 넘어가는 시점이었습니다. 1년 전쯤 인턴십을 통해 정규직으로 전환되었을 때는 나는 운이 좋게 막차를 잘 탔다고 생각이 들 만큼 2023년에는 IT를 비롯하여 전반적으로 취업시장은 좋지 않았습니다. 초기에 취업을 하고 나서는 면접을 통해 배우는 것이 많다고 생각하여 1년마다 다른 회사도 지원해 보려는 생각을 가지고 있었지만 "이번 프로젝트만 끝내고 나서 정리해 보고 지원해 봐야지", "코루틴 웹플럭스 정도의 토이프로젝트는 있어야 경쟁력이 있지 않을까?"라는 이유로 계속 미루고..
-
은행은 어떻게 돈을 벌까?금융지식쌓기 2024. 1. 23. 00:01
개요 흔히 은행은 예금을 통해 고객에게 돈을 받고 이자를 주며, 그 돈을 기반으로 대출을 실행하고 대출이자로 수익을 낸다고 이해하고 있습니다. 이 과정을 조금 더 자세하게 이해해보고자 합니다. 이 글을 읽으면 다음과 같은 것들을 이해할 수 있습니다. 은행은 내 소중한 돈을 보관해 주는데 보관료를 받아야 하는 거 아니야? 그래서 은행은 어떻게 돈을 벌까? 예대마진에 대한 이해 은행에 돈을 보관하면 통화량이 복사된다고? 뱅크런의 위험성 은행은 보관료를 받지 않고 왜 이자를 줄까? 은행은 우리에게 굉장히 안정감과 신뢰감을 주면서 돈을 맡기면 이자를 얹어서 줍니다. 보통 물건을 맞기면 오히려 보관료를 지불하게 되는데 은행은 왜 이자를 줄까요? 은행의 기원은 금 세공업자들로부터 시작되었습니다. 예전에는 화폐대신 ..
-
나쁜 코드 & 인지 부하 줄이기클린 코드(Clean Code)/프로그래머의 뇌 2024. 1. 22. 00:01
코드 스멜은 인지 부하를 만들어낸다 마틴 파울러가 22가지 코드 스멜에 대한 리팩터링이란 책을 소개하였습니다. 예를 들어 긴 매개변수, 긴 메서드등은 효율적인 청킹을 막고 단기 기억 용량을 초과시킵니다. 또한 메서드의 이름등이 부정확한 경우도 인지 부화를 초래합니다. 예를 들어 getProfiles이지만 내부에서는 프로필을 반환하고, 업데이트를 수행하는 경우에는 getProfilesAndUpdate로 변경하는 것이 좋습니다. 또는 isValid 변수명이지만 boolean 타입을 가지지 않고 List를 반환하는 경우라면? 더 헷갈릴 수 있습니다. 복잡한 문제를 더 잘 해결하는 방법 책에서는 첫 번째로 "자동화"라는 개념을 소개합니다. 자동화의 의미는 특별히 생각하지 않고도 수행하는 작업을 의미합니다. 예를..
-
은행과 저축은행의 차이금융지식쌓기 2024. 1. 21. 00:01
개요 은행과 저축은행의 차이, 1금융권과 2금융권의 차이에 대해서 알아보고자 합니다. 제1금융권 일상에서 흔히 볼 수 있는 XX은행이 대표적인 제1금융권 예금은행입니다. 카카오뱅크, 토스뱅크, 케이뱅크 등 인터넷 은행도 제1금융권에 속합니다. 제2금융권 은행을 제외한 보험회사, 증권회사, 자산운용사, 저축은행, 상호금융기관, 카드사, 캐피탈 등을 말합니다. 쉽게 구분하는 방법으로는 이름에 '은행', '뱅크'가 포함되지 않으면 제2금융권입니다. 예를들어 '수협은행 00지점' 제1금융권이지만, '00수협'은 제2금융권입니다. 단, 저축은행은 '은행'을 포함하지만 제2금융권인 예외가 있습니다. 은행과 저축은행의 차이 은행은 제1금융권이고 저축은행은 제2금융권입니다. 제1금융권 vs 제2금융권 제1금융권이 취급..
-
Thanos란?모니터링 2024. 1. 20. 00:01
개요 Thanos라는 용어를 듣고 어떤 것인지 개념을 잡아보고자 합니다. Thanos란? Thanos란 여러개의 프로메테우스로부터 메트릭을 조합하여 Thanos에서 전체 프로메테우스의 메트릭을 볼 수 있게 해 주고 수집된 메트릭을 스토리지에 저장합니다. Thanos에 대해 잘 이해하기 위해서는 프로메테우스가 어떤것인지 어느 정도 알고 있어야 합니다. 프로메테우스에 대해서 잘 모르신다면 "프로메테우스란 무엇인가?" 글을 보면 좋을 것 같습니다. 프로메테우스의 문제 프로메테우스는 클러스터링 구조를 지원하지 않아 2가지 문제를 지닙니다. 확장성의 어려움 가용성의 어려움 프로메테우스는 메트릭을 로컬 디스크에 수집하여 보관하기 떄문에 저장소의 용량의 한계에 도달하면 오래된 데이터가 자동으로 삭제되어 일정 시간이 ..
-
Grafana란?모니터링 2024. 1. 19. 00:01
개요 시계열 데이터에 대한 시각화 대시보드를 제공해주는 Grafana에 대해 알아보고자 합니다. Grafana란? Grafana란 시계열 메트릭 데이터를 시각화 하는데 대시보드를 제공해주는 오픈소스입니다. 다양한 DB를 연결하여 DB의 데이터를 가져과 시각화 할 수 있으며, 그래프를 그리는 것도 간단히 마우스 클릭으로 완료할 수 있습니다. 시각화한 그래프에서 특정 수치 이상으로 값이 치솟을 때 알림을 전달받을 수 있는 기능도 제공합니다. 운영 관점에서 굉장히 유용한 기능입니다. 또한 일반 사용자들이 만들어놓은 대시보드를 import 해서 사용할 수 있고 그 대시보드를 커스터마이징 할 수 있습니다. Grafana의 playground를 통해 Grafana가 무엇인지 맛보기를 확인해보아도 좋을 것 같습니다...
-
도메인 지식 탐구DDD 2024. 1. 18. 00:01
도메인 지식을 알아야 하는 이유 우리가 개발하는 소프트웨어는 비즈니스 문제를 해결하는 솔루션이다. 소프트웨어의 프로젝트 성공은 도메인 전문가와 소프트웨어 엔지니어 간의 효과적인 지식공유에 달렸습니다. 문제를 해결하려면 문제를 이해해야 합니다. 그렇다고 해서 우리가 도메인 전문가가 될 필요는 없습니다. 하지만 그들을 이해하고 그들이 쓰는 동일한 비즈니스 용어를 사용하는 것이 중요합니다. 효과적인 지식공유를 위한 방법 도메인지식이 코드로 구현되기까지는 대게 다음과 같이 일어납니다. 도메인 전문가 -> 소프트웨어 분석가 -> 소프트웨어 명세서 -> 개발자 -> 구현 하지만 이런 단계별로 변환이 되면서 정보를 누락되거나 변질될 수 있습니다. 이때 지식을 효과적으로 전달하기 위해서 '유비쿼터스 언어'를 활용해 볼..