나만의 학습 기록

최종 목적은 기술 블로그💩

개발공부 61

웹 서버 - Nginx와 Apache로 이해하는 요청 처리 구조

안녕하세요. 눈 깜빡할 사이에 벌써 6월이네요.이번 내용을 작성하고나면 확장성 있는 구축에 대해 작성해야하지만 면접이 잡혀서 목요일에 다시 재개하도록 하겠습니다. 작성했던 블로그글이랑 이것저것 다 확인하기 위해서는 조금 시간이 걸릴 것 같더라고요.자 그럼 웹 서버 공부를 시작하겠습니다.웹 서버웹 서버는 클라이언트가 요청한 정적인 컨텐츠를 HTTP를 통해 제공해주는 서버입니다.가장 기본적인 역할은 HTML, CSS, JavaScript, 이미지 파일 같은 정적 리소스를 클라이언트에게 제공하는 것입니다. 예를 들어 사용자가 웹 사이트에 접속했을 때 브라우저가 'index.html', 'style.css', 'main.js' 파일을 요청하면 웹 서버는 해당 파일을 찾아 응답합니다. 또한 웹 서버는 단순히 파..

백엔드 공부 12:18:23

실시간 통신 방식 WebSocket

안녕하세요. 벌써 일요일이네요. 일주일이 정말 눈 깜빡하는 사이에 지나가는 것 같습니다.이번에는 웹소켓에 대한 학습을 진행할 예정입니다. 실제로 웹소켓을 통한 채팅 기능을 구현해본적이 있어서 이론적으로 한번 더 학습하는게 되겠네요. 그럼 시작하도록 하겠습니다.WebSocketWebSocket은 클라이언트와 서버가 하나의 연결을 유지하면서 양방향으로 데이터를 주고받을 수 있도록 하는 통신 프로토콜입니다.HTTP는 기본적으로 클라이언트가 요청을 보내야 서버가 응답할 수 있는 구조입니다. 반면 WebSocket은 최초 연결 이후 클라이언트와 서버 사이에 연결을 유지하기 때문에 서보도 필요한 시점에 클라이언트에게 데이터를 보낼 수 있습니다. 즉, WebSocket은 실시간성이 중요한 기능에서 사용하기 좋은 통신..

백엔드 공부 2026.05.31

그래프 데이터베이스 - Neo4j

안녕하세요. 오늘은 평상시와 달리 새벽에 글을 작성하네요. 22시에 잠깐 쉰다고 누웠다가 30분정도 잤나..? 더 자려고 했지만 잠이 안와서 그냥 블로그를 쓰기로 마음 먹었습니다. 저번 시간에는 GraphQL에 대해서 학습해봤습니다. GraphQL을 쓸 일이 없어서 크게 관심이 없었지만 이번 기회에 기본 구조 정도는 알게 된 것 같습니다. 이번에는 그래프 데이터베이스에 대해서 학습해보겠습니다.그래프 데이터베이스그래프 데이터베이스는 데이터를 Node(하나의 개체)와 Relationship(Node 사이의 관계)으로 표현하는 데이터베이스입니다.관계형 데이터베이스가 테이블을 중심으로 데이터를 저장한다면, 그랲프 데이터 베이스는 개체와 개체 사이의 연결을 중심으로 데이터를 저장합니다. 즉, 그래프 데이터베이스는..

백엔드 공부 2026.05.30

GraphQL - REST API와 차이

안녕하세요. 벌써 금요일이네요. 시간이 빨리가는 것 같습니다.깁스 풀고 보호대 착용했으니 본격적으로 다시 운동을 시작하고 싶은데 뭐부터 시작해야할지 감이 안잡히네요. 발목 가동 범위도 줄어서 쉽지 않은 것 같아요. 조금 더 고민하고 생각해봐야겠네요. 자, 그럼 학습 시작해보겠습니다.GraphQLGraphQL은 메타(페이스북)가 개발한 API를 위한 오픈소스 쿼리 언어입니다. 클라이언트가 필요한 데이터를 직접 지정해서 요청할 수 있는 API 질의 언어입니다.REST API에서는 서버가 정해둔 endpoint에 요청을 보내고, 서버가 정해둔 응답 구조를 받습니다. 반면 GraphQL에서는 클라이언트가 필요한 field를 직접 선택해서 요청할 수 있습니다. 즉, GraphQL은 "서버가 정해둔 응답을 그대로 ..

백엔드 공부 2026.05.29

컨테이너화 VS 가상화 - Docker란 무엇인가

안녕하세요. 오늘은 병원가서 깁스 풀고 재활 치료 받느라서 블로그 작성이 늦어졌네요. 정말이지 병원에 갔다오면 오전이 순식간에 지나가는 것 같네요. 그럼 컨테이너화와 가상화에 대한 학습 시작해보도록 하겠습니다.가상화가상화는 하나의 물리 서버 위에서 여러 개의 독립된 가상 환경을 실행하는 기술입니다.일반적으로 하이퍼바이저라는 소프트웨어가 물리 서버의 CPU, 메모리, 디스크 같은 자원을 나누어 여러 가상 머신을 실행합니다. 각 가상 머신은 자신만의 운영체제를 가지고 있으며, 실제 서버처럼 독립적으로 동작합니다.예를 들어 하나의 물리 서버 위에 Linux 가상 머신, Windows 가상 머신을 각각 실행할 수 있습니다. 각 VM은 독립된 운영체제를 가지기 때문에 격리 수준이 높다는 장점이 있습니다. 하지만 ..

백엔드 공부 2026.05.28

