2017/01 8

screen, 자유롭고 안정적인 Linux session의 사용

putty 나 기타 terminal 프로그램을 이용해 server 로 접속해서 console을 사용하는 경우가 종종 있다. 원격으로 접속하다보면 종종 알 수 없는 이유로 연결이 끊어지거나 client 가 절전모드로 들어가서 강제로 끊어지거나 예상치 못한 연결해제가 종종 발생함을 경험할 수 있다. 이 때는 기존 연결시 진행 중이던 작업 또한 session이 닫히면서 강제로 종료되곤 하는데 이럴 때를 위해 강제로 종료되더라도 기존 작업을 그대로 남겨둘 수 있는 screen이라는 가상 session command가 존재한다. 원리는 서버로 바로 연결하여 열어놓은 console session에서 다시 한번 screen 명령어를 이용해 가상 session을 여는 방식이다. client에서 직접 연결한 consol..

OS/Linux 2017.01.21

Netis ST3105G 구입기

급하게 스위치 허브를 구매해야 할 일이 생겼다. 인터넷으로 구매하기에는 다소 시간이 걸릴 것 같아. 이마트에 들러서 구매를 하게 되었다. 공유기 제품은 다수의 종류가 있어서 다양한 선택이 가능한 반면 스위치 허브는 몇 종류 밖에 없어서 별다른 선택의 여지가 없었다. 기가비트를 지원하는 스위치 허브는 Netis 의 ST3105G와 ST3108G 두가지 제품이 있었다. ST3105G 모델은 5 port 짜리 제품, ST3108G 모델은 8 port 까지 제품이었다. 가격이 한 만원 정도 차이가 나서 굳이 많은 포트가 필요하지 않아. 5 port 짜리 ST3105G을 구매하였다. 구성물은 스위치 허브 본체, 아답터, Quick guide 3가지로 구성되어 있다. [Quick guide] 본체는 아래와 같이 생..

Network 2017.01.15

[04-5] Python - 파일 존재(isfile), 디렉토리 존재(isdir) 확인 방법

python 뿐만 아니라 코딩을 하다보면 특정 디렉토리의 존재 여부, 혹은 특정 파일의 존재여부를 확인해야 할 경우가 종종 존재한다. 이 때에는 해당 디렉토리, 파일 존재 여부를 확인하는 API를 사용해서 확인해야 한다. python에서는 os module내에 isdir, isfile API를 제공해서 해당 기능을 사용하도록 하고 있다. docs.python.org 에서의 정의 (isfile, isdir) isfile과 isdir 파일 모두 argument로 확인을 원하는 파일 혹은 디렉토리의 경로를 넣어주면 되고, 그 결과로 존재할 경우 True, 존재하지 않을 경우 False를 return하게 된다. 실 사용예는 다음과 같다. os.path.isdir() 의 사용 >>> import os >>> os..

Language/Python 2017.01.07

Linux - iconv - 파일(File) 인코딩(Encoding) 변경

HTML 을 파싱하다보면 HTML이 euc-kr로 되어 있는 경우도 있고, utf-8로 되어 있는 경우도 있다. 개인적으로 보통 linux terminal에서 작업을 하는데 linux terminal 이 보통 utf-8로 되어 있다. 이에 따라 eucKR로 encoing된 html 파일을 받아 내용을 확인해보게 되면 한글이 잔뜩 깨져 있는 것을 볼 수 있다. [euc-kr로 인코딩된 파일을 utf-8 환경에서 열었을 경우] 이에 따라 원활한 작업을 위해서는 euc-kr 파일을 utf-8 인코딩으로 변경해주어야 할 필요가 있다. linux 에서는 iconv 명령어를 이용해 쉽게 변경할 수 있다. iconv 사용법$ iconv -f "현재인코딩포맷" -t "바꿀인코딩포맷" "원본파일이름" > "저장할파일이름..

OS/Linux 2017.01.07

[01-1] Python - 코드(Code)의 실행

python을 배울 때 가장 먼저 화인해야 할 것 중 하나로 작성한 python code를 어떻게 실행시킬 것인가가 있다. 언어를 배울때 가장 중요한 것이 직접 실행해보고 그 결과를 눈으로 직접 보는 것이기 때문이다. python으로 작성한 code를 실행하는 방법은 몇가지가 있다. 1. python interpreter에서 직접 실행하기 2. .py 파일로 생성해서 python 인자로 넣어 실행하기 3. .py 파일을 바로 실행하기 하나씩 알아보기로 하자. 1. python interpreter에서 직접 실행하기 가장 기본적인 코드 실행 방법이다. python@Test:~$ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linu..

Language/Python 2017.01.06

[03-3] Python - while (반복문, Loops)

while은 for과 마찬가지로 조건이 맞을 경우 특정 문장을 반복해서 실행하는 문법이다. while 의 기본 문법>>> while 조건문: ... 실행문(Statements) ... while 의 다양한 사용 방법 1) while의 기본적인 사용 방법 >>> x = 10 >>> while x > 0: ... print "In while loop : %d" %x ... x -= 1 ... In while loop : 10 In while loop : 9 In while loop : 8 In while loop : 7 In while loop : 6 In while loop : 5 In while loop : 4 In while loop : 3 In while loop : 2 In while loop : ..

Language/Python 2017.01.05

[04-4] Python - pip(python package manager)의 설치 및 사용법

Python을 사용하다보면 pip를 통한 python 관련 package 설치를 볼 때가 종종 있다. Pip Installs Packages 혹은 Pip Installs Python 의 줄임말로 알려진 이 python package manager는 특히 python관련 library 를 설치할 때 유용하게 사용된다. Python 2.7.9 포함한 이후 버전, Python 3.4 포함한 이후 버전에서는 기본적으로 포함되어 있어 별도로 설치해 줄 필요가 없지만 이전 버전이라면 별도의 설치가 필요하다. - pip의 설치 For Ubuntu user1. python-pip package를 설치한다. # apt-get install python-pip For other system user 1. 설치 파일(get..

Language/Python 2017.01.02

[04-3] Python - Timezone 변경하기

개인적으로 사용하고 있는 서버의 System time은 UTC(세계표준시간)로 설정되어 있다. KST로 설정하면 별다른 코드없이 바로 해당 시간 사용이 가능하겠지만 KST보다는 UTC로 운영하고 있다. 하지만 종종 코드상에서 KST 시간이 필요할 경우가 있는데 Python에서 이때는 어떻게 코드를 작성해야 할까? 기본 datetime 모듈에는 해당 기능이 들어 있지 않다. 따라서 별도의 python library를 설치해주어야만 한다. timezone 변경을 위해서는 pytz 이라는 이름의 python library가 필요한데 별도로 설치가 필요하다. 일반적으로 pip 라는 python package manager를 통해 python library를 설치하는데 pytz 또한 pip를 통해 설치가 필요하다..

Language/Python 2017.01.02