<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개냥이</title>
    <link>https://the-snack-over-flow.tistory.com/</link>
    <description>개발 공부하는 그냥 고양이 좋아하는 사람</description>
    <language>ko</language>
    <pubDate>Fri, 10 Apr 2026 21:43:48 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>the.Dev.Cat</managingEditor>
    <image>
      <title>개냥이</title>
      <url>https://tistory1.daumcdn.net/tistory/8251717/attach/e2715ee2b9c94bb7aa4596635c8d05f8</url>
      <link>https://the-snack-over-flow.tistory.com</link>
    </image>
    <item>
      <title>[Java] 다형성과 설계</title>
      <link>https://the-snack-over-flow.tistory.com/129</link>
      <description>


Java 기본 — 다형성과 설계

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background:..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/129</guid>
      <comments>https://the-snack-over-flow.tistory.com/129#entry129comment</comments>
      <pubDate>Thu, 9 Apr 2026 23:55:24 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 다형성 Part.2</title>
      <link>https://the-snack-over-flow.tistory.com/128</link>
      <description>


Java 기본 — 다형성2

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #f..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/128</guid>
      <comments>https://the-snack-over-flow.tistory.com/128#entry128comment</comments>
      <pubDate>Thu, 9 Apr 2026 21:33:24 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 다형성 Part.1</title>
      <link>https://the-snack-over-flow.tistory.com/127</link>
      <description>


Java 기본 — 다형성1

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font-siz..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/127</guid>
      <comments>https://the-snack-over-flow.tistory.com/127#entry127comment</comments>
      <pubDate>Thu, 9 Apr 2026 20:02:39 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 상속</title>
      <link>https://the-snack-over-flow.tistory.com/126</link>
      <description>


Java 기본 — 상속

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #fff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/126</guid>
      <comments>https://the-snack-over-flow.tistory.com/126#entry126comment</comments>
      <pubDate>Thu, 9 Apr 2026 17:30:54 +0900</pubDate>
    </item>
    <item>
      <title>[Express] 인증 &amp;amp; JWT &amp;amp; OAuth</title>
      <link>https://the-snack-over-flow.tistory.com/125</link>
      <description>  
    
    
    Node.js 워크북 — 인증/JWT/OAuth
  
  
   	
      1. 인증(Authentication)과 인가(Authorization)
    

    
      로그인 기능을 구현하기 전에 가장 혼동하기 쉬운 두 개념을 먼저 정리한다.
    

    
      인증 (Authentication) — 당신은 누구인가
    
    
      인증은 사용자가 누구인지 확인하는 과정이다. 아이디와 ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/125</guid>
      <comments>https://the-snack-over-flow.tistory.com/125#entry125comment</comments>
      <pubDate>Wed, 8 Apr 2026 14:36:31 +0900</pubDate>
    </item>
    <item>
      <title>[Express] CORS &amp;amp; Swagger 세팅</title>
      <link>https://the-snack-over-flow.tistory.com/124</link>
      <description>


Node.js 워크북 — CORS &amp;amp; Swagger


1. SOP와 CORS 개념

웹 브라우저는 기본적으로 동일 출처 정책(Same-Origin Policy, SOP)이라는 보안 규칙을 따른다. SOP는 서로 다른 출처(Origin)로의 리소스 요청을 차단한다.

출처(Origin)는 세 가지 요소로 구성된다.


  
    
      요소
      예시
    
  
  
    프로토콜https://, http://
    호스..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/124</guid>
      <comments>https://the-snack-over-flow.tistory.com/124#entry124comment</comments>
      <pubDate>Wed, 8 Apr 2026 12:33:08 +0900</pubDate>
    </item>
    <item>
      <title>[Express] Express 미들웨어 &amp;amp; 에러 핸들링</title>
      <link>https://the-snack-over-flow.tistory.com/123</link>
      <description>


Node.js 워크북 — Express 미들웨어 &amp; 에러 핸들링




