[Python] del 예제
·
Dev_Python
인스턴스 생성 -> 삭제 # 이스턴스 삭제 class Cls1: def __init__(self, name): self.name = name def print_info(self): print("이름 : {} ".format(self.name)) def __del__self(self): print("인스턴스 종료 : {}".format(self.name)) def __del__(self): print("인스턴스 종료 : {}".format(self.name)) user1 = Cls1("철수") user2 = Cls1("영희") user3 = Cls1("ㅎㅎ") del user1 del user2 print("-------------------------------")
[Python] init 예제
·
Dev_Python
class Cls1 : def __init__(self, val1): self.val1 = val1 def get_number(self): print(self.val1) # 객체가 생성될 떄 그 객체의 초기 상태를 설정. ins1 = Cls1(10) ins1.get_number() class Cls1: gval1 = 1234 def __init__(self, val1, val2): self._val1 = val1 self._val2 = val2 print("init") super().__init__() def __new__(cls, val1, val2): print(val1, val2) print("new") return super().__new__(cls) def get_global_val(self):..
[Python] 클래스 - 접근제어 예제
·
Dev_Python
# 접근 제어 class Cls1 : def sef_data1(self, val1, val2): # 지정하고자하는 외부의 값에 설정할 수 있다. #프로퍼티값을 입력받아 사용할 수 있다. self.val1 = val1 self.val2 = val2 def get_data1(self): print(self.val1) # 인스턴스에 있는 val1 print(self.val2) # 인스턴스에 있는 val2 ins1 = Cls1() ins1.sef_data1(10, "abc") # 외부에서 self에 접근할 수는 없다. val1 과 val2만 접근해서 쓰면 된다. ins1.get_data1() # 인스턴스에 프로퍼티값이 들어간다. print("---------------------------------------..
[Python] 클래스 - self
·
Dev_Python
# self class Cls1 : # 클래스생성 def get_self(self): print(self) print(id(self)) # 메서드 ins1 = Cls1() # 객체 생성 ins1.get_self() # 객체의 주소 참조함. # sefl를 사용하면 내부에서 사용했었던 리소스를 사용하게해준다. print(id(ins1)) # 메서드에서도 찍었는데, 여기서 바로 찍으면 주소가 같을까? ; == 같다. # self는 안에서. instance는 바깥에서. print() ins2 = Cls1() # 객체 생성 ins2.get_self() # 객체의 주소를 출력함. # print(id(ins2)) # 메서드에서도 찍었는데, 여기서 바로 찍으면 주소가 같을까? ; == 같다.
[Python] 클래스 예제
·
Dev_Python
# class # 일반 함수 방식 scv1 = {"atk" : 3, "def" : 5, "hp" : 50} scv2 = {"atk" : 8, "def" : 5, "hp" : 50} def attack1(dic1): print("{}의 공격을 가함" .format(dic1["atk"])) def defense(dic1): print("{}의 데미지를 방어".format(dic1["def"])) dic1["hp"] -= 1 attack1(scv1) defense(scv1) print(scv1) attack1(scv2) defense(scv2) defense(scv2) print(scv2) print("-----------------------------------------------------") # cl..
[python] 사용자 정의 함수
·
Dev_Python
return 메모리 튜플은 값의 복사가 일어난다. 재귀함수 가급적이면 일반 for문으로 돌려라... 이유는 1. 스택프레임에 쌓임 2. 가독성이 안좋다. 3. 자원 관리의 어려움. 만약 할당 변수가 있을 시에 변수가 계속적으로 선언됨. -> 관리하기 매우 어렵다. for문은 어떤 자원이 어떻게 쓰이는지 잘 보인다. 불가피한 경우) 1. depth를 예측할 수 없는 경우. 2. def func1(): return 5 x1 = func1() print("{}".format(x1)) print("{}".format(func1())) # 두 개의 숫자를 더해서 나온 합산 값을 return하는 함수 def func2(a,b): print("이것은 두 개의 값을 더하는 함수 입니다.") # 리턴 전에 출력값을 넣으..
[python] 함수 예제
·
Dev_Python
while 초기값 반복식 => 단점 : 초기값과 증감연산이 무조건 존재해야된다. 전처리와 후처리가 꼭 필요했다. for 순회값 반복식 for ~ in -> 파이썬의 for의 문장이 이렇게 생겨먹은 거임. 파이썬의 꽃 List comprehension 아웃풋 변수를 좌변에 놓고 for를 통해서 어떻게 순회할 것인가의 계획을 세우고 연산에 대한 계획을 넣어서 배열[ ]로 묶는 list comprehesion! => 로직이 variety 해진다. 로직 생각 1. 가위바위보 게임 -> 컴퓨터 vs. 나 2. 업다운 게임 (숫자 하나 발생시켜서 업 다운) 셋 컴프리헨션 def func1(x): return x+2 # 리스트 컴프리헨션 # 0~4 까지 각 2를 더한다. list1 = [2+x for x in ran..
[알고리즘] 2023.09.18 - python
·
Dev_Algorithm
연습문제 1. 사용자에게 두 개의 정수를 입력 받아, 두 정수 중에서 큰 수를 출력하는 프로그램을 작성하세요. 만 약 두 수가 같다면, "두 수는 같습니다"라는 메시지를 출력하세요. 연습문제 2. 학생의 수학 시험 점수를 입력 받아, 점수가 90점 이상이면 "A", 80점 이상이면 "B", 70점 이상이면 "C", 60점 이상이면 "D", 그리고 60점 미만이면 "F"를 출력하는 프로그램을 작성하세요. 연습문제 3. 아래 리스트에 있는 숫자 중에서 홀수만 출력하는 프로그램을 작성하세요. 연습문제 4. 사용자로부터 숫자를 입력 받아, 입력된 숫자들의 총합과 평균을 계산하는 프로그램을 작성하세요. 사용자가 0을 입력할 때까지 계속해서 숫자를 입력 받도록 합니다. 응용문제 1. 문자열에서 "a"로 시작하는 단..
[k8s] 필수 명령어
·
DevOps_k8s
--dry-run: 리소스 즉시 생성 --dry-run=client: 커맨드 테스트 -> 리소스가 생성되지 않음. -o yaml: 리소스 정의를 YAML 파일 형식으로 생성해준다. $ kubectl run nginx --image=nginx --dry-run=client -o yaml > nginx-pod.yaml => 리다이렉션으로 nginx-pod.yaml 파일을 생성할 수 있고, 해당 파일을 수정 및 리소스를 추가하여 업데이트 할 수 있다. 예제: # POD Create an NGINX Pod $ kubectl run nginx --image=nginx Generate POD Manifest YAML file (-o yaml). Don't create it(--dry-run) $ kubectl ru..
NTP 시간동기화 (feat. Chrony와의 차이점)
·
OS_Linux&Unix
NTP와 Chrony는 모두 시간동기화를 위한 프로토콜 및 소프트웨어입니다. 그러나 두 가지의 주요 차이점은 다음과 같습니다. 1. 정확도 Chrony는 NTP보다 더 정확한 시간 동기화를 제공합니다. Chrony는 네트워크 지연 시간을 측정하고 이를 고려하여 시간을 조정하는 데 사용하는 알고리즘을 사용합니다. 이는 네트워크 지연이나 패킷 손실로 인해 발생하는 오차를 보정하여 더 정확한 시간 동기화를 가능하게 합니다. 2. 동작 방식 NTP는 클라이언트-서버 모델을 사용하여 시간 동기화를 수행합니다. 클라이언트는 NTP 서버에 요청을 보내고 서버는 응답을 제공합니다. 반면에 Chrony는 클라이언트-서버 모델과 peer-to-peer 모델을 혼합하여 사용합니다. Chrony는 NTP 서버와 함께 작동하면..
[ExaCS] Oracle Exadata Cloud Service
·
DB_oracle
ExaCS는 또 뭔데? ExaCC를 정리했지만... 이름도 비슷한 것 같아서 너무 헷갈린다. 정리하자. ExaCS 란? OCI상에서 제공되는 관리형 Exadata 데이터베이스 서비스이다. 클라우드를 기반으로 데이터베이스를 제공하면서 데이터베이스의 관리, 운영, 보안 등을 oracle이 직접 처리하는 형태의 서비스이다. 특징 1. 관리형 서비스 ExaCS는 오라클이 완전히 관리하는 관리형 서비스로, 기업은 데이터베이스 관리 작업을 최소화하고 데이터베이스 운영에 집중할 수 있다. Oracle이 데이터베이스 관리, 백업, 모니터링, 보안패치 등과 같은 작업을 대신 처리한다. 2. Oracle Exadata 기반 ExaCS는 Oracle Exadata Machine을 기반으로 하며, 이는 고성능 스토리지와 네트..
[ExaCC] Oracle Exadata Cloud@Customer 란?
·
DB_oracle
OCI를 공부하며 많은 용어들이 생소하다. ExaCC와 ExaCS 가 뭔데?DB인가?  용어 때문에 헷갈릴 때가 많아서 차근차근 정리를 해보기로 했다.   ExaCC ( Oracle Exadata Cloud@Customer)  ExaCC(Oracle Exadata Cloud@Customer)는 데이터베이스를 최적화하여 고성능과 고가용성을 제공하는 솔루션이다. ExaCC는 DBMS을 직접적으로 최적화하는 것이 아니라, 데이터베이스 워크로드를 처리하는 데 필요한 하드웨어와 소프트웨어 인프라스트럭처를 최적화하여 데이터베이스 시스템의 성능과 가용성을 향상시키는 역할을 한다고 한다.   인프라스트럭처를 최적화하여 데이터베이스 시스템의 성능과 가용성을 향상시킨다는데, 그래서 무엇을? 1. 스토리지 최적화 : Exa..
[zabbix] zbx_trends_sh 프로세스가 생기는 이유 /LogFormat 지시어
·
Monitoring_Zabbix
zbx_trends_sh 가 뭐지... zabbix server에서 무분별하게 치고 들어와서 CPU를 높이는 프로세스이다. 모니터링 중에 갑자기 생기는 원인불분명한 이 프로세스가 방해스럽다. 어떻게 해결하지 싶었는데, 얘가 치고 들어오는 클라이언트IP를 추적해서 방화벽으로 막자는 의견이 나왔다. 뭘까 ? 1. Zabbix 포럼을 확인해보면, zabbix 서버의 프로세스는 아니라고 한다. Zabbix의 프로세스는 모두 zabbix_server 라고 함. 인터넷에 액세스하지 않으면 zbx_trends_sh 프로세스가 시작되지 않는다는 추측과 바이러스로 보는 인식이 있는 듯 https://www.zabbix.com/forum/in-russian/461601-zbx_trends_sh-%D0%B7%D0%B0%D0..
[OCI] Oracle Cloud Migration 프로세스
·
Cloud_OCI
Window 에서 OCI로 싱글 마이그레이션을 진행했던 방식        Oracle Cloud Migration Workflow   STEP 1migration 환경설정 1.    VMware vSphere Client 및 vCenter Server 를 생성하여 On-premise 환경을 구성합니다. => 마이그레이션이 지원되는 버전 및 환경은 위와 같습니다.2.    OCI콘솔에서 Source environment 생성  STEP 2Discovery 준비Remote connection agent 다운로드 및 배포 ⇒ remote connection Agent가 배포된 On-premise 환경이 구성되면 On-premise VM을 OCI 콘솔 내에 source environment 리소스에 등록합니다 ..
[Linux] scp로 windows에 파일 전송하기
·
OS_Linux&Unix
scp 사용해서 원격(Private IP) -> 로컬(Public IP)로 파일전송하다가 삽질했다.  원격서버에 있는 파일을 로컬서버로 보내기 위해 정말 많은 삽질을 했다. 결론만 말하자면, 원격서버내의 파일을 로컬로 가져오기 위해서는 로컬서버에서 진행해야된다는 점이다. (파일 보내려면 파일이 위치한 서버에서 보내야지, 왜 엉뚱한 곳에서 가져와? 라고 생각이 든 건 나뿐인가...) 그런데 Public 망에서 Private 망으로 접속해서 파일을 가져온다 ? 라는 말인데, 그럼 Private Key가 필요하잖아 ? 라고 할 수 있다.  당연하다. 키가 필요하다면 Private Key 준비해야된다.나는 클라우드 사설망에서 테스트하였다.==scp -i private-Key 원격서버계정@원격서버IP:원격서버파일..
최선을 다하자!
'분류 전체보기' 카테고리의 글 목록 (5 Page)