분류 전체보기
-
[Python]raise를 사용한 예외 처리 custom언어/파이썬 & 장고 2016. 7. 20. 15:07
파이썬에서 제공하는 error 메세지가 아닌 에러 메세지를 추가적으로 생성하고 발생시키는 방법을 설명합니다.오류 생성오류는 다음과 같이 파이썬 내장 클래스인 Exception클래스를 상속하여 만들 수 있습니다.class MyError(Exception): pass 그리고 다음과 같이 간단한 코드를 개발해 에러를 일부러 발생시켜보겠습니다.def test(str): if str =='1': raise MyError() else: print("ok") test("0") test("1")위를 실행할 경우 0은 출력이 되지만 1에서는 MyError()가 발생합니다. 만약 오류메세지를 이용하고 싶다면 다음처럼 예외처리를 합니다.try: test("0") test("1") except MyError as e: pri..
-
Man In The Middle Attack보안 & 보안 2016. 7. 19. 15:20
Man In The Middle Attack (중간자 공격, MITM) 이란?중간자 공격(man in the middle attack, MITM)은 네트워크 통신을 조작하여 통신 내용을 도청하거나 조작하는 공격 기법이다. 중간자 공격은 통신을 연결하는 두 사람 사이에 중간자가 침입하여, 두 사람은 상대방에게 연결했다고 생각하지만 실제로는 두 사람은 중간자에게 연결되어 있으며 중간자가 한쪽에서 전달된 정보를 도청 및 조작한 후 다른 쪽으로 전달한다. 많은 암호 프로토콜은 중간자 공격을 막기 위하여 인증을 사용한다. 예를 들어, TLS/SSL 프로토콜은 공개 키를 기반으로 한 인증을 사용한다.예제갑이 을과 통신하려고 하는 상황에서, 병은 그 사이에 끼어들어 을에게 잘못된 메시지를 전달한다. 먼저, 갑이 을에..
-
[Golang] 크로스 컴파일언어/Golang 2016. 7. 15. 17:47
Golang의 가장 큰 장점중 하나인 멀티플랫폼 지원입니다. 다른 OS에서 사용하기 위해 크로스 컴파일을 해야하는데 Golang 1.5이상 버젼부터 지원이 됩니다. 지원 플랫폼$ GOOS$ GOARCHdarwin386darwinamd64darwinarmdarwinarm64dragonflyamd64freebsd386freebsdamd64freebsdarmlinux386linuxamd64linuxarmlinuxarm64linuxppc64linuxppc64lelinuxmips64linuxmips64lenetbsd386netbsdamd64netbsdarmopenbsd386openbsdamd64openbsdarmplan9386plan9amd64solarisamd64windows386windowsamd64설정법먼저..
-
Logstash 설치 및 사용법LogSystem 2016. 7. 14. 11:13
Log Stash설치$ docker pull logstash $ docker run -it --rm logstash logstash -e 'input { stdin { } } output { stdout { } }' # 커맨드라인 상에서 실행을 하려면 다음과 같이 사용 $ docker run -it --rm -v "$PWD":/config-dir logstash logstash -f /config-dir/logstash.conf # logstash.conf파일을 직접 수정해 커맨드라인 상에서 실행을 하고자 할 때 (elasticsearch와 통신할 수 있는지 확인해봐야함)문법logstash는 입출력 도구이며, input > filter > output 의 pipeline구조로 이루어져 있습니다. 이러한 ..
-
Elasticsearch 설치 및 사용법LogSystem 2016. 7. 14. 11:12
Elastic Search설치$ docker pull elasticsearch # 이미지 다운로드 $ docker run -d -p 9200:9200 --name elastic elasticsearch # 기본세팅으로 바로 실행 $ docker run -d -p 9200:9200 --name elastic elasticsearch elasticsearch -Des.node.name="TestNode" # 옆과 같이 flag를 달 수 있음 $ docker run -d -p 9200:9200 --name elastic -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch # 수정한 config파일을 적용하여 컨테이너를 실행할 때 $ docker ru..
-
[PostgreSQL]dblinkDB/PostgreSQL 2016. 7. 11. 17:46
dblink는 물리적으로 떨어져 있는 원격 테이블에 접속하기 위해 사용합니다. 또한 같은 물리 공간에 있더라도 다른 DB에 접근 시에는 dblink 를 사용해야 합니다.dblink dblink 설치 및 명령어CREATE EXTENSION [ IF NOT EXISTS ] extension_name [ WITH ] [ SCHEMA schema_name ] [ VERSION version ] [ FROM old_version ]간단하게 설치하는 방법은 CREATE EXTENSION dblink 입니다. 또한 스키마를 지정하지 않으면 default로 public에 설치가 됩니다.여기서 유의해야 할 것은 dblink extension이 데이터베이스 내에 설치가 되면 (사용자가 정한 디비 스키마라던지, defaul..
-
SourceTree 설치방법 및 용어저장소 2016. 7. 8. 17:41
공통1. https://www.sourcetreeapp.com/ 에서 SourceTree 다운로드 후 실행2. 실행 도중 Atlassian의 계정이 없을 경우, Atlassian 생성3. 가입한 계정 또는 기존 존재하는 계정으로 이메일 인증4. Remotes 부분 건너뛰기5. SSH 키 불러오기 아니요 선택Windows6. 컴퓨터에 git이 설치되어 있지 않을 경우 ( SourceTree가 git을 찾지 못할 경우) git 설치에 대한 4개의 선택지 존재단일 내장 Source Tree용 Git 설치7. Mercurial이 설치되어 있지 않을 경우 Mercurial설치에 대한 4개의 선택지 존재첫 번째 선택8. 설치 완료 10. 복제 / 생성 아이콘 클릭 후, 소스 경로에 clone받을 git 주소 입력1..
-
[Django] orm언어/파이썬 & 장고 2016. 7. 8. 17:27
장고에서 제공하는 모델을 사용하기 위해선 from 앱이름.models import 모델명, 모델명1과 같이 선언해야 합니다.먼저 django orm 사용에서 복잡한 쿼리에 대해 적합하지 않습니다. 예를 들어, 두 테이블 간 join을 하기 위해선 foriegn key가 잡혀 있어야만 join이 가능한 상태입니다. 복잡한 쿼리의 같은 경우 orm을 지양하는 것이 좋습니다.또한 여기서는 restframework도 같이 설명하고 있기 때문에 레퍼런스를 보고 싶은 분은 아래 링크를 확인해 주시기 바랍니다.http://www.django-rest-framework.org/http://www.django-rest-framework.org/api-guide/serializers/SelectGet단일 행 결과를 반환하..
-
정규 표현식공부 2016. 7. 7. 16:44
정규 표현식이란?정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다. 주로 Programming Language나 Text Editor 등 에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있습니다. 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 다소 복잡할 수도 있지만, 정규표현식을 이용하면 매우 간단하게 표현 할 수 있습니다. 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다는 문제점이 있습니다.정규 표현식 방법정규표현식은 표준인 POSIX의 정규표현식과 POSIX 정규표현식에서 확장된 Perl방식의 PCRE가 대표적이며, 이외에도 수많은 정규표현식이 존재하며 정규표현식 간에는 약간의 차이점이 있으..
-
IDS와 IPS공부 2016. 7. 7. 14:49
IDS(Intrusion Detection System)IDS는 컴퓨터나 전산망의 비정상적인 사용이나 오남용과 같은 잠재적인 침입 시도 등을 실시간으로 탐지 하기 위한 시스템입니다. IDS는 컴퓨터 시스템에서 발생하는 서비스 거부 공격 등과 같은 네트워크 공격에 대비하여 기밀성, 무결성, 가용성 등을 제공 하기 위해 만들어진 시스템입니다. 공격자는 특별한 목적없이 공격을 수행할 수 있고, 컴퓨터의 사용자가 인지 하지 못한 상태에서 공격에 가담하고 있을 수 있습니다. 네트워크 규모의 확대와 정보시스템들의 통합은 막대한 양의 시스템 로그 및 감사(Audit)자료를 발생시키기 때문에 관리자에게 정형화 된 형태로 필요한 정보만 선택 하여 수용할 수 있어야 합니다. 이 역할을 하는 것이 바로 IDS입니다.IPS(..