【 To-do list 】
- 파이썬 코딩 테스트
【 In progress 】
- 방통대 프라임칼리지 AI학과 기말고사 대비
- 커널 아카데미 AI 부트캠프 2주차 / 32주
- NIPA google 딥러닝 4주차 / 8주
【 Done 】
- 방통대 대학기초 수학 13강 공간좌표 86.7%
- 정승제의 50일 수학 공부
- 코딩테스트
- NIPA google 딥러닝 실시간 객체 탐지 Ultralytics
【 Reflect 】
이번 주 일요일은 방통대 프라임칼리지 AI 과정의 기말고사다.
시험 과목은 총 4과목으로,
13시에는 통계학개론,
14시에는 파이썬,
15시에는 소프트웨어개발방법론,
16시에는 확률의 이해가 예정되어 있다.
하루에 네 과목을 연속으로 시험을 치르는 만큼 정신을 바짝 차려야 한다.
다행히도 6월 6일 현충일이 국경일이라 하루를 온전히 공부에 쓸 수 있다.
따라서 그날까지 최대한 강의를 수강하고, 남는 시간 동안 시험 준비에 집중하자.
그리고 내일은 실업급여 신청을 위해 아침부터 부지런히 움직여야 한다.
6시쯤 기상해 평소대로 아침 루틴을 실천하고,
8시 30분쯤 미금역 근처 카페에 자리를 잡은 뒤
9시 정각에 성남 고용노동지청을 방문하여 실업급여를 신청할 계획이다.
해야 할 일이 많은 시기지만, 하나씩 차근히 해내자.
이번 주가 중요한 분기점이 될 것이다.
13강: 공간좌표 – 핵심내용 요약
학습 개요
3차원 공간에서의 위치 관계, 거리 개념, 정사영, 구의 정의와 방정식 등을 학습함.
학습 목표
- 3차원 공간에서 평면과 직선을 이해한다.
- 정사영의 정의와 활용법을 이해한다.
- 공간좌표에서 두 점 사이의 거리를 이해한다.
- 구의 정의를 이해하고 방정식을 작성한다.
핵심 개념
- 차원: 관계식에서 자유 변수의 개수
- 정사영: 어떤 도형에 수직인 빛을 비췄을 때 투영면에 생기는 그림자
- 거리: 3차원 공간에서 두 점 사이의 거리
- 구: 중심에서 일정한 거리(반지름)만큼 떨어진 점들의 집합
정리
- 평면의 결정조건, 두 평면 또는 직선의 위치 관계를 파악할 수 있다.
- 평면과 직선, 또는 두 평면이 이루는 각을 정의할 수 있고, 이를 통해 삼수선 정리를 설명할 수 있다.
- 정사영은 투영면에 수직인 빛을 통해 도형의 그림자를 생성하며, 선분의 길이나 도형의 넓이 계산도 가능하다.
- 3차원 공간에서 두 점 사이의 거리, 내분점과 외분점을 정의할 수 있다.
- 구는 중심과 반지름으로 정의되며, 방정식은 다음과 같다:
(x−a)2+(y−b)2+(z−c)2=r2(x - a)^2 + (y - b)^2 + (z - c)^2 = r^2
여기서 (a, b, c)는 중심 좌표, r은 반지름이다.
1일차
1. 정수의 정의
정수는 양의 정수, 0, 음의 정수를 모두 포함한다.
- 양의 정수: 1, 2, 3, 4, ...
- 0: 양수도 음수도 아님
- 음의 정수: -1, -2, -3, -4, ...
이 세 가지를 모두 합쳐 정수라고 한다.
2. 약수의 정의
어떤 정수 A가 두 정수의 곱으로 표현될 때, 그 곱의 각 요소를 A의 약수라고 한다.
예: 12 = 1×12, 2×6, 3×4 → 12의 약수는 1, 2, 3, 4, 6, 12
고등학교 수학에서는 일반적으로 양의 약수만 다룬다.
(음의 약수도 존재하지만 실전에서는 잘 다루지 않음)
3. 소수의 정의
1과 자기 자신만 약수로 갖는 자연수를 소수라고 한다.
예: 2, 3, 5, 7, 11, 13, 17, ...
소수는 더 이상 나눌 수 없는 수, 즉 쪼갤 수 없는 가장 기본적인 수이다.
영어로는 Prime Number라 하며, '근본이 되는 수'라는 뜻이다.
짝수 중 유일한 소수는 2이다. (다른 짝수는 모두 2로 나눠지므로 합성수이다)
주의: 1은 소수도 아니고 합성수도 아닌 단위 수이다.
4. 합성수의 정의
소수가 아닌 자연수를 합성수라고 한다.
즉, 소수 두 개 이상을 곱해서 만든 수.
예: 4 = 2×2, 6 = 2×3, 9 = 3×3, 15 = 3×5
5. 자연수의 분류
자연수는 다음 세 가지 중 하나에 해당된다.
- 소수
- 합성수
- 1 (소수도 아니고 합성수도 아님)
1. 취업 절차와 코딩테스트 유형
개발자 취업은 일반적으로 서류 제출 → 코딩테스트 → 기술면접 → 임원면접 순으로 진행됩니다.
코딩테스트 유형은 회사마다 다릅니다.
- 코딩테스트 없음: 소규모 회사나 경력이직의 경우
- 실무 과제형: 스타트업, 상시채용, 경력이직에서 주로 사용됨
- 알고리즘 테스트: 대기업, 대규모 채용, 신입, 1~3년차 이직자에게 필수
카카오, 네이버, 라인, 쿠팡, 삼성, SK 등의 기업에서는 알고리즘 테스트를 거의 필수로 진행하기 때문에 준비가 필요합니다.
2. 알고리즘 코딩테스트의 목적
회사는 지원자의 구현 능력과 문제 해결 능력을 평가합니다.
- 구현 능력: 언어 문법, 자료구조, 문자열 처리 능력 등
- 문제 해결 능력: 문제 이해 및 접근 방식
지원자 입장에서는 1등이 아닌 **통과(PASS)**가 목표입니다.
- 정확성 테스트를 먼저 통과하고, 효율성은 그다음 고려합니다.
- 출제 빈도가 높은 알고리즘 위주로 학습합니다.
3. 자주 나오는 알고리즘과 자료구조
자주 출제되는 주제는 다음과 같습니다.
- 빈도 높음: DFS, BFS, 완전탐색, 시뮬레이션, 문자열, 해시맵, 정렬
- 중간 빈도: 스택, 큐, 다익스트라, 그래프, DP, 순열/조합, 투 포인터
- 낮은 빈도: 백트래킹, 위상정렬, 트리, 링크드 리스트
4. 언어 선택 전략
Python이 코딩테스트용으로 가장 추천되는 언어입니다.
Java, JS, Swift 등의 언어는 구현 난이도가 높아 학습 속도가 느려질 수 있습니다.
가장 좋은 전략은 다음과 같습니다.
- Python으로 문제 해결 능력과 알고리즘 실력을 먼저 쌓고
- 그 후 필요한 경우 Java나 JS 등 회사에서 요구하는 언어로 연습
5. 효과적인 공부 방법
- 자료구조 & 알고리즘
직접 구현보다 주어진 문제에 적합한 자료구조를 선택하는 능력이 중요합니다.
정렬이나 해시 테이블 등은 내장 함수 활용이 대부분이며, 복잡한 알고리즘보다 실용적인 접근이 더 중요합니다. - 구현 능력
기본 문법만 익히고, 문제를 많이 풀어보는 것이 가장 효과적입니다.
반복 학습을 통해 익숙해진 코드는 응용력이 생기며, 실전에서 큰 도움이 됩니다. - 문제 풀이
이론만으로는 부족하며, 실전 문제 풀이가 필수입니다.
배운 이론을 적용해 반복적으로 문제를 풀고 복습해야 합니다.
문제 풀이 사이트 추천
- 백준 삼성 SW 역량 테스트 기출
- 프로그래머스 카카오 기출 및 고득점 Kit
- Leetcode
6. 집중 공략 포인트
- 언어 구현 능력
자주 나오는 구현 패턴은 템플릿화해서 암기해두는 것이 좋습니다. - 시간 복잡도
문제 해결 전략을 결정하는 핵심 기준입니다. - 자료구조
Stack, Queue, Hashmap, Tree, Graph 등을 코드로 직접 구현해보는 것이 중요합니다. - 필수 알고리즘
재귀와 완전 탐색을 기반으로 DFS, BFS, DP, 순열/조합 등을 익혀야 합니다. - 문자열 처리
자주 출제되므로 반복 연습이 필요합니다.
7. 목표 회사별 전략
스타트업, 중소기업은 간단한 실무형 과제가 많고
대기업, 특히 IT 대기업은 알고리즘 중심의 코딩테스트를 중요하게 봅니다.
지원하는 회사 성격에 따라 전략을 달리 설정하는 것이 효율적입니다.
8. 실제 시험 환경 및 팁
기업마다 시험 방식이 다릅니다.
- 일부 기업은 IDE 사용 불가, 화면 공유, 주변 환경 촬영 등의 제약이 있음
- 삼성은 오프라인 시험이며 IDE 사용 가능
- 네이버, 쿠팡, 넷마블 등은 온라인 감독 시스템 사용
시험에서 중요한 팁
- 쉬운 문제부터 먼저 풀기
- 한 문제에 너무 오래 매달리지 않기
- 정확성을 먼저 챙기고, 효율성은 그 다음
코딩테스트는 실력으로 통과하는 시험입니다. 꾸준한 학습과 전략적인 연습이 합격의 열쇠입니다.
YOLO 시리즈 개요
YOLOv1 | 2016 | 최초 YOLO, 단일 CNN | 없음 | Darknet |
YOLOv2 | 2017 | BatchNorm, Multi-scale 학습 | Anchor 기반 | Darknet |
YOLOv3 | 2018 | FPN, Residual, 다중 크기 예측 | Anchor 기반 | Darknet |
YOLOv4 | 2020 | PANet, Mosaic, Mish | Anchor 기반 | Darknet |
YOLOv5 | 2020 | PyTorch 기반, Auto-anchor | Anchor 기반 | PyTorch |
YOLOv6 | 2022 | Anchor-free, 산업 최적화 | Anchor-free | PyTorch |
YOLOv7 | 2022 | SOTA, 학습 최적화 | Anchor 기반 | PyTorch |
YOLOv8 | 2023 | 완전 Anchor-free, C2f 구조 | Anchor-free | PyTorch |
YOLOv9 | 2024 | GELAN + PGI 구조, 정확도 향상 | Anchor 기반 | PyTorch |
YOLOv10 | 2024 | Transformer 기반, 고성능 | Anchor-free | PyTorch |
YOLOv11 | 2024 | 객체 추적, 포즈 추정 등 확장 | Anchor 기반 | PyTorch |
YOLOv8 구조 요약
- Backbone: 이미지 특징 추출 (Conv, C2f, SPPF 사용)
- Neck (중간 연결층): Feature Pyramid 구조로 다양한 스케일의 정보를 병합
- Head: Decoupled Head로 분류와 회귀 작업 분리
- Anchor-Free 구조: Anchor box 없이 중심점과 크기 직접 예측
YOLOv8 주요 기술 요소
- C2f 모듈: Coarse-to-Fine 단계적 처리로 큰 특징부터 작은 특징까지 포괄
- Decoupled Head: 분류와 위치 예측을 별도로 수행해 정확도 향상
- SPPF: 여러 MaxPool 층을 병렬 처리하여 receptive field 확장
- Modified Loss: 개선된 CIoU 기반 손실 함수 적용
- Mosaic Augmentation: 네 개의 이미지를 결합해 학습 다양성 향상
YOLOv8 vs YOLOv3 구조 비교
Backbone | Darknet-53 | Custom (Lightweight) |
Neck | FPN + PANet | FPN 유사 구조 |
Head | 단일 Head (합성) | Decoupled Head |
Anchor 방식 | Anchor 기반 | Anchor-Free |
구조 흐름 | Bottom-Up → Top-Down | Coarse → Fine |
Loss 함수 | IoU/GIoU/DIoU | CIoU |
구현 | Darknet | PyTorch 기반 (Ultralytics) |
YOLOv8 버전별 성능 비교
YOLOv8n | 3.2 | 37.3 | 80.4 | 0.99 |
YOLOv8s | 11.2 | 44.9 | 128.4 | 1.20 |
YOLOv8m | 25.9 | 50.2 | 234.7 | 1.83 |
YOLOv8l | 43.7 | 52.9 | 375.2 | 2.39 |
YOLOv8x | 68.2 | 53.9 | 479.1 | 3.53 |
YOLOv8 활용 포인트
- 실시간 성능이 우수하여 Edge Device, 모바일, 드론, CCTV 등 다양한 환경에 적합
- 복잡한 구조 없이도 높은 정확도를 낼 수 있도록 최적화되어 있음
- ONNX, TensorRT, CoreML 등 다양한 플랫폼으로의 배포를 지원.
'개발💻 > 개발일지' 카테고리의 다른 글
[개발 일지] 25. 06. 05 Thur (0) | 2025.06.06 |
---|---|
[개발 일지] 25. 06. 04 Wed (0) | 2025.06.06 |
[개발 일지] 25. 06. 02 Mon (0) | 2025.06.03 |
[개발 일지] 25. 05. 30 Fri (2) | 2025.06.01 |
[개발 일지] 25. 05. 29 Thur (1) | 2025.05.30 |