안녕하세요
제가 관심있는 것들을 연구하고 가지고 놀며 기록하는 블로그입니다.
저에 대해 좀 더 알고싶다면 About_Me를 읽어주세요.
2025 목표
- 홈서버 구축 [완료]
- 리눅스 마스터 1급 취득
- 좀 더 내 이야기를 담아서 블로그 글 12개 쓰기(7/12). about은 제외 [진행중]
- 월 150은 투자/저축하기 [진행중]
- IELTS 6.0 이상 도전
안녕하세요
제가 관심있는 것들을 연구하고 가지고 놀며 기록하는 블로그입니다.
저에 대해 좀 더 알고싶다면 About_Me를 읽어주세요.
OAuth2와 JWT는 현대 웹 애플리케이션에서 인증(Authentication) 과 인가(Authorization) 를 구현할 때 자주 마주치는 핵심 개념입니다.
Tiptap 공동편집 에디터의 Redis 장애 시나리오를 기반으로 개선 사항과 대응 전략을 정리한 기술 포스트입니다.
Tiptap 에디터 최근 공동 편집 기능이 들어간 에디터를 만들고 있습니다. (25.03.24 ~) 언제까지 유효할진 모르겠지만, 공동편집 체험하기에 가볍게 띄워놨습니다.
모니터링의 필요성 저는 최근 홈서버를 통해 블로그를 운영중입니다.현재의 사이트가 그 블로그이죠. 제 블로그는 이상하게도 자주 404에러가 발생하고 있었습니다. 블로그 외의 다른 서비스들을 많이 띄워놨지만 다른 서비스들은 아무 문제가 없었습니다.
SOILD 원칙 S: 단일 책임 원칙(Single Responsibility Principle, SRP) ‘하나의 객체가 하나의 책임만 져야 한다.’ 클래스를 단 한 가지 목표만 가지고 작성해야 한다.
객체지향 객체 객체는 실세계의 개체를 의미합니다. 객체는 상태(field)와 동작(method)을 가지고 있습니다. 객체는 클래스의 인스턴스로 field에 상태를 저장하고 method로 동작을 표현합니다. 클래스 클래스는 탬플릿, 청사진과 같이 레시피와 비슷합니다.
일반적인 구조 점선은 구독을 의미하고, 실선은 요청 및 응답을 의미합니다. Producer 특정 Topic의 특정 파티션으로 메시지를 발행하는(생산하는) 생산체. 기본적으론 response를 받지 않는 단방향 통신입니다.
Kafka를 먼저 읽어보시면 이해가 더 잘되실겁니다. 도입기 기존에는 node 서버가 요청을 받아서 데이터를 가공하여 FCM으로 전달하는 서버로 구성되어 있었는데, 몇가지 문제가 있었습니다.
최근에는 젠킨스 대신 GitHub Action을 이용해 CI/CD 파이프라인을 구성하는 사례가 많아졌습니다. GitHub에 코드가 이미 호스팅되어 있는 환경에서는 설정이 간단하고 GitHub와의 연동이 원활하기 때문에 효과적입니다.
1. 배포 개요 • 기본 개념: 로컬에서 Git에 push하면 서버의 Bare Repository에 코드가 업데이트되고, Git Hook(주로 post-receive)이 실행되어 최신 코드가 지정한 배포 디렉토리(DEPLOY_DIR)로 복사됩니다.
내부 개발 서버에서 chart.js(v4.4.7)를 새로 도입하던 중, @kurkle/color 의존성 문제로 인해 이슈가 발생했습니다.
러너스하이 1기를 마치고 토스 러너스하이 1기가 끝난 지 벌써 한 달이 지났습니다. 너무 달려온 탓인지 지쳐서 빠르게 후기를 남기지 못했네요.
이번에 토스 러너스하이 1기에 참여하게 되었습니다. 자세한 내용은 어디까지 말해도 되는지 잘 모르겠어서 다 말할 순 없겠지만 간략하게는 아래와 같습니다.
각 요소의 정의 SSLCertificateKeyFile 서버의 **개인 키(Private Key)**가 저장된 파일을 가리킵니다.
해보고 싶은게 많은 주니어 저장만 해두고 미뤄두었던 글들과 링크들을 하나씩 살펴보며 공부하는 요즘. 해보고 싶은 것들이 많이 생겼습니다.
프록시 프록시 서버(proxy server)란 “클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다.
배경 우리 회사의 고질적인 VOC 중 하나로 채팅에서 검색 시 이전 채팅 데이터에서 내용, 파일, 이미지에 대해서 조회가 되는데 없는 단어로 검색 시(ex.
Java 개발자로 일하고 공부하며 JDBC와 JPA, Mybatis는 다 사용해봤지만, 이들의 차이점이 정확히 무엇인지, 어떨 때 사용하는 것이 좋을지 고민을 해본 적이 없어서 이번 기회에 정리해보려고 한다.
여러 개의 사이트, 서비스에서 한 번의 로그인으로 여러가지 다른 서비스와 사이트들에 자동적으로 접속하여 이용하는 로그인 방식. 사용자 정보를 연동하여 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말한다.
사용자의 ID를 migration 해줘야 하는 작업이 생겼다. 그냥 UPDATE를 진행해보니 사용기간이 길어 업데이트 해야 할 데이터가 많아 프로세스가 종료되는 문제가 발생했다.
이번에 같이 게임하는 친구들의 요청을 받아 디코봇에 유튜브 음악 스트리밍 기능을 추가해봤다. 기본적으론 github.com/brokiem/broki-s-music-bot/tree/master 해당 깃허브 소스를 참고했다.
Interface와 Abstract Class는 상속(extends)받거나, 구현(implements)하는 Class가 Interface나 Abstract Class 안에 있는 Abstract Method를 구현하도록 강제하는 공통점을 가지고 있다.
자바스크립트로 웹 개발을 하다보면 데이터를 저장할 일이 생기는데, 보통 이럴 때 데이터베이스(DB) 서버나 클라우드(Cloud) 플랫폼, 세션, 쿠키 등에 데이터를 저장하는 경우가 많습니다.
저는 게임을 좋아했습니다. 공부를 한다고 2년 정도 안하다가 최근 다시 시작했는데, 만들어보고 싶은게 생겼습니다. 유튜브를 보면 뽑기를 통해 강제로 특정 캐릭터를 올리는 룰을 진행하는데, 한 번 재밌어보여서 원랜디의 디스코드 봇을 만들어보고 싶어졌습니다.