목록글또 (22)
영주의 개발노트

현재 일하고 있는 도메인 특성상 Elasticsearch를 사용할 일이 많다. 이번 기회에 Elasticsearch의 주요 데이터 타입들과 타입들의 특징을 정리해보고자 한다. 자세하고 깊게 파는 것은 아니고 대략적인 내용을 정리하고자 한다. 상품 ID 필드 추가 작업 중 해당 type을 text로 지정하였고, 필터 적용을 하려면 type이 long이나 keyword 여야 한다는 리뷰를 받은 적이 있다. 정확히는 exact match 되는 document를 찾기 위해서는 keyword나 long 타입으로 인덱싱 해야 한다는 내용이었는데, 당시에는 개발하느라 수정만 하고 제대로 이해하지 못하고 넘어갔었다. 이와 같은 상황이 발생하지 않도록 ES 데이터 타입에 대해 정리해보고자 한다. 우리는 왜 데이터 타입에..

최근 코드 리뷰에서 ‘OOO인 게 좀 더 코틀린스러운 코드입니다.’라는 피드백을 받은 적이 있다. 코틀린에 대해 공부해 본 적이 없는 난 이 리뷰를 받고 아래와 같은 생각이 들었다.코틀린스럽다는 게 뭐지? 🤔코틀린이 지향하는 바를 알아야 '코틀린스럽다'는 의미를 명확하게 파악할 수 있을 것이라고 생각했다. 그러기에 이에 대해 공부해보기로 했다. 코틀린스럽다?코틀린은 기존 자바보다 더 간결하고 안전하며 직관적인 코드 작성을 목표로 설계된 언어이다. 그렇기에 '코틀린스럽다'라는 개념은 코틀린의 지향점과 주요 기능을 적극 활용하여 코드의 가독성과 효율성을 극대화하는 것을 의미한다. 코틀린스러운 코드로 나아가기 위해 코틀린의 핵심 원칙을 자바 언어와의 차이와 함께 정리해보고자 한다. 원칙 (1): 간결함과 ..

gRPC와 Protocol Buffers에 대해 알아보자 (1)현회사는 gRPC를 통해 내부 마이크로 서비스 간의 통신을 하고 있다. gRPC라는 것을 처음 들어본 나에게는 굉장히 생소한 개념이라 나와 같이 처음 접하는 사람들에게 도움이 되었으면 하는 바람0juuu.tistory.com지난번에 gRPC에 대해 알아보았다. gRPC는 원격 프로시저 호출 프레임워크로, 서로 다른 서비스들이 통신하기 편리하도록 만들어주는 도구이다. gRPC는 서비스 간 데이터를 전송할 때 Protocol Buffers(이하, ProtoBuf)라는 데이터 포맷을 사용한다. 오늘 다뤄볼 내용은 데이터 포맷인 Protol Buffers이다. ProtoBuf 란 무엇인가구글이 만든 데이터 직렬화 포맷으로, 데이터를 효율적이고 빠르게..

2025를 맞이하는 이 시점에 벌써 작년이 된 2024년 회고를 하겠다. ‘개발 혹은 일 관련 내용만 적을까?’ 라고 고민하다가 이 회고말고 달리 회고를 진행할 것 같지 않기에 그냥 모든 걸 적어보려한다.어렸을 적에는 “올해도 너무 빨리 지나갔어~” 라는 어른들의 말이 이해가 되지 않았다. 어릴 땐, 모든 것이 새롭고 감정이 요동치기 때문에 상황에 대해 느끼는 감정이 제각기 다르기에 한 해 중 저장할 포인트가 많아 한 해가 길게 느껴진다는 이야기를 들었던 기억이 있다. 어른이 되어가며 상황들에 놓였을 때 감정을 유지할 수 있고, 많이 겪어봤던 일들이기에 한 해를 돌아보면 기억에 남는 것들이 많이 있지 않아 시간이 빠르게 가는 것처럼 느껴진다고 한다. 어떤 것이 더 좋은 방향이라고 말할 수는 없을 것 같다..

현회사는 gRPC를 통해 내부 마이크로 서비스 간의 통신을 하고 있다. gRPC라는 것을 처음 들어본 나에게는 굉장히 생소한 개념이라 나와 같이 처음 접하는 사람들에게 도움이 되었으면 하는 바람에 이 글을 작성하고자 한다. 이 글에서는 gRPC에 대해 자세히 알아보고, 이후 Protocol Buffer에 대해 알아볼 것이다. gRPC란 무엇인가? 를 알기 전에 🚥🖐️구글에서 개발한 오픈소스 RPC이다. 여기서 잠깐, RPC란 무엇인지 짚고 넘어가자. 많이들 알 수 있지만 RPC가 무엇을 하는지 알아야 gRPC에 대해서도 이해하기 수월할 것이다. 나처럼 RPC를 모르는 사람에게 아래 내용을 바친다. RPC란?RPC는 Remote Procedure Call로 원격 프로시저 호출을 말한다. 네트워크를 통..

