Deep Link, Universal Link, App Link를 간단하게 훑어보자. Deep link - 딥링크 모바일 애플리케이션을 자동으로 열어 앱 내의 특정화면으로 보낼 수 있는 링크 앱 연결의 소요 시간을 단축하고, UX를 개선할 수 있음 URL 매개변수를 이용해 토큰/미리 채워진 양식 등의 데이터를 전달할 수 있음 Deep link를 선택하면 iOS: 앱을 열 것인지 묻는 메시지가 표시되거나 Android: 사용할 앱을 묻는 대화상자가 표시되거나 Deep link 주소의 구조는 일반적인 https 구조가 아닌 custom한 링크를 가짐 custom_scheme://host/path?param=x scheme 부분만 다를 뿐 나머지는 https에서 사용하는 주소처럼 동일하게 설정할 수 있음 Un..
이전부터 문제 많던 Enum의 values(). Kotlin v1.9.0에서는 드디어 Enum.values()를 대체하는 녀석인 entries property를 stable feature로 제공한다. 내부적인 구현은 다르지만, 사용하는 법은 values()와 같다고 보면 된다. fun main() { val americaBrand = Brand.entries.filter { it.country == "America" } println(americaBrand) } enum class Brand(val country: String) { SAMSUNG("Korea"), APPLE("America"), GOOGLE("America"), MICROSOFT("America"), } 릴리즈 문서에서는 이제 아예 va..
아래 글을 읽으면서 메모하고 개인적인 생각을 적은 글 최근에 PostgreSQL을 사용해봤는데 뭐가 특별한지 모르겠다고 느끼던 차, 보이길래 읽었다. 그냥 아주아주 단순한 데이터 저장하는 용도로만 써서 몰랐지... 그나저나 사이트 OG image 웃기다 (제목에 딱 어울림) When Did Postgres Become Cool? Craig takes a look at the history of Postgres. From the origins of the project through some of the key production features that make Postgres what it is today. www.crunchydata.com crunchydata 라는 회사에 속한 분이 쓴 글이라 회사..
동시성과 병렬성을 헷갈리지 말자 둘 이상의 코드 조각이 실행될 때 동시성 (Concurrency): 동시에 실행 중인 것처럼 행동하는 것 병렬성 (Parallelism): 실제로 동시에 실행되는 것 동시성을 얻으려면 실행 중의 코드의 다른 부분으로 실행을 전환할 수 있어야 함. Fiber, Thread, Process 등을 이용해 구현 병렬성을 얻으려면 2가지 일을 동시에 할 수 있는 하드웨어가 필요함. 여러 개의 코어, 여러 CPU, 네트워크에 연결된 여러 대의 컴퓨터 등을 이용해 구현 모든 일엔 동시성이 있다 시스템의 규모가 어느정도 넘어가면 동시성을 고려하지 않고 코드를 작성하는 것이 거의 “불가능”함 코드 짤 때 이런게 잘 안보인다면, 라이브러리/프레임워크 안에 숨겨져 있는 경우일 것 실제 세상이..
Spring에서의 ETag Spring에서도 ETag를 손쉽게 사용할 수 있도록 지원하고 있다. 그 중 리소스 캐싱에 대한 기능은 여러 API에서 공통으로 사용할 수 있는 기능이기에 Filter로서 지원하고 있다. 충돌 피하기 (Lost update problem)에 대해서는 지원하지 않는 듯하다. 이에 대해서는 뒤에서 더 알아보자. ShallowEtagHeaderFilter class에서 지원한다. GitHub - spring-projects/spring-framework: Spring Framework Spring Framework. Contribute to spring-projects/spring-framework development by creating an account on GitHub. g..
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 될 수 있는데, 이게 협업..
- Total
- Today
- Yesterday
- 쿠버네티스
- r2dbc
- boj
- sidecar
- 하루
- 백준
- Istio
- Intellij
- Algorithm
- 로그
- c++
- container
- gradle
- python
- k8s
- 알고리즘
- 이스티오
- Spring boot
- jasync
- WebFlux
- HTTP
- Spring
- 일상
- 비동기
- Kubernetes
- docker
- tag
- java
- MySQL
- Log
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |