본문 바로가기
DFS / BFS 알고리즘 (이것이코딩테스트다) DFS BFS DFS 와 BFS 를 본격적으로 알아보기 전에 해당 알고리즘에 사용되는 자료구조에 대해 알아보자. 스택 자료구조 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입구와 출구가 동일한 형태로 스택을 시각화 stack=[] stack.append() stack.pop() print(stack[::-1])#최상단 원소부터 출력 print(stack) #최하단 원소부터 출력 큐 자료구조 먼저 들어온 데이터가 먼저 나가는 선입선출 자료구조 큐는 입구 출구가 모두 뚫려있는 터널같은 형태로 시각화 from collections import deque queue=deque() queue.append(6) queue.append(5) queue.pop(left) print(queue) #들어.. 기타/알고리즘&자료구조 2022. 2. 16.
백준 앞으로 풀 문제 목록 기본 문제 목록 2751, 11650, 11651, 10814, 10825, 10989, 11652, 11004, 10828, 9012, 10799, 10845, 10866, 10808, 10809, 10820, 2743, 11655, 10824, 11656, 1406, 1158, 1168, 10430, 2609, 1934, 1850, 9613, 11005, 2745, 1373, 1212, 2089, 11576, 1978, 1929, 6588, 11653, 10872, 1676, 2004 그래프 - 1260, 11724, 1707, 10451, 2331, 9466, 2667, 4963, 7576, 2178, 2146, 1991, 11725, 1167, 1967 이분탐색/삼분탐색 - 1654, 2805, .. 기타/알고리즘&자료구조 2022. 2. 16.
[JPA] JpaRepository 인터페이스 - JPA로 CRUD 구현 스프링 데이터 JPA 스프링 데이터 JPA는 JPA를 더 편리하게 사용할 수 있도록 spring framework가 지원하는 프로젝트이다. 데이터 접근 계층을 개발할 때 반복되는 CRUD 기능들을 간편하게 사용하도록 지원해준다. 우선 CRUD를 처리하기 위한 공통 인터페이스를 제공한다. 그리고 Repository 개발 시 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입해준다. 즉 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 해당 인터페이스의 기능을 통해 CRUD를 구현할 수 있게 된다. 상속받을 인터페이스 JpaRepository package com.cos.photogramstart.domain.user; import org.spr.. DB/JPA 2022. 2. 16.
[Kubernetes] taint, toleration (테인트 톨러레이션) 테인트와 톨러레이션 *노드 어피니티*는 노드 셋을 (기본 설정 또는 어려운 요구 사항으로) 끌어들이는 파드의 속성이다. 테인트 는 그 반대로, 노드가 파드 셋을 제외할 수 있다. 톨러레이션 은 파드에 적용되며, 파드를 일치하는 테인트가 있는 노드에 스케줄되게 하지만 필수는 아니다. 테인트와 톨러레이션은 함께 작동하여 파드가 부적절한 노드에 스케줄되지 않게 한다. 하나 이상의 테인트가 노드에 적용된다. 이것은 노드가 테인트를 용인하지 않는 파드를 수용해서는 안 되는 것을 나타낸다. 노드에 테인트를 설정하면 톨러레이션을 주지 않는 파드는 해당 노드에 스케쥴링이 불가하다. 핵심은 taint ⇒ nodes 에 설정하는 것 tolerations ⇒ pods 에 설정하는 것 kubectl taint nodes no.. Infra/Kubernetes&OCP 2022. 2. 14.
[Kubernetes] labels, selector 레이블과 셀렉터 레이블 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 레이블로 오브젝트의 하위 집합을 선택하고, 구성하는데 사용할 수 있다. 레이블은 오브젝트를 생성할 때에 붙이거나 생성 이후에 붙이거나 언제든지 수정이 가능하다. 오브젝트마다 키와 값으로 레이블을 정의할 수 있다. 오브젝트의 키는 고유한 값이어야 한다. "metadata": { "labels": { "key1" : "value1", "key2" : "value2" } } 레이블은 UI와 CLI에서 효율적인 쿼리를 사용하고 검색에 사용하기에 적합하다. 식별되지 않는 정보는 어노테이션으로 기록해야 한다. 사용 동기 레이블을 이.. Infra/Kubernetes&OCP 2022. 2. 14.