Blog blog = new Korea()

분류 전체보기 121

[이슈리포트][AWS] i4i 인스턴스?

AWS i4i 인스턴스에 대하여.. 🖥️왜 이 글을 쓰게 됐냐면.. 😅얼마 전 운영 중인 백업 시스템 인스턴스가 인스턴스 상태 검사에 실패해서 중지(Stop) 했다가 다시 켰는데,인스턴스 스토어에 저장되어 있던 데이터가 싹 날아가 버렸다.(인스턴스 상태 검사에 실패하면 기본적으로 인스턴스를 중지하고 다시 키는 것이 기본 조치사항이니까..)그래서 이번 기회에 i4i가 뭔지, 왜 데이터가 날아갔는지 정리해봤다.AWS i4i 인스턴스란?i4i는 AWS EC2의 스토리지 최적화 인스턴스다.일반 인스턴스가 EBS(네트워크 스토리지)를 주로 쓰는 것과 달리,i4i는 물리 서버에 직접 장착된 NVMe SSD를 사용한다.덕분에 네트워크를 거치지 않아서 I/O 속도가 엄청 빠르고 지연 시간도 낮다.이전 세대인 i3 ..

Issue 2026.04.12

[TMI] 입사 후 3년의 시간

와탭랩스에 입사한지 3년이 지났네요. 블로그 글을 쓴지 오래되기도 했고, 그간 변화가 좀 있어서 업데이트를 위해 씁니다.첫 입사일단 와탭랩스에 첫 입사한 날은 2023년 2월 6일이다. 비전공자로서 IT를 공부하기 시작한지 1년이 좀 안됐을 때, NHN Academy에서의 과정을 마치고 취업 준비를 시작했다. 당시, 여러 회사에 면접을 보러 다녔고 총 3군데를 합격했었다. 그중 와탭랩스에 입사하겠다고 결정했다.이유는 단순했다. 그냥 와탭랩스가 평점이 제일 좋았다. 서칭을 좀 해보니 다들 다니기 좋은 회사라고 하는 것 같았다. 그래서 결정했다. 다만, 한 가지 좀 걸리는건 있었다. 다른 두 군데는 개발자로 취업을 하겠지만, 와탭랩스는 엔지니어로 제안을 받았기 때문이다. 그땐 이렇게 생각했다. ‘평점이 안좋..

내 이야기(TMI) 2026.02.07

[Git] Git commit 메세지 Prefix를 자동화하기

매번 붙히기 귀찮잖아.. 😅 요즘 시간이 나면 예전 프로젝트를 리팩토링하려고 생각하고 있다. 지난 번에는 주말에 잠깐 시간이 나서 application.properties를 조금 수정하려고 들여다봤다. 이번 주말에는 잠깐 카페에 가서 소스코드를 들여다보려고 했는데, 문득 commit 메세지를 작성할 때, 자꾸 [REFACTOR]: 를 붙히는 것이 너무 귀찮다는 생각이 들었다. 그래서 이를 자동화 할 수 있을까라는 생각이 들어 좀 찾아보니 잘된다.prepare-commit-msg?~/.git/hooks 라는 폴더에 들어가보면, 여러 파일이 존재한다. 그중 prepare-commit-msg라는 파일을 이용하면 commit 메세지의 Prefix를 자동화가 가능하다.#!/bin/bashCOMMIT_MSG_FI..

CICD/Git 2025.05.19

[백준] 2750 수 정렬하기

최근 정렬 알고리즘 공부를 하고 있겠다.. 간단한 정렬 문제를 시도했다.계수정렬로 시도해볼까 하다가, 단순히 연결되는 수에 대한 정렬이 아니라 임의로 들어오는 수들에 대해서 정렬을 해야해서 그냥 일반적인 정렬로 풀었다.중간에 ‘수는 중복되지 않는다’ 라는 말을 중복된 수는 제거하라는 말인줄 알아서.. 중복을 제거하는 걸 고민했었더랬다…Python사실 아래처럼 푸는 거보다 그냥 sort 메소드가 있는 패키지를 이용하는게 빠르긴 하다. 그냥 정렬 구현을 위해 풀어봤다.N = int(input())T = set([])data = []def dataSort(a, b): if(data[a] > data[b]): temp = data[a] data[a] = data[b] ..

알고리즘 2025.05.01

[알고리즘] 계수정렬

간만에 하는 블로깅이다.블로그를 꾸준히 써야한다는 건 머리로는 알고 있는데, 막상 일에 치이다보면 어느새 까먹곤 한다. 🥲계수정렬이란?계수정렬은 Count Sorting이라 불리는 알고리즘이다.그 이유는 배열 내에 있는 데이터들의 개수를 세서, 별도의 인덱싱 배열에 카운팅을 해두고 그 카운팅된 수를 기반으로 조건에 따라 출력하기 때문이다.퀵, 병렬, 힙 정렬보다 빠른 알고리즘으로 볼 수 있지만, 단순히 개수를 세는 방식이기 때문에 데이터의 케이스가 너무 다양한 경우에는 오히려 효율이 떨어지는 정렬 알고리즘이라고 볼 수 있다.즉, 데이터 케이스가 다양하지 않은 경우에만 적용해야 효과적인 알고리즘이라고 보면 된다.시간복잡도O(N)구현방법나동빈님의 알고리즘 강의를 통해 공부하고 있어서, C로 작성된 코드를 ..

알고리즘 2025.04.27

[TMI] 꽃을 든 아주머니를 보며..

📝 주절주절. 내가 하고 싶은 이야기나 문득 들었던 생각들- 9월 23일 월요일. 퇴근하는 길에 꽃을 든 아주머니 한 분을 봤다. 꽃다발에 쌓여진 꽃은 아니었고, 사진 같이 가지를 친 꽃들을 다발로 모아놓은 것 같았다. 그런 꽃다발을 들고 옅은 미소를 띈 아주머니의 얼굴에서 소녀같은 모습을 봤다. 그냥 그렇게 젊고 아름다워 보이셨다.- 꽃을 선물하거나 사는 것에 대해 긍정적인 편은 아니다. 좀 더 명확히 얘기하면 그냥 별 생각이 없다. '굳이 꽃을 사야하나?' 싶은 정도. 그래서 꽃다발을 선물 받는 것도 엄청나게 기뻤던 적은 손에 꼽는 것 같다. 왜냐면 그 가격이면 다른 실용적인걸 살 수 있겠다 싶기 때문이다. 요즘 기준으로 봐도 최소 반팔 티셔츠 하나는 거뜬히 사겠지.- 그런데 오늘 본 아주머니의 모..

내 이야기(TMI) 2024.09.23

[백준] 1874 스택수열 (Python)

오랜만에 다시 시도한 스택수열. 약간의 막힘이 있어 검색을 통해 일부 힌트를 얻었다. 그리고 문제를 제대로 읽지 않은 나의 착오로 헛시간을 좀 낭비했다.스택은 LIFO의 구조로 나중에 들어온 데이터가 가장 먼저 나가는 구조이다. 즉, 간단히 보면 스택수열은 오름차순인 리스트를 내림차순으로 바꾸는 것과 동일하다. 물론, 핵심 동작 자체는 그렇다. 중요한 것은 중간에 숫자가 추가 된다는 것이다. 예제를 보면 1~4까지 오름차순 리스트를 먼저 만들고, 4와 3을 뺐다가 중간에 5~8을 넣고 빼고 하는 과정이 있다. 이 부분 때문에 정말 고민했다. 중간부터 들어오는 수열을 따로 관리하는 방법을 몰라서 계속 고민하다가 검색을 통해 힌트를 얻은 것이 시작점을 변수에 저장하는 방법이었다.import sys# 1874..

알고리즘 2024.09.01

[백준] 1002 터렛 (Python)

문제에 익숙한 용어와 스타크래프트 그림이 있어서 풀어보고 싶었다.처음에 문제를 읽었을 때, 두 좌표간 공통의 지점을 찾는 문제구나까지는 바로 인지했으나, 원의 접점을 구하는 문제라는 것을 깨닫기 까지는 아주 조금  더 걸렸던 것 같다. 즉, 두 원 사이에 접점의 개수를 구하면 되는 문제이다.두 원이 접할 수 있는 경우의 수는 많지는 않다. 1) 두 원 사이에 겹치는 점이 2개일 때 2) 두 원 사이에 겹치는 점이 없을 때 3) 두 원 사이에 겹치는 점이 1개일 때그리고 3번은 다시 2가지 경우로 나뉜다. 1) 외접의 경우 2) 내접의 경우외접의 경우는 8을 생각하면 될 것이고, 내접의 경우는 @정도가 적당할 것 같다. 물론 완벽한 예시들은 아니지만, 글자로 표시하기에는 이 정도면 충분해보인다. 그림 자료..

알고리즘 2024.08.26

[Java] 공변성 A/S (feat. 상속과 오버라이딩)

🤪 아직도 어려운 공변성22년도 9월쯤 쓴 글이 있다.바로 Covariant(공변성)에 관한 글이다. 기존에 썼던 글을 보강하기 위해 이 글을 쓰게 됐다.기존글2022.09.02 - [Java] - [Java] Covariant(공변성)에 관한 간단한 이야기 [Java] Covariant(공변성)에 관한 간단한 이야기📝 객체지향 5원칙(SOLID) SOLID는 객체지향 5원칙의 두음을 따서 만든 말이다. 각각 나열하자면, SRP(단일 책임 원칙) OCP(개방 폐쇄 원칙) LSP(리스코프 치환 원칙) ISP(인터페이스 분리 원칙) DIP(의존codari.tistory.com 객체지향 5원칙 중 LSP에 관한 글을 쓰다가 막혔던 부분이 있다. 또한, three메서드를 보면 분명히 B 생성자를 통해 객체를..

Java 2024.08.05