인덱서(Indexer)
인덱서(Indexer) 인덱서란 클래스를 배열(Array)과 같은 방식으로 원소에 접근할 수 있도록 해주는 기법입니다. C# 언어의 특징 중 하나로 인덱서를 이용하면 자료...
BaGet을 이용한 NuGet 서버 구축
NuGet Nuget(이하 누겟)이란 닷넷 프로젝트에서 사용할 수 있는 의존성 관리자입니다. 자바의 메이븐에서 빌드 툴의 기능을 뺀 의존성 관리 기능만 남은...
ORM과 Stored Procedure
DB에 저장된 자료를 다루기 위해서는 쿼리를 이용합니다. 어플리케이션에서도 DB의 자료를 다루기 위해서는 쿼리를 사용해야 합니다. 하지만 단순한 쿼리 외에도 Code에서...
.NET 테스트 프레임워크
유닛 테스트 유닛 테스트(Unit Test) 또는 단위 테스트는 프로그램을 작은 단위로 나누어 의도한 대로 동작하는 지 검증하는 작업입니다. TDD와 CI/CD가...
이진 힙(Binary Heap)
힙(Heap) 힙(Heap)이란 트리 기반 자료구조로 힙 속성을 만족하는 거의 완전한 트리입니다. 힙 속성이란 예를 들어, 최대힙(Max Heap)일 경우 부모 노드는...
C# 8.0 무엇이 달라졌을까
.NET Core 3.0 버전이 정식 출시되었습니다. 더불어 C# 8.0에 대한 프리뷰 버전을 지원합니다. C#은 언어의 발전 속도가 매우 빠른 것...
최대공약수와 최소공배수
최대공약수(Greatest Common Divisor)와 최소공배수(Least Common Multiple)는 소인수분해를 배운 다음 배우게 됩니다. 작은 수를 풀 때는 인수분해를 이용하여 풀지만 큰 수를...
공통 최장 문자열 찾기
두 문자열에서 가장 긴 공통 문자열을 찾는 문제는 코딩 테스트의 단골 기출 문제입니다. 영어로 Longest Common Substring Problem이라고 합니다. Brute...
Task.Wait과 await의 차이점
Stack Overflow에서 발견한 흥미로운 질문과 답변입니다. set 출처: https://stackoverflow.com/questions/9519414/whats-the-difference-between-task-start-wait-and-async-await .NET 프레임워크 4.5 버전 이후에서는 비동기 프로그래밍을 쉽게 할 수 있도록...
Xaml MVVM 프레임워크 소개
MVVM 디자인 패턴은 장점이 무수히 많아 설명하기 힘들 정도입니다. MVVM 디자인 패턴에 대해 알고 싶다면 이전 포스트를 참조해주세요. MVVM 패턴은...
최단거리 구하기, 하버사인 공식(Haversine Formula)
스마트폰 시대에 지도 앱이 없는 분은 거의 없을 것입니다. 스마트폰에서 가장 유용하게 쓰는 기능 중 하나입니다. 옛날에는 운전할 때도 글러브...
DFS와 BFS
예전 카카오코드 예선 문제를 풀어보다가 DFS 알고리즘을 사용하게 되어 다시 한번 복습해보게 되었습니다. 문제: https://programmers.co.kr/learn/courses/30/lessons/1829 비슷한 유형의 문제들이 많이 있는데...
Universal Windows Platform이란?
UWP 앱은 Windows 10 이후 마이크로소프트 사에서 밀어주고 있는 차세대 범 윈도우 플랫폼입니다. 윈도우 뿐만 아니라 IoT, Xbox, 서피스, 홀로렌즈,...