<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Zerozae</title>
    <link>https://zero-zae.tistory.com/</link>
    <description>Development Blog</description>
    <language>ko</language>
    <pubDate>Thu, 9 Jul 2026 05:34:16 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>엥재</managingEditor>
    <image>
      <title>Zerozae</title>
      <url>https://tistory1.daumcdn.net/tistory/5374723/attach/5f0aaa485f254ee69fbd049a9400d65f</url>
      <link>https://zero-zae.tistory.com</link>
    </image>
    <item>
      <title>대용량 트래픽 처리를 위한 시스템 설계</title>
      <link>https://zero-zae.tistory.com/255</link>
      <description>0. overview
지금까지 공부하면서 또는 프로젝트를 경험하면서 항상 확장성을 고려한 설계에 관심을 가지고는 있었지만 막상 대용량 트래픽 처리를 위해서 시스템 설계 방식에 대한 방법이 명확히 떠오르지 않았고, 이번 기회에 어떤 방버들이 있는지 정리해보고자 한다.WAS&amp;nbsp;서버를&amp;nbsp;세팅하고&amp;nbsp;서비스를&amp;nbsp;구축했다.&amp;nbsp;간단히&amp;nbsp;구축한&amp;nbsp;시스템&amp;nbsp;구조는&amp;nbsp;아래와&amp;nbsp;같다.

&amp;nbsp;
&amp;..</description>
      <category>Programming</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/255</guid>
      <comments>https://zero-zae.tistory.com/255#entry255comment</comments>
      <pubDate>Thu, 30 May 2024 21:18:31 +0900</pubDate>
    </item>
    <item>
      <title>WebSocket과 JWT 토큰 인증</title>
      <link>https://zero-zae.tistory.com/254</link>
      <description>Spring 프로젝트 주제로 웹소켓 기반의 타이핑 게임을 진행하던 중 웹소켓과 JWT 토큰 인증 관련 문제를 직면하고 정리하고자 글을 작성하게 되었습니다.
&amp;nbsp;
JWT 인증 기반의 인증
제 프로젝트에서 JWT를 기반으로 하는 인증은 클라이언트에서 보내는 모든 요청에 JWT를 넣어 전송하고, 서버에서 이를 검증해 통신을 주고 받도록 되어 있습니다.
&amp;nbsp;
문제점&amp;nbsp;: 위의 개발 환경에서 실시간 게임방 관련 기능을 개발하던 중 소켓 연결..</description>
      <category>Programming/Spring</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/254</guid>
      <comments>https://zero-zae.tistory.com/254#entry254comment</comments>
      <pubDate>Mon, 8 Apr 2024 16:40:51 +0900</pubDate>
    </item>
    <item>
      <title>Apache Kafka 란 ?</title>
      <link>https://zero-zae.tistory.com/253</link>
      <description>프로젝트를 진행하면서, 웹소켓을 통한 실시간 메세지를 전달해야 하다보니 메세지 브로커를 사용하게 되었고 기존에는 인메모리 브로커를 사용하여 구현을 했습니다.&amp;nbsp;
&amp;nbsp;
그런데, 인메모리 브로커가 아래와 같은 단점들이 존재한다는 것을 알게 되었습니다.
1. 세션을 수용할 수 있는 크기가 제한되어 있다.
2. 장애 발생 시 메세지가 유실될 가능성이 높다.
3. 따로 모니터링 하는 것이 불편하다.
&amp;nbsp;
따라서 STOMP 전용 외부 브로커를..</description>
      <category>Programming</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/253</guid>
      <comments>https://zero-zae.tistory.com/253#entry253comment</comments>
      <pubDate>Tue, 5 Mar 2024 20:29:10 +0900</pubDate>
    </item>
    <item>
      <title>Spring에서 SSE(Server-Sent Events) 활용하기</title>
      <link>https://zero-zae.tistory.com/252</link>
      <description>2024.01월부터 웹소켓 기반의 타이핑 게임을 주제로 프로젝트를 진행하게 되었습니다. 프로젝트를 진행하면서 가장 먼저 구현하고자 했던 부분이 실시간으로 생성되고, 삭제되고, 누군가 입장하고, 퇴장하는 게임방을 실시간으로 사용자들에게 보여주는 기능이었고, 이를 어떻게 보여줄지 고민하게 되었습니다.
&amp;nbsp;
1. WebSocket
가장 먼저 떠올랐던 방법은 웹소켓입니다. 웹소켓은 실시간 양방향 데이터 전송을 가능하게 하는 통신 프로토콜로 일반적인 HT..</description>
      <category>Programming/Spring</category>
      <category>SSE</category>
      <category>웹소켓</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/252</guid>
      <comments>https://zero-zae.tistory.com/252#entry252comment</comments>
      <pubDate>Tue, 5 Mar 2024 17:26:17 +0900</pubDate>
    </item>
    <item>
      <title>필터가 2번 중복 적용되는 문제 해결하기</title>
      <link>https://zero-zae.tistory.com/251</link>
      <description>Intro
JWT 토큰 값을 읽어서, 상황에 따라 인증하거나 만료되었다면 그에 따른 예외처리를 내려주는 JwtAuthenticationFilter를 만들어 SecurityConfig 설정 내에 등록해주었다.
&amp;nbsp;
시큐리티 필터체인에서 아래와 같이 등록하여 작동하도록 해두었는데,
.addFilterAfter(jwtAuthenticationFilter, ExceptionTranslationFilter.class)
&amp;nbsp;
요청이 올 때마다 자꾸 ..</description>
      <category>Programming/Spring</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/251</guid>
      <comments>https://zero-zae.tistory.com/251#entry251comment</comments>
      <pubDate>Mon, 5 Feb 2024 22:40:29 +0900</pubDate>
    </item>
    <item>
      <title>Elasticsearch로 검색 성능 개선하기</title>
      <link>https://zero-zae.tistory.com/250</link>
      <description>0. OverView
