일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- command
- 디자인패턴
- ListTile
- copyWIth
- 리눅스
- riverpod
- freezeD
- 프로그래밍
- 도서
- vscode
- linux
- 책
- Code Generation
- 유데미 러닝크루
- 가상환경
- 플러터
- 유데미
- 파이썬
- 맥
- 리버팟
- 개발
- flutter
- ExpansionTile
- 개발자
- dart
- 유데미 코리아
- 코딩
- 다트
- 명령어
- python
- Today
- Total
목록파이썬 (13)
승상의 코딩 블로그
외부에 파일을 업로드하지 않아야 하는 경우 파일서버를 자체적으로 관리한다.네트워크 작업하는 도중 실수, 파일서버 자체의 고장 등에 따라 구축해놓은 파일서버가 동작하지 않을 때도 있다.이럴 때는 나의 컴퓨터를 간단히 파일 서버로 운용할 수 있다. * 추가 예시) 파일을 업로드하고 내려받는 절차가 시간이 걸릴 경우, 내 PC 를 파일서버로 만들면 상대방이 바로 파일을 빠르게 전달할 수 있다.* 같이 일하지 않는 사람일 경우 파일 서버의 접근권한에 문제가 있을 때, 활용해도 유용하다.python -m http.server서버를 실행하는 PC 의 IP 는 192.168.64.8 이다.서버를 실행하면 http://0.0.0.0:8000 에 접속가능하다고 출력된다. (외부에서 http://192.168.64.8:8..
어댑터 패턴은 호환되지 않는 인터페이스를 가진 두 객체를 상호작용할 수 있도록 해줍니다. 하나의 객체의 인터페이스를 다른 객체가 원하는 인터페이스로 변환시켜준다고 생각하면 됩니다. 최근에는 JSON 형식의 데이터를 많이 썻지만, 예전에는 XML 형식의 데이터를 더 많이 사용했습니다. JSON 예시 { "age": 30, "interests": ["reading", "traveling", "music"] } XML 예시 30 reading music traveling 만약, JSON 의 데이터의 데이터를 제공받았는데, 사용하려는 라이브러리가 예전꺼라 XML 형식을 사용한다면 어댑터 패턴을 통해 라이브러리를 개선할 수 있습니다. 저희는 220V 를 쓰지만, 해외에서는 110V 를 쓰는 곳이 많습니다. 해외에..
Facade 는 Oxford 사전에서 아래의 의미를 가집니다. 1. the face of a building 2. an outward appearance that is maintained to conceal a less pleasant or creditable reality. - 먼가 좋지 않아보이는 것을 숨기기 위한 겉모습을 의미합니다 Facade 패턴이란 복잡한 서브 시스템을 간단하게 사용할 수 있는 인터페이스를 제공하는 패턴입니다. 아래는 물건을 주문하는 예시입니다. class Inventory: def checkStock(self, productId): print(f"check stock for {productId}") class Payment: def approvePayment(self, amo..
2023.05.29 - [Python (파이썬)] - 디자인 패턴 - 팩토리 패턴(Factory Pattern) with 파이썬(python) 디자인 패턴 - 팩토리 패턴(Factory Pattern) with 파이썬(python) 디자인 패턴은 반복적이고 보편적으로 일어나는 문제에 대한 해결방안을 제시해줍니다. 그 중 가장 인기있는 패턴인, 팩토리 패턴(Factory Pattern)에 대해서 알아보려고 합니다. 팩토리 패턴은 객 seungsang.tistory.com 이 팩토리 패턴의 예시를 다르게 생각해봅시다. 커피를 생성하는 팩토리 패턴을 간단히 만들어 보겠습니다. class Coffee: def __init__(self, additive): self.additive = additive class ..
sqlite 는 언제 쓰는게 좋을까요? 다양한 이유가 있겠지만 저는 "데이터베이스를 사용하기 위한 별도의 프로그램이 필요없다." 라는 이유가 가장 큰 것 같습니다. 또한, 데이터베이스가 간단히 파일 하나로 만들어지기 때문에 파일 하나만 있으면 어디에서든 사용할 수 있습니다 * 다른 데이터에 비해서 간단하기 때문에 가벼운 어플리케이션을 만들 때 자주 사용합니다. 일단! 데이터 확인을 위한 환경 구축 단순한 텍스트보다 효율적이고 안정적으로 데이터를 저장하기 위해, 데이터베이스는 각자의 형식이 있습니다. 그러므로, 데이터베이스 파일은 단순히 메모장으로 열 수 없습니다. sqlite3 에 "저장된 데이터를 보기 위한 환경"을 먼저 구축해 보겠습니다. VsCode 의 Extension 에서 sqlite3 를 설치..
class Operation: @staticmethod def add(a, b): return a+b Operation.add(1, 2) # 3 함수위에 @staticmethod 가 붙은 코드를 종종 볼 수 있습니다. staticmethod 로 설정된 함수는 인스턴스로 만들어서 사용할 수 있고, 인스턴스 생성없이도 사용할 수 있습니다. 대신, 클래스 내의 속성에는 접근할 수 없습니다. staticmethod 는 언제 사용하면 좋을까요? def add(a, b): return a + b add(1,2) # 3 "Q.staticmethod 함수는 클래스 내부의 데이터에 클래스 함수처럼 접근할 수 없는데, 그냥 add 함수를 만들어 써도 되지 않을까요?" 이러한 함수가 하나뿐이라면 단순히 add 를 써도 좋습..
디자인 패턴은 반복적이고 보편적으로 일어나는 문제에 대한 해결방안을 제시해줍니다. 그 중 가장 인기있는 패턴인, 팩토리 패턴(Factory Pattern)에 대해서 알아보려고 합니다. 팩토리 패턴은 객체 생성과 관련된 패턴입니다. 객체를 어떻게 생성하는지에 대해서 사용자에게 숨김으로써, 객체 생성 로직은 캡슐화되고 추상화됩니다. 이는 다른 코드와의 결합도를 줄여줍니다. ## 기본예제 class BankAccount: def deposit(self): pass @staticmethod def createAccount(bankType, value): if bankType == 'KB': return KBAccount(value) elif bankType == 'Woori': return WooriAccoun..
파이썬(python)에서 클래스에 사용되는 self 를 왜 써주는 것일까? 메모리와 연관시켜봐야한다. 멤버 변수와 멤버 함수 class Calculator: def __init__(self, x): self.x = x def add(self, a): return self.x + a Calculator 클래스는 초기화 때 넣은 값에 따라, 1을 더해주는 계산기, 2를 더해주는 계산기, ... 등을 만들 수 있다. 이 클래스는 어떻게 메모리에 관리되어야 할까? 복잡한 이야기는 생략하고 간단하게 생각해보자. 클래스의 멤버 변수는 생성하는 인스턴스에 따라 달라질 수 있다. 즉, 멤버 변수 별로 메모리를 할당 받을 필요가 있을 것이다. 그러나, 멤버 함수는 로직은 동일하고 사용하는 변수만 다르다. (동일한 코드에..
파이썬 3.7부터 사용되고 있다. 그 이전버전은 dataclass 라이브러리를 따로 설치해야 한다. type hint 는 버전마다 조금씩 다르게 사용되므로 참고해주시기 바랍니다. 아래 코드는 파이썬 버전 3.10 으로 작성하였습니다. 기존에는 데이터를 구조화하기 위해서는 아래와 같이 클래스로 작성하는 경우가 많았다. 직원을 구현하는 클래스를 구현해보자. class Employee: def __init__(self, firstName, lastName): self.firstName = firstName self.lastName = lastName print(Employee(firstName="Yang", lastName="SeungSang")) # 출력값: dataclass 가 있기 전에는 __init_..
python3.5 이상부터 타입힌트를 사용할 수 있다. 각 파이썬 버전마다 타입힌트를 지원하는 범위가 조금씩 다르기도 하다. 그러나 많은 차이가 있지는 않다. 프로그래밍 언어에는 C, C++ 처럼 각 변수 등의 타입을 지정해주는 정적 타입 언어가 있다. Python 은 C,C++ 과 달리 동적 타입 언어이다. 즉, 파이썬은 코드에서 직접 타입을 지정하지 않는다. 코드가 실행될 때 파이썬이 알아서 타입(ex. integer, string, ...)을 추론한다. 파이썬처럼 타입을 추론해주면, 개발자는 더 편하고 빠르게 개발가능할 것이라고 생각할 수 있다. 또한, 덕타이핑을 통해 다형성을 유연하게 적용할 수도 있을 것이다. (잘 모르시겠다면, 타입을 직접 정해주지 않기 때문에(사용가능한 범위를 제한함) 사용가..