AWS ECR 직접 구축하기, Self Hosted ECR :: Docker Registry
·
개발 공부 일기장/DevOps
개요클라우드 비용 때문에 홈 서버를 막 구축하던 중, 과정에서 docker image를 원격 저장소에 저장하고 불러와야하는 요구사항이 생겼다.이전 슬축생 프로젝트처럼 Docker Hub를 사용하려고 했으나 무료 계정은 private repo를 하나밖에 사용하지 못하는 제약사항이 있었다. 사실 앞으로 이 프로젝트를 진행할 때 굳이 private repo로 진행할 이유도 크게 없고 하나 정도면 충분하기는 했다.하지만 회사 일도 아니고 난 제약사항을 싫어하고 공짜를 좋아하는 개발자이기 때문에 이거 직접 내가 구축 못하나? 이런 생각을 했다. 그래서 회사에서 사용하던 ECR 같은 저장소를 직접 구축해서 사용해야겠다 라는 생각이 들었다, 결과는 아래와 같다. 원래 기술블로그를 대낮에 잘 작성하지는 않는데 이 결과..
홈 서버 구성하기 1편 :: Self-Hosted Docker Image 저장소 구축하기
·
개발 공부 일기장/Tips
개요열심히 집에 있는 NUC에 서버를 띄울 준비를 하고 있다, 아마 아래 과정을 따를것이다.Docker Image 빌드 Docker Image 원격 저장소에 저장K3s 밖에 MySQL Redis 구성K3s 구성 및 기본적인 연동도메인 & SSL 인증서 구입 후 연동Docker Image 빌드 같은 경우에는 Github Actions로 간단하게 끝냈기 때문에 작성할 글이 더 없을 것 같아서 작성하지 않았다.이제는 빌드한 Docker Image를 업로드하여 저장하고 K3s에서 다운받아서 쓸 수 있게 해주는 저장소가 필요하다. 물론 Docker Hub를 사용할 수 있고 지난 슬축생 프로젝트에서는 Docker Hub를 사용했지만, 무료 요금제는 Private Repo가 하나다.지난 슬축생 프로젝트에선 지식도 많..
홈 서버 구성하기 0편 :: 홈서버 안 한다면서요, 근데 제 장점이 그거에요
·
개발 공부 일기장/Tips
개요집에 홈 서버를 구성할거다, 물론 어떤 글인지는 기억이 안 나는데 분명 전에 홈 서버 같은거 안한다고 했었다.그 당시에는 보안 회사에서 근무하던 시절이라 맨날 서버실에 처박혀서 베어메탈 장비 뜯고 물리고 네트워크 설정하고매일 방화벽 개발하면서 회사 사내 방화벽까지 내가 관리하고 아침마다 방화벽 로그보면서 하루를 시작하는게 질려서 그랬다. 하지만 그렇게 몇년이 지나고 나는 서비스 개발자가 되었다.내가 그런 개발자여서 홈 서버는 필연인 것 같다나는 어떤 개발자일까? 라고 되물어보면 제너럴리스트에 가까운 개발자이다, 물론 이젠 백엔드에서 전문성을 쌓고 있지만 백엔드라고 말하고 다니지만 한번도 프론트 개발을 안한적이 없었고 3년간 iOS, 이젠 React Native와 React도 약 1년간 하였다.DevO..
RealMySQL 1권 초독을 끝내며 :: 개발서적 회고
·
개발 공부 일기장/개발서적 회고
개요RealMySQL을 몇년도에 샀더라.. 아마 23년도인가 24년도 일 것이다, 그때는 유명해서 읽으려고 사고 읽지는 못했다.근데 잘했다고 생각한다, 그때 읽었으면 아무것도 이해 못 했을것이다. 적어도 초심자용 책은 아니다.물론 책의 내용이 엄청 어려운것은 아니나 읽는 사람의 깊이에 따라서 끝없이 깊어질 수 있기 때문에 좀 힘들었던 책이다. 분명 MySQL 책을 읽었지만 다 읽고다니 HDD와 SSD의 작동방식과 최적화에 대해서 알게 되어버린 책이다.내용은 너무 너무 많아서 앞으로 데이터베이스 카테고리에 다 정리해서 글을 올리려고 한다. 난이도는 별 4개다, 비교군이 있다면 클린 아키텍처, 자바 성능 튜닝 이야기는 별이 2개였다.앞으로 읽는 책들의 난이도가 너무 높아지면 3개로 하향 조정 될 수도 있다,..
Jpa saveAll 쓰지 마세요, Auto Increment를 쓰신다면 :: 실험실
·
개발 공부 일기장/실험실
개요실험실 카테고리의 첫 글이다, 원래는 스케줄러 겹침 현상에 대해서 자세하게 첫 글로 남기려고 했으나 더 궁금한게 생겨버렸다. 내가 만들고 있는 프로덕트는 대량 insert가 거의 필요없는 비즈니스이다, 고객의 데이터를 대량 insert 하는 발생하는 비즈니스가 생겼다.그런데 너무 성능이 느리길래 처음에는 암호화 하는 부분이 느린가? 했지만 APM 분석결과 saveAll로 저장하는 부분이 제일 느렸다.인터넷에 검색했을때 표면적인 원인들을 많이 얘기하지만 내가 원하는 수준의 수치나 인사이트가 없어서 한번 파헤쳐보려고 한다 복잡하게 얽혀있는 여러가지의 주제를 다루기 때문에 아래 미리 목차를 정리하도록 하겠다,실험실인 카테고리에 어울리게 궁금한 부분을 얻어가시길 saveAll의 내부 구현과 hibernate..
Docker Desktop 대신 OrbStack 사용합시다 :: 자원 아껴쓰기
·
개발 공부 일기장/Tips
개요난 IT 자체에 관심이 많은 개발자다, 하드웨어에도 관심이 많다. 특히 내 맥북은 애지중지하면서 살고 있다. 부모님이 두분 다 개발자여서 어린시절부터 작업 관리자에서 자원을 모니터링하고 컴퓨터를 최적화 하는법을 어깨 넘어로 많이 배웠다. 그래서 나도 자연스럽게 효율적인 자원 활용에 관심을 많이 가지게 되었고 개발자가 되어도 마찬가지였다.그래서 브라우저도 항상 safari를 사용한다, 팀원은 살면서 safari 쓰는 사람 처음 본다고 한다. safari가 최적화가 참 잘 되어있다. 그러다가 Docker Desktop의 최적화 버전 격인 OrbStack을 발견하게 되었다, 바로 설치해서 잘 사용하고 있다.이전에 블로그 글에 Docker Desktop를 홍보하는 글을 작성했기에 몰래 넘어가는건 의리 없어보..
호기심을 코드로 실험해보는게 중요한 이유, 실험실 카테고리 오픈!
·
개발 공부 일기장/실험실
개요저의 맥북 dev 폴더 구석에는 Java_Sandbox 라는 작은 프로젝트가 있다, 처음 개발을 시작하던 시절부터 쭉 그 자리에 있었다.처음 이 프로젝트를 만든 날이 기억난다, 정말 개발을 입문하던 시점이여서 전위연산자와 후위연산자의 작동을 눈으로 확인해보고 싶었다. 그 당시에는 AI가 없었기 때문에 실제 동작에 대한 신뢰는 직접 해야지만 알 수 있었다. (여전히 AI의 말을 100% 신뢰하진 못한다) AI를 잘 활용하고 있는 지금도 여전히 공부를 하면서 String constant pool 작동, Wrapper 클래스의 캐싱, volatile 작동, Reflection API 테스트 등 여러가지 코드를 작성하면서 논다. 직접 코드를 짜고 궁금한 부분을 눈으로 확인하고 새로운 인사이트를 알아내는게 재..
동시성 제어, 당신은 어떻게 하실건가요? :: 격리레벨, 비관적 락 멈춰
·
개발 공부 일기장/Tips
개요오늘은 동시성 제어에 대한 글을 가져왔다, 요즘 부쩍 동시성 문제를 많이 겪고 있고 많은 지식을 얻고 있는 시기이다.작년 2월에 처음으로 동시성 제어에 대해 다뤘다, 당시에는 비관적 / 낙관적 락 또는 트랜젝션 격리 레벨을 알아봤다.하지만 실무에서 점점 다방면을 고려하다보니 전혀 다른 시각을 가지고 이 문제에 대해서 바라보게 되었다.동시성 제어의 본질동시성 제어란 무엇인가? 보통 동시성 문제라고 하면 멀티스레드 환경을 먼저 떠올린다, 하지만 그건 너무 좁은 범위에서의 생각이다.싱글스레드에서도 동시성 문제는 일어날 수 있다, 이벤트루프는 싱글스레드인데 멀티스레드 환경과 같은 동시성 문제를 겪을 수 있다. 동시성 문제는 공유된 자원에 여러 요청들이 동시에 접근할 때 생기게 되는 문제이다,특히 외부 자원에..