2023.12.15 ~ 2024.01.12(4주) 동안 &quot;인터파크 티켓&quot; 사이트를 타겟으로 한 클론 코딩을 진행하게 되었습니다. 팀원 한명과 함께 &quot;공연&quot; 도메인을 맡게 되었고 핵심 기능으로 &quot;검색 기능&quot;을 선정하여 구현하고자 하였습니다. 클론 코딩을 진행한 &quot;인터파크 티켓&quot; 사이트는 찾고자 하는 키워드로 검색을 하면 빠른 속도로 검색기능을 제공하는 것을 확인할 수 있었고, 검색 기능을 어떤 방식으로 구현하면 좋을까를 고민하다가 엘..</description>
      <category>Programming/Spring</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/250</guid>
      <comments>https://zero-zae.tistory.com/250#entry250comment</comments>
      <pubDate>Sat, 27 Jan 2024 16:49:19 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] Elasticsearch에서 Document Update</title>
      <link>https://zero-zae.tistory.com/249</link>
      <description>&amp;nbsp;

[Spring] Elasticsearch 검색 정확도 높이기
[Spring] Spring Boot + ELK 스택을 이용한 실시간 인기 검색어 Top 10 구현하기 0. Overview 2023.12.15 ~ 2024.01.12 동안 &quot;인터파크 티켓&quot;을 타겟으로 하여 클론코딩을 진행하게 되었는데, &quot;공연&quot; 도메인을 맡게
zero-zae.tistory.com


지난 글에 이어, 실시간 인기 검색 순위 기능도 구현했고 ngram을 이용하여 ..</description>
      <category>Programming/Spring</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/249</guid>
      <comments>https://zero-zae.tistory.com/249#entry249comment</comments>
      <pubDate>Wed, 17 Jan 2024 16:52:29 +0900</pubDate>
    </item>
    <item>
      <title>Elasticsearch 검색 정확도 높이기</title>
      <link>https://zero-zae.tistory.com/248</link>
      <description>&amp;nbsp;

&amp;nbsp;

[Spring] Spring Boot + ELK 스택을 이용한 실시간 인기 검색어 Top 10 구현하기
0. Overview 2023.12.15 ~ 2024.01.12 동안 &quot;인터파크 티켓&quot;을 타겟으로 하여 클론코딩을 진행하게 되었는데, &quot;공연&quot; 도메인을 맡게 되었다. 함께 도메인을 담당하게 된 팀원과 어떤 기술을 적용해보면 좋
zero-zae.tistory.com


&quot;인터파크 티켓&quot; 클론코딩 프로젝트에는 Elasticse..</description>
      <category>Programming/기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/248</guid>
      <comments>https://zero-zae.tistory.com/248#entry248comment</comments>
      <pubDate>Wed, 17 Jan 2024 13:56:39 +0900</pubDate>
    </item>
    <item>
      <title>Spring Boot + ELK 스택을 이용한 실시간 인기 검색어 Top 10 구현하기</title>
      <link>https://zero-zae.tistory.com/247</link>
      <description>0. Overview

2023.12.15 ~ 2024.01.12 동안 &quot;인터파크 티켓&quot;을 타겟으로 하여 클론코딩을 진행하게 되었는데, &quot;공연&quot; 도메인을 맡게 되었다. 함께 도메인을 담당하게 된 팀원과 어떤 기술을 적용해보면 좋을까를 의논하던 중 &quot;인터파크 티켓&quot; 사이트 검색창에 실시간 검색어가 나오는 것을 볼 수 있었다. 검색 기능을 중점적으로 구현하는 방향으로 계획을 세웠고 기존에 JPA를 통한 검색 로직만 구현해보다가, 검색 기능에 특화된 Elas..</description>
      <category>Programming/Spring</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/247</guid>
      <comments>https://zero-zae.tistory.com/247#entry247comment</comments>
      <pubDate>Wed, 17 Jan 2024 13:23:10 +0900</pubDate>
    </item>
    <item>
      <title>HTTP 완벽 가이드 스터디 회고</title>
      <link>https://zero-zae.tistory.com/246</link>
      <description>&amp;nbsp;
0. Overview

어느덧 프로그래머스 백엔드 데브코스 과정에 참여하게 된지 3개월이 지났다. 데브코스에서는 나를 포함하여 6명의 팀원들이 함께 백엔드 개발자를 목표로 공부하고 있다. 데브코스에서 최대한 많은 것을 얻어가고자 커리큘럼 이외의 스터디를 진행하게 되었고 &quot;HTTP 완벽 가이드&quot;라는 책을 스터디 도서로 선정하여 스터디 진행 과정을 기록해보려고 한다.
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
1. 스터디 도서 선정

스터디 이야기가..</description>
      <category>기타</category>
      <category>데브코스</category>
      <category>백엔드 데브코스</category>
      <category>프로그래머스</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/246</guid>
      <comments>https://zero-zae.tistory.com/246#entry246comment</comments>
      <pubDate>Wed, 27 Dec 2023 11:51:10 +0900</pubDate>
    </item>
    <item>
      <title>Spring 에서 application.yml파일 민감정보 관리 (feat. submodule)</title>
      <link>https://zero-zae.tistory.com/245</link>
      <description>도입 배경
JPA 게시판 과제 진행 중 이메일 &amp;amp; DB &amp;amp; Jwt 관련 민감정보 설정을 담당하는 application-core.yml이라는 파일이 존재했는데, 해당 파일을 그냥 .gitignore에 등록하고 repo에 올렸었다. 그런데 문제는 해당 yml 파일을 다른 사람들이 클론하거나, 팀 프로젝트의 상황에서는 해당 파일을 매번 공유해서 사용하거나 그렇지 않으면 사용할 수 없다.라는 문제가 발생했다. 따라서 해당 문제를 해결하고자 알아보..</description>
      <category>Programming/기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/245</guid>
      <comments>https://zero-zae.tistory.com/245#entry245comment</comments>
      <pubDate>Sun, 17 Dec 2023 20:27:08 +0900</pubDate>
    </item>
    <item>
      <title>2장 : 개략적인 규모 측정</title>
      <link>https://zero-zae.tistory.com/244</link>
      <description>개략적인 규모 측정
보편적으로 사용되는 성능 수치 항목들을 추정해서 계산하는 것으로 프로그래머에게는 필요한 기본기이다. 2의 제곱수나 응답지연(latency) 값과 가용성에 관계된 수치들의 이해가 있어야 한다.
&amp;nbsp;
&amp;nbsp;
2의 제곱수&amp;nbsp;
- 데이터 볼륨의 단위를 계산하기 위해 사용(양을 측정)하는 최소 단위는 1바이트(8비트)이다.
- 아스키 문자 하나가 차지하는 메모리 크기는 1 바이트이다.
- 보통 많이 사용되는 UTF-8의 경..</description>
      <category>기타/가상 면접 사례로 배우는 대규모 시스템 설계 기초</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/244</guid>
      <comments>https://zero-zae.tistory.com/244#entry244comment</comments>
      <pubDate>Tue, 10 Oct 2023 14:33:28 +0900</pubDate>
    </item>
    <item>
      <title>[Build Tool] Maven 이란 ?</title>
      <link>https://zero-zae.tistory.com/242</link>
      <description>이번 포스팅에서는 빌드 도구(Build Tool)중 하나인 Maven에 대해서 알아보도록 하겠습니다. 그동안 Gradle만 사용해보았고, 정확히 무엇인지 알고 사용했다기보다 그저 복붙을 통한 사용만 해봤기 때문에 빌드 도구에 대한 개념을 정리하고자 작성하게 되었습니다.
&amp;nbsp;
&amp;nbsp;
빌드(Build) ?&amp;nbsp;
먼저, Maven에 대해 알아보기 앞서 빌드에 대해 알아보겠습니다.
빌드는 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트..</description>
      <category>기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/242</guid>
      <comments>https://zero-zae.tistory.com/242#entry242comment</comments>
      <pubDate>Mon, 9 Oct 2023 11:40:55 +0900</pubDate>
    </item>
    <item>
      <title>Spring-Boot Admin 구축</title>
      <link>https://zero-zae.tistory.com/241</link>
      <description>Spring-Boot는 /actuator Endpoint를 제공하여 프로그램의 모니터링을 가능하게 합니다. 그런데 이 정보는 JSON 형태로 가독성이 너무 떨어진다는 점이 존재하는데 그런 점을 보완하기 위해 나온 것이 Spring-Boot Admin으로 UI를 제공하고 일종의 대시보드 기능이라고 생각하면 됩니다. 위 이미지가 바로 기존의 Spring-Boot Actuator 를 통해 모니터링 하는 상황입니다.
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
주요 ..</description>
      <category>Programming/기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/241</guid>
      <comments>https://zero-zae.tistory.com/241#entry241comment</comments>
      <pubDate>Sat, 7 Oct 2023 19:51:16 +0900</pubDate>
    </item>
    <item>
      <title>[DataBase] 인덱스 (Index)</title>
      <link>https://zero-zae.tistory.com/240</link>
      <description>이번 포스팅에서는 데이터베이스에서 성능적인 측면에서 중요한 부분인 인덱스(Index)에 대해 알아보도록 하겠습니다. 평소 인덱스란 무엇인지 알고는 있었지만 정확한 개념을 이해하고 정리하기 위해 포스팅을 작성하게 되었습니다.
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
인덱스 (Index)

인덱스는 추가적인 쓰기 작업과 저장 공간을 활용해 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다.&amp;nbsp;책에서 원하는 내용을 찾을 때, 모..</description>
      <category>CS/DataBase</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/240</guid>
      <comments>https://zero-zae.tistory.com/240#entry240comment</comments>
      <pubDate>Fri, 6 Oct 2023 19:04:01 +0900</pubDate>
    </item>
    <item>
      <title>[DataBase] 트리거 (Trigger)</title>
      <link>https://zero-zae.tistory.com/239</link>
      <description>이번 포스팅에서는 트리거에 대해 살펴보도록 하겠습니다.
&amp;nbsp;
&amp;nbsp;
트리거 (Trigger)
특정 조건이 만족하면 저절로 실행되는 일종의 장치라고 볼 수 있어요. 프로시저나 펑션과 다르게 한번 설정하면 동작을 항상 감시하고 있다가 조건에 해당하는 동작이 수행되면 순간 실행되는 특징을 가지고 있습니다.
&amp;nbsp;
&amp;nbsp;
[ 기본 구조 ]
DELIMITER $$
    CREATE TRIGGER trigger_name
    {BEFOR..</description>
      <category>CS/DataBase</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/239</guid>
      <comments>https://zero-zae.tistory.com/239#entry239comment</comments>
      <pubDate>Fri, 6 Oct 2023 12:11:58 +0900</pubDate>
    </item>
    <item>
      <title>[DataBase] 스토어드 함수 (Stored Function)</title>
      <link>https://zero-zae.tistory.com/238</link>
      <description>지난 포스팅에서 스토어드 프로시저(Stored Procedure)에 대해 살펴보았는데요, 이번 포스팅에서는 스토어드 함수(Stored Function)에 대해 알아보도록 하겠습니다.
&amp;nbsp;
&amp;nbsp;
스토어드 함수 (Stored Function)
MySQL이 사용자가 원하는 함수를 전부 제공하지 않기 때문에, 필요에 따라 직접 만들어서 사용하는 함수를 스토어드 함수라고 합니다.
&amp;nbsp;
[ 선언 방법 ]
DELIMITER $$
CREATE F..</description>
      <category>CS/DataBase</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/238</guid>
      <comments>https://zero-zae.tistory.com/238#entry238comment</comments>
      <pubDate>Fri, 6 Oct 2023 11:52:30 +0900</pubDate>
    </item>
    <item>
      <title>[DataBase] 스토어드 프로시저 (Stored Procedure)</title>
      <link>https://zero-zae.tistory.com/237</link>
      <description>이번 포스팅에서는 스토어드 프로시저(Stored Procedure)에 관해 알아보도록 하겠습니다.&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
Stored Procedure ?

일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
프로그래밍 언어의 함수처럼 인자를 넘기는 것이 가능 (IN, OUT, INOUT)
리턴되는 값은 레코드들의 집합
간단한 분기문(if, case)과 루프(loop)를 통한 프로그래밍이 가능
디버깅이 힘들고 서버단의 부하를 증가..</description>
      <category>CS/DataBase</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/237</guid>
      <comments>https://zero-zae.tistory.com/237#entry237comment</comments>
      <pubDate>Fri, 6 Oct 2023 11:16:21 +0900</pubDate>
    </item>
    <item>
      <title>[DataBase] MySQL에서 VARCHAR와 TEXT의 차이</title>
      <link>https://zero-zae.tistory.com/236</link>
      <description>0. Overview


MySQL의 문자열데이터 타입 중 자주 사용하는 VARCHAR와 이와 비슷한 TEXT 가 있죠 ? 기존의 VARCHAR는 255byte만 지원하다가 MySQL5.0.3 이후로 VARCHAR와 TEXT 타입 모두 최대 65,535byte 길이를 지원하게 되었습니다.
&amp;nbsp;
VARCHAR와 TEXT는 모두 문자열을 저장하기 위한 데이터 타입이며, 그렇다면 이 둘의 차이는 무엇일까? 라는 생각이 들었고 이를 알고자 글을 작성하게..</description>
      <category>CS/DataBase</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/236</guid>
      <comments>https://zero-zae.tistory.com/236#entry236comment</comments>
      <pubDate>Thu, 5 Oct 2023 21:41:32 +0900</pubDate>
    </item>
    <item>
      <title>1장 : 사용자 수에 따른 규모 확장성</title>
      <link>https://zero-zae.tistory.com/234</link>
      <description>0. Overview
해당 포스팅은 &quot;가상 면접 사례로 배우는 대규모 시스템 설계 기초&quot;라는 도서를 읽고 이를 정리하고자 작성하는 포스팅입니다.
이번 챕터에서는 한 명의 사용자를 지원하는 시스템에서 시작하여, 최종적으로 수백만 사용자를 지원하는 시스템을 설계하고 규모 확장성에 대한 이해를 높여보자.
&amp;nbsp;
&amp;nbsp;
1. 단일 서버


모든 컴포넌트가 단 한대의 서버에서 실행되는 시스템
웹 앱, 데이터베이스, 캐시 등이 전부 서버 한대에서 실행되..</description>
      <category>기타/가상 면접 사례로 배우는 대규모 시스템 설계 기초</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/234</guid>
      <comments>https://zero-zae.tistory.com/234#entry234comment</comments>
      <pubDate>Wed, 4 Oct 2023 20:58:32 +0900</pubDate>
    </item>
    <item>
      <title>[디자인 패턴] 퍼사드 패턴 (Facade Pattern)</title>
      <link>https://zero-zae.tistory.com/233</link>
      <description>1. 퍼사드 패턴 (Facade Pattern)

Facade는 &quot;건물의 정면&quot;을 의미하는 단어로, 어떤 소프트웨어의 다른 커다란 코드 부분에 대해 간략화 된 인터페이스를 제공해주는 디자인 패턴을 의미합니다. 즉, 건물의 정면만을 보고 건물의 복잡한 내부는 감추는 것과 동일한 셈이죠. 퍼사드 객체는 복잡한 소프트웨어 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜 주고, 복잡한 소프트웨어를 사용할 수 있게 간단한 인터페이스를 제공해줍니다..</description>
      <category>Programming/Java</category>
      <category>디자인 패턴</category>
      <category>퍼사드</category>
      <category>퍼사드 패턴</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/233</guid>
      <comments>https://zero-zae.tistory.com/233#entry233comment</comments>
      <pubDate>Tue, 26 Sep 2023 09:40:30 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 백엔드 데브코스 - Day 5</title>
      <link>https://zero-zae.tistory.com/232</link>
      <description> &amp;nbsp; TIL
&amp;nbsp;
1) 디자인 패턴
디자인 (Design) &amp;rarr; 설계패턴 (Pattern) &amp;rarr; 자주 반복되는 것즉, 디자인 패턴이란 설계 과정에서 자주 반복되는 형태의 코드를 발견하여 각각의 패턴으로 정의해놓은 것 입니다.
그렇다면, 디자인 패턴이 우리에게 주는 이점은 무엇이 있을까요 ?
&amp;nbsp;
(1) 검증된 해결 방안  
디자인 패턴은 설계 과정에서 자주 반복되는 형태의 코드 중 누군가 효과적이라고 생각되는 패턴들..</description>
      <category>데브코스/TIL</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/232</guid>
      <comments>https://zero-zae.tistory.com/232#entry232comment</comments>
      <pubDate>Mon, 25 Sep 2023 20:36:20 +0900</pubDate>
    </item>
    <item>
      <title>[디자인 패턴] 어댑터 패턴 (Adapter Pattern)</title>
      <link>https://zero-zae.tistory.com/231</link>
      <description>0. Overview


강의를 듣던 중 디자인 패턴과 관련하여 공부를 하게 되었고, 디자인 패턴의 종류 중 중요하다고 생각되는 패턴들을 정리해보려고 합니다. 그 중 첫번째가 바로 어댑터 패턴 !&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
1. 어댑터 패턴 (Adapter Pattern)
- 현실 세계에서도 찾아보기 쉬운 패턴 (해외에서 한국 전자제품 사용하려면 110v '어댑터'가 필요합니다.)- 호환되지 않는 인터페이스를 가진 객체들이 협업할 ..</description>
      <category>Programming/Java</category>
      <category>디자인 패턴</category>
      <category>어댑터 패턴</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/231</guid>
      <comments>https://zero-zae.tistory.com/231#entry231comment</comments>
      <pubDate>Mon, 25 Sep 2023 12:13:19 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 백엔드 데브코스 - Day 4</title>
      <link>https://zero-zae.tistory.com/230</link>
      <description>데브코스에 참여한지 한 주가 지나가고, 월요일이 돌아왔습니다.. Day 4에 대한 TIL을 작성해볼게요.
&amp;nbsp;
&amp;nbsp;
  TIL
오늘 주제의 큰 틀은 SOLID 로 객체지향 설계의 5대 원리에 대해 살펴보려고 합니다. 먼저 SOLID에 대해 살펴보기 전에, 객체지향의 4대 특성에 대해 한번 짚고 넘어가도록 하겠습니다.
&amp;nbsp;
&amp;nbsp;
1) 객체지향 4대 특성
캡슐화(Encapsulation) ,&amp;nbsp;상속(Inheritance)..</description>
      <category>데브코스/TIL</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/230</guid>
      <comments>https://zero-zae.tistory.com/230#entry230comment</comments>
      <pubDate>Mon, 25 Sep 2023 10:51:49 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Stream - findAny() VS findFirst()</title>
      <link>https://zero-zae.tistory.com/229</link>
      <description>0. Overview

