안녕하세요. 린아저씨 입니다. 이번에는 python 함수 중 for문과 자주 쓰는 range() 함수에 대해 알아보려 합니다. range() 함수는 이름처럼 일정 범위의 정수를 순차적으로 생성해 주는 함수 입니다. 그리고 파라미터 개수에 따라 세가지 방법으로 사용 할 수 있습니다. range( ) 파라미터 두개를 쓰는 경우 range() 함수에 파라미터 두개를 쓰는 경우는 range(start, stop) 의 경우 입니다. 단 주의할 점은 원하는 정수 범위를 정할 때 start 이상 stop 미만으로 생각하셔야 합니다. 즉 늘 원하는 마지막 수에 +1을 해주셔야 합니다. # 파라미터 2개를 쓰는 경우 for i in range(0,11): print(i) 이런 코드를 실행하면 0, 1, 2, 3, 4, ..
안녕하세요. 린아저씨 입니다. 이번 포스팅에서 파이썬 반복문 문법 중 while에 대해 알아보려 합니다. while 반복문 while 반목문의 기본 구조 입니다. while : 수행 코드1 수행 코드2 부분에는 Boolen 값이 들어가야합니다. 즉 True 또는 False로 계산되는 값이 들어가야합니다. 예를 들어 아래와 같이 나타낼 수 있습니다. x = 0 while x < 10: x += 1 print('x='+x) 예제의 경우 변수 x의 초기 값은 0이고 x가 10보다 작다면 True가 되어서 x에 1씩 증가하면서 현재 x의 값을 출력하며 while 문이 실행 됩니다. 그리고 x에 1씩 증가하다가 x가 10이 되는 순간 while 조건문이 False가 되면서 while 문에서 탈출하게 됩니다. wh..
안녕하세요. 린아저씨 입니다. 오늘은 파이썬 코드를 작성하는 여러가지 스타일 중 가장 일반적으로 쓰이는 PEP8 스타일에 대해 포스팅하려 합니다. PEP8 스타일의 모든 것을 쓸 수는 없지만 개인적으로 이건 꼭 지키는게 좋겠다하는 부분 입니다. 이름 정하기 변수 및 함수 모든 변수 및 함수의 이름 스네이크(snake) 표기법으로 써줍니다. 즉, 한단어일 경우에는 소문자로만 써주시고 여러 단어일 경우에는 언더바( _ )를 이용해서 소문자로만 써서 연결해 줍니다. # 나쁜 예시(카멜 명명법) myHouseName = 'xi' def myPhoneNumber(): print('010-1234-5678') # 좋은 예시 (스네이크 명명법) my_house_name = 'xi' def my_phone_number..
안녕하세요. 린아저씨 입니다. 파이썬 문자열 포맷팅 함수 중 format 함수와 f-string 함수를 이용해서 문자열 포맷팅 방법에 대해 포스팅하려 합니다. format 함수와 f-string 함수 모두 별도의 패키지 import 없이 사용 가능하지만, f-string 함수의 경우 python3.6+ 버전 이상부터 추가되었습니다. format 함수 format 함수는 { } 중괄호를 이용해서 문자열을 포맷팅 할 수 있습니다. format 함수 이용시 변수의 타입과 무관하게 중괄호와 숫자만을 이용해서 포맷팅 하면 됩니다. #변수 int_value = 10000 string_value = '린아저씨' boolean_value = True # 변수 순서 대로 포맷팅 >>> print("첫번째 변수 : {},..
안녕하세요. 린아저씨 입니다. 오늘은 python virtualenv를 이용해서 가상환경을 생성하고 사용하는 방법에 대해서 포스팅하려 합니다. Linux 환경 구성 리눅스 환경은 제가 주로 사용하는 Ubuntu 18.04.4 LTS 기준입니다. 하지만 다른 환경에서도 apt냐 yum이냐의 차이 정도로 거의 비슷할 것 입니다. 먼저 파이썬 버전은 각각 다음과 같이 기본적으로 설치 되어있습니다. # Python2 Version $ python -V Python 2.7.17 # Python3 Version $ python3 -V Python 3.6.9 그리고 python 패키지 설치에 필요한 pip는 설치가 되어 있지 않습니다. 따라서 먼저 pip 부터 설치해 줍니다. # Python2.x pip instal..
안녕하세요. 린아저씨 입니다. 코드를 짜다보면 내가 짠 코드가 실행되는데 얼마나 걸리는지 측정해야할 일들이 생기곤 합니다. 이러할 경우 사용할 수 있는 time 모듈의 두가지 함수에 대해 알아보려고 합니다. time 모듈의 perf_counter 함수와 process_time 함수 입니다. 아래 코드는 python3.4 버전 이상에서 실행되는걸 확인하였습니다. perf_counter perf_counter 함수는 코드의 연산 시간 외에 sleep, file io 등 pending에 들어가는 시간까지 모두 포함해서 측정합니다. import time def perf_counter_test(): start_time = time.perf_counter() time.sleep(10) print('perf_coun..
Ubuntu에서 설치한 MySQL을 깨끗하게 삭제하고 싶을 경우 아래와 같이 mysql 관련된 파일들을 purge로 삭제해 주고 자동 생성된 mysql 디렉터리 삭제 후 autoremove와 autoclean을 통해서 불필요한 파일들을 삭제하면 된다. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* sudo rm -rf /etc/mysql /var/lib/mysql sudo apt-get autoremove sudo apt-get autoclean
안녕하세요. 린아저씨 입니다. 몇년 동안 자바로 개발할 일이 없어서 쓰지 않았더니 백지와 같은 상태라... 복습도 할겸 포스팅 하려고 합니다. 먼저 자바를 하려면 당연히 JDK를 설치해야겠죠? 제 기억으로는 작년말경에 기존에 무료로 사용하던 오라클 자바 라이선스가 유료화 되었습니다. 기업은 당연히 라이선스를 구매해서 사용해야하고, 그럼 개인은 써도 되는건가? 하는 궁금증이 생겼습니다. 결론은 개인은 써도됩니다! 자 개인은 여전히 무료로 사용해도 된다는걸 알았으니 이제 설치를 해봅시다! 1. Java 다운로드 및 설치 오라클 자바 다운로드 페이지 에서 먼저 JDK를 다운로드 받습니다. Java 8을 설치할 것이기 때문에 Java SE 8 을 찾은 다음에 JDK Download를 눌러 줍니다. 그러면 OS에..
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 이용하는데 필수 명령어인 계정 생성, 삭제, 확인하는 방법에 대해서 알아보도록 하겠습니다. 계정을 생성하고 삭제하고 확인하는 일련의 과정이 정말 쉬운데 꼭 써먹으려고 하면 늘 다시 찾아보곤 하는데요 이번에 제대로 정리해서 머리속에 기억해두어야겠습니다. 1. 리눅스 계정 리스트 확인하기 명령어 : cat /etc/passwd $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ..... hadoop:x:905:905:Named:/var/hadoop:/sbin/nologin 리눅스에서는 계정을 생..
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 다루면서 현재 실행 중인 프로세스를 종료하거나, 프로세스가 먹통이 되어 강제 종료해야하는 경우에 사용할 수 있는 다양한 방법의 종료 방법에 대해서 알아보도록 하겠습니다. 1. 현재 실행 중이 프로세스 확인하기 $ ps -ef UID PID PPID C STIME TTY TIME CMD lina 13123 0 0 Apr16 ? 00:01:05 /usr/bin/test.sh root 1 0 0 Apr16 ? 00:00:00 /usr/bin/vmtoolsd systemd+ 1 0 0 Apr16 ? 00:00:00 /lib/systemd/systemd-networkd root 1 0 0 Apr16 ? 00:11:00 /usr/sbin/cron -f root 1 0 ..
안녕하세요. 린아저씨 입니다. 오늘은 HDFS Corrupt 파일 확인 및 제거 방법에 대해 포스팅해보려고 합니다. 하둡 클러스터를 관리하다 보면 잦은 현상은 아니지만 간혹 HDFS 블록이 손상되는 경우가 발생하곤 합니다. 이때 이 손상된 블록을 Corrupt 파일 블록이라고 합니다. HDFS는 기본적으로 3 Copy를 유지하기 때문에 Corrupt 블록이 발생하더라도 데이터에 영향을 주지는 않습니다. 남아있는 2 copy의 블럭으로도 데이터를 읽는데는 아무 문제가 없기 때문입니다. 하지만 Corrupt 파일 블럭이 존재하면 이로 인해 정상적이 3 copy 블럭이 아닌 정상적인 2 copy 블럭과 깨진 1 copy 블럭이 존재하기 때문에 Corrupt 파일 블럭을 제거해주어야 합니다. 1. HDFS Co..
안녕하세요. 린아저씨 입니다. 이번에 윈도우10을 새로 설치할 일이 생겼는데 기존에 만들어두었던 윈도우 10 설치 USB가 사라져서 새로 만들겸 그 방법에 대해 포스팅하려고 합니다. 아주 쉽게 만들 수 있으니 그냥 보고 따라만 하시면 됩니다! 1. 우선 8GB 이상의 USB를 사전에 준비합니다. 윈도우 10 설치 USB 를 만들기 위해서는 반드시 8GB 이상의 용량을 준비해주셔야 합니다. USB가 준비되었다면 컴퓨터에 꽂고 정상적으로 인식되는지 확인합니다. 2. 윈도우 10 설치 도구를 다운 받습니다. 윈도우 10 설치 도구는 회원가입을 하지 않고 누구나 무료로 마이크로소프트 공식 홈페이지에서 다운받을 수 있습니다. 아래의 링크를 타고 가셔서 사진과 같이 도구 다운로드를 클릭합니다. https://www..