메시지 브로커 - RabbitMQ와 Kafka

안녕하세요. 벌써 수요일이네요. 드디어 내일 깁스를 풀기위해 병원을 갑니다. 이전에는 아마 이후에는 보호대로 재활을 하는게 좋다고 했는데...내일 병원가서 상태가 괜찮으면 좋겠네요. 그래도 완전한 여름이 되기 전에 깁스를 풀 수 있어서 다행이네요. 자 그럼 메시지 브로커에 대한 학습 시작해보겠습니다.메시지 브로커메시지 브로커는 시스템 간에 주고받는 메시지를 중간에서 전달해주는 역할을 하는 소프트웨어입니다. 일반적으로 요청을 보내는 쪽을 Producer, 메시지를 처리하는 쪽을 Consumer라고 합니다. Producer는 Consumer를 직접 호출하지 않고 메시지 브로커에 메시지를 전달합니다. 이후 Consumer는 메시지 브로커에서 메시지를 가져와 필요한 작업을 처리합니다. Producer → Mes..

백엔드 공부 2026.05.27

만보기 API 연동하기(1)

안녕하세요. 요즘 개발하는게 다시 재밌어져서 이전에는 생각하지 못했던 것에 대한 기획이나 계획 등 재미를 다시 느끼는 것 같습니다. 이번에는 저의 프로젝트에서 필요한 만보기와 지도의 현재 위치, 마커 표시 등에 대해서 API를 가져오는 과정을 얘기해보고자 합니다. 그럼 시작해봅시다.프로젝트 구조현재 제 프로젝트의 구조는 백엔드는 Java/Spring Boot, 프론트엔드는 Flutter(Dart), 서버 및 데이터베이스는 Ubuntu + Nginx/MySQL로 구성되어 있습니다. 안드로이드 앱을 기준으로 개발을 시작했지만, 포트폴리오 목적으로 웹을 먼저 배포했습니다. 이후 기능이 어느 정도 완성되면 원스토어 배포까지 진행하는 것이 목표입니다. 그렇기 때문에 API를 추가하기 전에 먼저 고민해야 할 부분이..

개발일지 2026.05.26

검색 엔진 - Elasticsearch

안녕하세요. 좋은 아침입니다. 오늘부터 천천히 아침 일찍 일어나다가 깁스를 풀고나면 그때부터 미라클 모닝을 하려고 합니다. 최근 오전 5시에 일어나게 된 이유라는 영상을 보게되었는데, 결국 일찍 자면 일찍 일어나게 된다는게 당연하면서도 여태 이걸 하지 못했구나 싶더라고요? 저도 과거에 미라클 모닝했던 기억이 생각나면서 다시 도전하려고 합니다.오늘도 일찍 수면에 취한 덕분에 알림 없이 잘 일어났네요. 그럼 검색엔진에 대한 학습 시작하도록 하겠습니다.검색 엔진검색 엔진(Search Engine)은 대량의 데이터에서 사용자가 원하는 정보를 빠르게 찾을 수 있도록 도와주는 시스템입니다. 일반적으로 검색이라고 하면 구글이나 네이버 같은 웹 검색을 떠올릴 수 있지만, 서비스 내부에서도 검색 엔진을 자주 사용합니다...

백엔드 공부 2026.05.26

아키텍처 패턴(2) - CQRS, 이벤트 소싱, 서버리스란 무엇인가?

안녕하세요. 좋은 밤입니다. 오늘은 쉬려고 했으나 블로그라도 쓰자라는 생각으로 늦게라도 돌아왔습니다. 그럼 바로 시작하겠습니다.CQRSCQRS(Command Query Responsbility Segregation)는 명령과 조회의 책임을 분리하는 패턴입니다. 여기서 Command는 데이터를 생성, 수정, 삭제하는 작업을 의미하고, Query는 데이터를 조회하는 작업을 의미합니다. 일반적인 CRUD 구조에서는 하나의 모델이나 서비스에서 생성, 수정, 삭제, 조회를 함께 처리하는 경우가 많습니다. 하지만 서비스가 커지면 쓰기 작업과 읽기 작업의 요구사항이 달라질 수 있습니다. 예를 들어 주문 생성은 데이터 정합성이 중요하고, 주문 조회는 빠른 응답 속도와 다양한 조회 조건이 중요할 수 있습니다. CQRS가..

백엔드 공부 2026.05.25

아키텍처 패턴(1) - 모놀리식, MSA, SOA란 무엇인가?

안녕하세요. 벌써 일요일이네요. 주말은 정말 빨리 지나가는 것 같아요. 실제로 짧기도 하지만 유독 하루가 더 짧은 느낌? 그래도 다들 월요일날 대체 공휴일고 쉬시니 월요병은 안오실거라고 생각이 드네요! 대신 화요병..?아무튼 아키텐처 패턴에 대한 학습 시작해보도록 하겠습니다.아키텍처 패턴을 학습하는 이유지난 시간에는 개발 설계 원칙으로 DRY와 리팩토링에 대해 학습했습니다. 개발 설계 원칙이 클래스, 메서드, 코드 구조를 더 유지보수하기 쉽게 만드는 기준이라면 아키텍처 패턴은 애플리케이션 전체 구조를 어떻게 나눌지 고민하는 기준이라고 볼 수 있습니다. 서비스가 작을 때는 하나의 애플리케이션 안에서 모든 기능을 처리해도 큰 문제가 없을 수 있습니다. 하지만 기능이 많아지고 사용자 수가 늘어나면 배포 방식,..

백엔드 공부 2026.05.24