[~] docker pull mysql:5.7 5.7: Pulling from library/mysql no matching manifest for linux/arm64/v8 in the manifest list entries [~] 또 M1 Mac 이슈인 듯 하다. 아키텍쳐가 안맞아 상술한 오류가 뜬다면, --platform 을 아래와 같이 명시하여 이미지를 땡겨가자. [~] docker pull --platform linux/amd64 mysql:5.7 5.7: Pulling from library/mysql 20e4dcae4c69: Pull complete 1c56c3d4ce74: Pull complete e9f03a1c24ce: Pull complete 68c3898c2015: Pull compl..
MySQL :: MySQL 8.0 Reference Manual :: 13.3.2 The CHAR and VARCHAR Types 13.3.2 The CHAR and VARCHAR Types The CHAR and VARCHAR types are similar, but differ in the way they are stored and retrieved. They also differ in maximum length and in whether trailing spaces are retained. The CHAR and VARCHAR types are declared with a l dev.mysql.com Values in VARCHAR columns are variable-length strings. ..
문제 작업 중에 임의의 리소스에 할당된 리액션들을 이모지 형태로 관리할 필요가 있어서 아래와 같은 테이블을 설계했다. CREATE TABLE `Reactions` ( `Id` INT(11) NOT NULL AUTO_INCREMENT, `ResourceId` INT(11) NOT NULL, `Value` VARCHAR(20) NOT NULL, `CreatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `CreatedById` VARCHAR(255) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`Id`), UNIQUE `Reactions_uq_1` (`ResourceId` ASC, `Value` ASC, `CreatedById` AS..
낙관적 락 동시성 문제가 일반적으로 발생하지 않을 것으로 보고(=낙관적), 락을 걸지 않고 시작한다. 별도의 Version 컬럼을 두고, 트랜잭션을 커밋할 시점에 동시성 문제가 발생했는지 검증한다. 트랜잭션을 커밋할 때까지 동시성 문제가 발생함을 알 수 없으며, 발생한 경우 애플리케이션 로직으로 처리한다. 비관적 락 동시성 문제가 빈번히 발생할 것으로 보고(=비관적), 트랜잭션을 시작할 때 락을 걸고 시작한다. select for update와 같은 쿼리를 활용하며, 데이터베이스가 제공하는 락을 활용한다. 낙관 vs 비관 두 개념은 각각 다음과 같은 장단점을 가지므로, 상황에 맞게 무엇을 사용할지 결정해야 한다. 낙관적 락은 일반적인 상황에서 성능이 더 좋으나, 충돌 발생시 이를 처리하기 번거롭다. 비관..
데이터베이스 시딩은 서비스 운영에 필요한 기본적인 데이터를 데이터베이스에 삽입하는 것을 의미한다. 결국 데이터베이스 초기 구성시 서비스에 반드시 필요한 계정이라거나, 포스트 등등을 데이터베이스에 들이 붓는 것! Prisma ORM에서는 seed.ts 파일과 prisma db seed 명령어를 통해 이러한 기능을 제공한다. Seeding your database Learn how to seed your database using Prisma's integrated seeding functionality and Prisma Client www.prisma.io
스터디 용도 등으로 로컬 환경에서 PostgreSQL을 띄우는 것은 생각보다 간단하다. 우선 로컬에서 PostgreSQL 이미지와 매핑할 적당한 디렉토리를 준비한 후, 다음과 같이 입력한다. [~] docker pull postgres:14.6 # 생각해보니까 요 줄은 생략해도 아래 명령어에서 알아서 될 것 같다. [~] docker run -p 35432:5432 --name my-first-pg-docker \ -e POSTGRES_PASSWORD=my-insecure-secret -e TZ=Asia/Seoul \ -v [여기에 내 로컬 환경의 적당한 경로를 입력]/pgdata:/var/lib/postgresql/data \ -d --restart always postgres:14.6 -p 옵션은 [..
- Total
- Today
- Yesterday
- spring boot
- Gradle
- Linux
- shell
- javascript
- pgloader
- react
- Database
- Node.js
- Vault
- AWS
- Docker
- eureka
- JPA
- hashicorp
- jQuery
- AWS IoT
- mysql
- IntelliJ
- etc
- postgresql
- terraform
- Puppeteer
- Spring Cloud Config
- 코딩테스트
- dev
- Java
- ffmpeg
- kotlin
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |