전체 글 40

(진행 중) 에어팟 맥스를 고치기 위한 여정.. (배터리, 소리 안 들림, 초기화 안 됨 등등)

2025/09/17 기준: 아직 못 고쳤습니다...이것저것 해보는 대로 업데이트 중 에어팟 맥스가 고장났다...안 그래도 간당간당 했는데, 여름 내 케이스에 세 달 정도 넣어놨다가 꺼내보니 몇 일 정도 들리는가 싶더니 이제 아예 소리가 나가버렸다.처음에는 소리만 안 들렸는데 이제 점점 나아가 배터리 문제, 초기화 문제 등까지 생김. 내가 이 에어팟 맥스를 고치기 위해 했던 모든 일들과 해결 과정들을 적어보겠다... 증상원래는 왼쪽 헤드기어 연결부가 이상했던 건지, 가끔 그쪽을 만지면 소리가 뚝 끊겼다. 왼쪽만.그때는 그냥 연결 끊었다가 다시 하면 괜찮아졌음.그런데 세 달 정도 케이스에 방치 후 다시 연결하고, 몇 일 정도 있다가 갑자기 소리가 멈춰버림.페어링은 됐는데, 연결음도 안 들리고 그냥 아무 소..

기타 2025.09.17

[YCSB] MySQL 8.4.5에 YCSB 실행하기

YCSB는 야후에서 만든 벤치마크인데, 원래 NoSQL 용으로 개발되었다.하지만 많은 OLTP 논문에서 TPC-C를 비롯해 YCSB까지는 제시하고 있다. 실생활과 유사한 TPC-C는 반드시 필요한 것 같고, Read-Write ratio를 조절하는 것에 대한 차이는 YCSB로 제시한다.나는 MySQL 8.4.5를 사용하고 있기 때문에 여기서 YCSB를 돌리는 과정을 글로 남겨본다. 두 가지 버전이 있는데, 하나는 brain frank cooper의 YCSB와 benchbase에 구현된 YCSB가 있다.뭐가 원본인지는 모르겠지만... benchbase가 여러모로 범용성이 좋은 것 같아서 후자 추천! [Brain Frank Cooper 버전]0. 다운로드- YCSB 다운로드$ git clone https..

DB 2025.08.20

[기타] TPCC++ - write skew 테스트 용 벤치마크

