올해는 블로그를 조금 더 활발하게 사용해볼 겸, 글또(글 쓰는 또라이가 세상을 바꾼다)라는 개발자 모임에 참여했다.현재 3회의 제출만을 앞두고 있고, 계속 진행해오면서 느꼈던 점을 공유해보려고한다.이 링크 를 참고해보자.글또는 "글 쓰는 또라이가 세상을 바꾼다" 라는
사실 둘 사이에는 큰 차이가 없다.아키텍처저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용설계저수준의 구조 또는 결정사항 등을 의미할 때가 많음저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소이다.이 둘은 단절 될 수 없으며
이번 글에서는 A Philosophy of Software Design ( 이하, APoSD ) 이라는 책을 읽으면서 느꼈던 주석의 장점에 대한 이야기를 해보려고합니다.주석의 단점은 사실 거짓일 수도 있습니다.보통 많은 책에서 주석을 쓰는 것에 대해서 부정적인 이야기를
신생 스타트업이 아니라면, 어느 회사라도 레거시라고 불리는 코드들이 존재할 것이다.그런 코드들은 현재 기술스택에도 맞지 않거나, 정책 혹은 여러가지 문제가 존재하여 언젠가는 개편을 해야할 때가 온다.이럴 때 사용할 수 있는, Strangler Pattern에 대해 알아
맥을 사용하다보면, CLI 환경에 익숙해지면 좋을 때가 많다.오늘은 내가 맥을 사용하면서 자주 사용하는 shell 명령어 몇 개를 공유해보려고 한다.웹 어플리케이션을 로컬에서 실행하다보면, 특정 port에 있는 어플리케이션이 제대로 죽지 않은 채로 백그라운드에서 도는
이 글을 작성하는 기준으로 어제( 2023년 4월 24일 )는 KSUG에서 4년만에 주최하는 스프링 캠프 2023이 열린 날이였다.유튜브에서 가끔 2019년, 2018년 영상들을 보면서 도움을 받았기에, 이번에도 기대를 가지고 스프링 캠프 참가 신청을 했고 다녀왔다.각
최근에는 개발자들이 더욱 빠르게 개발을 할 수 있도록 다양한 도구들이 제공되고 있습니다. 그 중에서도 ChatGPT와 Github Copilot은 매우 유용한 도구입니다. ChatGPT는 매우 자연스러운 대화를 통해 구글 혹은 StackOverflow에 검색하는 시간을
서비스를 구현하다 보면, 여러 쓰레드에서 동시다발적으로 일어나는 작업에 대해 동기화 혹은 일관적인 처리가 필요할 때가 존재한다. 그럴 때는 여러 방법을 이용하여 일관적인 처리를 할 수 있는데, 오늘은 Redis를 이용한 Lock을 구현하는 방법에 대해 알아보자.
Spring에선 AOP( Aspect Oriented Programming )를 이용하여, Transaction의 일관성 있는 처리를 위한 @Transactional 이라는 어노테이션을 제공한다. 이 @Transactional 은 여러가지 강력한 기능을 제공
우리는 이번 섹션에서 다음과 같은 기능을 가진 URL 단축기를 설계할 것이다.URL 단축 : 주어진 긴 URL을 훨씬 짧게 줄인다.URL 리디렉션 : 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내한다.높은 가용성과 규모 확장성, 장애 감내가 요구된다.쓰기 연
유일한 ID숫자로만 구성되는 값64비트로 표현될 수 있는 값발급 날짜에 따라 정렬 가능한 값초당 10,000개의 ID를 만들 수 있어야한다Auto Increment 기능을 활용하여, 현재 사용중인 데이터베이스 서버의 수 k 만큼씩 증가시킴서버의 수를 증가시킴으로써 초당
현재 몬스테라 팀의 CS Broker 프로젝트는 AI 서버의 모델이 업데이트 되거나 채점 기준이 변경 되었을 경우, 많은 양의 채점 기록을 전부 재채점해야합니다.이 상황에서 유용하게 사용할 수 있는 것이 Spring Batch 였습니다.그러던 도중 하나의 문제에 봉착하
아래와 같은 방식으로 키가 배치된 경우를 생각해보자.hash % 4 를 이용하여, 서버에 키를 배치했다.이 때, 서버1이 죽는다면 키를 어떻게 배치해야 할까?hash % 3 을 이용하여, 서버에 키를 재배치해야한다.여기서 문제점은?server 1이 죽어 대부분의 키가
클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한클라이언트는 위변조 가능일반적으로 게이트웨이에 분포토큰 버킷고정된 토큰의 개수로, 토큰을 몇개나 리필할지 고민해야함하지만, reset boundar
2022년도 현재 9월까지 참 다사다난 했다.아직 회고를 한 번도 하지 않았는데 ( 원래 2분기가 끝난 7월 달쯤 하려고 했는데.. ), 이제 와서야 어떤 일을 겪었는지 어떤 경험들을 했는지 공유해보려고한다.인턴으로 회사를 작년 12월부터 다니고 있었다. 원래는 3월에
이번 글에서는 AWS SDK Kotlin을 이용하여 Spring에서 메일을 보내는 법을 알아보겠습니다.