Simple Topics 5

A Brief Introduction to Modern Password Hashing: Argon2 Variants and Balloon Algorithm

1. Argon2 Argon2 is more than just a password hashing algorithm. This is a framework that offers flexibility based on its variants, each tailored to specific threat models. Core Features Memory-hardness Designed to consume significant amounts of memory, thwarting both time-memory trade-offs and hardware-based attacks. Parallelism Supports parallel processing, making it efficient on multi-core sy..

Simple Topics 2023.09.19

MySQL 8.1 출시 (Innovation Release와 LTS 알아보기)

개요 MySQL의 최신 버전인 8.1이 발표되었다. 이번 8.1은 이전 버전인 8.0이 출시된 지 무려 5년이 지난 뒤에야 출시한 이례적인 케이스. 그렇다면, MySQL 8.0의 다음 버전 출시가 왜 이렇게까지 늦어진걸까? 그 이유는 MySQL 8.0에서는 정식 버전이 출시된 이후에도 계속해서 큰 기능들을 추가하기로 결정했기 때문이었다. (그래서 초기 8.0.11과 최신 8.0.11에서는 정말 동일한 버전인지 의심스러울 정도로 기능이 늘어났다) 새로운 기능을 최대한 빨리 출시하고 싶다는 생각에서 그런 전략을 취했지만, 그 대가로 버전 번호의 업데이트가 늦어지는 결과를 초래했다 (그래서 MySQL 발전이 멈췄다고 생각하시는 분들도 계신데, 8.0대에서 계속 발전하고 있다) 결국 MySQL도 정식 버전을 두..

Simple Topics 2023.07.19

UUID 의 세계(UUID 선택 가이드)

UUID 를 쓸 것이냐? ID 를 쓸 것이냐? 혹은 둘 다 쓸 것이냐? 오래된 논쟁이지만, 모든 상황에서 절대적으로 옳은 선택지가 존재하지 않는 논쟁이라고 생각하기에, 무의미한 논쟁에서 벗어나 내 시스템에는 어떤 선택지가 좋을까? 에 대해 같이 고민해봅시다 :) 들어가기전에 auto increment ID 는 DB 에서 PK 로 자주 사용됩니다. 하지만 ID 만 사용하게 되면 보안 문제가 생길 수 있습니다. 예를 들어, 일련번호와 같은 연속된 ID를 사용하는 경우, 공격자가 다른 사용자의 데이터에 접근할 가능성이 있습니다. 반면, UUID는 범용 고유 식별자로 128비트(아닌 경우도 있는데, 아래에서 다루겠습니다) 크기의 "거의" 중복되지 않는 값을 생성합니다. ID 의 단점 ID 의 단점은 앞서 설명드..

Simple Topics 2023.05.15

JDBC 살펴보기 (JDBC communication internals with postgresql)

우리는 DB 를 일상적으로 사용하고 있지만, 내부적으로 어떤 일이 발생하고 있는지 놓치고 있는 경우가 종종 있습니다. 이 포스팅을 통해 jdbc 와 DB 사이에 어떤 일이 일어나고 있는지, 그리고 선택 가능한 옵션이 어떤게 있는지, 발생하는 상황, 이유 등에 대해 알아봅시다 :) 체크포인트 simple protocol 과 extended protocol 의 차이점 왜 extended protocol 이 더 효율적이고 jdbc 드라이버에서 디폴트로 채택되었는가? 프로토콜을 이해하고 구현하는법 Extended Query Protocol postgreSql JDBC 드라이버에서 사용하는 디폴트 프로토콜은 Extended Query Protocol(이하 EQP) 입니다. EQP 는 Frontend/Backend..

Simple Topics 2023.05.14