전체 글
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1fe1o%2FbtsickGjN6l%2FPS94K944SNKxMEKtF1gahk%2Fimg.png)
Yolov8 - 내 커스텀 데이터를 이용해 학습하기 / 훈련 데이터와 검증 데이터로 나누기
사용하기에 앞서 https://github.com/ultralytics/ultralytics 위 링크에 접속하여 Clone한 후에 내 로컬에서 열어줍니다. 언어는 Python을 이용해 작업을 진행해보겠습니다. GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite - GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite github.com 위 모델을 이용하기 위해서는 반드시 .yaml 파일이 필요합니다. 아래는 제가 작업한..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSedJh%2FbtsbA4KOsJh%2FJOST2xzX3Kbd8koGK4xMD1%2Fimg.png)
애플리케이션에서 데이터베이스 cursor와 connection 닫는 이유
소개: 데이터베이스로 작업할 때 cursor와 connection을 적절하게 관리하는 것이 중요합니다. 데이터베이스 커서 및 연결을 닫는 것의 중요성과 그렇게 하지 않을 경우에 대한 잠재적인 결과에 대해 설명합니다. 1. 리소스 관리: 데이터 베이스 연결 및 커서를 닫으면 메모리 및 파일 핸들과 같은 시스템 리스소를 효율적으로 관리하는 데 도움이 됩니다. 이는 리소스 누수가 성능 저하 및 심지어 충돌로 이어질 수 있으므로 장기 실행 애플리케이션이나 많은 수의 연결을 처리하는 애플리케이션에 특히 중요합니다. 2. 연결 풀링: 많은 데이터베이스 시스템은 연결 풀링을 사용하여 연결을 재사용하고 각 쿼리에 대한 새 연결을 설정하는 오버헤드를 줄임으로써 성능을 향상시킵니다. 연결을 닫으면 풀로 반환되고 응용 프로..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2nYTM%2FbtsblEe2puM%2F12QkdC6i2whQ4Fif8SaJQ1%2Fimg.jpg)
[DB] 트랜잭션 (Transaction )
트랜잭션의 정의 트랜잭션 ( Transaction )은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야할 일련의 연산들을 의미한다. 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위이다.\ 3. 하나의 트랜잭션은 Commit되거나 Rollback된다. 트랜잭션의 성질 ( ACID ) Atomicity(원자성) 1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 2. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRBFek%2Fbtsa8AP9m4z%2FFr0t8I8ZW0sdWYHlfwmzZ1%2Fimg.png)
RDBMS vs NoSQL
RDBMS Relational DataBase Management System 관계형 데이터베이스 시스템 트랜잭션 처리가 가능함 MySQL, Oracle, MS-SQL NoSQL 대용량의 데이터를 분산 처리하는 데이터베이스 시스템 오토 샤딩 (Auto Sharding) 기능으로 분산처리가 가능함 Mongo DB, AWS DynamoDB, Firebase Firestore RDB와 NoSQL의 차이점 1. RDB는 스키마를 미리 정의해줘야한다 ( 테이블 생성문을 사용 ) NoSQL은 스키마 프리이다. 따라서 미리 테이블을 생성할 필요가 없다. 2. NoSQL은 오토 샤딩 기능이 있어서 대용량의 데이터를 자동으로 분산처리한다. RDB는 비슷한 기능으로 클러스터링이 있지만 설정이 복잡하다. 3. RDB는 *트..