목록전체 글 (38)
PDH 개발 공부
kubectl get pods -A 전체 파드 목록 kubectl get pods -n name name 달린 pod 목록 tail 느낌 kubectl logs -f pod 임름 -n 묶음네임(name) | grep "" LOG처럼 보고싶다 kubectl logs pod 임름 -n 묶음네임(name) | grep "" 마이크론프론트 + 백엔드 같이 pod 있는경우 - loki - pod 접근 방법 : kubectl exec -it custbumin-54d75877c9-v7bbp -n name bash - 로그 파일 위 이동후 확인
Traditional Pattern class Cat: def speak(self): print("meow") class Dog: def speak(self): print("bark") #Zoo depdns on Cat and Dog class Zoo: def __init__(self): self.dog = Dog() self.cat = Cat() def speakAll(self): self.cat.speak() self.dog.speak() zoo = Zoo() zoo.speakAll() 동물원은 고양이와 개와 의존적인 형태다. 만약에 양과 소가 추가 된다면 더 많은 의존적인 객체들이 생성이 되어진다 즉 코드 관리가 힘들어짐. Dependency Inversion Pattern class Animal:..
//No Interface Segregation Principle //Large Interface Interface ICarBoatInterface { void drive(); void turnLeft(); void turnRight(); void steer(); void steerLeft(); void steerRight(); } //Interface Segregation Principle //two small interfaces (Car, Boat) Interface ICarInterface { void drive(); void turnLeft(); void turnRight(); } Interface IBoatInterface { void steer(); void steerLeft(); void s..
리스코프 치환 법칙 이란 타입을 치환 한다 하더라도 프로그램이 돌아 가도록 함 코드 class Cat: def speak(self): print("meow") class BlackCat(Cat): def speak(self): print("black meow") def speak(cat:Cat): cat.speak() cat = Cat() speak(cat) // 결과 meow --------------------------------------------------------- cat = BlackCat() speak(cat) // 결과 black meow ---------------------------------------------------------- class Fish(Cat): def sp..
Open closed principle을 준수하지 않는 Animal class Animal(): def __init__(self,type): self.type = type def hey(animal): if animal.type == 'Cat': print('meow') elif animal.type == 'Dog': print('bark') bingo = Animal('Dog') kitty = Animal('Cat') #Cow와 Sheep을 추가하기위해 hey함수의 수정이 필요하다. hey(bingo) hey(kitty) // 결과 bark meow 상속을 이용한 Animal class. 추가되는 동물에 대해 hey함수의 수정을 필요로 하지 않는다 class Animal: def speak(self):..
코드 class Cat: def __init__(self,age,name): self.age = age self.name = name def eat(self): print("eating..") def walk(self): print("walking..") def speak(self): print("meow~") def repr(self): // 고양이 상태를 나타내주는 함수 return f"name:{self.name}, age:{self.age}" // 요기서 print , log를 사용하지말자. kitty = Cat(3,"kitty") kitty.eat() kitty.walk() kitty.speak() print(kitty.repr()) #Logger.log(kitty.repr()) , If you..
Visual Studio Code(vs code)는 마이크로 소프트에서 개발한 문서 편집기로 웹 개발에 주로 사용된다. 초기에는 Atom이나 Sublime Text에 비하면 여러가지로 부족했지만 업데이트를 반복하면서 확장(extension) 플러그인 생태계가 커지면서 인기 있는 텍스트 에디터가 되었다. 덕분에 웹 프로젝트를 진행할 때 많이 사용되는 도구가 되었다. 설치 초기에는 기능이 너무나 담백해서 개발을 하는 데 많은 불편함이 느껴진다. 그래서 많은 사람들이 쓰고 있고 필자도 쓰면서 편리함을 느낀 확장 플러그인을 소개하고자 한다. 1. Auto Rename Tag html을 작성할 때 태그를 변경해야 할 경우가 종종 생긴다. vs code에서는 태그 두 가지 모두를 일일이 수정을 해야 한다. 그러니 ..
포트 포워딩 http://pdh.com:80/index.html 윈도우 호스트 포트 80 에 docker 호스트 80에 전송 docker run -p 80:80 httpd만약 8000이라면?? http://pdh.com:8000/index.htmldocker run -p 8000:80 httpddocker exec -it ws2 /bin/sh ws2 컨테이너를 실행 -- interactive 와 --tty 의 약자로 -it가 되어짐 윈도우10 에서 CLI 누른거랑 동일한것 docker exec -it ws2 /bin/bash index.html이 있다. (아파치 공식 문서 참조 하면 됨) 그 뒤로 리눅스 처럼 사용하면 된다. (apt 기반) docker run --name [컨테이너이름] -p [Host..