본문 바로가기
반응형

전체 글318

[파이썬] 문자열에서 Date Format 파싱 - datetime 문자열로 표현된 날짜 데이터를 다뤄야 할 경우가 있습니다. 문자열을 파싱해서 Date 객체로 만드는 방법에 대해서 알아보겠습니다. 파이썬에서는 'datetime' 라이브러리를 제공하고 있습니다. 'datetime' 라이브러리를 이용하면 문자열을 파싱하여 날짜 포맷에 맞는지 확인하고 해당하는 날짜 객체를 가져올 수 있습니다. 'datetime'을 이용한 예제 코드는 다음과 같습니다. import datetime date_string = '20191101' date_format = '%Y%m%d' try: date_obj = datetime.datetime.strptime(date_string, date_format) print(date.. 2020. 3. 11.
'#!/bin/usr/env python' - 셔뱅(Shebang)을 이용하여 파이썬 버전 설정 파이썬 스크립트를 작성하면서 실행할 파이썬 버전을 '셔뱅(Shebang)'을 이용해 설정할 수 있습니다. 셔뱅(Shebang) 리눅스 환경에서 커맨드라인 스크립트를 작성할 때, 첫 번째 줄이 '#!'로 시작하는 라인이 들어갑니다. 이 부분을 '셔뱅(Shebang)'이라고 합니다. 스크립트 명령을 실행할 인터프리터의 경로를 명시하는 역할을 하는데요. 셔뱅은 'Sharp(#)' + 'Bang(!)'의 합성어라고 합니다. '샤-뱅', '해시뱅', '파운드-뱅', '해시-플링', '크런치뱅' 등으로 불리기도 합니다. (링크 : 셔뱅 - 위키피디아) 셔뱅인 '#!'라는 매직 바이트를 시작으로 바로 뒤에 인터프리터의 경로가 나옵니다. #!interpreter [optional-arg] 그 이후로 인터프리터를 실행할.. 2020. 3. 10.
[파이썬] 주석 처리(Comment) - 여러줄 주석처리하기 JAVA나 C언어에서는 함수나 메소드 전체를 코드에서 잠시 배제시킬 때 '/*' 와 '*/' 를 이용합니다. 두 문자 사이에 있는 내용은 컴파일러가 바이트 코드나 바이너리에 포함시키기 않죠. 디버깅을 하면서 빠르게 코드를 수정했다가 다시 살릴 때 쓰기 좋습니다. 파이썬의 멀티라인 주석 파이썬에서는 기본적으로 '#' 문자를 이용한 주석처리밖에 없습니다. 따라서 멀티 라인을 주석처리하기 위해서는 여러 라인의 맨 앞에 '#' 문자를 집어 넣는 작업을 해줘야 합니다. 대부분은 통합개발환경(IDE)에서 기능을 제공해줍니다. 파이썬을 만든 '귀도 반 로썸(Guido van Rossum)'은 자신의 트위터를 통해 멀티라인 문자열(multi-line string)을 이용해 멀티라인 주석처리를 하는 팁을 알려줬습니다. .. 2020. 3. 10.
[파이썬] 3항 연산자 문법 Java 혹은 C 언어로 프로그래밍을 하신 분들은 3항 연산자의 장점을 잘 아실겁니다. 3항 연산자를 이용하면 if - else 로 길게 써야하는 조건들을 간단하게 한줄로 쓸 수 있어 코드가 간략해집니다. JAVA 혹은 C 언어에서 3항 연산자는 다음과 같은 형태였습니다. variable = condition ? result1 : result2; 동일한 코드를 풀어쓰면 if (condition) { variable = result1; } else { variable = result2; } 다소 길어집니다. 파이썬 3항 연산자 파이썬은 2.5 버전부터 3항 연산자 문법이 적용되었습니다. 이와 관련된 자세한 내용은 PEP-308 문서:Conditional Expression을 참고하면 됩니다. 파이썬에서의 .. 2020. 3. 10.
mvn 'Received fatal alert: protocol_version', 'peer not authenticated' 에러 메이븐(Maven) 프로젝트를 빌드하고 배포하는 스크립트를 만들다가 새로운 장비에서 메이븐 빌드를 수행하게 되었습니다. 메이븐 프로젝트를 빌드하다가 다음 에러를 만나게 되었습니다. ... [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to .. 2020. 3. 10.
[파이썬] 'SyntaxError: Non-ASCII character ...' 에러 해결 파이썬 프로그래밍을 하다가 다음 에러 메시지를 만나게 되었습니다. SyntaxError: Non-ASCII character '\xec' in file /Users/user/workspace/test/test.py on line 123, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details에러 메시지를 해석하면 'Non-ASCII' 문자가 파이썬 스크립트에 존재하고 있어 스크립트를 실행할 수 없다는 뜻입니다. 소스코드를 보니 한글 주석을 남겨놓은 것이 문제가 된 것 같습니다. 구글링을 해보니 문제의 해결 방법은 매우 간단합니다. 파이썬 스크립트 파일의 첫 부분에 한글을 지원하는 인코딩을 넣.. 2020. 3. 9.
맥북 프로 트랙패드 '두번클릭(Force Touch)' 끄기 맥북 프로를 사용하다보면 트랙패드가 두번 클릭되는 것을 확인 할 수 있습니다. 'Force Touch'라는 기능으로 살짝 누르면 한번 딸깍하고 조금 더 세게 누르면 한번 더 딸깍합니다. 누르는 세기에 따라 두 단계의 클릭을 사용하게 되는데요. 사용하는 사람에 따라 다르지만 제 경우에는 약간 거슬렸습니다. macOS에서는 이 'Force Touch'기능을 설정에서 끌 수 있습니다. [시스템 환경설정] - [트랙패드]를 선택합니다. "세게 클릭 및 햅틱 피드백" 항목을 클릭해서 체크 박스를 해제하면, 트랙패드가 한번의 클릭만 인식하게 됩니다. 이 뿐만 아니라 클릭으로 인식하는 누름의 세기를 "가볍게", "중간", "세게" 중 하나로 설정할 수 있습니다. 이 설정은 2015년 이후 출시된 맥북에 적용되는 사항.. 2020. 3. 9.
RAID 0, RAID 1, RAID 10, RAID 01 차이점 디스크의 가용성 확보를 위해 레이드(RAID, Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks) 구성을 하는 방법이 가장 많이 사용됩니다. RAID 0, RAID 1, RAID 10, RAID 01 설정을 많이 사용하는데요. 숫자로만 이뤄져있어서 어떤 구성인지 헷갈릴 때가 있습니다. 모두 Striping과 Mirroring을 의미하는 구성으로 01을 SM으로 기억하면 편합니다. 레이드 구성 개념을 설명하기 위해서 6개의 블럭으로 구성된 파일하나를 생각해보겠습니다. RAID 0 - Striping(스트라이핑) RAID 0 구성은 '스트라이핑(Strping)'이라고 부르는 구성입니다. 블럭의 가용성보다는 성능과 관련된 .. 2020. 3. 9.
하둡(Hadoop)에서 커버로스(Kerberos) 인증 사용하기 - 여러개 인증 동시 사용 하둡(Hadoop)에 보안을 강화하기 위해 '커버로스(Kerberos)' 프로토콜을 사용할 수 있습니다. Principal과 Keytab 혹은 패스워드를 이용해 계정을 인증 받은 후 커버로스 티켓을 이용해 하둡의 서비스를 사용할 수 있게해서 클러스터의 보안을 강화할 수 있습니다. HDFS 클라이언트가 네임노드와 데이터 노드와 통신을 하면서 데이터를 받아오는 과정에서도 커버로스 인증을 구현할 수 있습니다. 하둡은 UserGroupInformation이라는 클래스를 이용해 커버로스 프로토콜을 사용할 수 있도록 프로그래머에게 편의를 제공합니다. Maven Dependency 하둡 클라이언트를 작성할 때 커버로스 인증을 받으려면 UserGroupInformation 클래스를 이용하면 됩니다. Us.. 2020. 3. 8.
반응형