DDD Developer

얼굴 인식해서 크롭하는법
·
C#
DNN(Deep Neural Network) 구조란? DNN은 사람의 뇌 구조를 흉내 내어 만든 인공지능이다.여러 층(Layer)으로 구성되어 데이터를 학습하고 결과를 예측한다.이 코드에서 사용한 DNN은 **SSD(Single Shot Multibox Detector)**라는 얼굴 탐지 모델이다.SSD는 사진 전체를 한 번에 보고 얼굴이 있는 위치를 찾아낸다.딥러닝 모델은 학습된 데이터를 바탕으로 입력된 사진에서 얼굴의 특징을 분석한다.1. 모델 파일 준비string modelPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "resource/res10_300x300_ssd_iter_140000_fp16.caffemodel");string conf..
MVVM 패턴을 활용한 AccuWeather API 날씨 검색 앱 정리
·
C#
1. MVVM 패턴의 구성 요소 Model (모델)데이터 구조를 정의하고 데이터 저장소와 연결되는 부분.데이터베이스 접근, API 호출, 데이터 연산을 처리.예제: City, Weather 클래스는 API로부터 가져온 데이터를 정의. View (뷰)사용자와 상호작용하는 UI를 정의.XAML에서 데이터와 UI 컨트롤을 바인딩.예제: Weather.xaml은 사용자가 날씨를 검색하고 결과를 표시. ViewModel (뷰모델)View와 Model 사이에서 데이터를 가공하여 View에 전달.View와 바인딩되어 사용자 입력을 처리하고 데이터를 업데이트.예제: WeatherVM은 날씨 데이터를 받아 View에 전달하고, 사용자 입력을 API 호출로 처리. 2. 프로젝트 구성 Model: 데이터를 표현하는 구조체C..
C# 테트리스 만들기 (winform)
·
C#
GameGrid.cs이 파일은 게임 보드의 격자(grid)를 관리하는 GameGrid 클래스를 포함한다public class GameGrid{ private readonly int[,] grid; // 격자를 나타내는 2차원 배열로, 각 셀에 블록이 있는지 확인할 수 있음. public int Rows { get; } // 격자의 행 수. public int Columns { get; } // 격자의 열 수. public int this[int r, int c] // 인덱서로 특정 위치의 값을 가져오거나 설정. { get => grid[r, c]; set => grid[r, c] = value; } public GameGrid(int rows..
C# 인터페이스란?
·
C#
C#에서 인터페이스는 클래스나 구조체가 특정 메서드, 속성, 이벤트 등을 반드시 포함하도록 강제하는 계약(Contract) 같은 개념이다. 즉, 인터페이스를 구현하는 클래스는 인터페이스에 정의된 모든 멤버를 구현해야 한다는 규칙을 따르게 된다.  1. 인터페이스의 정의  인터페이스는 interface 키워드를 사용하여 정의한다. 인터페이스에는 메서드, 속성, 이벤트, 인덱서 등을 선언할 수 있지만, 실제 구현(메서드 바디)은 포함되지 않는다.public interface IExample{ void MethodA(); // 메서드 int PropertyB { get; set; } // 속성}  2. 인터페이스 구현  클래스에서 인터페이스를 구현하려면 : 인터페이스명을 사용하고, 인터페이스에 ..
C++과 C#의 차이점과 기본 문법
·
C#
C++과 C#은 둘 다 C 언어에서 파생된 프로그래밍 언어로, 공통점이 많지만 차이점도 분명히 존재한다. C++은 주로 시스템 프로그래밍, 게임 개발, 임베디드 시스템 등 고성능이 필요한 분야에서 많이 쓰이는 반면, C#은 주로 Windows 애플리케이션 개발과 웹 애플리케이션, 게임 개발(특히 Unity 엔진)에서 많이 사용된다. 먼저, 메모리 관리 측면에서 C++은 개발자가 메모리 할당과 해제를 직접 관리해야 한다. 이는 new와 delete 키워드를 사용해 동적으로 메모리를 할당하고 해제할 수 있으며, 잘못된 메모리 관리는 메모리 누수나 오류를 일으킬 수 있다. 반면, C#은 **가비지 컬렉터(Garbage Collector)**를 통해 메모리 관리를 자동으로 처리해 준다. 개발자가 메모리 관리를 ..