Programming 77

[JAVA] 자바 구구단 출력 (2단~9단)

아래 코드는 중첩 for문을 이용한 2단부터 9단까지 출력하는 간단한 구구단 코드 입니다. package date200226; public class test { public static void main(String[] args) { # 2단부터 시작하고 9단까지 실행하며 반복문이 한번 돌때마다 1씩 증가 시킵니다. for(int i=2; i < 10; i++) { System.out.println(i + "단을 출력 합니다."); # 위에서 i의 값이 2라면 2x1 ~ 2x9 까지 진행 합니다. # 이 반복문(j)이 종료되면 위의 반복문 변수 i가 1 증가하여 다시 3x1 ~ 3x9 까지 진행하는 식으로 9단까지 반복 합니다 for(int j=1; j < 10; j++) { System.out.pri..

Programming/JAVA 2020.03.16

[Bash Shell Script] CentOS 7 Kubernetes 자동 설치 쉘 스크립트(mater node version)

Kubernetes 자동 설치 쉘 스크립트Kubernetes 자동 설치 쉘 스크립트 입니다. 이 쉘 스크립트는 마스터노드에 해당 하며, 워커노드는 추후 시간 될 때 제작할 예정 입니다.글을 작성한 날짜(2020-02-24)를 기준으로 쉘 스크립트로 정상 설치 확인 하였습니다. 쉘 스크립트 초기 실행 화면 테스트 환경 및 참고 사항테스트 환경 및 참고 사항은 아래와 같습니다. 당연히 테스트 서버에서 먼저 진행 하겠지만, 혹여나 실서버에 바로 적용할 경우 크리티컬한 상황이 발생할 가능성이 존재하니 잘 확인 해주세요.혹여나 참고 사항에 적지 못한 부분이 있을 수 있으니 스크립트를 잘 확인 후 필요하지 않은 부분은 주석 처리하여 사용 해주세요.Tools : VMware Workstation 15OS : Cent..

[Bash Shell Script] 쉘 스크립트 랜덤 문자열, 난수 생성(랜덤 숫자)

쉘 스크립트 랜덤 문자열 리눅스의 /dev/urandom을 이용해 랜덤 문자열을 만들 수 있습니다. #!/bin/bash # A 또는 C 랜덤 출력 random_test1=$(cat /dev/urandom | tr -dc 'A''C' | fold -w 1 | sed 1q) echo $random_test1 # A부터 Z 문자 중 6자리 랜덤 출력 random_test2=$(cat /dev/urandom | tr -dc 'A-Z' | fold -w 6 | sed 1q) echo $random_test2 # 0부터 9 숫자 중 3자리 랜덤 출력 random_test3=$(cat /dev/urandom | tr -dc '0-9' | fold -w 3 | sed 1q) echo $random_test3 # 모든..

[Python 3.7] 파이썬 이터레이터, 제너레이터 개념과 차이점 (iterator, generator, yield, yield from)

이터레이터(iterator) 개념 예전 글에서 for문을 설명할 때 이터레이터라는 단어를 사용한적이 있는데, 이터레이터는 list, tuple, range과 같은 시퀀스 객체의 요소를 하나씩 꺼낼 수 있는 객체에서 사용 가능 합니다. (시퀀스 객체 말고도 딕셔너리,세트도 반복 가능한 객체이기 때문에 이터레이터가 가능 합니다) # 이터레이터를 확인하기 위해 간단한 리스트 생성 test = [10, 20, 30] # __iter__() 메서드를 사용하여 이터레이터를 쓸 수 있도록 설정 test_iter = iter(test) # 또는 test_iter = test.__iter__() # __next__() 메서드를 사용하여 요소를 하나씩 불러옴 print(test_iter.__next__()) print(t..

Programming/Python 2020.02.08

[Python 3.7] 파이썬 예외 처리 (try, except, else, finally, raise)

예외 처리 프로그래밍을 하다보면 여러가지 에러가 발생 합니다. 프로그램이 실행중에 발생하는 에러를 예외라고 부르는데 예외를 무시하고 코드를 실행 시키고 싶을 수 있고, 특정 예외가 발생하면 메세지를 출력한다던가 하는 모션을 취하고 싶을 수 있습니다. 예외처리는 이렇게 실행중에 발생하는 에러(예외)를 여러가지 방법으로 처리할 수 있습니다. 4가지를 간단히 정리한 아래 코드 블럭을 보시면 흐름 자체가 if문과 비슷해 보이기도 합니다. try: 예외가 발생할 수 있는 코드 except: 예외가 발생했을때 실행할 코드 else : 예외가 발생하지 않았을 때 실행할 코드 finally: 예외 발생 여부와 상관없이 무조건 실행할 코드 아래에서는 ZeroDivisionError 발생한 경우만 예시로 되어 있으며 이 ..

Programming/Python 2020.02.07

[Python 3.7] 파이썬 다중 상속과 추상 클래스

다중 상속 다중 상속은 말 그대로 여러 부모 클래스들로부터 상속 받는것을 말하는데 아래는 다중 상속 중 대표적으로 나오는 다이아몬드 상속이지만, 다이아몬드 상속은 문제가 굉장히 많아서 Diamond of Death 라고도 부릅니다. 아래 이미지와 같은 다중 상속으로 코드를 만들텐데, 다중 상속은 그냥 상속에서 부모 클래스를 여러개 쓴다는 차이밖에 없어서 자세한 설명은 생략 하겠습니다. 상속의 개념만 잡혀 있다면 코드만 보고도 이해하고 넘어가실 수 있으실 겁니다. class parent_class1: def parent1(self): print('부모 클래스1 입니다.') class parent_class2: def parent2(self): print('부모 클래스2 입니다.') class child_c..

Programming/Python 2020.02.07

[Python 3.7] 파이썬 클래스 상속 개념과 오버라이딩, super()

클래스 상속 클래스 상속은 말 그대로 클래스를 물려받는 개념 입니다. 기반이 되는 클래스를 부모 클래스(parent class) 또는 기반 클래스(base class), 슈퍼 클래스(super class) 라고 부르며, 물려받은 클래스를 자식 클래스(child class) 또는 파생 클래스(derived class), 서브 클래스(sub class) 라고 합니다. 이 글에서는 부모 클래스와 자식 클래스라는 단어를 사용 하겠습니다. 자식 클래스는 자기 자신의 메서드와 부모 클래스의 메서드를 모두 사용할 수 있습니다. 부모 클래스는 평소 사용하던 문법과 차이가 없고, 자식 클래스만 약간 차이가 납니다. 클래스를 선언하게되면 class child_class: 와 같이 설정을 했지만, 상속받기 위해선 class..

Programming/Python 2020.02.07

[Python 3.7] 파이썬 정적 메소드 vs 클래스 메소드 (staticmethod vs classmethod)

정적 메소드 vs 클래스 메소드정적 메소드(staticmethod)와 클래스 메소드(classmethod)는 인스턴스를 생성하고 호출하는 방식이 아니라, 클래스에서 바로 호출할 수 있습니다.class test: def instance_add(self, a, b): return a + b @staticmethod def static_add(a, b): return a + b @classmethod def class_add(cls, a, b): return a + b # 인스턴스 호출 a = test print(a.instance_add(None, 1, 1)) # 스태틱 메소드 호출 print(test.static_add(2, 2)) # 클래스 메소드 호출 print(test.class_add(3, 3))정..

Programming/Python 2020.02.06

[Python 3.7] CentOS 7 파이썬 3.8.1 소스 설치, 기본 설정 변경

CentOS7 버전은 기본적으로 파이썬 2.7 버전을 사용하기 때문에 3.x 버전을 사용하기 위해선 별도로 설치 해주어야 합니다. CentOS 7 파이썬 3.8 소스 설치는 아래를 따라서 진행 하시면 됩니다. 만약 root 계정이 없을 경우 sudo를 이용하여 root계정 권한으로 진행 하시기 바랍니다. # 빌드 도구 설치 yum -y groupinstall 'Development Tools' # 아래를 설치하지 않을 경우 make install 할 때 "zipimport.zipimporterror", "ImportError"가 발생 합니다. yum -y install zlib zlib-devel libffi-devel # 아래를 설치하지 않을 경우 pip ssl error 발생 yum -y instal..

Programming/Python 2020.02.06

[Python 3.7] 윈도우10 파이썬 3.8.1 설치 (install python 3.8 windows 10)

윈도우10 파이썬 3.8.1 설치 방법 입니다. 포맷 후 파이썬이 안깔려 있다는걸 깨달았네요 파이썬 공식 홈페이지(https://www.python.org/downloads/) 접속 후 "Download Python 3.8.1" 클릭, 다운로드 완료되면 실행 Add Python 3.8 to PATH 체크 후 Install Now 사용자 계정 컨트롤 창이 생기면 예를 클릭 하면 아래와 같이 설치가 진행 됩니다. "Disable path length limit"은 해제 합니다. 파일 경로나 이름이 260자를 넘기긴 힘들테지만 혹시 모르니 저는 해제 하겠습니다. 해제하면 Disable path length limit 이 사라지는데, 그대로 Close 누르시면 됩니다. 해제 안하실 분들은 그냥 Close를 누르..

Programming/Python 2020.02.06