Stream API 관련 강의를 듣던 중 Optional 과 연관지어 사용하다가 findAny() 메서드와 findFirst() 메서드의 차이가 궁금해졌습니다.&amp;nbsp;
findAny()는 Stream에서 가장 먼저 탐색되는 요소를 리턴하고, findFirst()는 조건에 일치하는 요소들 중 Stream에서 순서가 가장 앞에 있는 요소를 리턴하는데, 둘의 차이가 뭘까요 ?
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
 &amp;nbsp; fi..</description>
      <category>Programming/Java</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/229</guid>
      <comments>https://zero-zae.tistory.com/229#entry229comment</comments>
      <pubDate>Fri, 22 Sep 2023 15:42:55 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 백엔드 데브코스 - Day 3</title>
      <link>https://zero-zae.tistory.com/228</link>
      <description>&amp;nbsp;
  TIL
&amp;nbsp;
1) Stream API
Stream API는 Data를 파이프 라인 형식으로 처리하기 위한 API 입니다. Collection, 배열, 파일 등 데이터의 집합체(Data Source)에서 각각의 요소를 꺼내서 그것을 처리의 흐름(Stream)에 전달하기 위한 구성을 제공합니다.
Stream은 함수 조작을 한 결과를 Stream으로 반환하는 &quot;중간 조작&quot;과 처리 결과를 Data로 반환하는 &quot;종단 조작&quot;이 있다고 합니다..</description>
      <category>데브코스/TIL</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/228</guid>
      <comments>https://zero-zae.tistory.com/228#entry228comment</comments>
      <pubDate>Fri, 22 Sep 2023 12:38:29 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 백엔드 데브코스 - Day 2</title>
      <link>https://zero-zae.tistory.com/226</link>
      <description>데브코스 참여 2일차로 오늘 배운 내용을 정리해보도록 하겠습니다..!  
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
  TIL
&amp;nbsp;
1) Object 클래스의 주요 메서드들&amp;nbsp;
모든 Java 객체의 부모 객체인 Object 클래스는 다양한 메서드를 갖고 있습니다. 그 중 주요 메서드로 equals(), hashCode(), toString() 등이 있는데요. 오늘은 이 세가지에 대해 학습했습니다. 각 메서드에 대해 알아보기 이전 &quot;동일성&quot;과 &quot;..</description>
      <category>데브코스/TIL</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/226</guid>
      <comments>https://zero-zae.tistory.com/226#entry226comment</comments>
      <pubDate>Thu, 21 Sep 2023 14:15:19 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 정적 팩토리 메서드 (Static Factory Method)</title>
      <link>https://zero-zae.tistory.com/227</link>
      <description>0. Overview
Optional 관련 강의를 듣다가, Optional.of() 와 같은 메서드를 정적 팩토리 메서드라고 듣게 되었습니다. &quot;정적 팩토리 메서드&quot;라는 키워드를 보고 정적 팩토리 메서드가 무엇인지 정리하고자 글을 작성하게 되었어요.  
&amp;nbsp;
&amp;nbsp;
1. 정적 팩토리 메서드 ? 

정적 팩토리 메서드는 객체의 생성을 담당하는 클래스 메서드라고 합니다. (사실 무슨 말인지 아직은 잘 모르겠어요..)
&amp;nbsp;
보통 자바를 공..</description>
      <category>Programming/Java</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/227</guid>
      <comments>https://zero-zae.tistory.com/227#entry227comment</comments>
      <pubDate>Thu, 21 Sep 2023 14:14:47 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 백엔드 데브코스 - Day 1</title>
      <link>https://zero-zae.tistory.com/225</link>
      <description>&amp;nbsp;

오늘(9월 20일)부터 기다려왔던 백엔드 데브코스 교육을 시작하게 되었어요. 평소 배운것들을 블로그에 정리하는 성격이기에 데브코스에 참여하면서 TIL(Today I Learned)을 작성하면 좋겠다. 라는 생각을 하게 되었고, TIL은 꾸준하게 작성하는 것이 굉장히 중요하다고 하는데 끝까지 할 수 있겠지 ?... 화이팅 (조금이라도 나태해진다면 이 글을 다시 보러 와야겠다.)
&amp;nbsp;
TIL은 말그대로 Today I Learned의 약..</description>
      <category>데브코스/TIL</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/225</guid>
      <comments>https://zero-zae.tistory.com/225#entry225comment</comments>
      <pubDate>Wed, 20 Sep 2023 14:39:30 +0900</pubDate>
    </item>
    <item>
      <title>[데브코스] 프로그래머스 데브코스 백엔드 5기 합격 후기</title>
      <link>https://zero-zae.tistory.com/224</link>
      <description>0. Overview

스프링 관련 공부를 올해 3월쯤부터 시작해서 전반적인 내용을 다뤄보았고, 이를 프로젝트에 적용까지 해보았지만 아직까진 기초가 단단하다기 보단 기술을 적용하기 급급했던것 같아서 전문적인 교육을 통해 기본기가 탄탄한 개발자로 성장하고 싶어 데브코스에 지원하게 되었어요 !&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
1. 데브코스인 이유 ?&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

[5기] K-Digital Training: 클라우..</description>
      <category>데브코스</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/224</guid>
      <comments>https://zero-zae.tistory.com/224#entry224comment</comments>
      <pubDate>Tue, 19 Sep 2023 21:37:28 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Thread 란 ?</title>
      <link>https://zero-zae.tistory.com/223</link>
      <description>1. 프로세스와 스레드&amp;nbsp;

프로세스란 운영체제에서 실행 중인 하나의 어플리케이션을 의미합니다. 프로그램을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당 받아 해당하는 코드를 실행하는 작업의 단위를 프로세스라고 합니다.
&amp;nbsp;
스레드는? 프로세스 안에서 독립적으로 실행되는 흐름의 단위에요. 그리고 또 하나의 프로세스가 여러 스레드를 실행하는 것을 멀티 스레드라고 합니다.

&amp;nbsp;
&amp;nbsp;
2. 스레드의 생성과 실행&amp;nbsp;
..</description>
      <category>Programming/Java</category>
      <category>thread</category>
      <category>데몬스레드</category>
      <category>상태 제어</category>
      <category>자바 Thread</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/223</guid>
      <comments>https://zero-zae.tistory.com/223#entry223comment</comments>
      <pubDate>Sun, 17 Sep 2023 17:52:06 +0900</pubDate>
    </item>
    <item>
      <title>[Java] I/O</title>
      <link>https://zero-zae.tistory.com/222</link>
      <description>0. Overview

알고리즘 관련 문제를 풀다가, 기본적인 입력을 받는 부분에서 조차 Java의 입출력 시스템에 대한 이해도가 부족하다고 생각하여 해당 글을 정리하게 되었습니다.
&amp;nbsp;
&amp;nbsp;
1. I/O 란 ?


Input과 Output의 약자로 입출력을 의미합니다.
입출력의 간단한 예로 키보드로 텍스트를 입력하고, 모니터로 입력한 텍스트를 출력하는 것이 있습니다.
자바의 입출력은 Stream을 통해 이루어집니다.

&amp;nbsp;
1 -..</description>
      <category>Programming/Java</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/222</guid>
      <comments>https://zero-zae.tistory.com/222#entry222comment</comments>
      <pubDate>Sun, 17 Sep 2023 16:12:58 +0900</pubDate>
    </item>
    <item>
      <title>[UML] 클래스 다이어그램 (Class Diagram)</title>
      <link>https://zero-zae.tistory.com/221</link>
      <description>0. Overview

프로젝트 설계에 있어 객체의 구성 및 도메인 모델을 어떻게 구성해야할지에 대해 고민을 하게 되었습니다. 이때 기본이 되는 것이 UML, 특히 클래스 다이어그램(Class Diagram)이라는 것을 알게 되었고 대략적인 지식은 있었지만 보다 이를 명확하게 이해하기 위해 클래스 다이어그램에 대해 정리해보고자 합니다.
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
1. UML 이란 ?

먼저 UML이란 Unified Modeling Langua..</description>
      <category>기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/221</guid>
      <comments>https://zero-zae.tistory.com/221#entry221comment</comments>
      <pubDate>Sat, 16 Sep 2023 19:04:12 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Java에서 Collection(컬렉션)이란 ?</title>
      <link>https://zero-zae.tistory.com/220</link>
      <description>Overview

컬렉션(Collection)은 많은 데이터 요소를 효율적으로 관리하기 위한 자료구조를 말하며, ArrayList, LinkedList, HashMap 등이 여기에 포함됩니다. 그리고 컬렉션들은 제네릭(Generic)으로 구현되어 있어 컬렉션과 함께 제네릭에 대해서도 알아보도록 하겠습니다.
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
1. Collection(컬렉션) ?&amp;nbsp;

컬렉션(Collection)이란 많은 수의 데이터를 그 사용 ..</description>
      <category>Programming/Java</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/220</guid>
      <comments>https://zero-zae.tistory.com/220#entry220comment</comments>
      <pubDate>Fri, 15 Sep 2023 17:15:21 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 인터페이스(Interface)란 ?</title>
      <link>https://zero-zae.tistory.com/219</link>
      <description>개요&amp;nbsp;

&quot;자바 인터페이스(Java Interface)는 무엇인가 ?&quot;&amp;nbsp;
&amp;nbsp;
이런 궁금증을 가지고 있는 Java Programmer가 많습니다. 물론 필자도 그렇습니다. 인터페이스가 어디에 어떻게 왜 쓰이는지 명확히 이해하는데에 어려움이 있었고 이를 정리하고자 글을 작성하게 되었습니다.&amp;nbsp;
&amp;nbsp;
&quot;객체 지향 개발 5대 원칙 - SOLID&quot;을 만족시켜준다. 라는 부분 때문에 인터페이스를 사용한다고 생각합니다. 그렇..</description>
      <category>Programming/Java</category>
      <category>Interface</category>
      <category>람다식</category>
      <category>인터페이스</category>
      <category>자바</category>
      <category>함수형 인터페이스</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/219</guid>
      <comments>https://zero-zae.tistory.com/219#entry219comment</comments>
      <pubDate>Thu, 14 Sep 2023 18:07:32 +0900</pubDate>
    </item>
    <item>
      <title>[Java] String vs StringBuilder vs StringBuffer 차이점</title>
      <link>https://zero-zae.tistory.com/218</link>
      <description>개요

Java에서 String 클래스는 불변성을 갖습니다. 그래서 변하지 않는 문자열을 자주 사용하는 경우 좋은 성능을 기대할 수 있는데요, 하지만 문자열에 대한 변경이 자주 일어나는 프로그램에서 String만 사용하게 된다면 효율적인 성능을 기대하기 어렵습니다. 그래서 StringBuilder, StringBuffer를 사용하여 효율적인 성능을 보일 수 있습니다. 언제 StringBuilder와 StringBuffer를 사용하면 좋을지 살펴보도록 하..</description>
      <category>Programming/Java</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/218</guid>
      <comments>https://zero-zae.tistory.com/218#entry218comment</comments>
      <pubDate>Wed, 13 Sep 2023 18:05:35 +0900</pubDate>
    </item>
    <item>
      <title>[SQLD] MERGE INTO 구문</title>
      <link>https://zero-zae.tistory.com/217</link>
      <description>이번 포스팅에서는 SQLD 자격증 공부를 진행하다가 오라클에서 제공하는 문법인 MERGE INTO 구문 사용 방법에 대해 알아보려고 합니다.&amp;nbsp;
&amp;nbsp;
&amp;nbsp;
MERGE ?

MERGE 문은 조건에 따라 데이터의 삽입, 갱신, 삭제 작업을 한번에 할 수 있게 해주는 문입니다.
해당 행이 존재하는 경우 UPDATE or DELETE 문을 수행하고, 새로운 행인 경우 INSERT 문을 수행합니다.
대상 테이블에 대한 UPDATE/INSER..</description>
      <category>SQLD</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/217</guid>
      <comments>https://zero-zae.tistory.com/217#entry217comment</comments>
      <pubDate>Thu, 7 Sep 2023 17:56:35 +0900</pubDate>
    </item>
    <item>
      <title>[SQLD] 핵심 요약</title>
      <link>https://zero-zae.tistory.com/213</link>
      <description>&amp;nbsp;
' SQL 자격검정 실전문제 '&amp;nbsp; (일명 노랭이책)을 풀어가며 핵심 개념을 정리한 글입니다.
&amp;nbsp;
&amp;nbsp;
  1 - 1 데이터 모델링의 이해

데이터 모델링이 필요한 이유

업무 정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현
분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용&amp;nbsp;
데이터모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있다.

..</description>
      <category>SQLD</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/213</guid>
      <comments>https://zero-zae.tistory.com/213#entry213comment</comments>
      <pubDate>Sun, 3 Sep 2023 18:49:15 +0900</pubDate>
    </item>
    <item>
      <title>[SQLD] 그룹 함수 - ROLLUP, CUBE, GROUPING SETS</title>
      <link>https://zero-zae.tistory.com/208</link>
      <description>이번 포스팅에서는 SQLD를 준비하던 중 그룹 함수에 대해 공부하고 정리하고자 합니다.
&amp;nbsp;
그룹 함수&amp;nbsp;

그룹함수를 통해 소계/중계/합계/총합계를 구할 수 있다.
하나의 SQL로 테이블을 한번만 읽어서 빠르게 원하는 리포트를 작성할 수 있다.&amp;nbsp;
ex) 매출에 대한 리포트를 작성해야 하는 경우 개발자는 그룹 함수를 이용해 쉽게 작성할 수 있습니다.

&amp;nbsp;
그룹 함수의 종류
&amp;nbsp;
ROLLUP

Subtotal을 생성..</description>
      <category>SQLD</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/208</guid>
      <comments>https://zero-zae.tistory.com/208#entry208comment</comments>
      <pubDate>Fri, 18 Aug 2023 19:49:07 +0900</pubDate>
    </item>
    <item>
      <title>JUnit5 Test가 생성자 의존성 주입을 하는 방법</title>
      <link>https://zero-zae.tistory.com/207</link>
      <description>기존에 우리는 Spring Framework에서 의존성 주입(DI)을 하게 될 때 생성자가 하나라면, @Autowired를 생략해도 된다고 공부했었습니다. JUnit으로 @SpringBootTest 테스트 코드를 작성할 때 같은 방식으로 하면 다음과 같은 에러가 발생합니다.
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for par..</description>
      <category>Programming/기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/207</guid>
      <comments>https://zero-zae.tistory.com/207#entry207comment</comments>
      <pubDate>Fri, 18 Aug 2023 17:19:18 +0900</pubDate>
    </item>
    <item>
      <title>[Error] com.amazonaws.SdkClientException: Failed to connect to service endpoint 에러</title>
      <link>https://zero-zae.tistory.com/204</link>
      <description>프로젝트를 진행하던 중, 파일 관리를 위해 AWS의 S3 서버를 스프링 부트와 연동해서 적용했습니다. 그런데 로컬에서 스프링 서버를 실행시켜보니 다음과 같은 오류가 발생했습니다.
&amp;nbsp;
오류 내용
com.amazonaws.SdkClientException: Failed to connect to service endpoint
Caused by: java.net.SocketException: Network is unreachable: connect
&amp;..</description>
      <category>Error</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/204</guid>
      <comments>https://zero-zae.tistory.com/204#entry204comment</comments>
      <pubDate>Thu, 17 Aug 2023 21:15:50 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] S3를 이용한 파일 업로드 - (3) Spring Boot 연동</title>
      <link>https://zero-zae.tistory.com/203</link>
      <description>EC2 서버를 이용하여 프로젝트를 배포하고 나니, 게시글 이미지와 회원 프로필 이미지에 대한 부분이 개인 로컬 PC에 저장되도록 구현되어 있는 부분을 S3 서버를 적용하여 파일을 관리하고자 적용해보려고 합니다.
&amp;nbsp;
[ 기존 설정 ]
upload:
  post:
    image:
      location: /Users/zerozae/Desktop/sharing_platform_server/post/
  member:
    image:
   ..</description>
      <category>AWS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/203</guid>
      <comments>https://zero-zae.tistory.com/203#entry203comment</comments>
      <pubDate>Thu, 17 Aug 2023 20:34:15 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] S3를 이용한 파일 업로드 - (2) 사용자, 버킷 생성</title>
      <link>https://zero-zae.tistory.com/202</link>
      <description>이번 포스팅에서는 AWS의 S3를 이용하기 위해 사용자 및 버킷을 생성해보도록 하겠습니다.
&amp;nbsp;
S3 무료 여부&amp;nbsp;
S3를 사용하기 이전, S3의 무료 적용 제한 범위를 살펴보겠습니다.

표준 스토리지 5GB까지 무료&amp;nbsp;
가입일을 기준으로 12개월 동안 사용이 가능합니다.
GET 요청 20,000건 무료
PUT 요청 2,000 무료&amp;nbsp;

&amp;nbsp;
&amp;nbsp;
사용자 생성
&amp;nbsp;
(1) IAM 이동 


AWS Con..</description>
      <category>AWS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/202</guid>
      <comments>https://zero-zae.tistory.com/202#entry202comment</comments>
      <pubDate>Thu, 17 Aug 2023 19:55:39 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] S3를 이용한 파일 업로드 - (1) 개념 살펴보기</title>
      <link>https://zero-zae.tistory.com/201</link>
      <description>지난 AWS의 EC2를 이용해 스프링 프로젝트를 빌드하고, 배포해보는 작업을 수행했습니다.
&amp;nbsp;
이번 포스팅에서는 기존 로컬 폴더에 파일 업로드 하던 방식에서 AWS의 S3를 이용해 서버에 파일을 업로드하는 부분을 구현하기 이전에 기초 개념에 대해 살펴보고 다음 포스팅에 이어 구현해보도록 하겠습니다.
&amp;nbsp;
&amp;nbsp;
AWS S3 ?
S3는 Simple Storage Service의 약자로 주로 파일 서버로 사용되고, AWS가 제공하는 객..</description>
      <category>AWS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/201</guid>
      <comments>https://zero-zae.tistory.com/201#entry201comment</comments>
      <pubDate>Thu, 17 Aug 2023 19:28:38 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] WebSocket , SockJS 를 이용한 채팅 서비스</title>
      <link>https://zero-zae.tistory.com/199</link>
      <description>이번 포스팅에서는 WebSocket 라이브러리와 SockJS 라이브러리를 이용해 스프링 채팅 서비스를 구현해보겠습니다.
