<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Revi's Blog</title>
    <link>https://blog.revi1337.com</link>
    <description>Revi's engineering blog</description>
    <language>ko</language>
    <item>
      <title>성능 테스트에 필요한 지식과 용어</title>
      <link>https://blog.revi1337.com/article/Performance-Testing-Concepts</link>
      <guid>https://blog.revi1337.com/article/Performance-Testing-Concepts</guid>
      <pubDate>Fri, 14 Aug 2026 20:53:00 GMT</pubDate>
      <description>성능 테스트 기초 성능 테스트의 정의 성능 테스트는 특정 워크로드 하에서 시스템의 응답성, 안정성, 확장성, 자원 사용량을 측정하는 소프트웨어 테스트입니다. 기능이 올바르게 동작하는지를 확인하는 기능 테스트와 달리, 응답 시간/처리량/자원 사용률처럼 정량적으로 측정 가능한 비기능 요구사항을 검증합니다. 테스트를 실행하기...</description>
    </item>
    <item>
      <title>파이썬 네임스페이스와 스코프(Scope), LEGB Rule 정리</title>
      <link>https://blog.revi1337.com/article/Scope</link>
      <guid>https://blog.revi1337.com/article/Scope</guid>
      <pubDate>Sun, 02 Aug 2026 15:37:00 GMT</pubDate>
      <description>들어가며 모든 프로그래밍 언어에서는 변수가 유효한 범위를 의미하는 Scope 가 굉장히 중요합니다. 하지만 파이썬에서 Scope 를 이해하기 위해서는 Python 의 Namespace 에 대해 먼저 알 필요가 있습니다. 따라서 이번 포스팅에서는 Python Namespace, Namespace 에 따른 Scope, 인터프...</description>
    </item>
    <item>
      <title>파이썬 Iterable과 Iterator 개념 및 내부 동작 정리</title>
      <link>https://blog.revi1337.com/article/Iterable_Iterator</link>
      <guid>https://blog.revi1337.com/article/Iterable_Iterator</guid>
      <pubDate>Sun, 02 Aug 2026 15:27:00 GMT</pubDate>
      <description>Iterable 파이썬 공식문서에서는 Iterable(반복형) 한 객체란 &quot;안에 있는 원소(Element) 를 하나씩 반환 가능한 객체&quot; 라고 정의하고 있습니다. Sequence 타입에서는 list, str, tuple, 그리고 Non-Sequence 타입에서는 dict, set, file object가 Iterable한...</description>
    </item>
    <item>
      <title>Python 패키지 구조화부터 PyPI 배포까지 정리</title>
      <link>https://blog.revi1337.com/article/Deploy-PyPI</link>
      <guid>https://blog.revi1337.com/article/Deploy-PyPI</guid>
      <pubDate>Sun, 02 Aug 2026 15:17:00 GMT</pubDate>
      <description>해당 포스팅에서는 우리의 파이썬 프로젝트를 PyPI 에 배포하는 방법을 다룹니다. 따라서 PyPI 에 회원가입이 되어있어야 합니다. PyPI 에 올라갈 패키지 구조화 우선 사용하고 싶은 파이썬 패키지 이름. 한마디로 pip install 에 사용할 패키지 이름으로 폴더를 생성합니다. Pasted image 20231231...</description>
    </item>
    <item>
      <title>파이썬 시퀀스(Sequence) 및 논시퀀스(Non-Sequence) 자료형 정리</title>
      <link>https://blog.revi1337.com/article/Sequence_NonSequence</link>
      <guid>https://blog.revi1337.com/article/Sequence_NonSequence</guid>
      <pubDate>Sun, 02 Aug 2026 15:07:00 GMT</pubDate>
      <description>Python 에서 사용되는 자료형은 크게 Sequence 자료형 과 Non Sequence 자료형 으로 구분할 수 있습니다. Sequence Python 에서 Sequence 자료형은 순서가 있는 객체의 컬렉션 을 의미합니다. Sequence 자료형의 가장 큰 특징은 Index 를 통해 각 요소에 접근한다는 점입니다. 대...</description>
    </item>
    <item>
      <title>BellmanFord (벨만 포드)</title>
      <link>https://blog.revi1337.com/article/BellmanFord</link>
      <guid>https://blog.revi1337.com/article/BellmanFord</guid>
      <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
      <description>Bellman Ford 벨만 포드 알고리즘은 음의 가중치가 있는 그래프에서 특정 시작 정점으로부터 다른 모든 노드까지의 최단거리(최소 비용)을 구하고 음의 사이클을 감지할 수 있는 최단 거리 알고리즘입니다. 시작 정점에서 다른 모든 노드까지의 최단 경로를 구한다는 점에서 다익스트라와 유사하지만, 벨만 포드는 음수 간선을...</description>
    </item>
    <item>
      <title>Prim (프림)</title>
      <link>https://blog.revi1337.com/article/Prim</link>
      <guid>https://blog.revi1337.com/article/Prim</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <description>Prim Prim은 무방향 가중치 그래프에서 최소 신장 트리(MST)를 구하는 알고리즘입니다. 임의의 정점에서 시작하여, 현재까지 구성된 트리와 인접한 간선들 중 가중치가 가장 낮은 간선을 선택하고, 그 간선을 통해 아직 트리에 포함되지 않은 정점을 하나씩 추가함으로써, 트리를 점진적이고 연속적인 방식으로 확장해 나갑니다...</description>
    </item>
    <item>
      <title>Kruskal (크루스칼)</title>
      <link>https://blog.revi1337.com/article/Kruskal</link>
      <guid>https://blog.revi1337.com/article/Kruskal</guid>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
      <description>Kruskal Kruskal은 무방향 가중치 그래프에서 최소 신장 트리(MST)를 구하는 알고리즘입니다. 가중치가 작은 간선부터 차례대로 선택하면서, 사이클이 생기지 않는 경우에만 간선을 추가함으로써 트리를 점진적이지만 불연속적인 방식으로 확장해 나갑니다. Kruskal은 Greedy 전략과 Disjoint Set(서로소...</description>
    </item>
    <item>
      <title>Dijkstra (다익스트라)</title>
      <link>https://blog.revi1337.com/article/Dijkstra</link>
      <guid>https://blog.revi1337.com/article/Dijkstra</guid>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <description>Dijkstra 다익스트라 알고리즘은 양의 가중치가 있는 그래프의 특정 시작 정점 으로부터 다른 모든 노드로까지의 최소비용 을 구하는 알고리즘입니다. 최소비용은 정점과 정점으로 이어진 간선에 가중치가 주어졌을 때 가중치의 합이 최소가 되는 것을 의미합니다. Mechanism 다익스트라 알고리즘은 Greedy와 Dynami...</description>
    </item>
    <item>
      <title>UnionFind (유니온 파인드)</title>
      <link>https://blog.revi1337.com/article/UnionFind</link>
      <guid>https://blog.revi1337.com/article/UnionFind</guid>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <description>Union Find Union-Find 알고리즘은 그래프 알고리즘 중 하나로, 주로 서로소 집합(Disjoint Set) 을 관리할 때 사용됩니다. 이 알고리즘은 두 노드가 같은 집합에 속해 있는지 판별하거나, 두 개의 집합을 하나로 합치는 작업을 빠르게 처리할 수 있습니다. 서로소 집합은 겹치는 원소가 없는 집합들로,...</description>
    </item>
    <item>
      <title>BinarySearch (이분 탐색)</title>
      <link>https://blog.revi1337.com/article/BinarySearch</link>
      <guid>https://blog.revi1337.com/article/BinarySearch</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <description>Binary Search Binary Search(이분 탐색)는 정렬된 배열이나 수의 범위에서 특정 값을 효율적으로 찾기 위한 알고리즘입니다. 중간 값을 기준으로 원하는 값이 왼쪽 구간에 있는지, 오른쪽 구간에 있는지를 판단하여 탐색 범위를 절반씩 줄여나가는 방식으로 동작합니다. 탐색 범위를 매번 절반으로 줄이므로 시간...</description>
    </item>
    <item>
      <title>Eratosthenes (에라토스테네스의 체)</title>
      <link>https://blog.revi1337.com/article/Eratosthenes</link>
      <guid>https://blog.revi1337.com/article/Eratosthenes</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>에라토스테네스의 체 에라토스테네스의 체는 고대 그리스 수학자 에라토스테네스가 개발한 소수를 찾는 효율적인 알고리즘입니다. 에라토스테네스의 체는 주어진 수 n 이하의 모든 소수를 찾기 위해 소수가 아닌 수를 체로 걸러내듯이 제거하는 방식으로 동작합니다. 즉, 소수의 배수를 차례로 지워나가면 남는 수가 소수가 됩니다. 해당...</description>
    </item>
    <item>
      <title>SlidingWindow (슬라이딩 윈도우)</title>
      <link>https://blog.revi1337.com/article/SlidingWindow</link>
      <guid>https://blog.revi1337.com/article/SlidingWindow</guid>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <description>Sliding Window 란 Sliding Window 알고리즘은 배열이나 리스트와 같은 연속된 데이터 구조에서 특정 크기의 부분 배열(또는 부분 리스트)을 효율적으로 처리하기 위한 알고리즘입니다. 주로 연속된 데이터에서 최대값, 최소값, 평균값 등을 구하거나 특정 조건을 만족하는 부분 배열을 찾는 문제에서 사용됩니다....</description>
    </item>
    <item>
      <title>TwoPointer (투 포인터)</title>
      <link>https://blog.revi1337.com/article/TwoPointer</link>
      <guid>https://blog.revi1337.com/article/TwoPointer</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <description>Two Pointer 란 주로 사용하는 상황: 가변 크기의 부분 배열이나 서브시퀀스를 탐색할 때 사용됩니다. 예를 들어, 특정 조건을 만족하는 두 요소를 찾거나, 연속적인 부분 배열의 합이 주어진 값과 일치하는 부분 배열을 찾는 경우. 작동 방식: 두 개의 포인터를 배열의 시작점(left)과 끝점(right)에 놓고, 이...</description>
    </item>
    <item>
      <title>Prefixsum (누적합)</title>
      <link>https://blog.revi1337.com/article/Prefixsum</link>
      <guid>https://blog.revi1337.com/article/Prefixsum</guid>
      <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
      <description>Prefix sum 누적합(Prefix sum)은 배열의 시작점(보통 인덱스 0 또는 1)부터 특정 인덱스까지의 원소의 합을 말합니다. 예를 들어, 배열이 A = [a₀, a₁, ..., aₙ] 일 때, 인덱스 i 까지의 누적합 S[i] 는 다음과 같이 표현할 수 있습니다. Index 0 Base : S[i] = a₀ +...</description>
    </item>
    <item>
      <title>InsertionSort (삽입 정렬)</title>
      <link>https://blog.revi1337.com/article/InsertionSort</link>
      <guid>https://blog.revi1337.com/article/InsertionSort</guid>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
      <description>Insertion Sort 삽입 정렬(Insertion Sort) 은 제자리 정렬(In-Place Sorting) 알고리즘 중 하나입니다. 삽입 정렬은 각 라운드(Round)마다 현재 원소를 자신보다 앞에 있는 정렬된 원소들 중 가장 알맞은 위치에 삽입하는 방식으로 동작합니다. 삽입정렬에서 말하는 &quot;가장 알맞은 위치&quot; 란...</description>
    </item>
    <item>
      <title>SelectionSort (선택 정렬)</title>
      <link>https://blog.revi1337.com/article/SelectionSort</link>
      <guid>https://blog.revi1337.com/article/SelectionSort</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
      <description>Selection Sort 선택 정렬(Selection Sort) 은 제자리 정렬(In-Place Sorting) 알고리즘 중 하나입니다. 선택 정렬은 각 라운드(Round)마다 배열에서 최솟값 혹은 최댓값 을 찾아 왼쪽으로 정렬하는 형태로 동작합니다. 제자리 정렬은 추가적인 메모리 공간을 거의 사용하지 않고 원래 주어진...</description>
    </item>
    <item>
      <title>BubbleSort (버블 정렬)</title>
      <link>https://blog.revi1337.com/article/BubbleSort</link>
      <guid>https://blog.revi1337.com/article/BubbleSort</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <description>Bubble Sort 버블 정렬(Bubble Sort) 은 제자리 정렬(In-Place Sorting) 알고리즘 중 하나입니다. 버블 정렬은 각 라운드(Round)마다 배열의 첫 번째 원소부터 시작해서 인접한 원소들을 비교하고, 그 크기에 따라 값을 Swap 해나가는 형태로 동작합니다. 각 라운드마다 비교 횟수가 점차 줄...</description>
    </item>
    <item>
      <title>Matrix (행렬)</title>
      <link>https://blog.revi1337.com/article/Matrix</link>
      <guid>https://blog.revi1337.com/article/Matrix</guid>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <description>행렬의 덧셈과 뺄셈 두개의 행렬이 주어졌을 때, 두 행렬의 합과 차는 두 행렬의 row 수와 col 수가 같아야 구할 수 있습니다. Pasted image 20240710190131 행렬의 합 두 행렬의 합은 매우 간단합니다. 두 개의 행과 열의 수가 같아야하기 때문에 그냥 2 중 for 문으로 두 Matrix 의 값을...</description>
    </item>
    <item>
      <title>Spring Transcation Interview</title>
      <link>https://blog.revi1337.com/article/14_spring_transaction</link>
      <guid>https://blog.revi1337.com/article/14_spring_transaction</guid>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <description>Transaction @Repository를 선언하면 어떤 이점이 있나요? @Repository가 선언된 빈은 PersistenceExceptionTranslationPostProcessor에 의해 프록시로 감싸지며, HibernateException, SQLException 같은 기술 종속적인 예외를 Spring의 Da...</description>
    </item>
    <item>
      <title>Trie</title>
      <link>https://blog.revi1337.com/article/Trie</link>
      <guid>https://blog.revi1337.com/article/Trie</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <description>Trie 트라이(Trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 m-ary 트리 형태의 자료구조입니다. 트라이를 구성하는 각 노드는 하나의 문자(Character)를 표현하며, 문자열 전체는 루트에서 리프까지의 경로로 표현되기 때문에, 특정 문자열 또는 접두사를 찾는 연산이 매우 직관적이고 빠릅니다. 각 노드의 자...</description>
    </item>
    <item>
      <title>MST</title>
      <link>https://blog.revi1337.com/article/MST</link>
      <guid>https://blog.revi1337.com/article/MST</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <description>Minimum Cost Spanning Tree MST 는 최소비용 신장트리이며 Minimum Cost Spanning Tree 의 약자입니다. Spanning Tree(신장트리) 는 모든 Vertext(정점)이 간선으로 연결되어있고 Edge 의 개수가 Vertext 개수보다 하나 적은 그래프 를 의미합니다. 신장트리 (...</description>
    </item>
    <item>
      <title>Spanning Tree</title>
      <link>https://blog.revi1337.com/article/SpanningTree</link>
      <guid>https://blog.revi1337.com/article/SpanningTree</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <description>Spanning Tree Spanning Tree(신장트리) 는 모든 Vertext(정점)이 간선으로 연결되어있고 Edge 의 개수가 Vertext 개수보다 하나 적은 그래프 를 의미합니다. 신장트리 (Spanning Tree) 는 모든 정점이 연결되어있는 무방향 연결그래프의 부분 그래프 여야 합니다.다시 말해, 연결그래...</description>
    </item>
    <item>
      <title>Graph</title>
      <link>https://blog.revi1337.com/article/Graph</link>
      <guid>https://blog.revi1337.com/article/Graph</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <description>Graph Graph(그래프) 는 노드와 간선으로 이루어진 비선형 데이터 구조입니다. 그래프는 데이터간의 연결관계를 표현하는데 사용됩니다. 데이터는 노드(Node)로, 노드간의 관계나 흐름을 간선(Edge)으로 표현합니다. 만약 관계나 흐름의 정도를 표현할 필요가 있다면 간선에 Weight(가중치) 라는 개념을 추가하여...</description>
    </item>
    <item>
      <title>Heap</title>
      <link>https://blog.revi1337.com/article/Heap</link>
      <guid>https://blog.revi1337.com/article/Heap</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>Heap Heap 은 우선순위 큐(Priority Queue)를 효율적으로 구현하기 위해 만들어진 완전 이진 트리(Complete Binary Tree) 형태의 자료구조 입니다. Heap 을 사용하면 아래와 같은 장점이 있습니다. 여러 개의 값들 중에서 최댓값 혹은 최솟값을 빠르게 찾을 수 있습니다. 이진 탐색 트리(Bi...</description>
    </item>
    <item>
      <title>BST</title>
      <link>https://blog.revi1337.com/article/BST</link>
      <guid>https://blog.revi1337.com/article/BST</guid>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
      <description>Binary Search Tree (BST) Binary Search Tree(BST: 이진 탐색 트리)는 이진 트리의 한 종류로, 데이터를 정렬된 상태로 저장하고, 이를 기반으로 빠르게 데이터를 탐색하기 위해 설계된 비선형 자료구조입니다. 일반적인 이진 트리와 달리, BST는 모든 노드가 정렬 규칙을 만족해야 한다는 구...</description>
    </item>
    <item>
      <title>Tree</title>
      <link>https://blog.revi1337.com/article/Tree</link>
      <guid>https://blog.revi1337.com/article/Tree</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <description>Tree 트리(Tree)는 노드(Node)들이 계층적(Hierarchical)으로 부모-자식 관계로 연결된 형태를 갖는 비선형 자료구조입니다. 트리는 방향 그래프로도, 무방향 그래프로도 볼 수 있습니다. 그래프 이론에서는 트리를 하나의 연결 그래프이자 사이클이 없고 모든 노드가 연결된 무방향 비순환 그래프로 정의합니다....</description>
    </item>
    <item>
      <title>HashTable</title>
      <link>https://blog.revi1337.com/article/HashTable</link>
      <guid>https://blog.revi1337.com/article/HashTable</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
      <description>HashTable HashTable 은 비선형 자료구조입니다. 일정 크기의 배열을 생성한 후에 Key 값을 Hash 함수를 통해 배열의 Index 로 반환하여, 해당 Index 에 해당 Key 값과 Value 를 저장합니다. 대표적으로 Java의 HashMap, Python의 Dictionary 가 HashTable 에...</description>
    </item>
    <item>
      <title>LinkedList</title>
      <link>https://blog.revi1337.com/article/LinkedList</link>
      <guid>https://blog.revi1337.com/article/LinkedList</guid>
      <pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate>
      <description>LinkedList LinkedList 는 메모리 상에서는 데이터가 불연속적으로 저장되어 있으나, 논리적으로 연속성을 구현한 선형 자료구조입니다. 값(Value)와 다음 값의 위치를(메모리 주소)를 노드(Node)라는 이름의 쌍으로 저장합니다. i 번째 데이터에 접근(Access) &amp; 변경(Modify)에 O(N)이 소요...</description>
    </item>
    <item>
      <title>Queue</title>
      <link>https://blog.revi1337.com/article/Queue</link>
      <guid>https://blog.revi1337.com/article/Queue</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <description>Queue 큐(Queue)는 데이터가 연속적(논리적)으로 저장되어 있는 선형 자료구조로, 먼저 들어온 데이터가 먼저 나가는 FIFO(First In First Out) 구조를 따릅니다. 한쪽 끝(뒤 : rear)에서 데이터를 추가(enqueue)하고, 다른 한쪽 끝(앞 : front)에서 데이터를 제거(dequeue)하는...</description>
    </item>
    <item>
      <title>Stack</title>
      <link>https://blog.revi1337.com/article/Stack</link>
      <guid>https://blog.revi1337.com/article/Stack</guid>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <description>Stack 스택(Stack)은 데이터가 연속적(논리적)으로 연결되어 있는 선형 자료구조로, 마지막에 들어온 데이터가 먼저 나가는 LIFO(Last In First Out) 구조를 따릅니다. 즉, 데이터를 한쪽 끝(맨 위 : top)에서만 추가(push)하거나 제거(pop)하는 방식으로 동작합니다. i 번째 데이터에 접근(...</description>
    </item>
    <item>
      <title>Array</title>
      <link>https://blog.revi1337.com/article/Array</link>
      <guid>https://blog.revi1337.com/article/Array</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <description>Array 배열(Array)는 메모리 상에서 데이터가 연속적으로 연결되어있는 선형 자료구조입니다. 배열의 크기는 한번 초기화하면 고정되며, 변경할 수 없습니다. 즉, 데이터의 삽입 &amp; 삭제는 불가능합니다. 배열의 i 번째 데이터에 접근 &amp; 변경에 O(1)의 시간복잡도를 갖습니다. (Random Access) 배열에 X 라...</description>
    </item>
  </channel>
</rss>