1. 미들웨어 개념과 동작 원리

Express에서 미들웨어는 요청(req)과 응답(res) 사이에서 동작하는 독립적인 함수다. 클라이언트가 서버로 요청을 보내면, 그 요청이 라우트 핸들러에 도달하기 전에 미들웨어들이 순서대로 실행된다. HTTP 응답이 완료될 때까지 이 미들웨어 사이클이 계속된다.

req, res, next 역할


  
    
      인자
      ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/123</guid>
      <comments>https://the-snack-over-flow.tistory.com/123#entry123comment</comments>
      <pubDate>Wed, 8 Apr 2026 12:27:07 +0900</pubDate>
    </item>
    <item>
      <title>[Java] final</title>
      <link>https://the-snack-over-flow.tistory.com/122</link>
      <description>


Java 기본 — final

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font-si..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/122</guid>
      <comments>https://the-snack-over-flow.tistory.com/122#entry122comment</comments>
      <pubDate>Tue, 7 Apr 2026 06:00:44 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 자바의 메모리 구조</title>
      <link>https://the-snack-over-flow.tistory.com/121</link>
      <description>


Java 기본 — 자바 메모리 구조와 static

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  ..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/121</guid>
      <comments>https://the-snack-over-flow.tistory.com/121#entry121comment</comments>
      <pubDate>Mon, 6 Apr 2026 23:15:56 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 접근 제한자</title>
      <link>https://the-snack-over-flow.tistory.com/120</link>
      <description>


Java 기본 — 접근 제어자

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font-s..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/120</guid>
      <comments>https://the-snack-over-flow.tistory.com/120#entry120comment</comments>
      <pubDate>Mon, 6 Apr 2026 21:15:01 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 패키지</title>
      <link>https://the-snack-over-flow.tistory.com/119</link>
      <description>


Java 기본 — 패키지

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font-size..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/119</guid>
      <comments>https://the-snack-over-flow.tistory.com/119#entry119comment</comments>
      <pubDate>Mon, 6 Apr 2026 07:00:00 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 생성자</title>
      <link>https://the-snack-over-flow.tistory.com/118</link>
      <description>


Java 기본 — 생성자

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font-size..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/118</guid>
      <comments>https://the-snack-over-flow.tistory.com/118#entry118comment</comments>
      <pubDate>Mon, 6 Apr 2026 02:56:17 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 객체 지향 프로그래밍 (OOP)</title>
      <link>https://the-snack-over-flow.tistory.com/117</link>
      <description>


Java 기본 — 객체 지향 프로그래밍

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { f..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/117</guid>
      <comments>https://the-snack-over-flow.tistory.com/117#entry117comment</comments>
      <pubDate>Sun, 5 Apr 2026 10:00:06 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 기본형과 참조형</title>
      <link>https://the-snack-over-flow.tistory.com/116</link>
      <description>


Java 기본 — 기본형과 참조형

  *, *::before, *::after { box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif; font-size: 16px; line-height: 1.8; color: #1a1a1a; background: #fff; }
  h1 { font..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/116</guid>
      <comments>https://the-snack-over-flow.tistory.com/116#entry116comment</comments>
      <pubDate>Sun, 5 Apr 2026 06:30:57 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 클래스와 데이터</title>
      <link>https://the-snack-over-flow.tistory.com/115</link>
      <description>


Java 기본 — 클래스와 데이터

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background..</description>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/115</guid>
      <comments>https://the-snack-over-flow.tistory.com/115#entry115comment</comments>
      <pubDate>Sun, 5 Apr 2026 05:22:17 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 메소드(method)</title>
      <link>https://the-snack-over-flow.tistory.com/114</link>
      <description>


Java 입문 — 메서드

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #ff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/114</guid>
      <comments>https://the-snack-over-flow.tistory.com/114#entry114comment</comments>
      <pubDate>Sun, 5 Apr 2026 04:27:06 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 배열</title>
      <link>https://the-snack-over-flow.tistory.com/113</link>
      <description>


Java 입문 — 배열

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #fff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/113</guid>
      <comments>https://the-snack-over-flow.tistory.com/113#entry113comment</comments>
      <pubDate>Sun, 5 Apr 2026 01:26:09 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 훈련 (입출력 등)</title>
      <link>https://the-snack-over-flow.tistory.com/112</link>
      <description>


Java 입문 — 훈련

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #fff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/112</guid>
      <comments>https://the-snack-over-flow.tistory.com/112#entry112comment</comments>
      <pubDate>Sat, 4 Apr 2026 23:59:06 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 스코프, 형변환</title>
      <link>https://the-snack-over-flow.tistory.com/111</link>
      <description>


Java 입문 — 스코프, 형변환

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/111</guid>
      <comments>https://the-snack-over-flow.tistory.com/111#entry111comment</comments>
      <pubDate>Sat, 4 Apr 2026 21:00:51 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 반복문</title>
      <link>https://the-snack-over-flow.tistory.com/110</link>
      <description>


Java 입문 — 반복문

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #ff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/110</guid>
      <comments>https://the-snack-over-flow.tistory.com/110#entry110comment</comments>
      <pubDate>Sat, 4 Apr 2026 17:39:01 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 조건문</title>
      <link>https://the-snack-over-flow.tistory.com/109</link>
      <description>


Java 입문 — 조건문

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #ff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/109</guid>
      <comments>https://the-snack-over-flow.tistory.com/109#entry109comment</comments>
      <pubDate>Sat, 4 Apr 2026 07:15:07 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 연산자</title>
      <link>https://the-snack-over-flow.tistory.com/108</link>
      <description>


Java 입문 — 연산자

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #ff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/108</guid>
      <comments>https://the-snack-over-flow.tistory.com/108#entry108comment</comments>
      <pubDate>Sat, 4 Apr 2026 02:14:00 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 변수</title>
      <link>https://the-snack-over-flow.tistory.com/107</link>
      <description>


Java 입문 — 변수

  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #fff..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/107</guid>
      <comments>https://the-snack-over-flow.tistory.com/107#entry107comment</comments>
      <pubDate>Fri, 3 Apr 2026 22:47:52 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Java란?</title>
      <link>https://the-snack-over-flow.tistory.com/106</link>
      <description>&amp;nbsp;


  *, *::before, *::after { box-sizing: border-box; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #1a1a1a;
    background: #fff;
  }

 ..</description>
      <category>Study/Java</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/106</guid>
      <comments>https://the-snack-over-flow.tistory.com/106#entry106comment</comments>
      <pubDate>Fri, 3 Apr 2026 03:47:45 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] ORM으로 Repository 리팩토링</title>
      <link>https://the-snack-over-flow.tistory.com/105</link>
      <description>1. ORM이란
5주차에서 작성한 Repository 코드를 다시 보면 이렇다:
export const getUserPreferencesByUserId = async (userId) =&amp;gt; {
  const conn = await pool.getConnection()
  try {
    const [preferences] = await pool.query(
      &quot;SELECT ufc.uf_category_id, ufc.f_category_id..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/105</guid>
      <comments>https://the-snack-over-flow.tistory.com/105#entry105comment</comments>
      <pubDate>Wed, 1 Apr 2026 00:56:52 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] Express API 개발 실습</title>
      <link>https://the-snack-over-flow.tistory.com/104</link>
      <description>1. GitHub 이슈 기반 워크플로우
기능을 개발하기 전에 GitHub Issue를 먼저 만드는 것이 팀 협업의 기본 흐름이다. 이슈 &amp;rarr; 브랜치 &amp;rarr; 커밋 &amp;rarr; PR 순서다.
Git Flow vs GitHub Flow
협업 브랜치 전략은 크게 두 가지로 나뉜다.



전략
브랜치 구성
적합한 상황




Git Flow
main, develop, feature, release, hotfix
대규모 팀, 명확한 릴리스 주기가 있는..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/104</guid>
      <comments>https://the-snack-over-flow.tistory.com/104#entry104comment</comments>
      <pubDate>Wed, 1 Apr 2026 00:55:46 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] Node.js 핵심 개념과 프로젝트 구조</title>
      <link>https://the-snack-over-flow.tistory.com/103</link>
      <description>1. Node.js란 무엇인가
Node.js는 Chrome V8 엔진으로 빌드된 JavaScript 런타임이다. &quot;서버 언어&quot;가 아니라 &quot;JavaScript 실행 환경&quot;이다. 서버, CLI 도구, 빌드 툴(Webpack, Vite), 자동화 스크립트 어디에나 쓸 수 있다.
실제 사용처: Netflix, LinkedIn, PayPal, NASA, 네이버, 카카오 등이 Node.js를 서버로 사용한다.

Node.js가 서버로 적합한 이유: I/O가 많고 ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/103</guid>
      <comments>https://the-snack-over-flow.tistory.com/103#entry103comment</comments>
      <pubDate>Wed, 1 Apr 2026 00:54:30 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] REST API 설계와 프로젝트 세팅</title>
      <link>https://the-snack-over-flow.tistory.com/102</link>
      <description>1. API란 무엇인가
API(Application Programming Interface)는 애플리케이션을 프로그래밍할 때 복잡한 내부 구현을 숨기고 필요한 기능만 제공하는 도구다. console.log(), print()처럼 내부 동작을 몰라도 함수만 호출하면 된다.

어려운 것은 감추고 쉽게 상호작용할 수 있게 해주는 것이 인터페이스고, API는 그 개념을 애플리케이션 영역으로 가져온 것이다.

클라이언트-서버 통신에서의 API는 이 개념의 부분 ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/102</guid>
      <comments>https://the-snack-over-flow.tistory.com/102#entry102comment</comments>
      <pubDate>Wed, 1 Apr 2026 00:53:49 +0900</pubDate>
    </item>
    <item>
      <title>[1182] 부분수열의 합</title>
      <link>https://the-snack-over-flow.tistory.com/101</link>
      <description>&amp;nbsp;

백준 Silver II | 1182 | Python | 문제 링크

문제 설명
N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 &amp;le; N &amp;le; 20, |S| &amp;le; 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/101</guid>
      <comments>https://the-snack-over-flow.tistory.com/101#entry101comment</comments>
      <pubDate>Tue, 31 Mar 2026 16:57:00 +0900</pubDate>
    </item>
    <item>
      <title>[15650] N과 M (2)</title>
      <link>https://the-snack-over-flow.tistory.com/100</link>
      <description>&amp;nbsp;

백준 Silver III | 15650 | Python | 문제 링크

문제 설명
자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.

1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열
고른 수열은 오름차순이어야 한다.

입력
첫째 줄에 자연수 N과 M이 주어진다. (1 &amp;le; M &amp;le; N &amp;le; 8)
출력
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/100</guid>
      <comments>https://the-snack-over-flow.tistory.com/100#entry100comment</comments>
      <pubDate>Tue, 31 Mar 2026 16:53:59 +0900</pubDate>
    </item>
    <item>
      <title>[15649] N과 M (1)</title>
      <link>https://the-snack-over-flow.tistory.com/99</link>
      <description>&amp;nbsp;
&amp;nbsp;

백준 Silver III | 15649 | Python | 문제 링크

문제 설명
자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.

1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열

입력
첫째 줄에 자연수 N과 M이 주어진다. (1 &amp;le; M &amp;le; N &amp;le; 8)
출력
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 ..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/99</guid>
      <comments>https://the-snack-over-flow.tistory.com/99#entry99comment</comments>
      <pubDate>Tue, 31 Mar 2026 16:52:43 +0900</pubDate>
    </item>
    <item>
      <title>[1158] 요세푸스 문제</title>
      <link>https://the-snack-over-flow.tistory.com/98</link>
      <description>백준 Silver IV | 1158 | Python | 문제 링크

문제 설명
1번부터 N번까지 N명의 사람이 원을 이루어 앉아있고, 양의 정수 K (&amp;le; N)가 주어진다. 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. N과 K가 주어지면 요세푸스 순열을 구..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/98</guid>
      <comments>https://the-snack-over-flow.tistory.com/98#entry98comment</comments>
      <pubDate>Tue, 31 Mar 2026 16:14:55 +0900</pubDate>
    </item>
    <item>
      <title>[DFS &amp;amp; BFS]</title>
      <link>https://the-snack-over-flow.tistory.com/97</link>
      <description>&amp;nbsp;


  .coding-post {
    font-family: 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    max-width: 760px;
    margin: 0 auto;
    color: #2d2d2d;
    line-height: 1.9;
    font-size: 16px;
  }
  .coding-post h1 {
    font-size: 24px;
    font-we..</description>
      <category>CodingTest/자료구조-알고리즘</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/97</guid>
      <comments>https://the-snack-over-flow.tistory.com/97#entry97comment</comments>
      <pubDate>Tue, 31 Mar 2026 16:14:16 +0900</pubDate>
    </item>
    <item>
      <title>강의로 시작해, 책으로 완성했다 &amp;mdash; 『한 입 크기로 잘라 먹는 리액트(개정판)』</title>
      <link>https://the-snack-over-flow.tistory.com/96</link>
      <description>  본 서평은 출판사로부터 도서를 제공받아 작성한 서평입니다.


  .book-review {
    font-family: 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    max-width: 760px;
    margin: 0 auto;
    color: #2d2d2d;
    line-height: 1.9;
    font-size: 16px;
  }
  .book-review h1 {
    ..</description>
      <category>Study/React</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/96</guid>
      <comments>https://the-snack-over-flow.tistory.com/96#entry96comment</comments>
      <pubDate>Mon, 30 Mar 2026 15:47:08 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] 실전 SQL과 페이지네이션</title>
      <link>https://the-snack-over-flow.tistory.com/95</link>
      <description>&amp;nbsp;

SQL 워밍업
도서관 ERD(member, book, book_category, rent, book_likes)를 기준으로 연습했다.
기본 조회
&quot;소설&quot; 카테고리의 모든 책을 조회한다.
SELECT b.name, b.description
FROM book b
JOIN book_category bc ON b.book_category_id = bc.id
WHERE bc.name = '소설';
집계 함수
회원별 대여 횟수 상위 5명을 조회한다...</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/95</guid>
      <comments>https://the-snack-over-flow.tistory.com/95#entry95comment</comments>
      <pubDate>Wed, 25 Mar 2026 12:53:48 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] SQL 기초 문법과 정규화</title>
      <link>https://the-snack-over-flow.tistory.com/94</link>
      <description>


SQL 기초 문법과 정규화

    *, *::before, *::after { box-sizing: border-box; }

    body {
      font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
      font-size: 16px;
      line-height: 1.8;
      color: #1a1a1a;
      ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/94</guid>
      <comments>https://the-snack-over-flow.tistory.com/94#entry94comment</comments>
      <pubDate>Wed, 25 Mar 2026 12:51:54 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] Database 설계 기초</title>
      <link>https://the-snack-over-flow.tistory.com/93</link>
      <description>


Database 설계 기초

    *, *::before, *::after { box-sizing: border-box; }

    body {
      font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
      font-size: 16px;
      line-height: 1.8;
      color: #1a1a1a;
      ..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/93</guid>
      <comments>https://the-snack-over-flow.tistory.com/93#entry93comment</comments>
      <pubDate>Wed, 25 Mar 2026 12:50:10 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js / Express 5] 서버와 네트워크 기초</title>
      <link>https://the-snack-over-flow.tistory.com/92</link>
      <description>


서버와 네트워크 기초

    *, *::before, *::after { box-sizing: border-box; }

    body {
      font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Noto Sans KR&quot;, sans-serif;
      font-size: 16px;
      line-height: 1.8;
      color: #1a1a1a;
      bac..</description>
      <category>Study/Node.JS</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/92</guid>
      <comments>https://the-snack-over-flow.tistory.com/92#entry92comment</comments>
      <pubDate>Wed, 25 Mar 2026 12:13:10 +0900</pubDate>
    </item>
    <item>
      <title>[재귀 &amp;amp; 완전 탐색] &amp;amp; [백트래킹]</title>
      <link>https://the-snack-over-flow.tistory.com/91</link>
      <description>1. 재귀 함수 설계 원칙
재귀란 무엇인가
함수가 자기 자신을 호출하는 방식으로 문제를 더 작은 같은 구조의 문제로 쪼개는 기법이다.
거울 두 개를 마주 보게 세우면 그 안에서 거울이 무한히 반복된다. 다만 프로그래밍에서 무한 반복은 곧 RecursionError다. 반드시 멈추는 조건이 있어야 한다.
팩토리얼이 가장 직관적인 예시다:
5! = 5 &amp;times; 4!
4! = 4 &amp;times; 3!
3! = 3 &amp;times; 2!
2! = 2 &amp;time..</description>
      <category>CodingTest/자료구조-알고리즘</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/91</guid>
      <comments>https://the-snack-over-flow.tistory.com/91#entry91comment</comments>
      <pubDate>Tue, 24 Mar 2026 18:23:43 +0900</pubDate>
    </item>
    <item>
      <title>[7785] 회사에 있는 사람</title>
      <link>https://the-snack-over-flow.tistory.com/90</link>
      <description>&amp;nbsp;

백준 Silver V | 7785 | Python | 문제 링크

문제 설명
직원들의 출입 로그가 순서대로 주어진다. enter이면 입장, leave이면 퇴장이다. 로그를 전부 처리한 뒤 현재 회사에 남아있는 사람을 역순 알파벳으로 출력한다.
입력
첫째 줄에 로그 수 n (1 &amp;le; n &amp;le; 1,000,000)이 주어진다. 이후 n줄에 이름과 enter 또는 leave가 주어진다.
출력
현재 회사에 있는 사람의 이름을 역순 알파벳으로..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/90</guid>
      <comments>https://the-snack-over-flow.tistory.com/90#entry90comment</comments>
      <pubDate>Tue, 24 Mar 2026 18:20:29 +0900</pubDate>
    </item>
    <item>
      <title>[1920] 수 찾기</title>
      <link>https://the-snack-over-flow.tistory.com/89</link>
      <description>&amp;nbsp;

백준 Silver IV | 1920 | Python | 문제 링크

문제 설명
N개의 정수 A[1], A[2], &amp;hellip;, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 N(1 &amp;le; N &amp;le; 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], &amp;hellip;, A[N]이 주어진다. 다음 줄에는 M(1 &amp;le; M &amp;le; 100,0..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/89</guid>
      <comments>https://the-snack-over-flow.tistory.com/89#entry89comment</comments>
      <pubDate>Tue, 24 Mar 2026 16:42:34 +0900</pubDate>
    </item>
    <item>
      <title>[2164] 카드2</title>
      <link>https://the-snack-over-flow.tistory.com/88</link>
      <description>&amp;nbsp;

백준 Silver IV | 2164 | Python | 문제 링크

문제 설명
N장의 카드가 1부터 N까지 순서대로 쌓여 있다. 맨 위 카드를 버리고, 그 다음 맨 위 카드를 맨 아래로 옮기는 동작을 카드가 1장 남을 때까지 반복한다. 마지막에 남은 카드 번호를 출력하면 된다.
입력
첫째 줄에 N (1 &amp;le; N &amp;le; 500,000)이 주어진다.
출력
마지막에 남은 카드의 번호를 출력한다.
입출력 예




입력
출력




6
4
..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/88</guid>
      <comments>https://the-snack-over-flow.tistory.com/88#entry88comment</comments>
      <pubDate>Tue, 24 Mar 2026 14:40:03 +0900</pubDate>
    </item>
    <item>
      <title>[10845] 큐</title>
      <link>https://the-snack-over-flow.tistory.com/87</link>
      <description>&amp;nbsp;

백준 Silver IV | 10845 | Python | 문제 링크

문제 설명
정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.
명령은 총 여섯 가지이다.

push X: 정수 X를 큐에 넣는 연산이다.
pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 수가 없는 경우에는 -1을 출력한다.
size: 큐에 들어있는 정수의 개수를 출력한다.
empty: 큐가 비..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/87</guid>
      <comments>https://the-snack-over-flow.tistory.com/87#entry87comment</comments>
      <pubDate>Tue, 24 Mar 2026 12:20:55 +0900</pubDate>
    </item>
    <item>
      <title>[10828] 스택</title>
      <link>https://the-snack-over-flow.tistory.com/86</link>
      <description>&amp;nbsp;

백준 Silver IV | 10828 | Python | 문제 링크

문제 설명
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.
명령은 총 다섯 가지이다.

push X: 정수 X를 스택에 넣는 연산이다.
pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 수가 없는 경우에는 -1을 출력한다.
size: 스택에 들어있는 정수의 개수를 출력한다.
empty:..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/86</guid>
      <comments>https://the-snack-over-flow.tistory.com/86#entry86comment</comments>
      <pubDate>Tue, 24 Mar 2026 01:45:08 +0900</pubDate>
    </item>
    <item>
      <title>[10773] 제로</title>
      <link>https://the-snack-over-flow.tistory.com/85</link>
      <description>&amp;nbsp;

백준 Silver IV | 10773 | Python | 문제 링크

문제 설명
나코더 기장 재민이는 동생 재훈이에게 수학을 가르치고 있다. 재민이가 수를 쓰다가 실수를 하면 지우개로 지운다. 재민이가 실수를 한 경우에는 0을 쓴다. 0이 쓰여지면 가장 최근에 쓴 수를 지운다. 재민이가 쓴 모든 수의 합을 구하라.
입력
첫째 줄에 K가 주어진다. (1 &amp;le; K &amp;le; 100,000) 이후 K개의 줄에 정수가 하나씩 주어진다. 정수는 ..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/85</guid>
      <comments>https://the-snack-over-flow.tistory.com/85#entry85comment</comments>
      <pubDate>Mon, 23 Mar 2026 23:40:19 +0900</pubDate>
    </item>
    <item>
      <title>[9012] 괄호</title>
      <link>https://the-snack-over-flow.tistory.com/84</link>
      <description>&amp;nbsp;

백준 Silver IV | 9012 | Python | 문제 링크

문제 설명
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 '(' 와 ')' 만으로 구성되어 있는 문자열이다. 그 중에서 올바른 괄호 문자열(Valid PS, VPS)은 다음과 같이 정의한다. 한 쌍의 괄호로만 이루어진 &quot;()&quot;가 VPS이고, 만일 x가 VPS라면 &quot;(x)&quot;도 VPS가 된다. 그리고 x와 y가 VPS라면 xy도 VPS가 된다...</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/84</guid>
      <comments>https://the-snack-over-flow.tistory.com/84#entry84comment</comments>
      <pubDate>Mon, 23 Mar 2026 21:30:08 +0900</pubDate>
    </item>
    <item>
      <title>[4949] 균형잡힌 세상</title>
      <link>https://the-snack-over-flow.tistory.com/83</link>
      <description>&amp;nbsp;

백준 Silver IV | 4949 | Python | 문제 링크

문제 설명
세계는 균형이 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 모든 다른 것들도 균형이 잡혀있어야 한다. 문자열에 포함되는 괄호는 소괄호(&quot;()&quot;)와 대괄호(&quot;[]&quot;)로 이루어져 있으며, 이 문자열이 균형을 이루는지를 판별하시오.
입력
각 문자열은 마지막 줄을 제외하고는 '.' 을 제외한 아스키 문자로 이루어져 있으며, 문자열의 길이는 100 이하이다. 입력의 종..</description>
      <category>CodingTest/BeakJoon</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/83</guid>
      <comments>https://the-snack-over-flow.tistory.com/83#entry83comment</comments>
      <pubDate>Mon, 23 Mar 2026 19:21:23 +0900</pubDate>
    </item>
    <item>
      <title>[Node.js] 03-prisma-deep-dive : Prisma 심화 학습</title>
      <link>https://the-snack-over-flow.tistory.com/81</link>
      <description>ORM 원리

SQL 인젝션이란?

// 위험한 코드 &amp;mdash; SQL 직접 조합
const userId = req.params.id; // 사용자 입력: &quot;1 OR 1=1&quot;
const query = `SELECT * FROM users WHERE id = ${userId}`;
// 실제 실행: SELECT * FROM users WHERE id = 1 OR 1=1
// &amp;rarr; 모든 유저 데이터 반환!

SQL 인젝션: 사용자 입력이 SQL 쿼..</description>
      <category>Study/Node.JS</category>
      <category>backend</category>
      <category>nodejs</category>
      <category>PostgreSQL</category>
      <category>prisma</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/81</guid>
      <comments>https://the-snack-over-flow.tistory.com/81#entry81comment</comments>
      <pubDate>Sun, 22 Mar 2026 07:34:51 +0900</pubDate>
    </item>
    <item>
      <title>해시 (Hash)</title>
      <link>https://the-snack-over-flow.tistory.com/80</link>
      <description>해시란
해시 함수는 임의의 데이터를 고정된 크기의 정수로 변환하는 함수다. 좋은 해시 함수가 되려면 세 가지 조건을 갖춰야 한다. 첫째, 결정적이어야 한다. 같은 입력에는 항상 같은 출력이 나와야 한다. 둘째, 균등하게 분포해야 한다. 출력 값이 특정 범위에 몰리지 않고 전체 배열에 고르게 흩어져야 충돌이 줄어든다. 셋째, 빠르게 계산할 수 있어야 한다. 해시 값 계산 자체가 O(1)에 이루어져야 조회 전체가 O(1)로 유지된다. 이 정수를 인덱스로 사..</description>
      <category>CodingTest/자료구조-알고리즘</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/80</guid>
      <comments>https://the-snack-over-flow.tistory.com/80#entry80comment</comments>
      <pubDate>Tue, 17 Mar 2026 07:59:33 +0900</pubDate>
    </item>
    <item>
      <title>큐 (Queue)</title>
      <link>https://the-snack-over-flow.tistory.com/79</link>
      <description>큐란
큐는 FIFO(First In, First Out) 원칙으로 동작하는 자료구조다. 먼저 넣은 것이 먼저 나온다.
실생활 비유는 줄서기다. 먼저 줄 선 사람이 먼저 서비스를 받는다. 프린터 대기열도 마찬가지다. 먼저 인쇄 요청한 문서가 먼저 출력된다.
enqueue &amp;rarr;  front [A, B, C] rear  &amp;larr; enqueue
dequeue &amp;larr;  front [B, C]          &amp;larr; D 추가 후: [B, C,..</description>
      <category>CodingTest/자료구조-알고리즘</category>
      <author>the.Dev.Cat</author>
      <guid isPermaLink="true">https://the-snack-over-flow.tistory.com/79</guid>
      <comments>https://the-snack-over-flow.tistory.com/79#entry79comment</comments>
      <pubDate>Tue, 17 Mar 2026 04:32:49 +0900</pubDate>
    </item>
  </channel>
</rss>