전체 글

서버 개발자, 커뮤니티 빌더의 이야기가 궁금하신분!
안녕하세요! 서버 개발자로 일하고 있는 진태양입니다. 저는 회사 업무 외에도 개발 관련 교육 및 콘텐츠 제작 등 다양한 활동을 하고 있습니다. 그 과정 속에서 다양한 사람을 만나며 각자의 기준과 관점을 공유하고, 서로에게 소중한 피드백을 주고 받는 과정 자체를 즐기고 있습니다. 평소에는 1:1 메시지로 제가 먼저 커피챗 요청을 드리는 편이었으나 아무래도 모든 분들에게 전달되기가 힘들다 보니, 이렇게 공개(?) 커피챗 제안서를 작성해보게 되었습니다. 저의 과거 n년을 요약하면 다음과 같습니다. 1. 중학교 2학년 재학 시절 개발을 시작하였고, 약 1년 뒤에는 혼자서 연매출 천만원 이상을 발생시키는 소프트웨어 사업을 해보았습니다. 2. 게임이 너무 좋아서 고등학교 3년 내내 C++ 기반 게임개발 공부를 하며..

IT 엔지니어 커리어 백과 #1 - 하나에 집중하기 vs 넓은 경험하기
들어서며 안녕하세요, 개발자 진태양입니다. IT 엔지니어 커리어 백과는 블로그 주인장이 다양한 사람을 다양한 경로를 통해 만나며 받은 질문, 했던 질문, 전해 들은 질문 중에서 자주 반복되는 것들을 나름의 기준과 가치관에 따른 생각을 나열하는 시리즈입니다. 이 시리즈에서 다루는 내용이 정답은 아니니, 참고만 하시길 바랍니다. Reference: 대기업, 중견기업, 중소기업, 스타트업 등 다양한 기업의 CEO, CTO, CIO, CISO, Tech Lead, Staff Engineer, Principal Engineer, Senior Engineer, Mid-Level Engineer, Junior Engineer, 취업준비생 등 약 500명(2023년 1월 기준) How: 온오프라인 멘토링, 커리어 상담..

Java Compiler Optimization
시작하며 프로그래머가 작성한 자바 소스 코드가 실제로 실행되기까지는 꽤나 복잡한 과정을 거치게 됩니다. 자바 소스 코드를 바이트 코드로 변환 변환된 바이트 코드를 JRE(Java Runtime Environment)에 적재 JRE는 실시간으로 런타임에 기계(컴퓨터)가 이해할 수 있는 형태로 변환 후 실행 1번은 javac를 이용한 '컴파일' 행위이며, 2번은 컴파일된 결과물(.jar)을 java 런타임으로 실행하는 것이며, 3번은 얼핏 보았을 땐 인터프리터의 동작 방식과 유사합니다. 이번 게시글에서는 자바 컴파일의 각 과정에 대해서 간략하게 다루어 보고 그 과정 속에서 컴파일러가 자체적으로 어떤 최적화를 하며, JVM Option으로 컴파일러를 최적화할 수 있는 몇 가지 방법에 대해 이야기합니다. Jav..

내가 개발 커뮤니티를 하는 이유 (a.k.a 10년 회고)
시작하며 안녕하세요, 개발자 진태양(Heli)입니다. 어느덧 벌써 12월입니다. 슬슬 2022년 회고를 작성해볼까 고민하던 시점에, 문득 1년 회고가 아니라 10년 회고를 해보고 싶어졌습니다. 왜 10년이냐고요? 사실 10년 자체에 어떤 의미가 있지는 않습니다. 그냥 제가 개발에 처음 관심 가지게 된 것이 거의 10년 전이기 때문입니다. (정확히는 곧 13년인데 이뻐 보이려고 10년으로 추렸습니다.) 이번 글에서는 개발을 처음 알게 된 시점부터 현재까지의 제 이야기를 회고 형식으로 풀어내며 제가 개발 커뮤니티를 하는 이유에 대해 나눠보고자 합니다. 상당한 장문이 예상되기에 글을 크게 다듬지 않고 빠르게 초판을 먼저 발행해보려 합니다.(글을 다 쓰고 보니 거의 8시간에 걸쳐 썼네요.) 그렇기에 지속적으로 ..

Google Calendar API 분석 및 시스템 구축 전략
들어서며 구글 캘린더는 전 세계적으로 널리 사용되는 캘린더 애플리케이션입니다. 그러다 보니 캘린더를 읽고 새로운 이벤트를 작성하는 데 이용할 수 있는 RESTful API인 Google Calendar API가 함께 제공되고 있습니다. 이번 글에서는 이러한 구글 캘린더 API의 주요 기능을 이해해보고, 관련된 시스템을 구축한다고 하였을 때 도움 될 만한 몇 가지 전략을 공유합니다. 유즈케이스 모든 팀원이 공통으로 가능한 시간을 찾아 회의 시간 후보를 제안하는 가상의 애플리케이션을 만든다고 생각해보겠습니다. 그러기 위해서는 모든 팀원이 각자의 구글 계정으로 로그인(OAuth)하고, 캘린더와 관련된 정보를 애플리케이션에 제공하겠다는 동의를 해야 합니다. 그 후에는 회의 시간 후보를 추천 받고 싶을 때마다 버..