김지팡의 저장소
article thumbnail
Docker로 패키징하기(feat.Spring boot)
TIL 2024. 3. 22. 17:56

🧑‍💻 이번 포스팅에서는 Spring boot 기반으로 구축한 서버를 Docker로 패키징 하는 과정에 대해 이야기를 해보고자 한다. Spring boot 기반으로 구축한 서버를 Docker로 패키징 하는 방법이 메인이기 때문에, 가장 간단한 CRUD만을 구축하고 나서 패키징을 하고자 했다. 학습 목적으로는 hello world만 출력되는 서버를 패키징해도 충분할 거 같다. Docker로 패키징을 한다는 것은 말 그대로 구축한 프로젝트(웹앱)를 도커라는 도구로 감싼다는 것이다. Docker로 패키징을 하는 과정에 대해 본격적으로 시작하기 전 Docker에 대한 이해도가 필요하다. 이에 대해서는 이전에 포스팅해 둔 글을 참고해 봐도 좋을 거 같다 🍀 Docker ❗️ 이 글은 최대한 정확한 정보를 공유하고..

Docker
TIL 2024. 3. 6. 21:58

❗️ 이 글은 최대한 정확한 정보를 공유하고자 작성하는 글입니다. 하지만, 공부한 내용을 제 생각을 이해한 대로 옮겨 적는다는 점에서 다르거나 혹은 틀릴 수도 있다는 점 너그러이 양해 부탁드립니다. 만약 틀린 정보라면 적극적으로 피드백 부탁드립니다! 📚 Docker는 무엇인가 AWS에서 말하는 도커는 아래와 같다. Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징 하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. 🧑‍💻 Docker는 어릴 적 게임 CD와도 같다는 생각을 했다. 스타크래프트를 설치할 수 있는 CD만 ..

Singleton(싱글톤)
TIL 2024. 3. 4. 11:59

🧑‍💻 이번 포스팅에서는 디자인 패턴 중 싱글톤 패턴에 대해 공부한 내용을 정리하고자 한다.  📚 디자인 패턴 싱글톤 패턴이 디자인 패턴 중 하나이기 때문에 디자인 패턴을 먼저 이야기해 보겠다. 많은 곳들에서 디자인 패턴을 다음과 같이 이야기한다. 🔎 디자인 패턴은 소프트웨어 개발 과정에서 자주 발생하는 문제들을 해결하기 위해 일반적으로 사용되는 재사용 가능한 해결책입니다. 난 이러한 개념들을 보면 비유를 통해 내 맛대로 이해하고 싶어 한다. 사실 무슨 말인지도 와닿지도 않기도 하구.. 디자인 패턴은 소프트웨어 개발 과정에서 자주 발생하는 문제들에 대해 어떻게 해결하는지 앞서 이 모든 것들을 경험해 보신 분들께서 실패를 거듭해 해결책을 만들어두신 것이다. 이는 마치 누가 만들던 똑같이 따라만 하면..

인메모리 DB & 디스크 기반 DB
TIL 2024. 2. 26. 17:37

🧑‍💻 spring boot 기반 웹앱을 구현하면서 데이터 CRUD를 위해 DB를 연결해야 했다. spring boot를 사용할 때 테스트 단계에서 사용하는 인메모리 db인 h2 db를 사용하고자 spring initializer에서 H2 Database 의존성을 추가하고 프로젝트를 생성하였다. H2 DB는 개발 및 테스트 단계에서 유용하게 활용되는 인메모리 방식의 DB이다. 이번 포스팅에서는 인메모리 DB가 무엇인지와 왜 유용하게 활용되는지를 인메모리 DB의 대조군인 디스크 기반 DB와 함께 정리해보고자 한다. 📚 인메모리 DB & 디스크 기반 DB란 무엇일까? - 인메모리 DB 인메모리는 우리가 저장장치(디스크)라고 부르는 SSD, HDD가 아닌 메모리(RAM) 내에 처리하는 것을 말하고, 인메모리 ..

REST API
TIL 2024. 2. 6. 17:06

🧑‍💻 RESTful, RESTAPI, 웹 개발을 하는 사람이라면 RESTful API를 못 들어볼 수가 없다. 근데 REST API는 구현할 줄 알아도, 정작 이것이 무엇인지에 대해서는 개념이 잡혀있지 않았다. 뭔지도 모르는 것을 구현할 줄 안다는 것은 사용법도 모르는 도구를 사용한다는 것이라는 생각을 했다. 이번 기회로 REST API에 대해 자세히 공부하고 정리해보려 한다. 📚 API는 무엇일까? API(Applicaion Programming Interface)는 소프트웨어 애플리케이션 또는 시스템 간에 데이터를 주고받거나 기능을 공유할 수 있도록 하는 인터페이스이다. 쉽게 말해, API는 서버와 클라이언트 혹은 다른 서비스와의 통신을(데이터를 주고받기) 위해 사용하는 것이다. 📚 RESTful,..

Caching(캐싱)
TIL 2024. 2. 3. 18:33

📚 www.playgroundofkimjipang.com 에 접속하다 어느 날 동현이는 미국의 한 사이트인 playground of kimjipang이라는 사이트에 접속을 했다. 그다음 날 동현이는 또 해당 사이트에 접속을 했는데, 해당 사이트에 접속한 첫날보다 페이지를 불러오는 속도가 더 빠르다는 것을 느꼈다. 📚 진짜 빨랐을까? 빨랐다면 왜? 결론부터 말하면 동현이가 느낀 것은 정확하다. 더 빠른 이유를 이야기하기 위해서는 '캐싱'이라는 개념을 알아야 한다. 📚 캐싱 캐싱은 마치 물이 필요할 때마다 100km 거리에 있는 슈퍼를 가는 것이 아니라 한 번 갈 때 물을 대용량으로 왕창 산 다음에 집 창고에 저장해 두고 필요할 때마다 집 창고에서 꺼내 마시는 것과 같다. 당연하게도 후자가 엄청난 메리트가 ..

728x90