목록전체 글 (34)
영주의 개발노트

글또 10기도 어느덧 이 글을 마지막으로 마무리하게 되었다. 글또를 모르는 분들이라면 아래에서 확인하길 바란다. 글또 - 글쓰는 또라이가 세상을 바꾼다글쓰는 개발자 모임, 글또입니다geultto.github.io9기부터 시작해서 10기까지 약 1년간의 글또 여정을 거치며 내 기준에서 많은 글을 작성했다. (원래 0에서 N까지 가는 것이 제일 어렵고 성장세가 커 보이는 법 ㅎ) 이 활동을 하면서 글감이 막 떠올라 작성할 생각에 설레었던 적도 있고, 마감에 쫓겨 후다닥 작성했던 기억도 있다. 주로 후자가 더 많았던 것 같긴 하다. 글또를 하면서 깨닫게 된 생각 2가지를 공유하고 앞으로의 계획 같은 것도 작성해보고자 한다. 1. 글 쓰는 건 생각보다 어렵지않다이전에는 개발 글을 작성한다 를 굉장히 잘 알고..

최근 프로젝트 진행 중 코루틴 컨텍스트에 대해 잘 알지 못하여 엄청난 삽질을 한 적이 있다. 어영부영 해결법은 알아내서 이슈는 잠재웠지만 제대로 이해하고 싶었다. 그렇기에 지금부터 코루틴을 뽀개보려한다. 여러 글에 걸쳐 차근차근 코루틴부터 코루틴 컨텍스트까지 공부할 것이다. 코루틴이 등장한 이유 💡기존에 우리는 비동기 프로그래밍을 위해 쓰레드와 콜백을 주로 사용했다. 하지만 이 방식들은 각각의 문제를 가지고 있다. 1) 쓰레드 방식의 문제비용이 크다: 쓰레드는 생성과 관리에 많은 리소스를 필요로 한다. 또한, 다량의 쓰레드를 실행하면 시스템 부하가 커진다.컨텍스트 스위칭 오버헤드: 여러 개의 쓰레드가 실행될 때, CPU가 쓰레드 간 전환을 수행하면서 성능이 저하될 수 있다.동기화 문제: 여러 쓰레드가..

최근 이미지 url을 일괄 변환하는 작업을 진행했었다. 이 과정에서 Serialize(직렬화)와 Deserialize(역직렬화)를 이용하여 URL을 변경하였다. 만약 당신이 직렬화와 역직렬화에 대해 잘 알고 있다면 해당 작업이 '뭔가 이상한데? 🤔'라고 생각할지도 모른다. 역시나 팀 내 코드 리뷰에서 "해당 방법은 직렬화/역직렬화의 원칙에서 벗어난다"는 피드백을 받았다. 리뷰를 받은 후 Serialize와 Deserialize의 원리를 다시 고민하게 되었고, 왜 내가 개발한 방법이 원칙에서 벗어난다고 했던것인지 정리해보고자 한다. Serialize와 Deserialize의 기본 원리serialize와 deserialize가 어떤 것인지에 대해 아주 간략하게만 짚고 넘어가겠다. 개념설명Serialize..

현재 일하고 있는 도메인 특성상 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 란 무엇인가구글이 만든 데이터 직렬화 포맷으로, 데이터를 효율적이고 빠르게..