Serializable Isolation for Snapshot Databases(MICHAEL J. CAHILL, UWE ROHM, and ALAN D. FEKETE) 라는 아티클에 소개된 벤치마크다.SI에서 SSI로 발전에서 가장 큰 부분인 Write Skew를 검증하기 위해서 개발되었다. 1. 개요TPC-C는 OLTP 워크로드 테스트에 가장 대표적인 벤치마크라 할 수 있다. 하지만 이 TPC-C만으로는 write skew가 개선되었는지를 충분히 테스트하기엔 아쉬운 점이 많다.그래서 이 연구에서는 직렬성을 깨트릴 수 있는 'Credit Check'라는 새로운 트랜잭션을 추가하였다. Write Skew라는 문제는 결국 두 트랜잭션이 동시에 같은 값을 읽고 쓰려고 할 때 발생하는 문제다. (RW-depe..

DB 2025.02.05

[논문리뷰] Serializable Snapshot Isolation in PostgreSQL (VLDB '12)

MySQL, Oracle의 Locking 기법과는 좀 다른 Snapshot Isolation에 대해 간략하게 엿볼 수 있는 논문이다.특히 Serializability에 대해 고민해볼 수 있는 좋은 논문이라 생각한다. 나는 Write Skew와 SSI의 구현을 중심적으로 읽고 정리하였다.더 자세한 내용은 논문을 읽어보길 바란다. 논문이 잘 쓰여서 재밌게 읽을 수 있을 것 같다.  Snapshot Isolation (SI)Read가 트랜잭션 시작된 시점의 Committed Version 기준트랜잭션이 시작된 이후의 변경 사항을 볼 수 없음한 트랜잭션 안에서는 일관성 보장First-Writer-WinsPostgreSQL: MVCC 방식을 사용하여 구현Repeatable Read라 불림 장점Dirty Reads..

DB 2025.01.31

[논문리뷰] On Optimistic Methods for Concurrency Control (OCC)

대표적인 CC 기법으로는 Timestamp, OCC, MVCC가 있다. 그 중 OCC의 논문에 대해 리뷰를 진행해보겠다.추가로 만약 Database에 관심이 있다면 CMU의 앤디 파블로 교수의 Advanced Database Systems 강의를 꼭 수강해보길 바란다. 이 강의만 잘 들어도 DB에 대해 많은 공부가 된다.https://youtu.be/BShOt5gYiPs?si=rrOZJtUF2I_dsyvc  논문: https://dl.acm.org/doi/10.1145/319566.319567IntroductionNon-locking Concurrency Control트랜잭션 롤백에 의존충돌 발생 횟수가 적다고 가정PhaseRead읽기 작업: 제약 없이 실행 가능쓰기 작업: 로컬 복사본 생성 → 여기에 ..

카테고리 없음 2025.01.13

[기타] 서울시 청년 임차보증금 이자지원 사업 후기 - 대학원생, 근린생활시설

안녕하세요.서울시에서 진행하고 있는 청년 임차보증금 이자지원 사업에 대해 후기를 작성해보려 합니다.저는 대학원생 신분으로 근린생활시설(사무소)에 있는 주택을 대상으로 대출을 받았습니다.너무 정보가 없고 힘들었기 때문에... 다들 도움이 되시길 바라며 글을 써봅니다. 앞서서 말하자면 웬만하면 근생 말고 일반 주택으로 들어가시길 바랍니다.저는 이 집과 거리, 금액적인 조건이 너무 맘에 들어서 강행했지만 법적으로나 대출면으로 보나 안전하지 않은 집이라 생각합니다.   1. 청년 임차보증금 이자지원 사업이란?https://housing.seoul.go.kr/site/main/content/sh01_040901 사업개요 | 청년임차보증금 | 청년·신혼부부 지원 | 서울주거포털서울주거포털,청년 임차보증금 이자지원 ..

기타 2024.12.11

[알고리즘] 대표적인 DP 문제들에 대한 알고리즘과 수도코드 - 점화식 기초

면접 준비 용으로 대표적인 알고리즘 문제들을 풀어보려 한다.비전공자들을 대상으로 보는 면접이라 생각하고, 어려운 문제는 제외했다.문제가 길지 않고 간단하며, 정답 수도코드도 짧게 나올 수 있는 문제 위주로  1. 피보나치 수열문제: https://www.acmicpc.net/problem/2748코드:// 재귀int fibo(int n) { if(n==1) return 0; else if(n==2) return 1; else return (fibo(n-1) + fibo(n-2));}// 반복문int fibo2(int n) { int f[n]; f[0] = 0; f[1] = 1; if (n>1) { for(i in 2~n-1) { f[i] = f[i-1] +..

기타 2024.10.26

[선형대수] Rank에 따른 Ax=b의 해의 개수 구하기

이론적인 내용(가우스 소거법, RREF니 다 무시)은 제외하고 개념적인 내용만 이해해보려고 한다.수학 문제를 풀기 위한 이해가 아니라, 논리적으로 개념을 이해하기 위한 글. rank에 대한 자세한 설명은 이전 글을 참고.https://kongjino.tistory.com/33 [선형대수] Rank란? (수학적, 기하학적인 의미) - 왕초보 기준으로 이해하기데이터사이언스 공부를 하기 위해서 선형대수는 필수기 때문에 울며 겨자먹기로 공부 중이다. (수학 못하고 싫어해서...)선형대수를 처음 공부하고 수학을 못하는 나를 기준으로 이해한 점을 작kongjino.tistory.com   # 연립일차방정식의 해의 개수 구하기n차원 공간에서 이해하기 전에, 우리가 중학생 때 배웠던 2차원 상의 연립방정식의 해의 개수..

수학 2024.10.19

[선형대수] Rank란? (수학적, 기하학적인 의미) - 왕초보 기준으로 이해하기

데이터사이언스 공부를 하기 위해서 선형대수는 필수기 때문에 울며 겨자먹기로 공부 중이다. (수학 못하고 싫어해서...)선형대수를 처음 공부하고 수학을 못하는 나를 기준으로 이해한 점을 작성해본다.행렬, 매트릭스 등의 기본 개념은 안다고 가정한다.수학적 설명을 위한 글이 아닌 속성 이해를 위한 글이므로, 정확한 개념은 다른 글을 참고해주시길 바랍니다. 표기 (예쁘게 표기할 자신이 없어서 아래처럼 씁니다.)- Col: Column- [1 2 3 / 4 5 6]: 각 row를 의미, 즉 row1은 [123] row2는 [456]이라는 뜻- 대문자 알파벳은 행렬, 소문자 알파벳은 스칼라, v는 벡터를 의미합니다.- ==는 같다는 의미입니다. 변수++는 변수에 1을 더한다는 의미입니다.   # Rank란Colum..

수학 2024.10.19

[MySQL/InnoDB] Update와 Insert의 Locking, Blocking(대기) - 코드를 중심으로

MySQL 코드를 분석하면서 배운 점을 정리한 글입니다.학부생 수준의 이해를 기반으로 한 글이니, 참고용으로만 보시면 됩니다.웬만하면 공식 문서를 직접 보거나 코드를 확인해주시는 걸 추천드립니다. (일반 서버 개발자들을 위한 글이 아닙니다!! MySQL 연구를 위한 글입니다!! 개발에는 아무 도움이 안 되는 글입니다!!)  Serializable mode를 가정한 설명입니다.Lock 충돌을 확인하고, 충돌에 대해 blocking되어 대기 상태로 빠지는 부분을 위주로 공부하였습니다.   Update의 Locking업데이트의 경우 Locking이 좀 더 일반적이고 직관적으로 진행된다. 코드로는row_search_mvcc() -> sel_set_rec_lock() -> lock_clust_rec_read_ch..

DB 2024.09.30