본문 바로가기

전체 글189

[파이썬(PYTHON) : 고급] 머신러닝 및 딥러닝 6. 머신러닝 및 딥러닝 Scikit-learn, Tensorflow, PyTorch 등의 라이브러리를 사용하여 머신러닝 및 딥러닝 모델을 학습하고 적용하는 방법을 배웁니다. 이 과정에서 데이터 전처리, 모델 학습, 검증, 최적화 등의 주제를 다룹니다. 6.1. 머신러닝 기초 6.1.1. 머신러닝 개념 6.1.1.1. 머신러닝의 정의 머신러닝은 기계가 데이터를 통해 학습하는 기술을 말합니다. 이를 통해 기계는 새로운 데이터에 대해 예측을 하거나, 데이터의 패턴을 파악하는 등의 작업을 수행할 수 있게 됩니다. 6.1.1.2. 머신러닝의 주요 유형 머신러닝은 크게 지도학습, 비지도학습, 강화학습으로 나눌 수 있습니다. 지도학습은 레이블(정답)이 있는 데이터를 학습하는 방법, 비지도학습은 레이블이 없는 데이터.. 2023. 5. 14.
[파이썬(PYTHON) : 고급] 웹 프레임워크 및 API 개발 5. 웹 프레임워크 및 API 개발 5.1. Flask 웹 프레임워크 5.1.1. Flask 소개 5.1.1.1. Flask 웹 프레임워크 개요 Flask는 파이썬으로 작성된 가벼운 웹 프레임워크입니다. 웹 사이트나 웹 애플리케이션을 개발하는데 필요한 기본적인 기능을 제공하면서, 확장성이 매우 뛰어납니다. 5.1.1.2. Flask의 특징 Flask는 마이크로 프레임워크라고도 불립니다. 이는 Flask가 최소한의 기능만을 가지고 있지만, 다양한 확장을 통해 필요한 기능을 추가할 수 있음을 의미합니다. 예를 들어, 데이터베이스를 다루는 기능이나, 사용자 인증 기능 등은 Flask 자체에는 없지만, Flask-SQLAlchemy나 Flask-Login과 같은 확장을 사용하면 이런 기능들을 쉽게 추가할 수 있.. 2023. 5. 13.
[파이썬(PYTHON) : 고급] 데이터베이스 연동 4. 데이터베이스 연동 4.1. SQL 데이터베이스 4.1.1. SQL 데이터베이스 이해 4.1.1.1. SQL 데이터베이스 소개 SQL(Structured Query Language) 데이터베이스는 관계형 데이터베이스(RDBMS)에서 사용하는 표준 질의 언어입니다. 관계형 데이터베이스는 데이터를 테이블 형태로 저장하며, 이 테이블들은 서로 연결되어 있습니다. 대표적인 SQL 데이터베이스로는 MySQL, PostgreSQL, SQLite 등이 있습니다. 4.1.1.2. SQL 문법 기본 SQL은 데이터베이스에서 데이터를 선택(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 등의 작업을 수행하는 데 사용되는 언어입니다. 예를 들어, 'employees' 테이블에서 모든 데.. 2023. 5. 13.
[파이썬(PYTHON) : 고급] 성능 최적화 3. 성능 최적화 3.1. 프로파일링 및 벤치마킹 3.1.1.1. 프로파일링이란? 프로파일링은 코드의 성능을 분석하고 최적화하는 과정에서 중요한 단계입니다. 이는 우리의 코드가 어느 부분에서 가장 많은 시간을 소비하고 있는지, 어느 부분이 가장 많은 메모리를 사용하고 있는지를 알려줍니다. 이 정보를 통해 우리는 성능을 개선할 수 있는 부분을 파악하고 최적화 작업에 착수할 수 있습니다. 3.1.1.2. 파이썬에서의 프로파일 파이썬에서는 cProfile이라는 모듈을 통해 프로파일링을 할 수 있습니다. cProfile은 파이썬 코드의 실행 시간을 측정하고 분석하는 데 사용됩니다. import cProfile import re def example_function(): re.compile("foo|bar") c.. 2023. 5. 13.
[파이썬(PYTHON) : 고급] 디자인 패턴 2. 디자인 패턴 디자인 패턴은 특정 문제를 해결하는 데에 있어 재사용 가능한 해결책입니다. 이는 코드의 효율성, 이해성, 유지 보수성을 향상할 수 있습니다. 2.1. 싱글턴 패턴 2.1.1. 싱글턴 패턴 개념 2.1.1.1. 싱글턴 패턴의 정의 싱글턴 패턴은 클래스의 인스턴스가 단 하나만 존재하도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하는 것과 유사한 효과를 가지지만, 전역 변수의 문제점을 피할 수 있습니다. 2.1.1.2. 싱글턴 패턴의 사용 사례 데이터베이스 연결, 로거, 파일 시스템, 윈도우 매니저 등의 리소스를 공유해야 하는 경우에 종종 사용됩니다. 2.1.2. 싱글턴 패턴 구현 및 활용 2.1.2.1. 파이썬에서 싱글턴 패턴 구현하기 파이썬에서 싱글턴 패턴을 구현하는 가장 .. 2023. 5. 12.
[파이썬(PYTHON) : 고급] 메타프로그래밍 1. 메타프로그래밍 메타프로그래밍은 '프로그램이 자기 자신을 데이터로 처리하도록 하는 기법'을 말합니다. 파이썬에서는 메타클래스, 동적 속성 및 메서드 생성, 디스크립터 등을 통해 메타프로그래밍을 수행할 수 있습니다. 1.1. 메타클래스 1.1.1. 메타클래스 개념 1.1.1.1. 클래스 vs 메타클래스 클래스는 객체를 생성하는 '틀'로, 객체의 속성과 메소드를 정의합니다. 반면, 메타클래스는 클래스의 '틀'을 만드는 클래스입니다. 즉, 메타클래스는 클래스를 생성하고, 클래스의 동작을 제어하는 역할을 합니다. # 클래스의 예 class MyClass: pass # 메타클래스의 예 class MyMeta(type): pass 1.1.1.2. 메타클래스의 역할 메타클래스는 클래스의 동작을 제어하고, 클래스를.. 2023. 5. 12.