분류 전체보기 103

[선형대수학#4] 행렬의 종류

이번 글에서는 대표적인 행렬 유형과 부분·분할(블록) 행렬을 정리하도록 하겠습니다. 목차 대각 행렬 · 영행렬 스칼라 행렬 · 항등 행렬 상·하삼각 행렬 대칭 · 교대 대칭 행렬 부분 행렬 분할(블록) 행렬 Gradient Descent와 분할 계산 대각 행렬 · 영행렬 대각 행렬(diagonal): 주대각선 밖이 모두 0. \[ \begin{bmatrix} 1 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & 3 \end{bmatrix} ..

Mathematics 2025.09.21

[선형대수학#3] 행렬 연산의 성질

이번 글에서는 행렬 연산의 성질과 주의할 점을 정리합니다. 목차 행렬의 덧셈과 관련된 성질 행렬 곱셈과 관련된 성질 실수배와 전치 연산의 성질 행렬 연산에서 주의할 점 정리 1. 행렬의 덧셈과 관련된 성질 같은 크기의 \(m \times n\) 행렬 \(A, B, C\)에 대해: 교환법칙: \(A + B = B + A\) 결합법칙: \((A + B) + C = A + (B + C)\) 항등원과 역원: \(A + O = A,\ \ A + (-A) = O\) (여기서 \(O\)는 영행렬) ..

Mathematics 2025.09.21

[선형대수학#1] 일차방정식

선형대수학은 머신러닝 공부에서 가장 기본이 되는 내용입니다. 이 글에서는 방정식과 선형 시스템을 주제로 살펴보도록 하겠습니다. 목차 방정식 일차 방정식 연립 일차 방정식 Homogeneous System Trivial Solution 1) 방정식 (Equation) 방정식은 두 수식이 서로 같음을 나타냅니다. 보통 미지수 \(x\)를 포함하며, 그 값을 찾아내는 것이 목표입니다. 예: \(\;2x + 3 = 7\;\) 에서 이를 만족하는 \(x\)는 \(x=2\)입니다. 즉, 방정식은 주어진 조건을 만족하는 미지수의 값을 찾는 문제입니다. ..

Mathematics 2025.09.21

[Github Actions#1] Github Actions란?

CI/CD는 더 이상 선택이 아닌 개발 생산성과 품질을 보장하는 필수 요소로 자리 잡고 있습니다. 수많은 자동화 도구들 중 이번 글부터는 자동화 툴 중 하나인 Github Actions에 대해 알아보겠습니다. 앞서 글에서 말씀드렸듯이 CI/CD를 구축할 수 있는 대표적인 도구로는 다음과 같은 것들이 있습니다:GitHub ActionsJenkinsCircleCITravis CI그 외 다수...이 중에서도 GitHub Actions는 사용 편의성, 비용, 유지보수 측면에서 특히 개인 프로젝트나 스타트업, 내부 자동화 작업에 매우 강점을 보이고 있는 툴입니다. 특히, GitHub Actions는 GitHub에 내장된 자동화 기능으로, 별도의 설치나 서버 운영 없이 클라우드 상에서 바로 파이프라인을 구성할 수..

MLOps/CI CD 2025.05.23

[CI/CD#1] CI/CD란?

서비스를 운영하면서 새로운 기능을 지속적으로 추가하고, 이를 안정적으로 사용자에게 제공하기 위해서는 반복적이고 번거로운 작업들이 동반됩니다. 이 과정을 자동화할 수 있는 방법이 바로 CI/CD입니다. 그렇다면, CI/CD란 정확히 무엇이며, 왜 꼭 배워야 할까요? CI/CD란?CI/CD는 다음의 두 가지 용어로 이루어진 개념입니다:CI (Continuous Integration): 지속적인 통합CD (Continuous Deployment/Delivery): 지속적인 배포말은 어렵지만, 사실 간단합니다. CI/CD는 소프트웨어 개발 과정에서의 '테스트 → 통합 → 배포' 과정을 자동화하는 시스템입니다. 왜 CI/CD를 배워야 할까?서비스를 만들다 보면 코드 수정이 자주 발생하고, 새로운 기능을 추가해야..

MLOps/CI CD 2025.05.23

[Kubernetes#1] 쿠버네티스(Kubernetes)란?

오늘날의 소프트웨어 개발 환경에서는 수많은 컨테이너(Container) 들이 동시에 실행되고, 서로 협업하며 하나의 애플리케이션을 구성합니다. 이러한 환경을 안정적으로 운영하고 관리하기 위해 등장한 기술이 바로 쿠버네티스(Kubernetes) 입니다. 쿠버네티스란?쿠버네티스(Kubernetes)는 여러 개의 컨테이너를 효율적으로 배포하고, 자동으로 확장하고, 안정적으로 운영하도록 돕는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.다르게 표현하자면, 단순히 컨테이너를 실행하는 수준을 넘어서, 전체 인프라 수준에서 컨테이너들을 자동으로 배치하고, 관리하고, 복구하는 기술입니다. 쉽게 말해, 쿠버네티스는 Docker Compose의 확장판이라고 볼 수 있습니다.Docker Compose가 로컬 개발 환경에..

MLOps/Docker 2025.05.13

[Docker#16] Docker Compose 여러 개의 컨테이너 동시에 띄우기(2)

Docker Compose를 사용하면 여러 개의 컨테이너를 동시에 띄워 다양한 환경을 쉽게 구축할 수 있습니다. 예를 들어, Python(Flask) 백엔드와 MySQL 데이터베이스를 각각 컨테이너로 구성해 한 번에 실행할 수 있죠.하지만 종종 아래와 같은 MySQL 연결 오류를 마주하게 됩니다. Can't connect to MySQL server on 'my-db' ([Errno 111] Connection refused) 이번 글에서는 왜 이런 에러가 발생하는지, 그리고 어떻게 해결해야 하는지를 설명하도록 하겠습니다. 에러 원인: 컨테이너는 서로 다른 'localhost'를 가진다보통 우리는 MySQL 주소를 이렇게 작성합니다.conn = pymysql.connect( host="localh..

MLOps/Docker 2025.05.13

[Docker#15] Docker Compose 여러 개의 컨테이너 동시에 띄우기(1)

개발 환경을 셋업할 때, 데이터베이스와 백엔드 서버를 동시에 띄우는 작업은 매우 흔합니다. 이번 글에서는 MySQL과 Python(Flask 서버)를 Docker Compose로 한 번에 실행하는 실습을 해보겠습니다. 실습디렉토리 구조project/├── app/│ ├── main.py│ ├── requirements.txt│ └── Dockerfile├── compose.yml Flask 코드from flask import Flaskimport pymysqlapp = Flask(__name__)@app.route("/")def hello_mysql(): try: conn = pymysql.connect( host="localhost" ..

MLOps/Docker 2025.05.13