Logic in Code,
Freedom in Travel.

인생 뭐 있나 사람 사는거 다 똑같지

전체 글

Database

[Database] - CAP + 서비스를 잘 설계하려면

이미지가 좀 이상하긴 하지만.. 이론상 CAP 를 100% 충족시키지 못한다. CPA 에는 일관성, 가용성, 파티션 허용성이라는 세 가지 속성 중 두 가지만 보장할 수 있다. 일관성 (Consistency)모든 노드가 동일한 시점에 동일한 데이터를 볼 수 있도록 보장어떤 데이터에 대한 쓰기가 완료되면, 그 이후에 해당 데이터에 접근하는 모든 클라이언트는 최신 정보를 보게 된다.가용성 (Availability)클라이언트의 요청(R/W)에 대해 항상 응답을 받을 수 있도록 보장시스템의 일부 노드에 문제가 생기더라도, 남은 노드들이 계속해서 요청에 응답할 수 있어야 하며, 클라이언트는 항상 응답을 받을 수 있어야 합니다. 단, 그 응답이 최신 상태인지(일관성)는 보장하지 않을 수 있다. 파티션 허용 (Part..

2025. 4. 22. 10:42
실무 경험/실무 개발 & 협업

[Block Chain] - Integer overflow 그리고 underflow

새로운 토큰을 상장하기 위해서는 스마트 컨트릭트(Smart Contract) 를 검토해야했다.해당 토큰이 어떤 로직으로 작동하며, 보안상 취약점이나 비정상적인 동작 가능성이 있는지를 스마트 컨트릭트를 통해 확인할 수 있다.그래서 새로운 토큰을 상장하기 위해서는 스마트 컨트릭트를 확인하고 특약이 필요한지 검토 후 계약을 해야한다. Smart Contract 검토 목적Contract 검토 내용Tokenomics 구조 파악 : 발행량, 공급량, 디플레이션 구조 등소유권(Ownership) 및 관리자 권한 : 특정 주소에 과도한 권한이 집중되어 있는지이벤트 및 트랜잭션 로그 확인: 정상적인 기록 구조가 있는지위험 로직 존재 여부 : 거래 중단, 밴 기능, 과도한 세금(Tax), 자동 유동성 이동 등네트워크별 차..

2025. 4. 21. 23:56
도서/불친절한 SQL 프로그래밍

불친절한 SQL 프로그래밍 - 4부 관리 구문 - 18장 DML 문

DML 문UPDATE / DELETE 실수 방지 습관쿼리를 실행하기 전 트렌젝션으로 묶는다.쿼리를 작성할 때 SELECT 절을 사용하여 삭제할 데이터를 확인한다.SELECT a.*, (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) FROM t1 a WHERE t1 a WHERE EXISTS (SELECT 1 FROM emp x WHERE x.deptno. a.deptno);이후 쿼리를 UPDATE / DELETE 쿼리로 변경한다.UPDATE t1 a SET a.sal = (SELECt sum(x.comm) FROM emp x WHERE x.deptno = b.deptno) WHERE EXISTS (SELECT 1 FROM emp x WHERE x.d..

2025. 2. 18. 02:40
Database/RDBMS

Postgres Auto vacuum 의 중요성

PostgreSQL 를 사용하다 보면 어느 순간 디스크가 기하급수적으로 늘어난다.DELETE / UPDATE 가 지속적으로 발생하면서 디스크는 크게 줄지 않고, 비용은 점점 올라간다.뿐만 아니라 쿼리 성능 저하, 인덱스 비대화의 문제로 데이터베이스의 성능이 점차 떨어진다.Auto vacuum이 안 돌면 생기는 성능 이슈1. 쿼리 성능 저하UPDATE, DELETE가 많아지면 dead tuples 이 쌓인다.PostgreSQL은 MVCC 방식이라, 삭제된 데이터도 실제로는 지워지지 않고 남아 있는데 이걸 지워주는 게 vacuum이다.vacuum 은 백그라운드에서 autovacuum 이 실행되며, 쿼리로 명령어를 작성할 수 도 있다.이것이 제대로 돌지 않으면 테이블이 점점 무거워진다. 이 과정으로 전체 테이..

2025. 2. 17. 19:53
도서/불친절한 SQL 프로그래밍

불친절한 SQL 프로그래밍 - 1부 기본 개념 - 3장 오라클 데이터베이스

3.1 개념 오라클 사에서 개발한 ORDBMS(Object–relational database) 제품으로 2016 년도 기준으로 41.6 % 의 점유율을 가지고 있다. 그 외 유사한 DBMS 으로는 RDBMS, OODBMS 가 있다. 구분관계형 데이타베이스(RDBMS)객체지향 데이타베이스(OODBMS)객체 관계형 데이타베이스(ORDBMS)데이터 모델문자, 숫자, 날짜의 단순한 정보 타입만 지원사용자 정의 타입 및 비정형 복합 정보 타입 지원사용자 정의 타입 및 비정형 복합 정보 타입 지원주된 질의 언어SQLOQLSQL 확장대규모 정보 처리 능력좋음보통좋음시스템 안정성좋음보통좋음장점성숙한 기술: 오랜 역사로 인해 많은 연구와 개발이 이루어졌으며, 신뢰성과 안정성이 높다.표준화: SQL이라는 표준화된 질의 ..

2025. 1. 13. 13:30
Programming/.NET

2025 년도 .NET MAUI 개발 준비

지금껏 다양한 언어와 프레임워크로 개발을 하면서 2025년도 새해를 맞은 기념으로 .NET 개발을 해보려 한다. 시작이 반인것을 알기에 .NET SDK 설치와 Visual Studio Mac 을 설치하려다 보니 장난하나 욕이 나왔지만, 버전을 낮춰서 해야겠다.

2025. 1. 5. 13:15