백엔드
[PostgreSQL] Postgresql 강좌 - 3.TABLESPACE 관리
이번 시간에는 TABLESPACE 관리에 대해 알아보도록 하겠습니다. 1.TABLESPACE 조회 현재 존재하고 있는 TABLESPACE를 조회하기 위해 pgAdmin의 Object Browser에서 검색하거나 psql에 \db 명령어로 조회할 수 있습니다. \du 2. CREATE TABLESPACE CREATE TABLESPACE의 'tablespacename명'을 입력해 TABLESPACE를 생성합니다.(단 'pg_'로 시작하는 이름은 불가능) CREATE TABLESPACE tablespacename Option 기능 OWNER username 입력하여 TABLESPACE를 소유하는 USER를 지정해 줍니다. 이를 생략할 경우 접속되 있던 USER가 default로 지정됩니다. LOCATION '..
[PostgreSQL] Postgresql 강좌 - 2.DATABASE/SCHEMA 관리
이번 시간에는 2번째 postgreSQL 시간인 데이터베이스 관리와 수정 삭제 조회 그리고 SCHEAM까지 배워보도록 하겠습니다. 1.DATABASE의 구조 postgrSQL의 DATABASE는 여러 개의 SCHEMA(스키마)들로 구성된 데이터베이스 입니다. SCHEMA는 OBJECT(오브젝트)들의 논리적인 집합을 말합니다. SCHEMA는 TABLE(테이블), VIEW(뷰),SEQUENCE(수열), DOMAIN(도메인), FUNCTION(함수) 등의 OBJECT들로 구성되어 있습니다. 이러한 DATABASE들과 USER/GROUPS, TABLESPACES들이 모여 CLUSTER(쿨러스터)를 구성합니다. 2.DATABASE 소유 DATABASE를 생성하기 위해서는 SUPERUSER(슈퍼유저)이거나 CREA..
[Haskell] 하스켈 이란? 함수형 프로그래밍
하스켈 이란? 하스켈(Haskell)은 순수 함수형 프로그래밍 언어입니다. 함수형 프로그래밍 언어란 컴퓨터에게 해야하는 작업을 알려주는 것이 아닌(명령어 프로그래밍 언어), 어떤 작업인지를 알려주는 것이 바로 언어이다. 예를 들어 팩토리얼 1부터 N까지의 숫자를 모두 곱하는 값을 구하는 작업이라 알려주는 것처럼 이러한 작업들에 대해서 함수로 표현할 수 있다. 함수형 프로그래밍에서는 변수의 값을 변경할 수 없다. 그렇기 때문에, 함수가 하는 일은 주어진 작업에 한에서 계산하고 그 결과값을 반환해주는 일만 하면 된다. 절차형 프로그래밍 언어처럼 변수의 값을 변경할 수 없고 함수는 그 결과를 반환하는 일만 하면 되므로 주어진 매개변수가 동일할 시 동일한 결과를 보장하는 특징도 가진다(참조 투명성) 하스켈은 정..
[PostgresQL] Postgresql 강좌 - 1. USER 조회와 생성 수정 삭제
자 그러면 postgresql도 설치했으니 이번에는 psql을 이용해 유저를 생성하고 수정하고 삭제 조회 하는 기능을 알아보도록 하겠습니다. DATABASE에서 USER는 DATABASE를 사용하는 주체로 OS를 운영하는 USER와 분리되어 있습니다. USER는 소유하고 있는 DATABASE안에 OBJECT(오브젝트)의 권한을 변경하고 제어할 수 있습니다. 1.USER 조회하기 유저를 생성하기 위해서 처음으로 해야할 과정은 먼저 DATABASE안에 SUPERUSER(관리자)권한을 가지고 있어야 합니다. PostgreSQL에 SUPERUSER와 default 계정은 postgres 입니다. SELECT * FROM PG_SHADOW; 또는 \du 위 SELECT * FROM PG_SHADOW; 명령어는 현..
[MySQL] MySQL 이해 및 실습 과정
1.MySQL 이해 밎 실습 과정 들어가기전 다시한번 복습해보면 MySQL은 세계에서 가장 많이 사용하고 있는 오픈 소스 관계형 데이터 베이스 관리 시스템 MySQL은 오라클사가 소유하며, 불확실한 라이선스 정책으로 인해, 동일 소스를 기반으로 MariaDB(마리아DB) 가 파생되었다.(MySQL과 거의 유사 MariaDB가 오픈소스 라이센스를 따르고 있다고 보면 된다.) MySQL 설치 - 실습1 sudo apt-get update sudo apt-get install mysql-server - 설치 중간 비밀번호 설정시 주의!! - 만약 vi 명령이 없다면 다음과 같이 vi 설치 및 사용법 숙지 sudo apt-get install vim sudo vim /etc/mysql/mysql.conf.d/m..
[MySQL] RDBMS(Relational Database Management System) 이해
RDBMS(Relational Database ManageMent System) 이해 1. 데이터 베이스란? 데이터 베이스는 체계화된 데이터 모음으로 여러 응용 시스템들의 통합된 정보를 저장해 운영해 나갈 수 있는 공용 데이터 묶음이다. 논리적으로 연관된 하나 이상의 자료 모음으로, 데이터를 고도로 구조화함으로써 검색/갱신등의 데이터 관리를 효율화시킨다. DBMS: 데이터를 관리하는 시스템 테이터 베이스의 장점 1.데이터 중복을 최소화 2.데이터 공유 3.일관성, 무결성, 보안성 유지 4.최신 데이터 유지 5.데이터의 표준화 가능 6.데이터의 논리적, 물리적 독립성을 가짐 7.용이한 데이터 접근 8.데이터 저장 공간 절약 데이터베이스의 단점 데이터베이스의 전문가가 필요 많을 비용을 부담 시스템의 복잡화 ..
[MySQL] DATABASE2 MySQL - 1. mySQL
인류는 오랫동안 컴퓨터를 이용해 정보를 관리하기 위해 수많은 개발과정과 무수한 노력을 끝에 file(파일)이라고 하는 위대한 정보 관리 도구를 고안한다. 파일은 사용하기 쉽고 어디에나 있으면서 전송하기 쉽기에 지금도 사용하고 있고 미래에서도 사용할 것이다.이번 시간에 배우는 Database에 정보도 바로 file에 저장한다. 처음에는 File 만으로도 행복했지만 정보가 폭발적으로 증가하고 다양해지면서 파일 만으로는 정보를 효과적으로 입력 저장 출력하는것이 여려워진다. 즉 데이터를 잘 정리 정돈해 필요할 때 쉽게 꺼내 쓰고 싶다는 욕심이 생겨난 것. 1960년대 부터 파일의 한계를 극복하기 위한 시도가 본격적으로 시작되어 몇몇 거대 기업들과 천재적인 엔지니어들은 누구나 쉽게 데이터를 정리정돈 할 수 있는 ..
[PostgresQL] 우분투 PostgreSQL 설치
1. 기본 설치 확인 kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ aptitude show postgresql | grep State State: not installed 2. postgreSQL 설치 kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo apt-get install postgresql 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다: libfwupdplugin1 libllvm11 linux-headers-5.14.0-1027-oem linux-headers-5.4.0-104 linux-headers-5.4.0-104-generi..
[Ruby] 우분투 rvm + ruby 설치 + Ruby on Rails
Ruby를 설치하기전 rvm을 사전 설치해야한다. 1. 개요 1-1.우분투 ruby-rvm 설치하기 1-2.우분투 RVM 설치 과정 수행 완료시 rvm, ruby, gem 설치 완료 2. rvm 설치 확인 GitHub - rvm/ubuntu_rvm: Ubuntu package for RVM Ubuntu package for RVM. Contribute to rvm/ubuntu_rvm development by creating an account on GitHub. github.com 먼저 우분투에서 rvm을 설치해야한다. 위 사이트에서 우분투 용 rvm을 설치한다. sudo apt-add-repository -y ppa:rael-gc/rvm sudo apt-get update sudo apt-get in..
[Ruby] Ruby란
Ruby Ruby란 무엇일까? Ruby를 사용하고 있는 개발자들을 Ruby가 아릅답고 기교가 뛰어난 언어이기 떄문이라고 설명한다. 하지만 이 말로는 부족한데 어떠한 점이 Ruby를 이처럼 매력적인 언어로 만드는 것일까? Ruby를 개발한 마츠의 목표 Ruby는 균형잡힌 언어이다. Ruby를 만들 유키히로 마츠모토(일명 마츠)는 그가 좋아하는 언어인 Prel, Smalltalk, Effel, Ada, Lisp를 섞어 명령형 프로그래밍 언어이자 함수형 언어인 새로운 언어를 만들었다. 그는 Ruby를 단순히 만드는 것이 아닌 자연스럽게 만들려고 노력한다라고 말하고 있다. Ruby는 우리의 삶을 반영하고자 한다는 뜻이다. Ruby의 성장세 Ruby는 1995년 처음 공개된 이후 전세계에 많은 Ruby 개발자가 ..
[PostgreSQL] PostgresSQL이란?
PostgresQL이란? postgreSQL은 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)으로, Enterprise급 DBMS의 기능과 차세대 DBMS에서 볼 수 있을 법한 기능들을 제공합니다. 약 20여년 동안 오랜 역사를 갖고 있는 PostgreSQL은 다른 관계형 데이터베이스 시스템과 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써 마치 새로운 하나의 프로그래밍 언어처럼 무한한 기능을 손쉽게 구현할 수 있습니다. PostgreSQL은 무료로 제공되고 있으며 1985년 개발을 시작해 1996년에 첫 출시가 된 언어입니다. Oracle(오라클) 개발자들이 대거나와 PostgreSQL 개발에 ..
[Ubuntu] MongoDB 설치하기 (ubuntu 20.04)
$ sudo systemctl start mongod 이번시간에는 Ubuntu 환경에서 mongoDB를 설치하는 방법을 알아보겠습니다. mongoDB를 설치하기전 우분투 버전을 확인해야 합니다. $ lst_release -dc 터미널 창에 위 명령어를 입력해 Description 부분을 확인하면 현재 설치된 우분투 버전을 확인할 수 있습니다. 패키지 관리 시스템에서 사용하는 public key 가져오기 터미널에서 다음 명령어를 실행해 https://www.mongodb.org/static/pgp/server-4.4.asc 에서 MongoDB public GPG key를 가져옵니다. $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo..