일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 책
- 맥
- 파이썬
- dart
- ListTile
- Code Generation
- 개발자
- 유데미 코리아
- freezeD
- 프로그래밍
- 가상환경
- vscode
- linux
- ExpansionTile
- python
- 플러터
- copyWIth
- command
- 코딩
- 도서
- 리버팟
- 개발
- 명령어
- 유데미
- riverpod
- 유데미 러닝크루
- 다트
- flutter
- 디자인패턴
- 리눅스
- Today
- Total
목록Python (파이썬) (12)
승상의 코딩 블로그
어댑터 패턴은 호환되지 않는 인터페이스를 가진 두 객체를 상호작용할 수 있도록 해줍니다. 하나의 객체의 인터페이스를 다른 객체가 원하는 인터페이스로 변환시켜준다고 생각하면 됩니다. 최근에는 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, ...)을 추론한다. 파이썬처럼 타입을 추론해주면, 개발자는 더 편하고 빠르게 개발가능할 것이라고 생각할 수 있다. 또한, 덕타이핑을 통해 다형성을 유연하게 적용할 수도 있을 것이다. (잘 모르시겠다면, 타입을 직접 정해주지 않기 때문에(사용가능한 범위를 제한함) 사용가..
파이썬 3.4 부터 Enum 이 추가되었다. 기존에는 Enum 을 직접 구현하여 썻었는데, 추가됨에 따라 편리해졌다. Enum 을 사용하면, 범위에 대한 경계선을 만들 수 있다. 이를 통해, 코드의 가독성도 높일 수 있다. 또한 코드 완성(힌트) 를 통해 코드 작성 시 생길 수 있는 에러도 줄일 수 있다. 기본 from enum import Enum class Fruit(Enum): APPLE = 1 BANANA = 2 ORANGE = 3 클래스 형태로 위와 같이 Enum 을 사용할 수 있다. >>> Fruits.APPLE >>> Fruits.APPLE.name 'APPLE' >>> Fruits.APPLE.value 1 클래스에서 선언한 열거형 멤버는 Fruits.APPLE 로 접근하여 사용할 수 있다...