[분류 전체보기]
-
해당 글은 파이썬에 대해 다시 공부할 겸 정리해놓은 것입니다. 순서는 코딩 도장의 목차와 유사하게 진행할 것입니다. 목차 1. [python3] 1장 기본 문법 파이썬의 숫자의 자료형(타입)은 정수, 실수, 복소수 총 3가지가 존재한다. 이번 글에서는 정수형, 실수형에 대해 알아볼 것이다. 1. 정수 정수형으로 사칙 연산을 할 수 있다. #!/usr/bin/env python3 #-*- coding: utf-8 -*- def main(): print(1+2) print(1-2) print(1*2) print(1/2) print(1%2) if __name__ == '__main__': main() 마지막에 있는 %는 나머지를 구하는 연산이다. #!/usr/bin/env python3 #-*- coding:..
자료형해당 글은 파이썬에 대해 다시 공부할 겸 정리해놓은 것입니다. 순서는 코딩 도장의 목차와 유사하게 진행할 것입니다. 목차 1. [python3] 1장 기본 문법 파이썬의 숫자의 자료형(타입)은 정수, 실수, 복소수 총 3가지가 존재한다. 이번 글에서는 정수형, 실수형에 대해 알아볼 것이다. 1. 정수 정수형으로 사칙 연산을 할 수 있다. #!/usr/bin/env python3 #-*- coding: utf-8 -*- def main(): print(1+2) print(1-2) print(1*2) print(1/2) print(1%2) if __name__ == '__main__': main() 마지막에 있는 %는 나머지를 구하는 연산이다. #!/usr/bin/env python3 #-*- coding:..
2020.07.07 -
프로세스는 실행 중인 프로그램이며 프로그램 자체가 프로세스는 아니다. 1. 프로세스와 프로그램의 차이 메모리 영역을 설명하기에 앞서 프로세스와 프로그램의 차이를 알아보자. 둘의 차이는 매우 명확하다. 프로그램은 보조 기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어와 정적인 데이터의 묶음으로 그 자체로는 생명이 없다. 이 프로그램의 명령어와 정적 데이터가 메모리에 적재되면 생명이 있는 프로세스가 된다. 그래서 프로세스는 실행 중인 프로그램이라고 하는 것이다. 2. 메모리 영역 메모리 영역을 그림으로 표현하면 위와 같으며, stack 영역으로 갈수록 상위 주소이다. 구분 설명 Text 영역 프로그램 명령이 위치하는 곳으로 기계어로 제어되는 메모리 영역 Data 영역 전역/정적변수, 배열,..
프로세스의 메모리 영역프로세스는 실행 중인 프로그램이며 프로그램 자체가 프로세스는 아니다. 1. 프로세스와 프로그램의 차이 메모리 영역을 설명하기에 앞서 프로세스와 프로그램의 차이를 알아보자. 둘의 차이는 매우 명확하다. 프로그램은 보조 기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어와 정적인 데이터의 묶음으로 그 자체로는 생명이 없다. 이 프로그램의 명령어와 정적 데이터가 메모리에 적재되면 생명이 있는 프로세스가 된다. 그래서 프로세스는 실행 중인 프로그램이라고 하는 것이다. 2. 메모리 영역 메모리 영역을 그림으로 표현하면 위와 같으며, stack 영역으로 갈수록 상위 주소이다. 구분 설명 Text 영역 프로그램 명령이 위치하는 곳으로 기계어로 제어되는 메모리 영역 Data 영역 전역/정적변수, 배열,..
2020.07.07 -
1. 운영체제(Operating System)란? 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 위 그림과 같이 운영체제는 하드웨어를 감추고 겉으로 다른 프로그램들을 지원해준다고 생각할 수 있다. 하드웨어를 감춘다는 것은 프로그램을 사용하는 사람이 편하게 쓸 수 있게 각종 기반 작업을 지원한다고 이해하면 된다. 정리하자면 운영체제는 컴퓨터의 성능을 높이고 사용자에게 편의성 제공을 목적으로 하는 컴퓨터 하드웨어를 관리하는 프로그램이다. 우리가 파워포인트나 워드를 사용할 때 cpu, 메모리가 어떻게 소통하는지 신경 쓰지 않는다. 이는 다 운영체제 덕분! 2. 운영체제의 종류 종류는 정말 다양하지만 개인 컴퓨터에..
운영체제(Operating System)1. 운영체제(Operating System)란? 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 위 그림과 같이 운영체제는 하드웨어를 감추고 겉으로 다른 프로그램들을 지원해준다고 생각할 수 있다. 하드웨어를 감춘다는 것은 프로그램을 사용하는 사람이 편하게 쓸 수 있게 각종 기반 작업을 지원한다고 이해하면 된다. 정리하자면 운영체제는 컴퓨터의 성능을 높이고 사용자에게 편의성 제공을 목적으로 하는 컴퓨터 하드웨어를 관리하는 프로그램이다. 우리가 파워포인트나 워드를 사용할 때 cpu, 메모리가 어떻게 소통하는지 신경 쓰지 않는다. 이는 다 운영체제 덕분! 2. 운영체제의 종류 종류는 정말 다양하지만 개인 컴퓨터에..
2020.07.04 -
해당 글은 파이썬에 대해 다시 공부할 겸 정리해놓은 것입니다. 순서는 코딩 도장의 목차와 유사하게 진행할 것입니다. 1. 셔뱅(shebang) 운영체제는 스크립트 파일이 어떤 문법으로 짜였는지 모른다. 이를 알려주기 위해 스크립트 파일 첫 줄에 아래와 같이 인터 프리팅 정보를 주는 것을 셔뱅이라고 한다. #!/usr/bin/env python2 python2.x 버전을 사용하려는 경우 #!/usr/bin/env python3 python3.x 버전을 사용하려는 경우 즉, 셔뱅은 현재 파일을 실행해 줄 프로그램을 지정할 때 사용하고 셔뱅에 파이썬 경로를 지정해 놓으면 해당 파이썬으로 .py를 실행한다. 2. 주석 사람만 알아볼 수 있도록 작성하는 부분을 주석이라고 한다. 따라서 주석은 프로그램의 실행에 영..
기본 문법해당 글은 파이썬에 대해 다시 공부할 겸 정리해놓은 것입니다. 순서는 코딩 도장의 목차와 유사하게 진행할 것입니다. 1. 셔뱅(shebang) 운영체제는 스크립트 파일이 어떤 문법으로 짜였는지 모른다. 이를 알려주기 위해 스크립트 파일 첫 줄에 아래와 같이 인터 프리팅 정보를 주는 것을 셔뱅이라고 한다. #!/usr/bin/env python2 python2.x 버전을 사용하려는 경우 #!/usr/bin/env python3 python3.x 버전을 사용하려는 경우 즉, 셔뱅은 현재 파일을 실행해 줄 프로그램을 지정할 때 사용하고 셔뱅에 파이썬 경로를 지정해 놓으면 해당 파이썬으로 .py를 실행한다. 2. 주석 사람만 알아볼 수 있도록 작성하는 부분을 주석이라고 한다. 따라서 주석은 프로그램의 실행에 영..
2020.07.04 -
1. 구조체란? 하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 도구이다. 구조체를 언제 사용할까?? char name1[20]; int age1; char name2[20]; int age2; char name3[20]; int age3; .... 학생 10명의 이름과 나이를 저장하려면 name1,name2처럼 변수 이름을 바꿔서 계속 추가해야 한다. 이는 상당히 복잡하고 비효율적인데 이럴 때 구조체를 사용하면 훨씬 간단하고 효율적으로 처리할 수 있다. struct 구조체 이름{ 자료형 멤버 이름; }; 기본 형태는 위와 같으며 구조체는 struct 키워드로 정의한다. struct Person { char name[20]; int age; }; 위의 예시를 구조체를 이용해 변경하면 위와 같으며, P..
구조체1. 구조체란? 하나 이상의 변수를 묶어서 새로운 자료형을 정의하는 도구이다. 구조체를 언제 사용할까?? char name1[20]; int age1; char name2[20]; int age2; char name3[20]; int age3; .... 학생 10명의 이름과 나이를 저장하려면 name1,name2처럼 변수 이름을 바꿔서 계속 추가해야 한다. 이는 상당히 복잡하고 비효율적인데 이럴 때 구조체를 사용하면 훨씬 간단하고 효율적으로 처리할 수 있다. struct 구조체 이름{ 자료형 멤버 이름; }; 기본 형태는 위와 같으며 구조체는 struct 키워드로 정의한다. struct Person { char name[20]; int age; }; 위의 예시를 구조체를 이용해 변경하면 위와 같으며, P..
2020.06.10 -
함수의 호출 방법에는 Call by Value (값에 의한 호출)와 Call by Reference (참조에 의한 호출) 2가지 방식이 있다. 1. Call by Value 값에 의한 호출로 함수의 매개 변수에 내용물을 전달하여 복사해 사용하는 방식이다. 백문이 불여일견이기에 실습을 통해 위 내용을 확인해보겠다. #include void swap(int x, int y) { int tmp; tmp = x; x = y; y = tmp; } int main(void) { int a = 100, b = 200; printf("swap을 호출하기 전 : a = %d, b = %d\n", a, b); swap(a,b); printf("swap을 호출한 후 : a = %d, b = %d\n", a, b); retu..
Call by Value, Call by Reference 비교함수의 호출 방법에는 Call by Value (값에 의한 호출)와 Call by Reference (참조에 의한 호출) 2가지 방식이 있다. 1. Call by Value 값에 의한 호출로 함수의 매개 변수에 내용물을 전달하여 복사해 사용하는 방식이다. 백문이 불여일견이기에 실습을 통해 위 내용을 확인해보겠다. #include void swap(int x, int y) { int tmp; tmp = x; x = y; y = tmp; } int main(void) { int a = 100, b = 200; printf("swap을 호출하기 전 : a = %d, b = %d\n", a, b); swap(a,b); printf("swap을 호출한 후 : a = %d, b = %d\n", a, b); retu..
2020.04.23 -
1. 정의 IDS는 외부에서 내부로 들어오는 패킷이 정상인지 아닌지(침입 여부)를 탐지하는 시스템이다. 여기서 탐지는 단지 잡아내기만 한다는 것이며, 실제 차단행위는 취하지 않는다. CCTV를 생각하면 이해하기 쉬운데, IDS는 CCTV처럼 해킹 시도에 대한 로깅 작업을 한다고 이해하면 된다. 이렇게 잡아낸 흔적은 분석 과정을 거쳐 방화벽 등에서 차단하는 작업으로 이어져야 비로소 해킹 대응 과정이 마무리되기 때문에 IDS 하나만으로는 뭔가 발견할 수 있지만 그 자체로 완벽한 보안 대책이 아니다. 장점 단점 1. 해킹에 대하여 침입 차단 시스템보다 적극적인 방어 가능 2. 내부 사용자의 오남용 탐지 및 방어 가능 3. 해킹 사고 발생 시 어느 정도의 근원지 추적 가능 1. 대규모 네트워크에 사용 곤란 2...
침입 탐지 시스템 (IDS, Intrusion Detection System)1. 정의 IDS는 외부에서 내부로 들어오는 패킷이 정상인지 아닌지(침입 여부)를 탐지하는 시스템이다. 여기서 탐지는 단지 잡아내기만 한다는 것이며, 실제 차단행위는 취하지 않는다. CCTV를 생각하면 이해하기 쉬운데, IDS는 CCTV처럼 해킹 시도에 대한 로깅 작업을 한다고 이해하면 된다. 이렇게 잡아낸 흔적은 분석 과정을 거쳐 방화벽 등에서 차단하는 작업으로 이어져야 비로소 해킹 대응 과정이 마무리되기 때문에 IDS 하나만으로는 뭔가 발견할 수 있지만 그 자체로 완벽한 보안 대책이 아니다. 장점 단점 1. 해킹에 대하여 침입 차단 시스템보다 적극적인 방어 가능 2. 내부 사용자의 오남용 탐지 및 방어 가능 3. 해킹 사고 발생 시 어느 정도의 근원지 추적 가능 1. 대규모 네트워크에 사용 곤란 2...
2020.04.22 -
python3로 스크립트를 만들던 중 while문 안에 print(~,end=' ')을 주면 출력이 안 되다가 스크립트가 종료될 때 한 번에 print문의 내용들이 출력되는 오류를 발견했다. 백문이 불여일견이니 코드를 보도록하자 while True: print('.', end='') sleep(1) 위 코드를 실행한 결과이다. 원래 의도대로라면 화면에 ..... 이런 식으로 찍혀야 하지만 아무것도 출력이 되지 않고 있다. 그리고 스크립트를 강제로 종료하면 출력되지 않았던 ...이 화면에 보이게 된다. 이 문제를 해결하는 방법은 간단하다. while True: print('.', end='', flush=True) sleep(1) flush=True 인자를 넣어주면 해결이 된다. flush 인자에 대한 궁..
while문 안에서 print(~,end=' ')을 주었을 때 출력되지 않는 오류python3로 스크립트를 만들던 중 while문 안에 print(~,end=' ')을 주면 출력이 안 되다가 스크립트가 종료될 때 한 번에 print문의 내용들이 출력되는 오류를 발견했다. 백문이 불여일견이니 코드를 보도록하자 while True: print('.', end='') sleep(1) 위 코드를 실행한 결과이다. 원래 의도대로라면 화면에 ..... 이런 식으로 찍혀야 하지만 아무것도 출력이 되지 않고 있다. 그리고 스크립트를 강제로 종료하면 출력되지 않았던 ...이 화면에 보이게 된다. 이 문제를 해결하는 방법은 간단하다. while True: print('.', end='', flush=True) sleep(1) flush=True 인자를 넣어주면 해결이 된다. flush 인자에 대한 궁..
2020.04.02