분류 전체보기
-
README.md저장소/git 2016. 12. 26. 10:58
README.md 파일은 git, github 등과 같이 저장소에서 많이 본 파일입니다. 해당 파일은 소스코드에 앞서 어떠한 목적으로 개발이 되었는지, 코드의 개요, 구조도 등을 처음 사람들에게 노출함으로써 해당 프로젝트에 대해 설명을 합니다.여기서는 여러형태의 리드미 파일을 전부 다루는 것이 아닌 현재 사용중인 gitlab의 README.md파일을 위주로 필요성 및 문법을 설명하도록 하겠습니다.리드미(readme)란?리드미 (README, readme, read me) 파일은 디렉토리나 압축 파일에 포함된 기타 파일에 대한 정보를 가지고 있으며, 일반적으로 소트프웨어와 함께 배포됩니다. 또한 현재 git과 같은 저장소에서도 해당 파일을 default로 생성하여 해당 저장소에 대한 설명을 기입하도록 하고..
-
[Linux] OpenSSL 인증서서버 2016. 12. 23. 14:16
OpenSSL이란?인터넷을 통해 클라이언트와 서버가 통신할 때 통신 내용을 안전하게 보호하는 방법으로 SSL(Secure Sockets Layer)을 사용할 수 있습니다. SSL은 서버 인증(Server Authentication), 클라이언트 인증(Client Authentication) 그리고 데이타 암호화(Data Encryption) 기능을 제공합니다. 인증(Authentication)은 통신의 상대방이 맞는지 확인하는 절차를 의미합니다. 암호화는 데이타가 누출되더라도 외부에서 이 내용을 해독할 수 없게 하는 걸 의미합니다. SSL을 사용하는 URL은 https 라는 스킴(scheme)을 사용하여 구분합니다. 예를 들어서 이렇습니다. https://google.com최근 버전의 SSL은 이제 TL..
-
[PostgreSQL] PL/pgSQL Block StructureDB/PostgreSQL 2016. 12. 23. 11:22
PL/pgSQL 함수는 블럭 구조로 되어있으며 아래와 같은 문법을 따르고 있습니다.[ ] [ DECLARE declarations ] BEGIN statements; ... END [ label ]; 각 블록에는 declaration과 body라는 두 개의 섹션이 있습니다. body 섹션은 필수적인 반면, declaration 섹션은 선택 사항입니다. 블록은 END 키워드 다음에 세미콜론 (;)으로 끝납니다.블록에는 시작과 끝 부분에 추가적인 label이 있을 수 있습니다. 이 label의 처음과 끝은 동일해야합니다. 이 블록 label은 EXIT 문에서 블록을 사용하거나 블록에서 선언 된 변수의 이름을 정규화하려는 경우에 사용됩니다.declaration 섹션은 body 섹션에서 사용되는 모든 변수를 선..
-
[PostgreSQL] Schema 변경DB/PostgreSQL 2016. 12. 23. 09:48
set search_path to 변경할 스키마; -- 예시 abcd.temp1 public.temp2 과 같이 abcd 스키마에는 temp1 테이블, public 스키마에는 temp2 테이블이 존재한다고 가정 select * from temp1; ERROR: relation "temp1" does not exist set search_path to abcd; -- abcd스키마로 변경 select * from temp1; -- 성공
-
[PostgreSQL] pq: current transaction is aborted, commands ignored until end of transaction block 에러 해결법DB/PostgreSQL 2016. 12. 20. 17:20
해당 오류는 트랜잭션 수행 중간에 쿼리가 오류를 생성되고 롤백을 실행하지 않고 다른 쿼리를 실행하려고 할 때 PostgreSQL이 발생시키는 에러입니다. 이 문제를 해결하려면 잘못된 쿼리가 실행되는 코드의 위치를 파악해야합니다. postgresql 서버에서 log_statement와 log_min_error_statement 옵션을 사용하면 도움이 됩니다. 또는 에러가 발생되는 해당 쿼리 부분의 데이터들을 전부 truncate 하면 해결되기도 합니다. 문제점트랜잭션 블록에서 쿼리 실행 열려있는 트랜잭션 블록에 잘못된 구문 또는 잘못된 쿼리가 실행되어 오류가 발생 오류로 인해 트랜잭션 블록이 유효하지 않아져 다음 트랜잭션부터 오류가 발생 이러한 문제가 발생되면 트랜잭션을 롤백하고 전체 데이터를 초기화 시키..
-
[Linux] /etc/sudoers (visudo) 파일 에러 해결법서버 2016. 12. 19. 21:00
보통 사용자 계정에 권한을 주려고 visudo로 /etc/sudoers파일을 열거나 vi로 오픈하여 수정합니다. 이때 추가 및 수정한 부분에 대해 에러가 날 경우, sudo 명령어가 먹히질 않습니다.$ sudo vi /etc/sudoers ...(생략) test ALL=NOPASSWD:vi # 입력 :wq! 위와 같이 잘못된 위치를 지정하고 강제로 저장한 다음, 해당 파일을 열려고 하면 아래와 같이 출력됩니다.$ sudo vi /etc/sudoers >>> /etc/sudoers: syntax error near line 32
-
[Linux] sudo, su의 차이점서버 2016. 12. 19. 20:46
차이점sudo: 현재 계정에서 다른 계정의 권한만 빌림su: 다른 계정으로 전환su -: 다른계정으로 전환 + 그 계정의 환경변수 적용상세내용sudo는 root가 아닌 사용자가 root에 준하는 능력으로 sudo 다음에 나오는 명령을 실행하게 하는 명령어입니다. su는 root 패스워드가 필요하지만 sudoer에서 사용을 허락한 사용자는 모두 패스워드와 관계없이 쓸 수 있습니다. sudo는 슈퍼유저, 관리자 권한을 가지지만 근본적으로는 해당 사용자가 내리는 명령입니다. sudo su는 일시적으로 그 명령은 root가 내리는 명령입니다. 예를 들어 sudo로 작업하면서 디스크에 쓰기를 해야하면 소유자가 지금 사용자로 나옵니다만, sudo su로 작업하면 소유자가 root가 됩니다. sudo -s는 sudo..
-
[Linux] 리눅스 계정에 특정 명령어 root 실행 권한 주기서버 2016. 12. 19. 20:30
sudo 명령어... 로 한 다음, 비밀번호를 입력하면 전부 열리지만 간혹 실행이 되지 않는 경우가 있습니다. 이때 해당 로그인된 계정에 특정 명령어에 대한 root 권한을 주어 실행할 수 있도록 하는 방법입니다. 예제로 test 계정으로 아파치를 제어할 수 있도록 변경합니다. test 계정으로 아파치를 제어할 수 있어도 아파치의 시작, 종료 등의 권한만 있고, 프로세스 실제 소유자는 여전히 root입니다.계정 생성[root@localhost ~]# useradd test [root@localhost ~]# echo 'qwer1234' | passwd --stdin test Changing password for user test. passwd: all authentication tokens update..
-
[Linux] 리눅스 sudo 패스워드 입력 없이 사용하기서버 2016. 12. 19. 20:11
우분투 계정을 만든 다음, 아래와 같이 관리자 권한이 필요한 부분에서 sudo를 사용하면 아래와 같이 비밀번호를 입력하라는 프롬프트 창을 본 적이 있을 것입니다.$ sudo mkdir test password: 아래부터는 우분투에서 이러한 sudo 패스워드 없이 명령어를 사용하는 방법을 설명하겠습니다./etc/sudoers/etc/sudoers 파일에 다음 형식으로 내용을 추가하면 됩니다.사용자명 ALL=NOPASSWD: ALL여기서 NOPASSWD: 를 빼면 sudo 실행 시, 사용자명의 패스워드를 입력해야만 합니다. 전체 명령어가 아닌 사용자에 따라 명령어를 지정할 수도 있습니다.사용자명 ALL=NOPASSWD: 명령어1, 명령어2예제전체 명령어 허용test라는 계정으로 로그인 후 관리자 계정 접속[..