&amp;nbsp;
WebSocket ?&amp;nbsp;
: 웹 버전의 TCP 또는 Socket 이라고 이해하면 됩니다. WebSocket은 서버와 클라이언트 간 Socket Connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술입니다.
&amp;nbsp;
ex) SNS 애플리케이션 , LoL 같은 멀티플레이어 게임, ..</description>
      <category>Programming/기타</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/199</guid>
      <comments>https://zero-zae.tistory.com/199#entry199comment</comments>
      <pubDate>Thu, 17 Aug 2023 00:17:14 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] EC2 배포하기 (2) - 빌드 및 접속</title>
      <link>https://zero-zae.tistory.com/193</link>
      <description>지난 포스팅에 이어, 이번 포스팅에서는 실제 생성한 인스턴스를 바탕으로 우분투 콘솔에 접속하고 빌드를 통해 서버를 띄우고 접속해보도록 하자.
&amp;nbsp;
&amp;nbsp;
EC2 Ubuntu 콘솔 접속&amp;nbsp;
지난 포스팅에서 인스턴스를 생성할 때 함께 생성했던 &quot;키 페어&quot;를 잘 보관하는 것이 중요하다고 했었는데, 해당 파일을 보관해둔 폴더로 이동해주자.
&amp;nbsp;
(1) chmod 400 '키페어파일'
(2) ssh -i '키페어파일' ubuntu@인스..</description>
      <category>AWS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/193</guid>
      <comments>https://zero-zae.tistory.com/193#entry193comment</comments>
      <pubDate>Mon, 14 Aug 2023 18:23:48 +0900</pubDate>
    </item>
    <item>
      <title>[AWS] EC2 배포하기 (1) - 인스턴스 생성</title>
      <link>https://zero-zae.tistory.com/192</link>
      <description>이번 포스팅에서는 스프링 프레임워크를 이용한 프로젝트를 AWS 를 통해 배포하는 과정을 정리해보겠다.
&amp;nbsp;
목차&amp;nbsp;
1. AWS 세팅 및 인스턴스 생성
2. 발급 받은 ssh 키로 EC2 우분투 콘솔 접속하기
3. 우분투 콘솔에서 git ssh 연동 후 git clone 하기
4. 내려받은 파일로 빌드하고 jar 파일 실행시켜 스프링 부트 서버 실행시키기
&amp;nbsp;
&amp;nbsp;
AWS 세팅 및 인스턴스 생성
&amp;nbsp;
(1) AWS R..</description>
      <category>AWS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/192</guid>
      <comments>https://zero-zae.tistory.com/192#entry192comment</comments>
      <pubDate>Mon, 14 Aug 2023 17:34:43 +0900</pubDate>
    </item>
    <item>
      <title>[SQLD] 국가공인 SQL 개발자 (SQLD) 자격증 시험 개요</title>
      <link>https://zero-zae.tistory.com/187</link>
      <description>과목 및 내용

: SQL 개발자 자격시험의 과목은 총 2과목으로 구성되어 있으며, 데이터 모델링의 이해 과목을 바탕으로 SQL 기본 및 활용을 수행하는 능력을 검정한다.
&amp;nbsp;
&amp;nbsp;



과목명
장
절


데이터 모델링의 이해
데이터 모델링의 이해
- 데이터 모델의 이해- 엔티티- 속성- 관계- 식별자


데이터 모델과 성능
- 정규화와 성능- 반정규화와 성능- 대용량 데이터에 따른 성능- DB 구조와 성능- 분산DB 데이터에 따른 성능
..</description>
      <category>SQLD</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/187</guid>
      <comments>https://zero-zae.tistory.com/187#entry187comment</comments>
      <pubDate>Sat, 12 Aug 2023 20:22:16 +0900</pubDate>
    </item>
    <item>
      <title>[Spring Security] JWT Tutorial (4) - 회원가입 &amp;amp; 권한검증</title>
      <link>https://zero-zae.tistory.com/167</link>
      <description>이번 포스팅에서는 마지막으로 회원 가입을 통해 데이터베이스에 회원 정보를 저장하고, 로그인을 통해 JWT를 생성하여, 권한에 따른 리소스에 접근 시 발급받은 JWT를 통해 검증하고 접근하는 로직을 개발해보자.
&amp;nbsp;
먼저 회원가입 로직을 개발하기 위해서 MemberService를 구현하자.
MemberService
&amp;nbsp;
[ SecurityUtil ]&amp;nbsp;
먼저, MemberService를 구현하기 앞서, 현재 유저의 이름을 반환하는 메..</description>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/167</guid>
      <comments>https://zero-zae.tistory.com/167#entry167comment</comments>
      <pubDate>Sat, 17 Jun 2023 18:55:54 +0900</pubDate>
    </item>
    <item>
      <title>[OS] 가상 메모리와 요구 페이징</title>
      <link>https://zero-zae.tistory.com/109</link>
      <description>가상 메모리(Virtual Memory)

메인 메모리의 크기는 한정되어 있다. 따라서 물리적이 메모리 크기보다 크기가 큰 프로세스는 실행시킬 수 없게 되는데 예를 들어 메인 메모리 크기가 100MB일 때 300MB 크기의 프로세스는 실행시킬 수 없다. 크기가 큰 프로세스를 실행시키기 위해서는 메인 메모리를 크게 키우는 방법이 있겠지만, 이것은 굉장히 비효율적이다.&amp;nbsp;
&amp;nbsp;
따라서 나온 방법이 바로 가상 메모리(Virtual Memory)..</description>
      <category>CS/OS</category>
      <author>엥재</author>
      <guid isPermaLink="true">https://zero-zae.tistory.com/109</guid>
      <comments>https://zero-zae.tistory.com/109#entry109comment</comments>
      <pubDate>Tue, 25 Apr 2023 17:35:43 +0900</pubDate>
    </item>
  </channel>
</rss>