전체 글 497

[python] 16. class 와 객체

[python] 16. class 와 객체 1. 객체지향 프로그램이란?? - 프로그래밍 패러다임이다. - 프로그램을 모두 객체 단위로 만들고, 객체 관계로 설계, 객체간 서로 상호작용을 통해 프로그램을 동작하게 하는 것이 객체지향 프로그램이다. 2. class의 구조? - 멤버 변수와 method 으로 구성 된다 * 멤버 변수를 attribue, 또는filed라고도 부른다. * method를 함수라고도 부른다. - 특히, method는 멤버 변수를 다루는 method만 정의 되어야 한다. 2. 클래스의 문법 1) class의 문법 - class 키워드로 시작됨 - class 키워드 다음에 class 이름이 위치 - class 이름위에 ()괄호 속에 상속된 클래스 이름이 위치 2) class의 특징 - p..

[node.js] 2. 전역 변수 및 전역 객체

[node.js] 2. 전역 변수 및 전역 객체 1. Node.js의 전역 변수 1) 전역 변수 - 프로그램 전역에서 사용 할수 있는 변수를 말합니다. - 다음은 전역 변수의 종류를 알아 보겠습니다. (1) 프로그램 Debugging용 - __filename : 현재 실행 중인 코드의 파일 경로를 나타 냅니다. - __dirname : 현재 실중 중인 코드의 디렉토리 경로를 나타 냅니다. 2. Node.js의 객체 1) 전역 객체 - 참조 링크 : https://nodejs.org/api/globals.html - 프로그램 전역에서 사용 할수 있는 변수를 말합니다. - 다음은 주요 전역 변수의 종류를 알아 보겠습니다. (1) console - 콘솔 화면과 관련된 기능을 다루는 객체 (2) process ..

[python] 15. 예외처리와 로깅

[python] 15. 예외처리와 로깅 1. 예외 처리 - 에러가 발생하는 가능성이 있는 코드를 사전에 처리해주는 방법 1) try ~ except 구문 - 에러 발생시 except부를 실행 시킨다. - except 뒤에 에러 타입이 없으면 모든 에러가 다 걸린다. 2) except Error type - python은 기본적으로 60여개 이상의 예외가 있음(다음은 대표적인 것들이다) - 다음은 에러 예제이다. 3) 에러정보 출력 방법 - 에러타입에 as 를 써서 에러 메시지를 볼 수 있다. 4) 새로운 예외 타입 정의 방법 - 새로운 예외 타입을 만들기 위해서는 class 객체 타입을 정의해아함 - Exception 을 상속 받아서 사용한다. 5) 명시적으로 예외 발생 시키 - raise 을 이용한다...

[python] 14. 파일과 디렉터리 다루기 및 zip모듈

[python] 14. 파일과 디렉터리 다루기 및 zip모듈 1. pickle 모듈 - 메모리에 있는 데이터 구조를 그대로 파일에 쓰는 방법을 제공한다. - 리스트나 클래스를 파일에 바로 저장하는 것을 Object Srialize라고 한다. - 작업한 내용을 저장할 때 사용 할 수 있다. - open 모드를 'wb' 로하고 pickle.dump()함수를 이용하여 파일에 쓴다. 2. shutil(Shell utils) 모듈 - 파일이나 디렉터리를 복사, 이동, rename, 삭제를 수행하는 모듈 1) 복사 - shutil.copy(source, destination) 2) 이동 - shutil.move(source, destination)- destination의 파일이 존재하면 move가 안된다. 3) ..

[python] 13. 파일 다루기

[python] 13. 파일 다루기 1. 파일을 다루는 방법 - os 모듈을 이용하여 파일을 다룬다 - os 모듈에서는 디렉토리와 파일을 다룰수 있다. - 디렉토리의 이동, 생성, 삭제 - 파일 생성, 쓰기 , 읽기 2. 경로 만들기 - os.path.join() 함수 사용 >>> os.path.join('user', 'bin', 'spam') 'user\\bin\\span' 3. glob 모듈 (ls와 동일) - glob 모듈이 필요 - glob.glob('*') 현재 디렉토리의 모든 파일을 리스트로 반환 >> import glob >> glob.glob('*') ['address_book.py', 'email', 'main.py'] 4. 작업 디렉토리 관련 함수 1) os.getcwd() - 현재 작..

[python] 12. 정규 표현식 2 - search(), findall

