profile
글 쓰는 개발자
태그 목록
전체보기 (139)Spring(17)OOP(12)Algorithms(12)OS(10)OSTEP(9)파이썬(8)express(7)System Design Interview(7)kotlin(6)하루 3분 네트워크 교실(6)알고리즘(5)API(5)python(5)네트워크(5)node.js(5)docker(5)CI/CD(4)Paging(3)Backend(3)redis(3)협업(3)JPA(3)Infra(3)Spring boot(3)scheduling(3)회고(3)aws(3)abstraction(2)후기(2)aop(2)객체지향의 사실과 오해(2)ktlint(2)prisma(2)pm2(2)exception(2)오픈소스(2)Copilot(2)encapsulation(2)github(2)access token(2)Java(2)git(2)TDD(2)AI(2)DP(2)Limited Direct Execution(1)ubuntu(1)네트워킹(1)Context Switching(1)system-design(1)CodeDeploy(1)IAM(1)process(1)logback(1)개발(1)mac(1)aws lambda(1)Cache(1)swap(1)address(1)toss(1)lock(1)velog(1)page fault(1)투 포인터(1)clean architecture(1)chatGPT(1)Union Find(1)Strangler Pattern(1)kakao Enterprise(1)fetch join(1)service(1)BST(1)MLFQ(1)loc(1)yml(1)Sync(1)(1)composition(1)feature flag(1)async(1)비동기(1)검색(1)SOLID(1)network(1)JavaScript(1)질문(1)sms(1)스터디(1)git submodule(1)알쓸(1)policy(1)implements(1)Generic(1)inheritance(1)CEP(1)테스트(1)ec2(1)cli(1)JWT(1)next(1)ocp(1)msa(1)interface(1)sonarcloud(1)슬라이딩 윈도우(1)express.js(1)소프트웨어 설계(1)circleci(1)ses(1)ipad(1)di(1)리뷰(1)architecture(1)cloud(1)Internship(1)setInterval(1)setTimeout(1)comments(1)ESB(1)mysql(1)present bit(1)LIS(1)extension(1)secret(1)개발문화(1)dependency(1)위상 정렬(1)B2B(1)log(1)spring-rest-docs(1)소프트웨어마에스트로(1)cpu(1)NMS(1)spring batch(1)백트래킹(1)apm(1)EAI(1)멀티 레벨 페이지 테이블(1)HATEOAS(1).DS_Store(1)segmentation(1)ecr(1)gitmoji(1)Binary Search(1)ccw(1)babel(1)SW 마에스트로(1)linear search(1)Blue/Green(1)tips(1)기록(1)etl(1)dynamic programming(1)devops(1)docker compose(1)PR(1)소프트웨어 마에스트로(1)kakao(1)vscode(1)authentication(1)coop(1)주석(1)N+1 문제(1)slack(1)sentry(1)설정(1)object(1)CodeApp(1)IntelliJ(1)web(1)interview(1)tlb(1)Greedy Alogrithm(1)mode switching(1)Conference(1)기여(1)백엔드(1)소마(1)자료구조(1)선분 교차 판별(1)Wrapper Class(1)DIP(1)LomBok(1)shell(1)dynamic relocation(1)지식(1)crontab(1)address space(1)Polymorphism(1)refresh-token(1)

Kotlin's Generic

kotlin은 java와 유사하게 클래스가 타입 파라미터를 가질 수 있습니다.이런 클래스를 만들려면, 단순히 타입 인자를 넘겨주면 됩니다.평소에 List 같은 자료형을 많이 사용해오셨다면, 익숙한 표현 방식일 것입니다.이렇게 타입을 파라미터로 사용하는 것을 Generi

2023년 11월 19일
·
0개의 댓글
·

요즘 우아한 개발 후기

얼마 전, 배민에서 개발 및 조직 문화 관련 책을 낸다는 소식을 들었다. 타이밍 좋게 해당 책에 대한 체험단을 신청 받고 있었고, 운이 좋게도 체험단에 선정되어 "요즘 우아한 개발" 을 읽을 수 있게 되었다.

2023년 11월 10일
·
0개의 댓글
·
post-thumbnail

GitHub Actions를 통해 업무 효율화하기

GitHub Actions는 GitHub에서 제공하는 automation workflow로 CI/CD, Test, Build 등을 자동화는 것을 돕기 위한 도구이다.많은 사람들이 CI/CD의 관점에서만 GitHub Actions를 사용하는데, 사실 우리는 GitHub

2023년 10월 20일
·
0개의 댓글
·

신입의 9개월간의 회고

신입으로 입사하여, 9개월동안 겪었던 일들과 생각들을 정리해보려고합니다.

2023년 7월 16일
·
1개의 댓글
·
post-thumbnail

Logback으로 Slack message 보내기

Logback을 통해 Slack으로 메시지를 보내는 방법

2023년 7월 2일
·
0개의 댓글
·
post-thumbnail

글또를 참여하면서

올해는 블로그를 조금 더 활발하게 사용해볼 겸, 글또(글 쓰는 또라이가 세상을 바꾼다)라는 개발자 모임에 참여했다.현재 3회의 제출만을 앞두고 있고, 계속 진행해오면서 느꼈던 점을 공유해보려고한다.이 링크 를 참고해보자.글또는 "글 쓰는 또라이가 세상을 바꾼다" 라는

2023년 6월 18일
·
0개의 댓글
·
post-thumbnail

Clean Architecture

사실 둘 사이에는 큰 차이가 없다.아키텍처저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용설계저수준의 구조 또는 결정사항 등을 의미할 때가 많음저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소이다.이 둘은 단절 될 수 없으며

