최신 글
-
성남 아동수당 가맹점 지도 회고록 작업 내용성남시 아동수당의 경우 성남시 안에서 가맹점에 한해서 사용할 수 있습니다. 그리고 가맹점이 어디에 있는지 알려주는 사이트를 신한카드에서 제공하고 있었습니다. 하지만 이는 너무 불친절했습니다. 확인하고자하는 지역구와 업종을 선택하면 그 결과가 나오는 형식이었습니다.저 또한 한명의 사용자로서 사용해보면서 느낀점은 사용자에게 제공하고자 하는 정보가 가맹점의 리스트의 정보라고 한다면 이는 현재의 리스트화 된 UX 보다는 지도의 형식으로 한눈에 사용자가 어디서 사용할 수 있는지 알 수 있다면 더 좋은 경험을 제공해 줄 수 있을것이라고 생각했습니다. 그래서 이를 지도로 포팅하는 작업을 해보았습니다.만들고 최종 퍼블리싱하기까지 총 2주의 시간이 걸렸습니다. 아무것도 모르고 개발한것 치고는 빠른 결과물을 얻어..
-
성남시 아동수당 가맹점 지도 성남시에서 아동수당의 지급 받았습니다.쓰러갑니다. 하지만 신한카드에서 제공하는 걸 보면 이 웬걸 어디서 사용할 수 있는지 찾기가 너무 어렵습니다.그래서 만들었습니다.지도를 통해서 아동수당을 사용할 수 있는 곳을 한눈에 볼 수 있는 사이트.여러분들의 도움이 되었으면 합니다.https://snbabymap.sabarada.xyz/ 성남시 아동수당 가맹점 지도 - 지도로 찾는 성남 아동수당 가맹점성남시 내 아동수당 가맹점 정보를 지도로 쉽게 찾아보세요. 음식점, 카페, 편의점 등 아동수당 사용 가능한 가맹점 실시간 위치 검색 서비스.snbabymap.sabarada.xyz
-
[Envoy 이해하기] Circuit_Breaker (outlier_detection) 안녕하세요. 오늘은 Envoy 이해하기 3번째 시간으로 envoy에서 서비스 회복성(Resilience)을 위한 설정을 들을 알아보는 시간을 가져보도록 하겠습니다.개발을 하다보면 서비스의 부하를 막기 위해서 RateLimit를 건다던지 장애 전파를 막기 위해서 Circuit Breaker를 추가한다는 일을 많이 하곤 합니다. 이러한 설정은 만약 Java/Kotiln을 사용하신다면 Resilience4j 등을 사용할 수 있습니다.그런데 사실 이러한 서비스 회복성 관련된것은 대부분 네트워크 관련된 것으로써 envoy가 이러한 역할을 해줄 수 있습니다. envoy에 이러한 설정을 맡겨버리면 Service 개발자는 Application 개발에 집중할 수 있게됩니다. 관련된 내용과 설정하는 방법을 오늘은 한번 .. -
[proxy] Envoy 이해하기 - Routing 개요안녕하세요. 오늘은 Envoy의 3번째 시간입니다. 이번시간에는 Envoy에서 사용할 수 있는 다양한 Routing 방법에 대해서 실습해보는 시간을 가져보도록 하겠습니다. 예제는 실전에서 주로 사용하는 예제를 기준으로 가져왔습니다.Path 기반 라우팅가장 먼저 Path 기반의 라우팅을 살펴보도록 하겠습니다. Path 기반의 라우팅은 Backend Cluster를 N개 등록하고 path에 따라서 라우팅되는 Cluster를 다르게 가져가는 방법입니다. 해당 방법을 통해서 apigateway 처럼 사용하 수 있습니다. 이 방법을 통해 리버스 라우팅을 할 수 있게됩니다. 각 서비스마다 path를 다르게 가져가는 방법입니다.테스트➜ 02-routing-proxy curl -X GET http://localh..
-
[proxy] Envoy 이해하기 - 실습 (Listener, Cluster, Route, Filter의 개념) 개요안녕하세요. 이전 포스팅 Envoy 이해하기 - 기본 이론편에서 마지막에 envoy.yaml 파일의 기본 구성을 함께 확인해 보았었습니다. 그때는 잠깐 언급만 하고 넘어가는 수준이었는데요. 오늘은 제대로 한번 해당 파일을 함께 보고 Envoy의 구성을 알아보도록 하겠습니다.Envoy 구성Envoy의 기본적인 아키텍처와 구성요소는 아래와 같습니다.ListenerEnvoy가 수신 대기할 IP와 포트를 정의Filterfilter_chain이란 어떠한 조건으로 요청을 처리할 것인지 정의예를 들어 L4 계층 기반으로 라우팅할지 L7 계층 기반으로 라우팅할지 등의 상위 레벨의 설정Router실제 라우팅의 조건 및 라우팅할 서비스 등을 지정L7 이라면 URL 경로, Header 기반 라우팅 설정이 가능L4 라면 ..
인기 글
-
[database] 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock) 안녕하세요. 오늘은 낙관적 락과 비관적 락의 개념에 대해서 알아보는 시간을 가져보도록 하겠습니다.DB 충돌 상황을 개선할 수 있는 방법database에 접근해서 데이터를 수정할 때 동시에 수정이 일어나 충돌이 일어날 수 있습니다. 우리는 이런 상황을 해결할 수 있도록 코딩을 진행해야합니다. 어떻게 해결할 수 있을까요 ?첫번째, 테이블의 row에 접근시 Lock을 걸고 다른 Lock이 걸려 있지 않을 경우에만 수정을 가능하게 할 수 있습니다.두번째, 수정할 때 내가 먼저 이 값을 수정했다고 명시하여 다른 사람이 동일한 조건으로 값을 수정할 수 없게 하는 것입니다.비관적 락(pessimistic lock)비관적 락은 Reeatable Read 또는 Serializable 정도의 격리성 수준을 제공합니다. D..
-
[UML] 클래스 다이어그램 이해하기 [UML] 클래스 다이어그램 이해하기[UML] 시퀀스 다이어그램 이해하기안녕하세요. 오늘은 클래스 다이어그램에 대해서 이야기 해보고자 합니다. 최근 레거시 시스템의 구조개선을 조금씩 하고 있습니다. 그러면서 객체의 구성 및 도메인 모델을 어떻게 가져가야할지 고민을 하게 되었습니다. DDD 관련된 책이라던지 찾아보는데 이때 기본이 되는게 UML, 특히 클래스 다이어그램 이라는 것을 알 수 있었습니다. 지끔까지는 막연한 지식은 있지만 이번 기회에 명확하게 이를 이해하고자 UML, 그 중에서도 클래스 다이어그램에 대해서 정리해보고자 합니다.UML 이란먼저 UML이란 Unified Modeling Language의 약자로 도메인(해결하고자 하는 목표, ex) 결재시스템 등)을 모델로 표현해주는 대표적인 모델링 ..
-
[markdown] mermaid를 이용해서 UML 그리기 - 플로우차트 안녕하세요. 오늘은 mermaid에 대해서 알아보는 시간을 가져보도록 하겠습니다.mermaid란 markdown 문법으로 diagram을 그려주는 라이브러리입니다.mermaid 란 ?mermaid는 markdown으로 UML을 그릴 수 있는 언어입니다.이 mermaid를 이용하면 쉽고 직관적으로 UML을 그릴 수 있습니다.수도 코드를 통해서 작성하기 때문에 다이어그램 뿐만 아니라 수도 코드를 통해서도 흐름을 이해할 수 있다는 것도 장점이라고 여겨집니다.그렇다면 실제로 mermaid를 사용하는 방법에 대해서 알아보도록 하겠습니다.pluginmermaid를 사용하기 위해서는 markdown에 plugin이 필요합니다.editor 별 plugin 리스트를 참조해서 본인이 사용하시는 editor에 플러그인을 ..
-
[Linux] top 명령어로 서버의 상태 파악하기 안녕하세요. 오늘은 linux의 top 명령어어 대해서 분석하는시간을 가져보도록 하겠습니다.TOP 명령어top 명령어는 현재 OS의 상태를 나타내주는 CLI 어플리케이션입니다. 메모리 사용량, CPU 사용량 등을 나타내주며 top를 실행하는 동안에는 주기적인 업데이트로 실시간에 근접한 내용을 보여줍니다. 리눅스에서 top 명령어를 실행하면 아래와 깉이 노출됩니다. 위에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함하고 있습니다.요약 영역요약 영역은 top에서 상단에 위치하고 있습니다. 이 요약영역은 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줍니다. 요약 영역에 나타나는 대표적인 값은 시간, 유저, 로드 에버리지(Load Average), 테스크(Task..
-
[기타] 날짜와 시간 표현의 국제 표준인 ISO 8601에 대해서 자세히 알아보자. (RFC3339, ISO8601, JavaTime) 개요먼저 표준화라는것은 사물, 개념, 방법 및 절차 등에 대하여 합리적인 기준을 설정하여 그 기준에 맞추는 것을 말합니다. 표준이 필요한 이유는 생산, 소비, 서비스 등 다양한 분야에서 생산성과 경제성을 높이고자함입니다. 표준화가 되어있는 요소에 대해서는 재활용이 가능하고 서로 이해하는것도 좋습니다. 최근의 좋은 표준의 예시는 in/out port로써 C-Type으로 통일되어가고 있습니다. 기존에 각 제품마다 표준이 달라서 불편했던 생산과 소비에 이제 단일화된 표준으로 편리함을 제공해주고 있지요. 이것이 바로 표준화가 필요한 이유입니다.오늘은 날짜와 시간 표현의 국제 표준인 ISO 8601과 RFC 3339에 대해서 알아보는 시간을 가져보려고합니다. 인터넷 표준에 비추어 볼때 우리가 따라야하는 표준은 I..