
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..

M1 Mac 환경에서 podman 사용한 내용을 정리해보고자 한다. 다음에 까먹으면 다시 보기 위해서… 사실 docker 사용법을 안다면 거의 똑같다고 봐도 될 것 같다. 그냥 설치 및 초기설정 몇가지 방법만 다르다. 그렇기에 다 설치완료가 되면 아예 podman을 docker로 alias 설정해두고 사용하는 경우가 많은듯하다. podman 설치 brew 기반으로 설치했다. $ brew install podman $ brew install podman-compose # for docker-compose $ brew install podman-desktop # for docker d 초기 설정 Mac에서는 podman client/server로 나뉘어 동작하는 것으로 보인다. 이에 machine을 초기화,..
최근에 Spring boot를 활용한 프로젝트를 보면 MyBatis(SQL Mapper)보다 JPA(ORM)/Hibernate/Spring data jpa를 사용하는 사례가 더 많은 것 같다. JPA, Hibernate, Spring data jpa를 모르는 분은 구글에서 찾아보길 바란다. 이후에는 JPA라고 약칭하겠다. Query Logging JPA/Hibernate를 사용하면 Query를 직접 작성해 활용하는 것이 아니기에 어떤 Query들이 구성되고 사용되고 있는지 확인하기 어려울 때가 있다. 그래서 이를 로깅 (Logging)을 통해 확인할 수 있도록 지원하고 있다. 근데 많이 알려진 방법이 좋지 않을 뿐더러 쿼리 결과도 정확히 나오지 않아 다른 방법을 제시하고자 한다. 일단 많이 알려진 방법대..
최근에 서비스 개발 코드들을 보면서 옛날 클래스 네이밍/아키텍처 패턴을 보고 있습니다. 예를 들어 DTO, DAO 같은 것들 말이죠. 대략적으로는 알지만, 오랜만에 봐서 그런지 헷갈려 정리해놓고자 합니다. 이 글에서는 일반적으로 이런 역할을 가진다라고 이야기하지만 무조건 적인 것은 아닙니다. 변질된 사례도 많고, 구현하는 사람마다 이해하는 바가 다르기 때문입니다. 그리고 개인적인 의견입니다만 최근에는 여기서 말하는 모든 네이밍/패턴은 많이 사용되지 않는다고 생각합니다. 여러 다른 프레임워크/구현체(ex. JPA/Hibernate 등)들이 어느정도 많이 사용되면서 다른 명명 패턴/추상화(ex. Repository 등)를 사용하고 있기 때문입니다. 하지만 그럼에도 팀 및 정해진 인원들이 어느정도 정해진 컨벤..

이번 글에서 R2DBC, Spring data r2dbc를 사용해 Join을 다뤄보자. 학습 기록용. 피드백은 언제나 환영입니다. 사용한 모든 예제코드는 github을 참고해주세요. 이전 글 R2DBC를 사용해보자 (1) - 왜 사용할까? 이번 글에서 R2DBC란 무엇이고, 왜 사용하고, 어떻게 사용했는지 경험에 대해 이야기해보고자 한다. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) R2DBC는 언제 사용할까? Reactive Programming binux.tistory.com R2DBC를 사용해보자 (2) - CRUD를 만들어보자 이번 글에서는 R2DBC, Spring data r2dbc를 사용해 코드를 작성해보자. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) 사용한 모든 예제코..

이번 글에서는 R2DBC, Spring data r2dbc를 사용해 코드를 작성해보자. 학습 기록용. 피드백은 언제나 환영입니다. 사용한 모든 예제코드는 github을 참고해주세요. 이전 글 R2DBC를 사용해보자 (1) - 왜 사용할까? 이번 글에서 R2DBC란 무엇이고, 왜 사용하고, 어떻게 사용했는지 경험에 대해 이야기해보고자 한다. 잘못된 내용이 있으면 피드백은 언제든지 환영입니다 :) R2DBC는 언제 사용할까? Reactive Programming binux.tistory.com 예제 환경은 다음과 같다. Java: JDK 17 Build tool: Gradle Database: MySQL Dependency 사용하기 위해서는 의존성을 먼저 추가해주어야 한다. 데이터베이스에 맞는 R2DBC d..
- Total
- Today
- Yesterday
- Kubernetes
- 백준
- 알고리즘
- 로그
- java
- Spring boot
- 쿠버네티스
- Log
- Clean Architecture
- Algorithm
- jasync
- k8s
- 하루
- OpenTelemetry
- MySQL
- WebFlux
- 클린 아키텍처
- Intellij
- docker
- container
- HTTP
- Spring
- 일상
- 비동기
- gradle
- python
- boj
- Istio
- tag
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |