전체 글 38

말린부케 액자 셀프 제작 후기

(개발 블로그지만 개발 얘기가 아니다) 친구 결혼식에서 부케를 받았다. 결혼 계획은 없지만 일단 받았다. 부케 액자를 만들어 신혼부부에게 선물하는 풍습이 있다고 해서 알아보다가, 마침 백수라서 한가하므로 직접 만들어 보기로 했다.부케를 받은지 이틀 후, 부케를 분해했다. 보통은 당일 하는게 좋다. 사진을 찍고 분해하는 것을 추천한다. 나는 사진을 안 찍어둬서 재조립할때 어려웠다. 분해하면서 나온 레이스와 핀 등의 악세사리는 따로 보관한다. 스토크, 또는 스톡이라고 불리는 꽃만으로 구성된 부케였다. 개인적으로는 여러 컬러가 섞인 부케가 말린부케액자를 만들었을 때 예뻐보이긴 했지만 내가 고른 게 아니니까 어쩔 수 없다.꽃 이름은 구글 이미지서치나 네이버렌즈로 간단히 알아낼 수 있는데, 꽃이름 + 말린부케로 ..

카테고리 없음 2025.04.11

DB schema migration tools 리서치

(2023-12-12 에 작성한 자료) 사용 중인 DBMS: ClickHouse사용 중인 언어: Python, TypeScript한 줄 요약: 쓰던 거 쓰기로 했다 🥲 발단기존에는 팀별로 각각의 데이터베이스를 사용하고 있다가 제품 통합이 일어나면서 여러 팀이 하나의 데이터베이스를 사용하게 되었고, 공동의 스키마 관리가 필요하게 되었다.스키마의 상태를 편하게 알아볼 수 있는 도구가 필요하다고 느꼈고, 시각화 뿐 아니라 db에 migration 자동화 + 각자의 사용 언어로 변환까지 되면 좋겠다고 생각했다.대표적으로 Python, TypeScript를 사용 중현행 alembic + clickhouse-sqlalchemy의 한계alembic은 clickhouse에 대해 완벽한 migration 자동화가 이뤄..

개발 이야기 2024.11.26

"한 권으로 배우는 도커 & 쿠버네티스" 도서 리뷰

이 책을 읽게 된 이유와 읽기 전 나의 지식 수준참여 중인 개발자 커뮤니티에서 이 책으로 스터디를 하게 되었다.도커는 업무에서 많이 활용해 봤어서 도커는 거의 아는 내용이었고,쿠버네티스는 예전에 쿠버네티스로 airflow 띄워보려고 미니큐브 설치해보고, 노트북 자원 부족으로 컨테이너가 계속 죽어서 삽질하다가(처음엔 원인을 몰랐다) 포기했던 정도의 경험이 있었다.그래서 도커 파트에서는 가볍게 참여하고 쿠버네티스 파트를 목적으로 스터디에 참여하게 되었다. 책의 내용 우선, 이 책의 실습은 Windows 위에서 가상화 소프트웨어를 통해 Ubuntu 가상 머신 세 대를 띄워서 진행된다.그리고 나머지 작업들은 거의 putty를 이용한 쉘 환경에서 진행된다.실습 환경 세팅에 한 챕터가 할애되었다. 도커 파트:도커 ..

개발 이야기 2024.11.25

"차세대 빅데이터 플랫폼 Data Lake" 도서 리뷰

이 책을 읽게 된 이유최근에 본 개발자 직무 면접에서 '데이터 거버넌스에 참여해 본 경험은 있으신가요?' 라는 질문을 받았는데, 데이터 거버넌스라는 용어의 뜻을 몰라서 대답을 잘 하지 못했다.그래서 데이터 거버넌스에 대해 알아보고 싶어서, 자주 가는 도서관에 데이터 거버넌스로 검색해서 나온 책들 중 한 권이 이 책이었다.   책의 내용데이터 웨어하우스(DW)의 진화된 버전으로 데이터 레이크를 구축하여 쓰자는 내용을 필두로,  0. 왜 데이터 웨어하우스가 아닌 데이터 레이크여야 하는지  1. 데이터 레이크 플랫폼을 기술적으로 어떻게 설계할지  2. 데이터 레이크 플랫폼을 어떻게 도입하고 운영하고 관리할지에 대해 다루고 있다 0. 왜 데이터 웨어하우스가 아닌 데이터 레이크여야 하는가회사 내 데이터들을 데이터..

개발 이야기 2024.11.14

노프스모 도커-쿠버 스터디 1주차

새로 알게 된 것🌟🌟 VMWare와 Docker는 가상화 수준이 다르다. 그리고 그 때문에 Docker가 훨씬 가볍다🌟 도커 이미지의 해시 값의 의미이미지 인덱스 (pull image 했을 때 Digest: sha256: abcfabcf.. 라고 뜨는 해시 값)는 여러 플랫폼 대상 이미지를 모두 포함하는, 그 버전 이미지를 대표하는 하나의 해시값이다이미지 매니페스트는 어떤 버전 이미지 중 어떤 특정한 플랫폼 (e.g. linux/amd64)용 이미지를 나타내는 해시값을 가지고 있다. docker pull 실행 시 기본적으로 로그에는 보이지 않는다레이어 해시값은 특정 플랫폼용 해당 이미지를 이루고 있는 여러 레이어에 대해 각 레이어마다 가지고 있는 해시값이다docker image ls 실행 시 보이는..

Delete Nodes From Linked List Present in Array

문제 번호, 이름: 3217. Delete Nodes From Linked List Present in Array문제 링크: https://leetcode.com/problems/delete-nodes-from-linked-list-present-in-array/description날짜: 2024/09/06상태: 완료 이 문제를 고른 이유하드문제를 풀려고 했는데.. 연습장을 안 들고 나와서 자신감이 줄어들어서 미디엄인 오늘의문제 고름문제 보고 처음 든 생각얼마전에 풀었던 문제 같은데 그건 아니고 그냥 비슷한 문제다두 리스트가 다 최대 길이 10^5 라서 무작정 스캔하면 O(10^10) 나와서 타임오버 나올것이다 풀이 v1소요 시간 15분class Solution: def modifiedList(s..

Problem Solving 2024.09.06

Sudoku Solver

문제 번호, 이름: 37. Sudoku Solver문제 링크: https://leetcode.com/problems/sudoku-solver/description/날짜: 2024/09/04상태: 완료 이 문제를 고른 이유오늘부터는 하드 문제를 풀겠다! 하고 결심했는데 막상 겁나서 acceptance 비율 높은 걸 골랐다문제 보고 처음 든 생각스도쿠 룰을 아니까 문제를 읽을 필요가 없어서 좋다유명한 퍼즐이니까 알고리즘 인터넷에 널려 있을 것 같다무작정 빈칸 채운다고 생각해보면 9^81가지 경우의 수가 있을 것 같다하지만 문제에서 반드시 답이 1개만 있는 경우만 주어진다고 했으니까 시간이 그렇게 오래 걸리는 케이스가 안 생길 것 같은 느낌적 느낌이 들었다. 코딩면접에서 이렇게 답하면 안 되는데.. 풀이 v1..

Problem Solving 2024.09.04

🤫 Secrets, 소스 코드를 통한 유출 방지

(2021년 7월에 작성했던 발표자료) 📰 소스 코드를 통한 Credential 유출 피해 사례암호 화폐 거래소의 API key를 다량으로 확보하여 가격 폭등/폭락을 일으켜 이득을 취함 https://cybernews.com/security/report-how-cybercriminals-abuse-api-keys-to-steal-millions/병원 Database 접근 credential이 GitHub을 통해 유출되어 유명 정치인을 포함한 환자 정보 유출https://www.zdnet.com/article/personal-data-of-16-million-brazilian-covid-19-patients-exposed-online/AI pair programmer인 Copilot이 API Key마저 ..

개발 이야기 2024.08.17

Docker container에서 cronjob이 trigger되지 않던 문제 해결

한줄요약: crontab.txt 권한 상승 필요 다른 호스트 머신에서 잘 동작하던 docker image를 새로운 호스트 머신에 컨테이너로 띄우게 되었다docker-compose.yml을 통해 컨테이너를 up 시켰다Dockerfile의 내용:...ENTRYPOINT ["./entrypoint.sh"]CMD ["cron", "-f", "-l", "2"] docker-compose의 내용:services: service-name: ... volumes: - ./config/crontab.txt:/etc/cron.d/crontab ... crontab의 내용:* * * * * root /venv/bin/python /app/main.py container를 띄울 때 cronta..

개발 이야기 2024.08.01

Merge Nodes in Between Zeros

문제 번호, 이름: 2181. Merge Nodes in Between Zeros문제 링크: https://leetcode.com/problems/merge-nodes-in-between-zeros/description날짜: 2024/07/04상태: 완료 이 문제를 고른 이유리트코드 오늘의문제문제 보고 처음 든 생각오 쉽다 이게 왜 미디엄 난이도지?아무생각없이 풀면 공간복잡도 O(N)짜리로 linked list 하나 더 만들어서 리턴하면 되겠고, 아주조금더 머리를 써서 공간복잡도 O(1)로 주어진 linked list를 수정해서 리턴하면 되겠다 풀이 v1소요 시간 9분# Definition for singly-linked list.# class ListNode:# def __init__(self,..

Problem Solving 2024.07.04