본문 바로가기

개발자4

Java 메모리 영역과 Overflow Java 애플리케이션이 실행될 때, Java Virtual Machine(JVM)은 여러 가지 데이터 영역을 관리한다. 이 글에서는 JVM의 런타임 데이터 영역에 대해 정리해보려고 한다. 적어도 컴퓨터 구조나 JVM, 폰 노이만 구조 등 기초 용어들은 알고 있다는 가정하에 포스팅을 읽기를 바란다.런타임 데이터 영역 정리## jvm에서 program conter registerProgram Counter(PC) 레지스터는 현재 실행 중인 Java 스레드의 다음 명령어의 주소를 저장한다. 각 스레드는 독립적인 PC 레지스터를 가지며, 스레드가 실행될 때마다 이 값을 업데이트한다. 예를 들어 아래 코드가 있다고 하면 jvm 에서는 main 메서드 정보를 program counter register 에서는 ma.. 2025. 1. 23.
Inspecting with ffprobe 이번 포스팅에서는 FFmpeg 패키지에 포함된 유용한 도구인 ffprobe에 대해 간단하게 소개하려고 한다. ffprobe 란?ffprobe는 미디어 파일에서 다양한 정보를 추출하고 표시하는 커맨드라인 도구이다. 비디오의 해상도, 코덱 정보, 오디오 스트림의 채널 수 등의 정보를 간편하게 확인할 수 있다. 좀 더 상세하게 말해보자면 멀티미디어 스트림에서 정보를 수집하여 사람과 기계가 읽을 수 있는 형식으로 출력해준다. 미디어 파일의 컨테이너 포맷, 내부 스트림의 형식과 타입을 확인할 수 있는 강력한 도구다. 설치하는 방법ffmpeg 을 설치하면 자동으로 설치가 된다. 바로 전 포스팅에서 ffmpeg 을 설치하는 가이드를 소개했다. 따라서 이 부분은 생략하겠다. ffprobe 사용 방법 및 예제간단하게 .. 2025. 1. 19.
[네트워크] TCP 통신, Connection Timeout 과 Read Timeout 서론MSA 환경이 많아지고 Orchestration 에서 k8s 를 선택함에 따라 클라이언트와 서버간 TCP 통신 비중이 과거 보다 훨씬 많아지고 있고 있다. 심지어 클라우드 자원을 생성하는 방식 또한 HTTPS 를 표준으로 삼으면서 이제는 훨씬 더 많아지고 있다.  과정에서 효율성을 최대한으로 끌어올리고자 Connection Pool 을 사용하는 라이브러리들이 많아지고 gRPC 까지 등장하고 있다.서버 개발자들은 Observability 를 끌어올리면서 여러 에러들을 관찰하게 되는데 TCP 통신에서 발생할 수 있는 가장 간단한 몇 가지 예외들에 대해서 정리해보고자 한다. 위 내용은 면접에서 간혹 물어보기도 한다. Connection Timeout 이란??TCP 통신에서 3way handshake 에 대.. 2024. 9. 21.
22년, 카카오로 이직하다 22년, 첫 이직을 준비하게 된 이유첫 회사는 삼성전자였다.당시에는 내가 좋아하는 것은 무엇인지, 내가 회사생활을 하면서 목표가 무엇인지, 3/5/10년 뒤 어떤 모습이 되어있을지를 상상해보면서 힘차게 회사생활을 했었다. 나름에 목표도 있었다. 가령, 대학원 진학하거나 주재원이나 지역 전문가로 해외 근무지에서 파견직을 수행해보기, MBA 과정을 가보거나 해외 연구소에 파견가기 등이 1차적인 목표였다. 이후에는 그룹장까지 탄탄대로를 밟고 싶기도 해었다.  연차가 높지 않은 나에게 원치 않은 경험을 하게 되면서 큰 좌절감을 겪기도 했다. 당시 어리고, 철 없고, 경험 없던 나는 끝내 홧김에 이직을 시도했다. SW 엔지니어로서 "성장" 에 집착하고 있던 나는 이 곳에서 더 이상 배울 것이 없으며 IT 서비스 .. 2024. 7. 17.
반응형