2023년 6월 18일
·
0개의 댓글
·
post-thumbnail

당신은 왜 주석을 작성하지 않나요?

이번 글에서는 A Philosophy of Software Design ( 이하, APoSD ) 이라는 책을 읽으면서 느꼈던 주석의 장점에 대한 이야기를 해보려고합니다.주석의 단점은 사실 거짓일 수도 있습니다.보통 많은 책에서 주석을 쓰는 것에 대해서 부정적인 이야기를

2023년 6월 3일
·
1개의 댓글
·
post-thumbnail

Strangler Pattern

신생 스타트업이 아니라면, 어느 회사라도 레거시라고 불리는 코드들이 존재할 것이다.그런 코드들은 현재 기술스택에도 맞지 않거나, 정책 혹은 여러가지 문제가 존재하여 언젠가는 개편을 해야할 때가 온다.이럴 때 사용할 수 있는, Strangler Pattern에 대해 알아

2023년 5월 21일
·
1개의 댓글
·

[Tips] 기억 하면 좋은 shell 명령어

맥을 사용하다보면, CLI 환경에 익숙해지면 좋을 때가 많다.오늘은 내가 맥을 사용하면서 자주 사용하는 shell 명령어 몇 개를 공유해보려고 한다.웹 어플리케이션을 로컬에서 실행하다보면, 특정 port에 있는 어플리케이션이 제대로 죽지 않은 채로 백그라운드에서 도는

2023년 5월 7일
·
0개의 댓글
·
post-thumbnail

스프링 캠프 2023 후기

이 글을 작성하는 기준으로 어제( 2023년 4월 24일 )는 KSUG에서 4년만에 주최하는 스프링 캠프 2023이 열린 날이였다.유튜브에서 가끔 2019년, 2018년 영상들을 보면서 도움을 받았기에, 이번에도 기대를 가지고 스프링 캠프 참가 신청을 했고 다녀왔다.각

2023년 4월 23일
·
1개의 댓글
·
post-thumbnail

ChatGPT와 Github Copilot으로 생산성 향상하기

최근에는 개발자들이 더욱 빠르게 개발을 할 수 있도록 다양한 도구들이 제공되고 있습니다. 그 중에서도 ChatGPT와 Github Copilot은 매우 유용한 도구입니다. ChatGPT는 매우 자연스러운 대화를 통해 구글 혹은 StackOverflow에 검색하는 시간을

2023년 3월 25일
·
0개의 댓글
·
post-thumbnail

[Spring] Redis를 이용한 분산 Lock 구현 알아보기

서비스를 구현하다 보면, 여러 쓰레드에서 동시다발적으로 일어나는 작업에 대해 동기화 혹은 일관적인 처리가 필요할 때가 존재한다. 그럴 때는 여러 방법을 이용하여 일관적인 처리를 할 수 있는데, 오늘은 Redis를 이용한 Lock을 구현하는 방법에 대해 알아보자.

2023년 3월 11일
·
0개의 댓글
·
post-thumbnail

[Spring] Transactional에서 Runtime Exception 조심하세요~

Spring에선 AOP( Aspect Oriented Programming )를 이용하여, Transaction의 일관성 있는 처리를 위한 @Transactional 이라는 어노테이션을 제공한다. 이 @Transactional 은 여러가지 강력한 기능을 제공

2023년 2월 10일
·
0개의 댓글
·
post-thumbnail

Java, Kotlin, Python에서의 자원의 할당과 해제

여러 언어에서 자원의 할당과 해제 방식 알아보기

2023년 1월 23일
·
0개의 댓글
·
post-thumbnail

되돌아보기

나의 삶을 되돌아보자.

2023년 1월 7일
·
4개의 댓글
·
post-thumbnail

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - URL 단축기 설계

우리는 이번 섹션에서 다음과 같은 기능을 가진 URL 단축기를 설계할 것이다.URL 단축 : 주어진 긴 URL을 훨씬 짧게 줄인다.URL 리디렉션 : 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내한다.높은 가용성과 규모 확장성, 장애 감내가 요구된다.쓰기 연

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 분산 시스템을 위한 유일 ID 생성기 설계

유일한 ID숫자로만 구성되는 값64비트로 표현될 수 있는 값발급 날짜에 따라 정렬 가능한 값초당 10,000개의 ID를 만들 수 있어야한다Auto Increment 기능을 활용하여, 현재 사용중인 데이터베이스 서버의 수 k 만큼씩 증가시킴서버의 수를 증가시킴으로써 초당

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

Spring Cloud Function을 이용해 Spring Application을 AWS Lambda에 배포하기

현재 몬스테라 팀의 CS Broker 프로젝트는 AI 서버의 모델이 업데이트 되거나 채점 기준이 변경 되었을 경우, 많은 양의 채점 기록을 전부 재채점해야합니다.이 상황에서 유용하게 사용할 수 있는 것이 Spring Batch 였습니다.그러던 도중 하나의 문제에 봉착하

2022년 10월 6일
·
0개의 댓글
·
post-thumbnail

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 안정 해시 설계

아래와 같은 방식으로 키가 배치된 경우를 생각해보자.hash % 4 를 이용하여, 서버에 키를 배치했다.이 때, 서버1이 죽는다면 키를 어떻게 배치해야 할까?hash % 3 을 이용하여, 서버에 키를 재배치해야한다.여기서 문제점은?server 1이 죽어 대부분의 키가

2022년 10월 5일
·
0개의 댓글
·