분류 전체보기 159

[python] numpy 및 matplotlib 간단 실습

numpy 배열이나 행렬 계산에 많이 등장한다.넘파이 배열(np.array)은 N차원 배열을 작성할 수 있다.수학에서 1차원 배열은 벡터(vector), 2차원 배열은 행렬(matrix)라고 부른다.벡터와 행렬을 일반화한 것을 텐서(tensor)라 한다. 넘파이 배열을 만들 때 np.array(리스트): numpy.ndarray 메서드 이용원소의 수가 다를 때 ValueError 발생넘파이 배열과 수치 하나(스칼라 값)의 조합으로 산술 연산 == 브로드캐스팅https://colab.research.google.com/drive/1apOKaFUiCjfnCL_RTlPnO4L5POlQE-HO#scrollTo=wqVIk05-1YMa Google Colab NotebookRun, share, and edit Py..

python 2025.04.13

[디자인패턴] Builder - 복잡한 인스턴스를 조립한다

build: 일반적으로 구조를 갖춘 큰 구조물을 건축하거나 구축하는 것을 말한다.Builder 패턴은 구조를 가진 인스턴스를 구축해 가는 패턴을 말한다.  Builder 추상클래스, 인스턴스를 생성하기 위한 인터페이스(API)를 결정, 인스턴스의 각 부분을 만드는 메서드가 준비ConcreteBuilder Builder의 인터페이스(API)를 구현하는 클래스, 실제 인스턴스 생성으로 호출되는 메서드가 여기에 정의Director Builder의 인터페이스(API)를 사용하여 인스턴스를 생성한다, ConcreteBuilder 역에 의존하는 프로그래밍을 하지 않고 어떤 ConcreteBuilder 역이든 잘 작동하도록 Builder의 메서드만 사용한다.Client  public abstract class Bui..

[Spring] MyBatis는 JavaBeans 규약을 지원한다.

MyBatis 프로젝트를 진행하고 있는데 Dto를 만들면서 기본 생성자 외에 매개변수가 있는 생성자도 같이 적으면 어떤 생성자가 호출되는지 궁금했다. 콘트롤러에서 필요한 필드들을 하나의 객체(dto)로 묶으면서 매개변수가 있는 생성자도 자연스럽게 함께 작성해 줬는데 디버그 문으로 확인해 본 결과 정작 호출되는 것은 기본 생성자였다. 이러한 내용들을 문서에서 확인해 보니 다음과 같았다.  아래는 mapper.xml에서 resultType이 map일 때 반환 객체를 어떻게 생성하는지에 대한 이야기이다. 여기서 'your application will use JavaBeans or POJOs for the domain model...'에서 관련 내용을 확인할 수 있었다. 참고로 MyBatis는  둘 다 지원한..

Spring 2025.04.09

[python] 파이썬 기본 (9) - 클래스 및 전체 실습

def showYourNameAndAge(name, age = 20): # 기본 값을 지정한 매개변수는 단순 매개변수 다음에 위치해야 한다 print(f'{name} 님 {age} 세')showYourNameAndAge('hailey', 20)showYourNameAndAge('hailey')class 클래스 이름: def __init__(self, 인수, ...): # 생성자 ... def 메서드_이름1(self, 인수, ...): ... def 메서드_이름2(self, 인수, ...): ...파이썬은 메서드의 첫 번째 인수로 자신(자신의 인스턴스)을 나타내는 self를 명시self 다음에 속성 이름을 써서 인스턴스 변수 저장class Student: coun..

python 2025.04.04

[python] 파이썬 기본 (7) - 함수

def 함수명(매개변수): 실행할 문장기본 매개변수 지정 가능매개변수, 인자가변 매개변수를 *로 지정def my_name(name = "guest"): print("제 이름은 " + name + "입니다.")my_name()my_name('Hailey')def add_all(*args): # 여러 개의 인자를 받을 때 사용 return sum(args)print(add_all(1, 2, 3, 4)) # 10  https://colab.research.google.com/drive/1ZYS7uhDMom5rrwS9mLOt57LrhSl62g6j Google Colab NotebookRun, share, and edit Python notebookscolab.research.google.com

python 2025.04.04

[python] 파이썬 기본 (6) - 반복문

for 변수 in 리스트(또는 튜플, 문자열): 실행할 문장1enumerate() 리스트나 문자열을 순회하며 인덱스와 값을 동시에 가져온다zip() 여러 시퀀스를 동시에 순회fruits = ["apple", "banana", "cherry"]for index, fruit in enumerate(fruits): print(index, fruit) # 0 apple# 1 banana# 2 cherrynames = ["Alice", "Bob", "Charlie"]ages = [25, 30, 35]for name, age in zip(names, ages): print(f"{name} is {age} years old.") # Alice is 25 years old.# Bob is 3..

python 2025.04.04

[python] 파이썬 기본 (4) - 딕셔너리형

{key: value}키는 해시 가능한 값만 사용 가능: 숫자, 문자열, 튜플 등 불변 자료형이 키로 사용된다딕셔너리는 {}, 키로 접근 시 []키 삭제 시 del  딕셔너리명[키 이름]keys(), values(), items()get() 예외처리가 적용된 함수, 없는 키로 접근 시 keyError 오류 발생update(), pop()person = {"name": "Alice", "age": 25}# 값 추가person["city"] = "New York"print(person) # {'name': 'Alice', 'age': 25, 'city': 'New York'}# 특정 키 삭제del person["city"]print(person) # {'name': 'Alice', 'age': 25}pe..

python 2025.04.04

[python] 파이썬 기본 (3) - 리스트형

특징: 순서가 있고, 변경 가능, 중복 허용, 다양한 자료형 포함 가능값 추가: append(value), insert(idx, value)값 제거: remove(value) 같은 값이 여러 개가 있을 경우 첫 번째 값만 제거값 제거: pop(idx) 지정한 인덱스의 값 제거하고 반환, 인덱스 생략하면 마지막 값 제거값 검색: index(value), count(value)정렬: numbers.sort() 기본 오름차순 정렬, reverse()copy(): 리스트 복사# remove 예제fruits = ["apple", "banana", "cherry", "mango", "banana"]fruits.remove("banana") # 첫 번째 banana만 제거print(fruits) # ['apple'..

python 2025.04.04