트랜잭션 DB에서의 트랜잭션이란, 보통 데이터베이스의 어떤 변경을 유발하는 작업 단위를 의미한다. 논리적으로 한 개의 실행 단위를 뜻하며, 물리적으로는 한 개 혹은 여러 개의 실행단위가 묶여 실행되기도 한다. 설명의 편의성을 위해, 종종 은행 계좌간 돈을 이체하는 사례가 주로 인용된다. 트랜잭션의 특징 - ACID DB에서의 트랜잭션은 아래 네 개의 특징을 지닌다. Atomicity Consitency Isolation Durability Atomicity(원자성) 트랜잭션은 논리적으로 하나의 실행단위여야 한다. 물리적으로 여러 개의 statement로 구성되어 있다 하더라도 논리적인 단위로 묶일 수 있어야 한다. 하나의 실행단위라면, 실행시 두 개의 상태로 귀결된다. 성공하거나 실패하거나 (all or..
PostgreSQL을 설치한 머신내에는 psql이 기본적으로 설치가 되어 있겠지만, 리모트로 접속해야 하는 경우는 별도로 설치해 줘야 한다. 여러 GUI 기반 client들도 많지만, 간단하게 보거나 명령어로 손쉽게 조회해 보려면 psql도 충분할 경우가 많다. 특히 기본 메타 정보 등을 조회하는 명령어는 범용 GUI에서는 지원하지 않기 때문에, psql 나름의 장점이 있다. 맥북에서 psql 설치하기 다음과 같이 libpq를 설치한다. $ brew install libpq libpq 설치가 완료되었다면, $ brew link --force libpq 를 실행하여 심볼릭 링크를 생성한다. Linking /usr/local/Cellar/libpq/13.2... 372 symlinks created. If ..
go-to로 시작하는 단어들? go-to가 앞에 붙으면 무슨 뜻이 될까? 한 번 상상해 보자. 직역하고 상상해 보기 그냥 직역해 보자면, go-to는 '어디로 가다'라는 뜻을 갖고 있다. 제목에 적은 단어들과 조합하여 굳이 뜻을 붙여 보자면, go-to + person: 저기로 가라 + 사람 = '저 사람에게 가라' 라는 말을 듣는 사람 go-to + place: 저기로 가라 + 장소 = '저기로 가라' 라는 말을 듣는 장소 의역해 보기 go-to person 어떤 사람이 '저 사람에게 가라'라는 말을 많이 듣는다면, '저 사람에게 물어보시오', '저 사람에게 도움을 청하시오'라는 말을 듣는 사람일 것이다. 즉, 그 분야의 전문가, 어떤 일을 가장 잘하는 사람, 척척박사 등을 뜻하게 된다. go-to p..
디렉토리 이하 특정 문자열 및 한글 포함여부 찾기 프로젝트 전체 파일들을 대상으로 특정 문자열 혹은 한글이 포함되어 있는 부분을 찾거나, 파일명 들을 추출하려면 다음과 같이 shell을 활용해 보자. 사용법 아래와 같은 형식을 지켜주면 되겠다. $ find . -name "파일명 또는 파일명 패턴" -print0 | xargs -0 egrep -l "검색어 또는 패턴" $ find . -name "파일명 또는 파일명 패턴" -print0 | xargs -0 egrep "검색어 또는 패턴" egrep 옵션 참고 egrep 뒤에 -l 옵션을 주면 파일명을 출력한다. -l, --files-with-matches Only the names of files containing selected lines are w..
티스토리 사전 공지 내용 책리뷰 글을 자주 올리고 있지는 않지만, 나름 쏠쏠하다고 생각했던 플러그인이 사라졌습니다. 티스토리 인터파크 책 정보넣기 플러그인입니다. 자세히 살펴보니, 티스토리 공지 글에 이미 안내가 되었었네요. 2월 1일 부로 사라질 것이라고 1월 말 경에 공지가 올라왔는데, 시간이 지나서야 발견했습니다. (공지 원본 링크: https://notice.tistory.com/2580) *구 에디터 종료* 2021년 2월 1일(월) *종료 플러그인* - 에버노트 글 불러오기 - 사진 정보(EXIF) 출력 - 인터파크 책 정보넣기 - 키워드 출력(키워드 관리 기능도 함께 종료됩니다.) - 스토리채널(종료 후 새로운 모습으로 찾아뵐 예정입니다.) 사실 인터파크 책정보넣기 플러그인이 최신 업데이트는..
방송 컨셉트에서 선 넘는 사람이라고 하면, 뭔가 상식을 깨거나 심지어 긍정적인 의미를 뜻한다고 생각할지도 모른다. 단어 외형으로부터, 이 단어가 그런 뜻을 가졌으려나 생각해 보게 된다. line = queue 쉽게 생각해 보면, line = queue = 대기열이다. 요즘은 영화를 보러 가도 사전 예매를 하고, 은행을 가도 대기표를 뽑기 때문에 다소 보기 힘든 광경일 수도 있겠으나, 예전에는 줄 서는 것이 흔한 광경이었다. 따지고 보면, 요새도 볼 수 있긴 하다. 마트 같은 곳에서 결제하려고 기다리는 것, 혹은 어딘가에 입장하려고 기다리는 것들이 line이자 queue이다. line/queue를 jump 한다는 것은? 결국 새치기다. 내가 줄을 오랫동안 서고 있는데, 누군가가 내 앞으로 jump 해서 들..
파이썬으로 MySQL 사용하기 Python으로 MySQL에 접속하고, 데이터를 다루려면 여러 라이브러리가 있다. 마침 StackOverFlow에도 이와 관련한 Q&A가 있어서 살펴보고 선택하고자 한다. https://stackoverflow.com/questions/43102442/whats-the-difference-between-mysqldb-mysqlclient-and-mysql-connector-python What's the difference between MySQLdb, mysqlclient and MySQL connector/Python? So I've been trying to do some database update with python and while setting up the w..