JVM 메모리 구조와 운영체제의 가상 메모리 차이 및 JVM이 독립적인 메모리를 가지는 이유java에 대해 공부하던 중 JVM 메모리 구조와 가상 메모리 구조와의 연관성에 대해 의문이 들게 되었따.이에 대해 gpt 선생님께 물어본 내용을 적어두고자 한다.1. 운영체제의 가상 메모리 구조프로그램이 실행될 때, 운영체제(OS)는 해당 프로그램을 프로세스로 로드하고, 이를 위해 가상 메모리(Virtual Memory) 를 할당합니다. 운영체제에서 각 프로세스가 사용하는 메모리는 일반적으로 다음과 같이 구분됩니다.📌 운영체제의 가상 메모리 구조 (프로세스 단위)메모리 영역 설명코드(Code) 영역실행할 프로그램의 기계어(바이너리 코드) 저장데이터(Data) 영역전역 변수, 정적 변수 저장힙(Heap) 영역동적..
개발자로서 흔히 겪는 문제 중 하나는 "내 컴퓨터에서는 잘 작동했는데..."라는 말을 하게 되는 상황입니다. 이러한 문제는 개발 환경과 실제 서비스가 운영되는 서버 환경 간의 차이에서 비롯됩니다. 이 글에서는 개발 환경과 서버 환경의 아키텍처를 일치시켜야 하는 중요성을 스프링 부트 프로젝트를 중심으로 살펴보겠습니다.1. 환경 불일치가 야기하는 문제점1.1 버그 발견의 지연개발 환경과 서버 환경이 다르면, 개발 단계에서 발견되지 않은 버그가 배포 후에야 드러날 수 있습니다. 예를 들어, 개발자의 로컬 환경에서는 H2 인메모리 데이터베이스를 사용하지만 프로덕션에서는 MySQL을 사용한다면, SQL 방언 차이로 인한 문제가 발생할 수 있습니다.// 개발 환경(H2)에서는 작동하지만 프로덕션(MySQL)에서는 ..
난 맥이라 AWS 인스턴스도 arm64로 설정했는데..로컬 개발 환경이 mac 이기에 아키텍처 환경 통일을 위해 aws ec2 인스턴스도 arm64로 설정했다.. 그런데..github action이 돌아가는 머신 -> amd64amd64 에서 생성하는 이미지 -> x86 아키텍처x86 이미지는 -> arm64에서 실행되지 않는 이슈에 봉착했다!위와 같은 문제 트러블 슈팅 과정을 공유하고자 한다!CI/CD 파이프라인 개요우리가 구축할 CI/CD 파이프라인은 크게 세 가지 단계로 구성된다:Build & Test: 코드를 빌드하고 테스트Docker Image Build & Push: ARM64 아키텍처용 Docker 이미지를 빌드하고 Docker Hub에 푸시Deploy: 빌드된 이미지를 실제 서버에 배포파이..
생성형 AI를 저렴하게 활용하는 방법: API 활용 가이드최근 생성형 AI가 급격히 발전하면서 많은 기업과 개인이 이를 활용하려 하고 있다. 하지만 직접 AI 모델을 학습시키거나 클라우드 서비스를 활용하면 비용이 상당히 발생할 수 있다. 그렇다면 어떻게 하면 저렴하게 AI를 활용할 수 있을까? 이번 글에서는 생성형 AI를 API를 활용하여 저렴하게 활용하는 방법을 소개하고자 한다.1. AI API란 무엇인가?AI API(Application Programming Interface)는 사용자가 직접 모델을 학습하거나 구축할 필요 없이 AI 서비스를 활용할 수 있도록 해주는 인터페이스다. 대표적인 생성형 AI API 서비스로는 OpenAI, Google Cloud AI, Microsoft Azure AI, ..
이전에 작성한 글 https://jspark33.tistory.com/114 컴파일러 VS 인터프리터컴파일러란?컴파일러는 프로그래밍 언어로 작성된 코드를 기계어로 변환하는 프로그램이다. 컴파일 과정은 소스 코드를 한 번에 전체적으로 분석하고, 이를 실행 파일로 변환하여 이후 실행할jspark33.tistory.com 에서 인터프리터에 대하여 알아보며 인터프리터 언어 중에 하나인 파이썬의 인터프리터는 어떻게 구성되어있을지 매우 궁금하였다.파이썬 인터프리터에 대해 알아보려면파이썬의 기본 구현체인 cPython을 살펴보아야 한다.https://github.com/python/cpython GitHub - python/cpython: The Python programming languageThe Python p..
데스크 테리어를 하면서 모니터 암을 설치하고 모니터 2대를 장착했다. 윈도우 데스크탑은 문제 없이 모니터 2대가 가능하지만 내가 사용하는 맥북 에어 m1은 외장 모니터를 1대만 사용할 수 있다.. 모니터 2대를 사용하는 방법이 있을까 고민하던 중.. 방법을 찾아냈다. 준비물hdmi포트가 있는 C타입 허브usb hdmi 컨버터두 가지만 있으면 가능하다. 내가 사용한 제품들은 벨킨 USB C타입 노트북 멀티미디어 허브 F4U092btSGYhttps://link.coupang.com/a/b33PXe 벨킨 USB C타입 노트북 멀티미디어 허브 F4U092btSGY - USB허브 | 쿠팡현재 별점 4.7점, 리뷰 1667개를 가진 벨킨 USB C타입 노트북 멀티미디어 허브 F4U092btSGY! 지금 쿠팡에서 더..