본문 바로가기

관심사

Optimizing Java (자바최적화): JVM, 운영체제, 하드웨어 JVM이란?스택 기반의 해석 머신이다. 물리적 CPU 하드웨어 레지스터는 없지만,일부 결과를 스택에 보관하며, 스택의 위에 쌓인 값을 가져와 계산한다.JVM 인터프리터의 기본 로직평가 스택을 이용해 중간값을 담아두고, 가장 마지막에 실행된 명령어와 독립적으로 프로그램을 구성하는 명령 코드를 순서대로 처리한다. while 루프 안의 switch 문 같은 방식이다.실행 순서java helloWorldOS가 가상 머신 프로세스 (자바 바이너리)를 구동한다.자바 가상환경이 구성되고, 스택 머신이 초기화 된다.자바 프로세스가 새로 초기화되면, 클래스로더가 차례로 동작한다.부트스트랩 클래스로더 실행자바 런타임 코어 클래스 로드다른 클래스 로더가 시스템에 필요한 클래스를 로드할 수 있는 최소한의 클래스를 로드한다.예..
NotebookLM: AI 시대에 원서 개발 서적 읽기 발단NotebookLM으로 알아보는 프롬프트 작성 팁 을 읽고, Notebook LM을 알게 되었다. 그동안 책을 읽기가 부담스러웠던 Object-Oriented Reengineering Patterns를 읽는 데에 활용해봤다. 그런데 사용성이 좋아, 원서 개발 서적을 읽는 부담감이 줄어들 것 같단 생각이 들었다. 그래서 후기를 작성해보고자 한다.  NotebookLM이란?구글 제미나이를 기반으로 한 연구/글쓰기 도우미 서비스이다.  NotebookLM 칭찬 무료다. 360 페이지 분량의 PDF 파일을 비교적 빠르게 인식했다. 스타트업의 무료 요약 AI 서비스를 사용했을 때는 PDF 파일 용량이 크면 오류가 났다. 그런데 이건 파일 분석부터 매끄럽다. 글 요약 AI 프로그램을 몇가지 사용했을 때, 실제로..
Object-Oriented Reengineering Patterns: 객체 지향 리엔지니어링 패턴 Object-Oriented Reengineering Patterns을 읽고 정리하자.(1) 리엔지니어링 패턴리엔지니어링 패턴이란?기존 소프트웨어 시스템, 즉 레거시 시스템을 개선하고 현대화하기 위한 검증된 방법을 제시하는 것을 말한다.리엔지니어링 패턴 기술문서 양식Name (이름)동료와 의논하기 쉬운 이름의 형태로 짓자.Intent (의도)패턴의 핵심을 간결하게 전달하는 것이 목적이다.현재 상황에 적용 가능한지 여부를 판단할 수 있다.Problem (문제)해결하고자 하는 특정 문제 상황을 제시한다.독자가 자신의 상황에 패턴을 적용할 수 있는지 판단하는 데 도움이 된다.Solution (해결책)문제에 대한 구체적인 해결 방안을 제시한다.여기에는 디자인 원칙, 리팩토링 기법, 코드 예제 등이 포함된다.Re..
<유영경님> 개발자를 위한 글쓰기 가이드 기술블로그 포스팅 및 서면 업무 요청/문의에 유용한 책이다. 목차만 잘 기억해둬도, 글의 전달력을 높일 수 있겠다는 생각이 들었다. 책의 문장도 간결하여, 머리에 쏙쏙 들어온다.  ✍🏻 밑줄 그으며 책읽기1. 요점만 말하기: 역피라미드 방식2. 제목에 요점을 담기예시ID으로 주문 검색하기 3. 문장 하나에는 주제를 하나만 쓰기4. 객관적인 근거 대기예시1. 레디스 캐시를 사용하면 응답시간이 200ms 감소한다. 2. ISMS 인증을 받기 전까지 보안 시스템을 바라보는 시선이 좋지 않았다. 5.  전문용어는 독자에 맞게 사용하기 예시1. 사용자 입력 값이 잘못되었을 때 나타나는 오류 코드입니다.2. 서비스 기술 문의 담당자는 백엔드팀 소속입니다.6. 용어와 약어를 쓸 때는 풀이를 쓴다. 웹 문서인 ..
<타냐 라일리> 개발자를 넘어 기술 리더로 가는 길: 성공적인 프로젝트 실행력+조직차원의 레벨업 ✍🏻 밑줄 그으며 책읽기대규모 프로젝트 진행일반적으로 프로젝트가 어려운 이유는 기술의 경계를 넓혀야 하기 때문이 아니다. 모호한 업무 방향, 복잡한 인간관계, 예측 불가의 레거시 시스템을 다루기 때문이다. 5.1 프로젝트 진행 프로세스스태프 엔지니어는 프로젝트가 공식적으로 시작하기 전에 업무를 시작한다. 프로젝트 시작 전에 압도적으로 느껴지는 일들을 미리 살펴보아야 한다. 5.2.1 새로운 프로젝트의 압박감을 극복하는 방법기존 프로젝트에 새로운 인력으로 투입된다면 투입 전에 고려해야하는 부분이 많다. 대규모 프로젝트를 시작할 때, 프로젝트에 압도당하는 것은 정상적인 일이다. 모든 것을 탐색할 수 있는 지도를 머릿속에 제대로 구상하기 위해 많은 시간과 에너지가 필요하다. 심지어 초기에는 프로젝트를 감당하..
<타냐 라일리> 개발자를 넘어 기술 리더로 가는 길: 빅 피처 관점의 사고력 ✍🏻 밑줄 그으며 책읽기 스태프 엔지니어의 역할 빅피처 관점: 가능한 것들을 이해하고, 좋은 판단력을 지니는 것 성공적인 프로젝트 실행력: 내놓은 해결책이 실제로 문제를 해결할 수 있어야한다. 롤 모델 역할: 공유하는 의견이 코드와 아키텍처를 실제로 더 좋게 만들어야 한다. 제안한 의견이 옳아야하기 때문이다. 기술적 지식은 모든 스태프 엔지니어의 기본 소양이기 때문에, 해당 역량을 키우기 위해 지속적으로 노력해야 한다. 필요한 리더십 역할 커뮤니케이션 및 리더십 복잡한 문제 탐색하기 업무상 관점 제시하기 멘토링, 후원, 위임하기 다른 사람들이 관심을 갖도록 문제 구성하기 리더가 아니어도 리더처럼 행동하기 빅 피처 관점의 사고력 왜 스태프 엔지니어인가? 시니어 단계에서 꾸준히 자기 계발을 지속하면 '기술..
<김용욱> 마이크로서비스 아키텍처 구축 가이드: 제공자와 사용자 관점에서 살펴본 REST API 종류 Note. 난 토스가 국내에서 OpenAPI 사용 가이드를 가장 잘 작성한 업체라고 생각한다. 용어사전, 케이스 별 응답, 상태 다이어그램을 잘 정리해둔게 인상깊었다. (토스 페이먼츠 가이드 사례 링크)
<마이크 아이작> 슈퍼펌프드 가끔 초기 스타트업에서 일하고 싶어질 때가 있다. 그럴 때는 스타트업과 관련된 콘텐츠를 보고는 한다. 이런 배경으로 드라마 '슈퍼펌프드: 우버전쟁'을 접하게 되었다. 드라마를 재미있게 보고 난 이후, 원작을 찾아보게 되었다. ‘슈퍼펌프드’는 우버 창업자인 트래비스 캘러닉의 이야기를 담고 있다. 우버를 창업하기 전에 있었던 몇 차례의 창업 경험과 가치관 우버에서 추구한 가치관과 위기를 해결한 에피소드 우버의 위기 크게 이런 순서로 우버의 비하인드 스토리를 써내려간다. 이 책은 우버의 경영 문제를 추적하던 한 기자가 취재를 통해 얻어낸 정보를 기반으로 작성한 글이다. 우버는 캘러닉의 세번째 창업 회사였다. 그는 대학시절, 스카워라는 P2P 회사를 친구들과 창업했었다. 그러나 저작권 문제로 인하여 회사를 폐업..