
HTTP Message, Entity HTTP Message는 서버와 클라이언트가 HTTP 통신 내에서 서로 주고받는 데이터를 의미한다. 보통 클라이언트에서 서버로 '요청'하는 메시지를 HTTP Request Message라고 하고, 반대로 서버가 클라이언트에게 응답하는 메시지를 HTTP Response Message라고 한다. Entity는 HTTP Message의 일부라고 생각하면 된다. 여러 외부 자료에서 HTTP Message가 컨테이너면 Entity는 화물이라고 비유하고 있다. Entity는 Request/Response Payload를 이루는 Raw data이다. Response header 중 Content prefix가 붙은 것들은 Entity를 표현하는 용도이다. ETag ETag는 En..

git revert에 대해 commit 을 잘못한 경우 git commit을 잘못남겼을 때, 보통 어떻게 하는가? 나는 보통 git reset 또는 git rebase 를 통해 commit을 제거(drop)했고, 이를 force push (--force)함으로써 branch를 관리했다. 하지만 이 방식은 협업 시, 문제를 초래할 수 있다. (로컬에서만 사용하는 것은 문제 없음) force push 된 branch에서 작업하던 다른 사람들은 pull 시에 충돌(Conflict)이 발생할 수 있고, 이를 해결해야 한다. 이를 방지하기 위해서는 작업하던 사람들이 사용하던 branch 내역을 지우거나 백업해두고 pull 해야만 한다. 혹은 pull 받을 때 충돌없이 알아서 rebase 될 수 있는데, 이게 협업..
Spring boot - API Versioning API를 개발하다보면 API 버전에 대한 생각을 하게 된다. 버저닝(Versioning)을 하지 않으면 input/output이 변경되었을 때 이를 사용하고 있던 클라이언트에게 제대로 서비스할 수 없기 때문이다. 이러한 API Versioning을 하기 위해 지금까지 단순히 URI에 version을 명시하는 방향으로만 진행해왔는데, 더 다양한 방법이 있어 이를 정리해놓고자 한다. 모든 예제코드는 아래 Repository를 참고하자. GitHub - KimDoubleB/spring-learning: 🌱 •̀.̫•́✧ 🌱 •̀.̫•́✧ . Contribute to KimDoubleB/spring-learning development by creating a..

Javascript에서 물음표(?)가 사용되는 경우가 많은데, 이게 다른 언어와 조금 차이가 있어 헷갈려 정리해놓고자 한다. 삼항연산자로서의 ? 이 부분은 다른 언어와 유사한 부분이다. 삼항연산자로 ? 를 사용할 수 있다. const text = isRed ? 'Yes, This is RED!' : 'No, Something else'; ? {true} : {false} 형태로 사용된다. 널 병합 연산자로서의 ?? 널 병합 연산자(Nullish coalescing operator)로 ?? 가 사용된다. 단어가 어려워보이지만 사실 간단하다. 왼쪽 피연산자가 nullish(null 또는 undefined)일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환한다. const foo = nul..

How Figma's multiplayer technology works를 번역한 글입니다. Overview 2015년, 멀티 플레이어 기능을 솔루션에 도입하고자 함. 다른 디자인 툴들에서는 이 기능이 없었던 상황이고, 구글 독스에서 사용하는 멀티 플레이어 알고리즘의 표준격인 Operational Transforms (OT)를 사용하고 싶지는 않았음. 빠르게 피쳐를 전달해야하는 우리 시스템에 OT는 불필요하게 복잡했음. 그래서 더 심플하고 사용하기 쉽게 새로 만들고자 함. 주변에서 멀티 플레이어 기능에 대한 부정적인 의견이 있었지만, 진행했음. 이 기능을 통해 export, sync, email copy 등의 작업을 제거할 것이고, 더 많은 사람들이 디자인 프로세스에 포함될 수 있을 것이라고 생각. 단순..

개요 / 문제 기존에 Spring fox를 사용하다가 deprecated 되어 springdoc openapi를 도입하게 되었습니다. Swggger 인터페이스는 두 라이브러리 다 맞추고 있었기에 의존성 교체와 몇가지 수정만으로도 대체가 가능했는데요. 근데 막상 개발서버에 배포를 해보니 다음 사진처럼 Failed to load remote configuration. 메시지와 함께 Swagger 실행이 불가능한 문제가 발생했습니다. 뭔가 요청이 제대로 전달되지 않은 것 같아 Chrome 개발자 도구로 확인해보니 Swagger 리소스에 대한 접근이 제대로 되지 않고 있는 것을 발견했습니다. 위 문제를 해결하기 위해 이슈를 찾기 시작했습니다. 원인 파악하기 1. swagger-config 접근 허용하기 제가 운..

사이드 프로젝트를 Spring boot 3.0으로 migration 하면서 정리한 글. 아주 러프하게 정리했다. - 다음에 Spring boot migration 3.0 문서를 번역해야겠다는 생각이 ... javax package name 변경 javax → jakarta IntelliJ에서 import javax. 을 import jakarta. 로 전체 replace하면 편하다. (검토필요) 왜? Java EE는 오라클에서 이클립스 재단으로 이관되었었음. 오라클이 JavaEE 프로젝트는 이관했지만, Java 상표권은 여전히 보유하고 있었기에 Java naming의 namespace 사용에는 제약이 있음. 이로 인해 Java EE는 Jakarta EE로, API package명은 javax.에서 jak..
- Total
- Today
- Yesterday
- Clean Architecture
- Istio
- Kubernetes
- 로그
- java
- 알고리즘
- 하루
- container
- 비동기
- k8s
- 일상
- 클린 아키텍처
- docker
- MySQL
- python
- OpenTelemetry
- Spring
- 쿠버네티스
- 백준
- Algorithm
- Spring boot
- gradle
- Log
- Intellij
- WebFlux
- boj
- jasync
- tag
- c++
- HTTP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |