분류 전체보기

· Java
런타임 데이터 영역자바 가상 머신 런타임 데이터 영역의 일반적인 형태 ( 개념모형 )PC 레지스터 (Program Counter Register)각 스레드 마다 고유한 PC 레지스터를 가지며, 현재 실행 중인 바이트코드 명령어의 주소를 가리킨다.예외 처리, 스레드 복원 같은 모든 기본 기능이 pc 레지스터를 활용해 이뤄짐Java 메서드와 네이티브 메서드를 구분하는 역할을 하며, Java 메서드가 실행중이면 명령어 주소를 가리키고 네이티브 메서드가 실행중이면 PC 레지스터가 비어있다.스레드 프라이빗 : 스레드 전환 후 이전에 실행하다 멈춘 지점을 정확하게 복원하기 위해 스레드마다 고유한 pc가 필요함에서 OutOfMemoryError 조건이 명시되지 않은 유일한 영역자바 가상 머신 스택 (Java Stac..
· Java
EnumMap의 발견이번 로또 미션을 진행하던 중 EnumMap이란 것을 알게되었습니다.저는 Map이라 하면 당연히 HashMap을 사용해야하는 것인 줄 알고 이번 미션에도 당연히 사용하고 있었습니다. 그런데 다른 크루들의 코드를 보니 EnumMap을 사용하더군요.. 그래서 오늘은 EnumMap이 뭔지 왜 다들 사용하는지 왤케 핫한지 알아보도록 하겠습니다 🧐EnumMap이 뭐야? 🤷‍♂️보통 Map 이라 하면 key와 value를 가지는 자료구조를 뜻합니다. 그런데 앞에 Enum이 붙으면 어떻게 될까요?EnumMap 구현 코드에 들어가보면 다음과 같이 설명됩니다.A specialized Map implementation for use with enum type keys. All of the keys ..
· Java
사건 발생 🔥Lotto 미션 중 로또 넘버를 생성하는 로직이 필요했습니다. 그래서 저와 알린은 로직을 다음과 같이 구성했습니다.public class LottoNumberGenerator { private static final int LOTTO_MINIMUM = 1; private static final int LOTTO_MAXIMUM = 45; private static final int FROM_LOTTO_INDEX = 0; private static final int TO_LOTTO_INDEX = 6; private static final List originLottoNumbers; static { originLottoNumbers = IntStrea..
· Java
final 무엇인가?In the Java Programming language, the final keyword is used in several contexts to define an entity that can only be assigned once. - wikipedia= final 은 최종적이라는 의미를 가진다. final (Java) - WikipediaFrom Wikipedia, the free encyclopedia Keyword in the Java programming language In the Java programming language, the final keyword is used in several contexts to define an entity that can only b..
· Book
총점 : ⭐️⭐️⭐️⭐️오랜만에 꺼내 읽은 자기계발서좋은 커리어를 밟기 위해서 필요한 것은 무엇인가를 알려준다.세상에 헛된 일이란 없다. 직진이 아닌 다양한 방면으로 능력을 쌓아가자커리어를 계획하고 설계하는 단계를 자세하게 설명해줌. 해당 책에서 이야기하는 커리어 설계법을 실행해보면 내가 쌓아왔던 것을 돌아보고 앞으로 나아갈 방향을 잡는데 도움이 될 것 같다.직보다 업이 중요한 시대라며 좋은 커리어를 쌓아가기 위해 직에 취하지 말고 업에 집중하자.왜 일을 하는가 생각해보게 하는 책. 나에게 일이란 무엇일까요약1부. 커리어 이해하기행운을 부르는 다섯 가지 요인은 호기심, 낙관성, 끈기, 융통성, 위험 감수다 -p20인생을 살아가는데 행운또한 중요하다. 나 또한 지금의 직장을 가지기까지 무수한 행운이 따라왔..
· Book
총점 : ⭐️⭐️⭐️약간은 불량식품 같은 책. 자극적인 목차로 이목을 끈 뒤 수습하는 전개로 이어짐C#이 예제로 많이 나와 뇌 인터프리팅을 거쳐서 이해해야함. 익숙하지 않은 언어라 낯선 느낌이 듦. 또한 .NET 환경의 도구들을 설명하기 때문에 이해안되는 부분도 종종 있었음가벼운 느낌의 책인 줄 알았으나 후반부에는 생각보다 조금 더 깊게 다뤄 어렵게 느껴지는 부분도 있었음주로 개발자로써의 마음가짐에 대해서 조언을 해주는 듯 함개발계에 통용되는 어떤 무언가가 있다면 이것을 맹신하지 말고 의심하는 자세가 필요. 때로는 반대로 하는 것이 좋을 때도 있음 ( = 모든 내가 처한 상황에 맞게 유도리있게 하는 자세가 필요하다 )요약1장. 거리로여러분이 코드를 저장소에 올린 후에는 이제 모든 사람의 코드가 되기 때문..
· Life
4년 동안 바라고 준비해 왔던 개발자가 되었고 벌써 1년이 지났다. 올해 무슨 일이 있었는지 무슨 생각을 주로 했는지 돌아보며 한 해를 시작해보려 한다.  WORK 💼검색과의 만남 처음에 검색팀으로 배정을 받았을 때 깜짝 놀랐다. 검색을 해야겠다 생각해 본 적도 없고 지원 시 지망에도 적지 않았던 터라 당황했다. 그래도 바라던 회사에 붙었으니 감사하게 생각하며 들어왔다. 그리고 친하던 우테코 동기와 함께 같은 팀에 들어와서 좋았다. 😋 입사하고 처음 3달 동안은 파일럿 프로젝트만 진행했다. 우리가 실제 업무에서의 시스템과 비슷하게 작은 미니 검색 시스템을 만드는 파일럿 프로젝트였다. WebFlux, Batch, ElasticSearch 등 개발자를 준비하던 때에는 접해보지 못했던 키워드들이 쏟아졌다...
· Life
최근에 GPT4 에 Logo creator 라는 것이 생겼다. 그래서 한번 써봤다. 어떤 로고를 만들지 설정하는 것 같다. 로고의 분위기나 디테일 정도, 그리고 텍스트 포함 여부나 로고 유형을 고르라고 한다. 과연 어떤 결과를 내줄지?? 귀여운 공룡 마스코트가 나왔다. 꽤나 잘 뽑아주는 것 같아 흡족하다. SEEACHNG 은 뭐지 싶지만 (아마.. SEARCHING 인듯 ) 몇 가지 키워드를 검색해본 결과 아주아주 로고를 귀엽게 잘 만들어준다. 내친김에 나를 상징하는 키워드들을 넣어서 나만의 마스코트를 만들어보았다. 고향에서 기르는 라운이를 나타내는 샴고양이와 나의 좌우명 우공이산 그리고 검색.. 과연 어떤 로고를 만들어 줄지 기대했다. 엄청 고퀄리티의 로고가 나와버려서 놀랐다. 나는 좀 더 심플한 로고..
머리말 검색 서비스를 운영하다 보면 대량 데이터를 색인해야 할 일이 잦습니다. 저희 팀에서도 대량의 데이터를 매일 새벽에 인덱싱을 하는 작업(팀 내에서는 풀인덱싱이라고 함)을 진행하며, 가끔 데이터를 옮기기 위해서 리인덱싱 작업도 진행하죠.대량의 데이터를 색인하는 일은 매우 무겁고, 오래 걸리는 작업입니다. 그렇기에 작업을 하다 보면 성능, 효율성 등에 대한 고민들이 생기는데요. 오늘은 대량 데이터를 색인할 때 사용할 수 있는 몇 가지 테크닉들을 소개해보려고 합니다. bulk Request 사용하기성능을 위해 작은 여러 연산을 처리하기 보다 하나의 큰 연산으로 만들어 처리하는 테크닉은 서버 개발 여러 곳에서 자주 활용되는 테크닉이죠. ES에서도 이런 기능을 제공하는데요, 바로 Bulk API 입니다.Bu..
· Life
동기개발자가 되기로 생각하게 된 것은 2018년 겨울 즈음입니다. 당시 군 복무 중이었던 저는 말년병장의 패시브인 '진로에 대한 고민'을 하게 되었습니다. 제 부대에는 공부연등 시간이 있었는데, 취침시간인 밤 10시부터 12시까지 야간에 공부를 할 수 있는 시간을 부여해 주는 것이었어요. 매 공부연등 시간 동안 저는 자기 계발서를 읽기 시작했어요. 주로 독서, 성공에 대한 자기 계발서였어요. 책을 읽지 않은지 꽤 된 터라 쉬운 책부터 빠르게 읽어나가기 시작했었는데요. 지금 당장 생각나는 것은 '갈매기의 꿈', '독서천재가 된 홍대리' 요정도네요. 자기 계발서를 하나 둘 읽으면서 '사람들은 저마다 목표를 가지고 있구나.. 목표를 가지고 있는 사람이 꾸준히 노력해서 성취하는 사람이 되는구나'라는 생각을 하게..
DEV로마
'분류 전체보기' 카테고리의 글 목록