본문 바로가기

분류 전체보기

(596)
JAVA <-> gRPC 객체 (feat. Timestamp) # JAVA 객체 -> gRPC Proto 객체 JAVA 객체를 gRPC proto 객체로 컨버팅을 할 때 ObjectMapper 클래스를 사용할 수 있다. 이 ObjectMapper로 JAVA 객체를 Serialize하여 JSON String을 만들고 다시 이 JSON String을 gRPC proto 객체로 해석하는 것이다. MyJavaObj javaObj = new MyJavaObj(); ObjectMapper mapper = new ObjectMapper(); # JAVA 객체 -> JSON String json = mapper.writer().writeValueAsString(javaObj); # gRPC proto 객체의 builder를 얻어옴 Builder builder = MyGrpcPro..
MyBatis Mapper 사용 안하기 (exclude DataSourceAutoConfiguration) Spring-Web-Application 개발을 진행하면서 회사 공통으로 쓰고 있는 JAR 파일을 첨부하게 되었다. 이 JAR 파일에는 우리 개발팀이 공통으로 쓰는 모듈들이 들어가있는데 주로 DB, gRPC, Util 등의 기능들이 포함되어 있다. 공통된 기능을 내가 따로 개발할 필요없이 이미 만들어진 것을 가져다 씀으로써 편리함과 DRY(Don't Repeat Yourself) 를 얻었지만 예상 못한 문제가 있었다. 바로 MyBatis를 포함한 프로젝트는 어딘가에 Mapper 클래스가 존재해야 한다는 것이었다. 헐? 지금 개발하고 있는 Spring-Web-Application은 DB 기능을 사용하지 않는데? 이 Application은 사용자에게 REST API 인터페이스를 제공하고 요청이 들어오면 다른..
축구에서 골이 나올 확률을 계산하려면 Random Forest를 써보자 이 글은 "RANDOM FOREST TUTORIAL: PREDICTING GOALS IN SOCCER"를 읽고 작성한 글입니다. 축구에서 골이 나올 확률을 계산하고자 할때, 유용한 방법으로 Random Forest가 있다. Random Forest를 말하기 전에, 주어지는 데이터를 살펴보면 다음과 같다. 1. 슈팅한 위치와 골대와의 거리 2. 슈팅한 위치와 골대와의 각도 3. 공격팀의 수준 4. 수비팀의 수준 5. 슈팅하는 선수의 포지션(미드필더, 수비수, 공격수, 골키퍼 등..) 우리의 예측 모델은 위의 정보가 주어졌을 때 슈팅이 골로 연결되는지 안되는지 예측한다. Random Forest는 위에서 주어진 정보와 실제 골 여부를 바탕으로 여러 개의 Decision Tree를 실행한다. 각 Decisio..
단어에 사칙 연산을 할 수 있다면..? (feat. Word Embedding Model) 이 글은 "MAPPING GLOBAL CUISINE WITH WORD EMBEDDINGS"를 읽고 작성한 글입니다. 단어에 사칙 연산을 사용할 수 있다면 어떨까? 만약 번화가에서 팔고 있는 타르타르(Tartare)와 비슷한 일본 음식을 찾고 싶다면 우리는 아래와 같은 사칙 연산을 적용해 볼 수 있다. "Tartare" - "America" + "Japan" = ? 잘 훈련된 Word Embedding 모델을 사용하면 위의 결과로 "Sashimi"가 출력된다. 미국의 타르타르와 비슷한 일본 음식은 사시미인 것이다..! Word Embedding 모델은 단어들 사이의 추상적인 관계를 도출하는 도구로 사용될 수 있다. 내부 동작은 3단계로 이루어진다. Step 0. Window Size라고 불리는 목표 단어(..
Vue 템플릿 자동완성 단축키 혹시 Vue 3 Snippet 이 안깔려 있다면 Vue의 자동완성(Emmet)을 지원해주는 Vue 3 Snippet Extension을 깔아주고.. *.Vue 파일에서 "vueinit + [Enter]" 를 하면 아래와 같이 Vue template이 뙇하고 나온다.
Docker Swarm을 띄워보았다 회사에서 Kubernetes 대신 Docker Swarm으로 Orchestration을 하기로 결정되었다. 상대적으로 시간이 여유로운 내가 Docker Swarm을 담당하게 되었다. 여러개의 프로젝트를 Docker Swarm 환경에 띄우면서 겪은 삽질을 기록겸 공유겸 남겨둔다.. #00. 순서 1. docker-compose.yaml 파일로 Docker Image를 BUILD 2. Docker Swarm Manager, Worker 등록 3. Docker Swarm Manager Node에서 Private Repository 구동 4. docker stack deploy 명령을 통해 Docker Swarm 상에 Docker Image들을 구동 #01. docker-compose.yaml 파일로 Docke..
Docker Swarm vs Kubernetes (feat. Container Orchestration) 이 글은 IBM의 Docker Swarm vs. Kubernetes: A Comparison을 읽고 정리한 글입니다. Container Orchestration을 하려면 Docker Swarm과 Kubernetes 중 어느 것을 사용하는 게 좋을까? 우선 Container가 뭔지, Container Orchestration이 무엇인지 정리하고 넘어가자. Container는 우리가 배포하고자 하는 서비스 프로그램(app)과 이 프로그램이 의존하고 있는 모든 의존 프로그램들(dependencies)을 패키지 형태로 묶는 방법을 말한다. 이렇게 프로그램에 필요한 모든 것을 하나의 패키지로 만들면 언제 어디서든 그리고 docker를 지원하는 어떤 Runtime 환경에서든 프로그램을 실행시킬 수 있다. Conta..
예측을 위한 Decision Tree 이 글은 DECISION TREES TUTORIAL을 읽고 작성한 글입니다. 타이타닉과 같은 재앙이 우리를 덮쳤을 때 살아남을 확률은 얼마나 될까? 우리가 만일 어린 아이이거나 여성일 경우 사회적인 통념 상 구원의 손길을 받아 살아남을 확률이 더 높을 것이다. 위급 상황에서는 여성과 아이들의 보호가 우선적으로 중요하기 때문이다. 우리가 살아남을 확률을 알아볼 때 Decision Tree를 사용하는 것이 좋은 선택이 될 수 있다. Decision Tree는 Yes, No와 같이 이분법적으로 대답할 수 있는 질문들로 구성된다. 당신은 남성인가? 여성인가? 당신은 성인인가? 미성년자인가? 와 같이 질문을 하고 그 대답에 따라 전체 데이터 집합을 여러개의 작은 집합들로 나눈다. 그리고 이 질문들을 하면 할수록 ..