January 06, 2025
미니큐브 미니큐브(Minikube) 는 로, 가상 머신을 통해 쿠버네티스를 로컬에서 임의로 실행하여 쿠버네티스를 배울 수 있다. 실무에서 쿠버네티스를 사용하면 보통 여러개의 마스터 프로세스와 노드 프로세스가 여러개의 노드에서 실행되는 클러스터를 구성하게 되는데, 이를 로컬에서 세팅하고 테스트하기는 다소 부담스럽다. 미니큐브는 마스터 프로세스와 노드 프로세…
December 15, 2024
쿠버네티스 쿠버네티스(Kubernetes) 는 으로, 컨테이너 오케스트레이션(container orchestration) 툴이다. 쿠버네티스를 k8s 라고 줄여서 쓰길래 왜 그렇게 쓰나 했더니 이름에서 k 와 s 사이에 글자가 8개라서(...) 이렇게 쓴다고 한다. 쿠버네티스의 특징 서버 자원 클러스터링, 마이크로서비스 구조의 컨테이너 배포, 서비스 장애…
November 11, 2024
몇 달 전에 개인 사용 용도로 크롬 확장 프로그램을 만든 이후로 요긴하게 잘 사용해 왔다. 최근에 공부에 쏟는 시간이 늘어나면서 특정 문서를 읽다가 해당 내용을 유튜브 검색을 통해 딥다이브 하게 되는 일이 잦아졌는데, 검색어를 복사하고 붙이는 과정 없이 바로 유튜브로 해당 검색어의 결과 페이지가 열리면 좋겠다고 생각했다. 아마도 간단한 작업일 것이라고 생…
November 05, 2024
인덱스(Index) 특징 DBMS 에서 사용되는 인덱스는 자료 구조 중 하나인 SortedList 와 유사하다. SortedList 는 저장되는 값을 항상 정렬된 상태로 유지하는 자료구조로, DBMS 에서 사용되는 인덱스도 SortedList 와 마찬가지로 저장되는 칼럼의 값을 이용해 항상 정렬된 상태를 유지한다. 이러한 특징에 의해 여러 장단점이 존…
October 06, 2024
AWS 를 다룰 때, 특정 기능 구현에 필요한 리소스는 AWS 콘솔에서 쉽게 생성하여 테스트할 수 있다. 그러나 이번에 DynamoDB 를 처음 써보았기 때문에 ddb 를 사용하여 Lambda 를 트리거 하는 가장 간단한 방법인 stream 활성화를 로컬에서 테스트해 보고 싶었다. AWS 콘솔이 아닌 로컬에서 리소스 기능을 테스트하는 대표적인 방법에는 A…
June 23, 2024
스프링 컨테이너 스프링 컨테이너는 스프링에서 객체를 관리, 제공하는 역할을 한다. 스프링 컨테이너 생성 과정 는 스프링 컨테이너 역할을 하며, 스프링 프레임워크의 인터페이스 중 하나이다. 는 의 구현체인 클래스인데, 이름 그대로 기반의 를 토대로 스프링 애플리케이션 컨텍스트를 구성한다는 의미이다. 위의 코드는 컨테이너가 파라 미터 없이 생성된 상태…
June 18, 2024
문제 링크 문제에 설명된 절사평균이라는 개념을 잘 읽고 적용하면 풀릴 것 같은 문제지만, 파이썬에서 반올림에 흔히 사용되는 함수의 미묘한 특성을 알지 못하면 풀기 힘든 문제이다. round() 보통 우리가 보편적으로 알고 있는 반올림 방식은 숫자 5 이상부터 올리고, 4 이하부터 내리는 방식인데, 파이썬의 반올림은 가까운 짝수 쪽으로 반올림 하는 방식을…
June 11, 2024
백준 사이트에서 알고리즘 문제를 풀 때는 다른 알고리즘 풀이 사이트와 다르게 입출력을 명시해 줘야 한다. 가장 기본적인 입력 함수는 이고, 좀 더 빠른 입력을 위해 사용하는 함수는 이다. 두 함수의 속도 차이를 크게 느낄 수 있는 문제 하나를 예시로 들자면 단어 정렬 문제 링크 단순 문자열 정렬 유형으로, 어렵지 않은 난이도의 문제이다. 처음 풀이…
June 05, 2024
동기 처리와 비동기 처리 실행 컨텍스트 함수가 실행되려면 에서 생성된 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸시되어야 한다. 즉, 실행 컨텍스트 스택에 함수 실행 컨텍스트가 푸시되는 것은 바로 함수 실행의 시작을 의미한다. 함수가 호출된 순서대로 순차적으로 실행되는 이유는 함수가 호출된 순서대로 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸시되기…
June 04, 2024
개인 코드 스타일을 드러낼 작은 프로젝트를 진행하면서, 기존에 사용했던 Sequelize 대신 Typeorm 을 적용해 보고 있다. 아직 시작한 지 얼마 되지 않아서 적응 중이고, 딥한 레벨의 로직을 구현하지 않았기 때문에 아주 큰 차이점을 느끼진 못했지만, ORM 에서 레이어 분리를 위해 자주 사용하는 repository 를 구현할 때의 차이점을 기록해…