PostgreSQL 5

[SmashUp!] 캐쥬얼 배틀로얄 프로젝트 레포지토리 계층

개요지난 서비스계층에 이어 이번엔 트랜잭션 처리를 통한 DB와의 통신을 담당하는 레포지토리 계층에 대해 작성한 내용을 공유하고자 한다. 현재 서버에서는 회원가입, 로그인 등과 같은 인증과 방 생성, 참가, 퇴장, 조회 등 매칭 관련 트랜잭션, 게임 시작 및 종료 시 방 상태를 업데이트하는 트랜잭션을 수행한다. 데이터베이스는 PostgreSQL을 사용하였으므로 pqxx라이브러리를 사용해 DB서버와 통신하며, 고립성을 보장하여 멀티 플레이 환경에서의 동시성 처리를, 원자성을 보장하여 트랜잭션 도중 한 곳에서 예외가 발생한다면 해당 작업 이전의 작업들을 모두 롤백해 주는 것을 가장 중요시하여 로직을 작성하였다. user_repository.h// repository/user_repository.h#pragm..

[Keepro] 무인 사물함 프로젝트 개요

개요무인 사물함을 구현하는 AIoT 프로젝트를 시작하였다.프로젝트 인원은 총 6명으로 임베디드 2명, 프론트엔드 2명, 백엔드 2명으로 구성된 팀이다.임베디드를 공부하긴 했지만 백엔드 쪽에 관심이 더 생겨 나는 백엔드 파트를 맡게 되었다. 여태 개인 프로젝트만 진행하다 팀 프로젝트를 처음으로 진행하게 되어 걱정 반 기대 반인 상태이다.프로젝트 명세를 데드라인까지 성공적으로 구현하고 좋은 결과를 도출하면 좋겠다. 아이디어프로젝트 주제를 정의하기 까지 수 많은 아이디어가 오고갔다.무엇보다 AI요소를 접목하여 자율주행이 가능한 IoT를 개발해야 한다는 것이 주제 선정에 크게 애를 먹였다. 삼성의 볼리처럼 가전용 기계가 방을 순회하며 온습도 및 에어컨 등을 자동으로 틀어주는 로봇공장 재고파악을 자동으로 해주는..

[PostgreSQL] 명령어 모음

개요PostgreSQL은 다른 RDBMS와 달리 ORDBMS로 객체 지향을 지원하는 관계형 데이터베이스이다.SQL뿐만 아니라 다양한 간단한 명령어를 지원한다. DB 보기, 사용, 테이블 보기 등 일부 명령어가 다른 DB의 SQL문과 상이해 혼란이 온다.이를 방지하기 위해 자주 사용하는 PostgreSQL전용 명령어를 익혀보자  데이터베이스 관리1. 데이터베이스 생성CREATE DATABASE database_name;2. 데이터베이스 목록 보기 \l3. 데이터베이스 접속 \c database_name;4. 데이터베이스 삭제 DROP DATABASE database_name;  실습 후 알게된 점은 DB를 \c를 통해 사용 중인 경우 데이터베이스를 DROP할 수 없었다.테이블 관리1. 테이블 생성 CREA..

[PostgreSQL] Windows 설치, 서버 구동

개요PostgreSQL를 윈도우 OS환경에서 사용해 보자PostgreSQL 공식 웹사이트에서 윈도우 버전 설치 파일을 다운로드한다. https://www.enterprisedb.com/downloads/postgres-postgresql-downloads EDB: Open-Source, Enterprise Postgres Database Management www.enterprisedb.com  설치파일 실행위 사이트에서 다운로드 한 윈도우 버전 설치 파일을 실행해 준다.  설치 경로를 지정해 준 뒤 Next 버튼을 클릭해 준다. 설치할 컴포넌트를 지정한 후 Next버튼을 클릭해 준다.  Data 디렉토리를 설정한 후 Next버튼을 클릭해 준다. root유저의 패스워드를 설정해 준다.지정해 주지 않으면 ..

[PostgreSQL] 기본, 특징

개요PostgreSQL은 객체 관계형 데이터베이스 관리 시스템(ORDBMS)으로, 관계형 데이터베이스의 특성과 객체 지향적 기능을 결합한 고급 데이터베이스 시스템이다.SQL을 사용하여 데이터를 처리하고, 다양한 데이터 타입을 지원하며, 트랜잭션, 동시성 제어 및 복잡한 쿼리를 처리할 수 있는 강력한 기능을 제공한다.  고급 SQL 기능PostgreSQL은 Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)을 보장하는 트랜잭션을 지원하여 이를 통해 데이터의 무결성을 유지할 수 있다.다중 버전 동시성 제어를 지원하여, 읽기 작업이 쓰기 작업에 영향을 주지 않도록 보장한다.복잡한 조인, 하위 쿼리, 집합 연산 등을 지원하여 다양한 데이터 분석 ..

728x90