c# 5

c# 대리자(Delegate)와 이벤트(Event) 개념잡기

오늘은 이벤트(Event)와 대리자(delegate)에 대해 글을 써보려 한다. C#의 핵심 개념 중 하나로, 이를 이용하여 이벤트 기반 프로그래밍을 구현할 수 있다. 1. 대리자(Delegates) 대리자는 C#의 중요한 개념 중 하나로, 메서드를 참조하는 타입이다. 대리자를 사용하면 매서드를 변수처럼 전달하고 호출할 수 있습니다. 대리자는 다음과 같은 상황에서 유용하게 사용된다. 1. 이벤트 처리 : 이벤트와 함께 대리자를 사용하여 이벤트 핸들러를 등록하고 호출할 수 있다. 이벤트가 발생하면 등록된 모든 이벤트 핸들러가 호출되어 처리된다. 2. 비동기 프로그래밍 : 대리자를 사용하여 비동기 작업을 처리할 수 있다. BeginInvoke 및 EndInvoke 매서드를 사용하여 대리자를 비동기적으로 호출..

c# Queue / Stack -자료구조

소프트웨어 개발에서 자료 구조는 핵심적인 역할을 수행한다. 데이터 저장, 조직화, 처리, 검색 등을 효율적으로 수행할 수 있는 방법들을 제공한다. 이를 통해 프로그램의 성능, 유지 보수성, 확장성 등 다양한 측면에서 이점을 얻을 수 있으므로 코딩을 하기 전 자료구조를 완벽하게 공부하는 것 또한 중요하다. 오늘은 C# 에서 기본적인 자료구조의 일종 Queue와 Stack을 공부해볼 예정이다. 1. 큐 (Queue) 와 스택(Stack) 이란? 활용 예시 Queue는 "대기열"이라는 뜻을 가지고 있으며, 데이터를 일시적으로 저장하는 선입선출(FIFO: First - In - First - Out) 방식의 자료구조이다. 우리 주변에서도 많은 예시를 볼 수 있는데, 가장 일반적 예시로는 은행의 창구나 대기열이 ..

c# Generics(제네릭) 이란

전 회사에서 Pyhton으로만 코딩하다 좋은 기회로 이직하게 되어서 C#을 다시 복습하고자 한다. 물론 기본적으로 전체를 훑는 게 아니라 그동안 잊고 있던 부분들을 다시 복습하기 위해서 글을 남긴다! 여러분도 같이 한번 훑어보면서 공부하는 글이 되길! 1. C# 제네릭(Generic) 이란? 제네릭(Generic)은 C# 프로그래밍 언어에서 제공하는 강력한 기능으로, 코드의 재사용성과 유연성을 향상해 주는 도구이다. 제네릭은 데이터 형식을 일반화하여 재사용 가능한 코드를 작성할 수 있게 도와준다. 제네릭을 사용하면 다양한 형식의 데이터를 처리하는 메서드와 클래스를 작성할 수 있으며 컴파일 시점에서 안정성을 보장해 준다! 그렇다면 제네릭은 언제 사용되는가? 1. 여러 데이터 형식에 대해 동일한 로직을 적용..

[Algorithm] 다익스트라(Dijkstra) 알고리즘 with c#

근 몇 년 동안 이직을 2번이나 하느라,, 굉장히 바쁜 하루하루를 살았어요 그러다 보니 블로그를 거의 안 들어오게 되었고 정신 차려보니...23년5월.. 다시 정신을 부여잡고 내가 배우고 공부한 것을 작성해 보기! 1. 다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘은 그래프에서 최단 경로를 찾기 위해 사용되는 알고리즘이다. 특정 출발점부터 다른 정점까지의 최단 경로를 구하는 문제를 해결하는 데에 적용된다. 다익스트라 알고리즘은 각 정점까지의 최단 거리를 점진적으로 계산하며, 그리디 알고리즘의 한 형태이다. 2. 다익스트라(Dijkstra) 알고리즘 활용분야 다익스트라 알고리즘은 다양한 분야에서 활용되는데, 대표적으로 길 찾기 애플리케이션 : 지도 서비스나 네비게이션 시스템에서 출발지와 목적지 ..

MVVM란 ? 디자인패턴에 대해서

개발을 공부하다 보면 디자인패턴이라는 말을 많이 들어보셨을 겁니다. 또한 객체 지향 소프트웨어를 공부하고 계신다면, 재사용할 수 있는 객체지향 소프트웨어를 만드는 것은 힘든 공부 중 하나입니다. 설계를 할때는 당장 가지고 있는 문제를 해결할 수 있어야 하지만, 더더욱 중요한건 나중에 생길 수 있는 문제나 추가된 요구사항들도 쉽고 간편하게 수용할 수 있도록 일반적이고 포괄적이어야 합니다 ! 여기서 나온 해결 책이 바로 '다지인패턴'이라는 것입니다. 즉, 디자인 패턴이란 효율적인 코드를 만들기 위한 방법론 이라고 생각하시면 됩니다. 오늘은 디자인패턴 중 WPF 에서 사용되는 MVVM 패턴을 공부해보도록 하겠습니다. (디자인패턴에 대해서는 나중에 한번 글을 올려보도록 할께요 !) 최근에는 안드로이드나 ios개..