JWT의 구조JSON Web Token(JWT)은 세 부분으로 나뉘어 있으며, .(dot)으로 연결됩니다.Header헤더(Header)에는 토큰의 타입과 서명 알고리즘 정보가 들어갑니다. 일반적으로 두 개의 필드를 포함합니다.{ "alg": "HS256", // 서명에 사용된 해싱 알고리즘 (예: HS256[SHA256], RS256) "typ": "JWT" // 토큰 타입 (항상 "JWT"), 생략가능}Payload페이로드(Payload)는 실제 토큰에 담길 정보(클레임, claim)를 포함합니다. 클레임은 name: value의 한 쌍으로 이루어집니다.클레임은 크게 세 종류로 나뉩니다:1. 등록된 클레임(Registered Claims)iss: 토큰 발급자 (issuer)sub: 토큰 제목 ..
혹시 예전에 진행했던 멋진 소마 프로젝트들을 다시 보고 싶은데, 서비스가 종료됐거나 만든 분들 연락처를 알 수 없어 답답했던 적 있으신가요? 저도 그런 경험이 너무 많았답니다. 😭 그래서 역대 소마 프로젝트들을 한눈에 모아보고 검색할 수 있는 사이트를 만들었습니다! https://soma.wibaek.com/ 소프트웨어 마에스트로 프로젝트소프트웨어 마에스트로 프로젝트 소프트웨어 마에스트로 프로그램의 프로젝트를 쉽게 탐색하세요soma.wibaek.com 이 사이트에서는 역대 소마 프로젝트들이 어떤 것들이 있었는지 편하게 둘러보고, 원하는 프로젝트를 쉽게 찾아볼 수 있습니다. 마치 소마 프로젝트 아카이브 같은 공간이라고 생각하시면 될 것 같아요! 혹시 사이트를 둘러보시다가 "어? 이 프로젝트는 없네?"..
https://velog.io/@bnb8419/프론트엔드-성능-최적화-Part.2 프론트엔드 성능 최적화 Part.2이미지 Lazy Loading, 폰트최적화, 동영상최적화velog.io https://toss.im/slash-21/sessions/3-3 실무에서 바로 쓰는 Frontend Clean Code실무에서 클린 코드의 의의는 유지보수 시간의 단축입니다. 동료 혹은 과거의 스스로 짠 코드를 빠르게 이해할 수 있다면 유지보수할 때 드는 개발 시간이 짧아집니다. 실제 예시와 함께 1. 응집toss.im https://medium.com/myrealtrip-product/마이리얼트립-ssr-최적화-a73815c6cdfc 마이리얼트립 SSR 최적화SSR 도입으로 SEO·초기 로딩을 개선하려다 react..
https://velog.io/@qlgks1/Django-DRF-Serializers-serializer-파헤치기-왜-serializer-response가-만들어지기-까지 Django, DRF Serializers - serializer 파헤치기, 왜 serializer? response가 만들어지기 까지drf에서 DTO 그 이상의 역할을 하는 serializer, Serializers 를 왜써야 할까? 사용 목적과 이유를 확인하고 drf core와 serializer의 핵심 core를 한 번 파헤쳐 보자.velog.io https://velog.io/@noname2048/Django-Creative-View가-request.GET-을-받으면-일어나는-일에-대해-간략히-그려보았다 Django Create..
ELK스택과 LGTM 스택로그 수집과 시각화에 있어 가장 많이 언급되는 두 가지 스택은 ELK(Elasticsearch, Logstash, Kibana) 와 LGTM(Loki, Grafana, Tempo, Mimir) 입니다. ELK 스택은 로그를 중앙에서 수집하고 색인화하여 Kibana에서 시각화합니다. 그러나 리소스를 많이 사용하는 단점이 있습니다. LGTM 스택은 Grafana Labs에서 만든 스택으로, Loki를 통해 로그를 수집하고, Grafana에서 시각화합니다. Loki는 로그를 메타데이터 기반으로 저장하므로 리소스 사용이 적고, Prometheus와 잘 연동됩니다. Mimir은 메트릭 저장 시스템이고, Tempo는 분산 추적 시스템이라 사용하지 않고, 로그 저장 시스템인 Loki와 시각화..
https://news.hada.io/topic?id=11403 Git 형상관리 잘하는 법 | GeekNews하나의 브랜치 전략 수립다양한 전문 분야 지식 있는 팀원이 함께 일하면 워크플로 접근방식 상충될 수 있음이를 방지하기 위해 리더는 하나의 브랜치 전략 세워 모두에게 전파해야 함브랜치news.hada.io https://jvns.ca/blog/2023/11/01/confusing-git-terminology/ Confusing git terminologyConfusing git terminology November 1, 2023 Hello! I’m slowly working on explaining git. One of my biggest problems is that after almost 15 ..
플러그인npm: @trivago/prettier-plugin-sort-imports @trivago/prettier-plugin-sort-importsA prettier plugins to sort imports in provided RegEx order. Latest version: 5.2.2, last published: 2 months ago. Start using @trivago/prettier-plugin-sort-imports in your project by running `npm i @trivago/prettier-plugin-sort-imports`. There are 237 otherwww.npmjs.comnpm: prettier-plugin-organize-imports prettie..
개요AS-IS기존의 시스템은 다음과 같은 워크플로우로 CD를 진행했습니다.다음 구조에서는 다음과 같은 부분에서 아쉬움을 느꼈습니다.서버에서 직접 도커 이미지를 빌드서버 자원을 더 사용합니다도커 컨테이너 종료후 빌드와 재실행빌드하는 동안 시간이 많이 걸려 서버가 다운타운이 길어집니다빌드후 서버 종료-재실행을 진행해 중단 시간을 줄여도, 여전히 무중단은 아닙니다Nginx 관련Nginx가 같이 재시작하고 있어 무중단 배포가 어려운점그리고 도커에서 실행되고 있어 TLS 인증서 자동 갱신이 어려웠던 점그리하여 해당 구조를 개선하기 위한 작업을 하고자 합니다.TO-BE도커 이미지 저장소기존에 서버에서 도커 이미지를 직접 빌드했던 가장 큰 이유는 도커 이미지 저장소가 마땅하지 않았기 때문입니다.가장 디폴트로 사용할 ..