[python] 12. 정규 표현식 2 - search(), findall 1. seach()를 이용한 정규 표현식 활용 1) 매칭되는 첫번째 패턴을 반환한다. (1) 정규 표현식으로 패턴을 생성한다 (2) 패턴에 맞는 문자열을 찾는다 (3) 매칭된 문자열을 확인한다. 매칭된 문자열은 mo(maching object)에 담긴다. (4) group()함수로 매칭된 문자를 본다. 2) 정규 표현식 그룹핑 - 매칭된 데이터가 전부 넘어오 오거나, 그룹으로 나눠서 넘어온다. - group() 함수를 통해서, 전체가 넘어온다. - group(0) 함수를 통해서, 전체가 넘어온다. - group(1) 함수를 통해서, 첫 번째 그룹을 넘겨준다. - group(2) 함수를 통해서, 두 번째 그룹을 넘겨준다. - gro..

[byteordering] big endian vs little endian

[byteordering] big endian vs little endian 1. Byte Ordering이란? - 데이터를 메모리 어떠한 순서로 저장 할 지를 정의한 것이다. - 입력 데이터 : 12345678 1) Big Endian - 숫자 데이터(12345678)를 기준으로 설명 하면 자리수 단위가 높은 단위에서 작은 자리수 단위 방향으로 메모리에 순차적으로 저장한다. 2) Little Endian - 숫자 데이터(12345678)를 기준으로 설명 하면 자리수 단위가 낮은 단위에서 높은 자리수 단위 방향으로 저장한다. 2. Byte Ordering을 알아야 하는 이유?? - network 상의 데이터 전송 순서와 host(시스템을 칭한다)상의 데이터 저장 순서가 다르기 때문이다. - 이렇기 때문에..

[python] 11. 정규 표현식 1

[python] 11. 정규 표현식 1 1. 정규 표현식 - 텍스트를 검색할 때 Ctrl + F 로 찾는 것을 좀더 발전 시킨 형태 - 글자 자체를 가지고 찾는게 아니라 패턴을 사용함 * 오피스 프로그램은 찾기(바꾸기)기능에서 정규식을 지원함 2. 정규식 사용 사례 1) 입력 유효성 체크 2) 테스트에서 특정 부분을 추출 3) 특정 텍스트 바꾸기 4) 큰 텍스트를 작게 쪼개기 - Ex) 콤마나 점으로 구분해서 문장 쪼개기3. 정규식 문법 - "/패턴/" : / 사이에 패턴을 표시 1) 숫자 관련 정규 표현식 표현식 설명 \d 0 부터 9까지 한자리 숫자를 표현 2) 발생 홧수 관련 정규 표현식 표현식 설명 ? 0 또는 1번 발생 * 0 또는 여러번 발생 + 1번 이상 발생 {n} n번 발생 {n,m} n..

[OPENSSL-1.0.2] SSL 연결 코드 구현

[OPENSSL-1.0.2] SSL 연결 코드 구현 1. SSL 연결 개요. - 일반 TCP 연결을 암호화로 감싸는 것이다. 2. SSL연결 내부 연결 성립 절차 1) TCP handshake(TCP 통신을 연결하는 과정을 진행) - TCP 3-way hand shake 진행 2) SSL handshake(SSL 통신을 연결하는 관정을 진행) - 클라이언트는 암호 목록 및 임의 값을 보냅니다. - 서버가 암호를 선택합니다. - 서버는 공개 키와 임의이 값과 함께 인증서를 보냅니다. - 클라이언트는 서버 인증서를 확인하고 클라이언트 개인 키로 암호화 된 개인 키 - 서버는 개인 키를 수락하고 자신의 개인 키를 보냅니다. 3. OpeSSL Server 코딩 1) OpenSSL 초기화 (1) 모든 알고리즘 불..

[OPENSSL-1.0.2] 코드로 알아보는 SSL 통신이해

[OPENSSL-1.0.2] 코드로 알아보는 SSL/TLS 통신이해 1. SSL 통신을 위해 필요한 구조체 1) SSL_CTX(SSL Context)(전역 구조체) (1) Global context 구조체 (2) SSL_CTX는 SSL 응용프로그램당 1개면 충분합니다. (3) SSL 구조체들에 대한 기본값을 저장하며, 연결을 위해 만들어집니다. (4) 연결과 세션에 대한 기본 정보를 갖고 있습니다. - SSL 연결 개수, 재협상, 세션 재개 (5) ssl.h 에 정의 되어 있습니다. - 버전별 정의 - OpenSSL_1_0_2 - 선언 - ssl/ssl.h : typedef struct ssl_st SSL; - OpenSSL_1_1_1-stable cadb6f0e32 - 선언 - include/opens..