🏦 기술 부채 상환 | git merge 와 rebase에 대해 알아보자최근 두고두고 쌓아둔 업보가 거대한 눈덩이로 변해 나를 덮쳤었다. 이 경험을 소개하며 그동안 쌓여온 git에 대한 기술 부채를 조금 갚아보려 한다. mac 세팅 중 사내 문서를 참고하여 아래 명령0juuu.tistory.com지난번에 merge와 rebase 개념에 대해 알아보았다. 이번에는 두 방식의 차이와 내가 겪었던 문제에 대한 원인과 어떻게 해결할 수 있을지에 대해 이야기해보겠다.Mergemerge는 두 개의 브랜치와 합칠 두 브랜치의 공통 조상 브랜치를 기준으로 합치게 된다. 이 과정에서 새로운 병합 커밋이 생성되며, 두 브랜치의 히스토리는 그대로 유지된다.특징 : 브랜치의 전체적인 히스토리가 보존되고, 합쳐지는 이력이 커..

최근 두고두고 쌓아둔 업보가 거대한 눈덩이로 변해 나를 덮쳤었다. 이 경험을 소개하며 그동안 쌓여온 git에 대한 기술 부채를 조금 갚아보려 한다. mac 세팅 중 사내 문서를 참고하여 아래 명령어로 git 세팅을 한 적이 있다. git config --global pull.rebase true한 달이 지난 후 develop 브랜치에서 개발 브랜치를 생성한 후 작업 내용을 반영하고 리뷰를 받았다. 리뷰를 반영하던 중 현 develop 브랜치에는 새로 개발되어 반영되어 있으나 내 개발 브랜치에는 해당 내용이 없어 develop 브랜치의 최신화된 내용을 내 브랜치에 반영해야 하는 상황이었다. 기존에는 pull.rebase를 false로 기본 설정해놓았기에 여느 때와 다름없이 아래 명령어를 실행하였다. 이렇게..

글을 시작하기 전, 개인적인 이야기를 먼저 공유하고자 한다. 최근 이직을 하고 검색 도메인을 다루는 팀에 들어가게 되었다.새로운 회사에 입사했다는 행복도 잠시, 업무라는 큰 산에 맞닥뜨렸다. 기존에는 주문 개발을 해왔던 터라 검색 개발은 나에게 있어 미지의 영역이었고, 어떠한 것을 개발하는지 감이 오질 않았다. 팀 내 문서와 구글을 이용하여 검색개발에 대해 찾아보다 보니 어렴풋이 갈래가 잡히는 듯하여 기존 도메인인 주문 개발과 검색 개발을 비교하고, 내가 느꼈던 변화와 함께 '이런 것에 집중하면 좋을 것 같다.'는 포인트에 대한 글을 작성해보고자 한다. 검색 개발과 주문 개발 비교1. 데이터주문 쪽에서는 트랜잭션이 굉장히 중요했다. 시스템 등의 오류로 주문 쪽에는 데이터가 저장되었는데 결제 쪽에는 데이..

글또 9기를 마무리한 후 약 4개월이 지난 지금, 마지막인 글또 10기에 참여하였다. 10기 첫 시작을 알리는 글인 만큼 그간의 내 행적과 목표 등을 작성하고자 한다. ⭐ 글또 10기 모집 (~24년 9월 22일 23:59까지)⭐ | Notion글또 10기를 모집합니다zzsza.notion.site 우선 이 글을 쓰기 위해 글또 9기 시작과 마무리를 알리는 글을 다시 읽어보았다. 아래 글을 읽으니 첫 글또 활동을 하며 설레었던 내 모습이 새록새록 떠올라 마음이 몽글해진다. 처음 한다는 건 설렘과 긴장을 동시에 안겨주는 것 같다. 2번째 참여이지만 처음인 것처럼 기대감과 설렘을 안고 글또 활동에 임하고자 한다. 글또 9기를 시작하며 (Feat. 글또 OT 후기)글또 9기에 참여하게 되었다. 글또에 대한 ..

작년 12월경, 글또 9기를 시작하게 되었다. 그로부터 6개월이 지난 지금 글또 9기 활동을 돌아보는 회고글을 작성하려고 한다. 수미상관 기법으로 회고 글 시작 🎬 글또 9기를 시작하며 (Feat. 글또 OT 후기)글또 9기에 참여하게 되었다. 글또에 대한 내용은 아래 링크에 자세히 기재되어 있다. 글 쓰는 또라이가 세상을 바꾼다 - 글또 페이지 👋 안녕하세요 :) www.notion.so 본격적인 글또 활동을 시작하0juuu.tistory.com 글또에서 어떠한 활동을 했으며, 내가 이루고자 했던 것들을 얼마나 이루었는지 확인해보려고 한다. 글또에서의 활동이번 글또 9기는 공식적으로는 총 10개의 글을 작성해야했다. 추가로 2회 더 연장되어 만약 모든 글을 쓴다면 총 12개의 글을 쓰게 된다. 처..