분류 전체보기
-
[C++] namespace 의미와 class 간 차이C++/C++ 기초 2025. 11. 23. 15:13
namespace 란?c++에서 namespace는 이름 충돌을 방지하기 위한 이름 공간이다. 프로그램이 커지는 경우, 함수 이름 또는 전역 변수 이름이 겹치는 문제가 발생할 수 있다. namespace로 감쌀 경우, 충돌을 피할 수 있다. #include using namespace std;namespace MySpace { int number = 10; void print() { cout 위 코드에서 변수 number, 함수 print()는 namespace인 Myspace 내에 선언되어 있다. 그리고 Myspace내 함수와 변수를 쓰기 위해서 Myspace::를 붙여 접근할 수 있다. 예시 코드를 실행할 경우 아래와 같이 출력된다.10MySpace::print() 호출! 같..
-
[Python] Feature 순위 매기기 (ANOVA F-검정)Python/Python 실습 2025. 8. 17. 21:10
ANOVA (분산분석) 정의분산을 분석하여, 두 개 이상의 그룹의 평균을 비교하는데 사용되는 방법이다. AVOVA는 그룹 평균 간의 변동량과 그룹 내 변동량을 비교한다. 그룹 간 변동이 그룹 내 변동보다 크면, 그룹 평균이 다를 가능성이 높다는 것을 나타낸다. 예를 들어, 모든 치와와는 가볍고, 모든 세인트 버나드는 무겁다고 한다면, 무게 Feature가 치와와와 세인트 버나드 그룹을 분류하는데 유의미한 차이를 만든다는 것을 의미한다. 결론적으로 ANOVA-F 검정은 각 Feature가 Class 분류에 얼마나 유의미한 차이를 만드는지 통계적으로 측정하는 값이라고 할 수 있다. ANOVA-F 검정 기반 Feature 순위 매기기 예제코드from sklearn.datasets import load_iris..
-
[Python] Decision Tree 구성하기Python/Python 실습 2025. 8. 8. 16:38
Decision Tree 정의Decision Tree (의사결정나무)는 직관적이고, 널리 쓰이는 지도 학습 알고리즘 중 하나다. 데이터를 분류하고 예측하는데 활용할 수 있다. 데이터를 기준 (Feature)로 질문을 계속하면서, 트리 형태로 분기해 나가는 알고리즘이다. 최종적으로 분류나 수치 예측 결과에 도달한다. Decision Tree 개념- Node : 하나의 질문 또는 분기점- Root Node : 맨 상위에 있는 Node, 첫 질문- Leaf Node : 맨 마지막, 자식이 없는 Node- Branch : 질문 결과에 따라 나뉘는 경로- Depth : 질문의 단계수. 너무 깊으면 과적합 위험 Decision Tree 절차- 데이터를 나누는 질문을 선택할 때, 가능한 순수하게 만들기 위해 사용된다..
-
[Python] 파이썬 설치하기, VSCODE 가상 환경 구축Python/Python 실습 2025. 7. 26. 20:30
파이썬 설치하기Windows OS에서 파이썬을 활용하기 위해서는 먼저 Python를 설치해야한다. 먼저 파이썬 공식 사이트 Download Python | Python.org에 접속한다. 이후 파이썬 설치파일을 다운로드 및 실행한다. 저장 경로를 설정하지 않을 경우, AppData 폴더에 파이썬 실행파일이 저장되게 된다. 파이썬은 관리하기 쉬운 경로에 설치하는 것이 낫기 때문에 Custom installation를 통해, 저장 경로를 기억하기 쉬운 곳으로 변경해준다. 또한 계정 권한과 환경 변수 등록도 체크하도록 하자. D드라이브에 Python_venv 폴더를 만들고 해당 경로에 설치했다. VSCODE 파이썬 가상환경 구축 VSCODE를 실행한다. 그리고 New File를 통해 파이썬 파일을 생성한다..
-
[C++] 스마트 포인터 활용하기C++/C++ 실습 2025. 6. 1. 11:22
스마트 포인터란?C++에서 스마트 포인터 (Smart Pointer)는 동적 메모리 관리를 자동화해주는 클래스를 의미한다. 기존 new, delete를 통해 동적 메모리 할당을 하던 방식에서 발전된 형태라고 볼 수 있다. 가장 큰 장점으로는 메모리 해제 (delete)를 하지 않더라도 자동적으로 메모리를 해제한다는 점이다. 스마트 포인터 종류스마트 포인터설명std::unique_ptr단독 소유 포인터이며, 다른 포인터로 복사가 불가능하다. 이동은 가능하다.std::make_uniqure 함수를 통해 생성할 수 있다. (C++ 14이상부터 가능하며, C++ 11에서는 직접 new 함수를 써야된다.)std::shared_ptr여러 포인터가 같은 자원을 공유한다. 마지막 포인터가 삭제될 때 자원이 해제된다...
-
[C++] 람다 함수 활용 방법 (Lambda Expression)C++/C++ 실습 2025. 5. 18. 22:17
람다 함수 (Lambda Expression) 정의람다 함수란 이름 없이 정의할 수 있는 익명의 함수를 의미한다. 코드 내에서 간단하게 함수를 정의하고 바로 사용할 수 있다. 그리고 STL (표준 템플릿 라이브러리)와 함께 유용하게 활용될 수 있다. 기본 문법은 다음과 같다.[capture_list] (parameters) -> return_type { // Function body}; capture_list: 외부 변수를 람다 내에서 사용할 수 있도록 캡쳐하는 부분이다. 람다 함수는 기본적으로 람다 함수가 선언된 영역의 변수를 활용할 수 있다.parameters: 함수의 인자 목록을 의미한다.return_type: 반환 타입이며, 생략 가능하다. 컴파일러가 추론할 수 있다.Function body..
-
[C#] .Net MAUI 사칙 연산 계산기 만들기C#/C# 실습 2025. 2. 1. 11:16
.Net MAUI 정의.Net MAUI는 Multi-plafform App UI (다중 플랫폼 앱 UI)의 약자이며, 마이크로소프트에서 개발한 크로스 플랫폼 프레임워크이다. .Net MAUI의 가장 큰 장점은, 단일 코드로 Android, iOS, macOS 및 Windows에서 실행 가능하다는 것이다. .Net MAUI 특징.Net MAUI는 다음과 같은 특징을 갖고 있다. 1. 한 번의 코드 작성으로 모바일 (iOS, Android), 데스크톱 (Windows, MacOS)에서 실행 가능하다.2. 하나의 프로젝트에서 모든 플랫폼을 관리할 수 있으며, 플랫폼별 코드를 따로 작성할 필요가 없다.3. Hot Reload를 지원한다. Hot Reload란, 앱이 실행중에 코드를 수정하더라도, 빌드하지 않..
-
[포토샵] 이모티콘 만들기 2포토샵/포토샵 실습 2025. 1. 4. 07:41
포토샵으로 이모티콘 그림을 그렸는데, 마음에 들지 않을 때가 많이 있다. 예를 들면 아래와 같은 상황이다. 선의 두께가 일정하지 않고, 퀄리티가 낮아 보인다. 이를 처음부터 다시 그린다면 많은 시간을 할애하게 된다. 따라서 수정 및 변형을 하는 편이 더 나을 것이다. 브러쉬 도구로 그림 완성하기 가장먼저, 몸통의 외곽선을 추출을 위한 Close loop로 몸통을 만들어주어야 하며, 브러쉬로 완성을 시킨다. 이목구비 변형하기 레이어에서 배경을 2번 복사한다. 원본은 활용하지 않을 것이며, 이목구비 레이어와, 몸통 레이어를 활용할 것이다. 그리고 이목구비 레이어에서 몸통과 배경을 지워준다. 자동선택도구로 영역을 클릭해가며, Delete키로 삭제해주면 된다. 또한 선택을 잘못한 경우에, 가장 상단의 선택창..