일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- typescript
- Animation
- MS-SQL
- listview
- AnimationController
- 애니메이션
- Flutter
- 바인딩
- JavaScript
- 닷넷
- 함수
- 오류
- 리엑트
- 자바스크립트
- spring boot
- HTML
- .NET
- 파이어베이스
- db
- MVVM
- Binding
- MSSQL
- 마우이
- 깃허브
- React JS
- Maui
- GitHub
- page
- Firebase
- 플러터
- Today
- Total
목록닷넷 (18)
개발노트

WinForm을 이용한 TCP 클라이언트 애플리케이션 만들기TCP 클라이언트를 이용한 통신은 다양한 네트워크 애플리케이션에서 중요한 역할을 합니다. 이번 글에서는 WinForm을 이용하여 TCP 클라이언트 애플리케이션을 만드는 방법을 다뤄보겠습니다. 이 애플리케이션은 서버와 연결하고 데이터를 송수신하는 기능을 제공합니다.애플리케이션 개요이 애플리케이션은 TCP 클라이언트로, 사용자가 버튼을 클릭하여 서버에 연결하고, 데이터를 보내고 받는 기능을 수행합니다. 요청 데이터는 단순 문자열로 서버에 전송되며, 서버로부터 응답을 받으면 그 내용을 화면에 표시합니다.UI 구성연결 버튼 (btn_open): 서버와의 연결을 시작합니다.종료 버튼 (btn_close): 서버와의 연결을 종료합니다.요청 버튼 (btn_r..
개요이번 글에서는 .NET Core의 IHostedService와 BackgroundService를 활용하여 TCP 서버를 백그라운드 서비스로 구현하는 방법을 소개합니다. TCP 서버를 구축하고, 백그라운드 서비스에서 이를 실행하는 방식과 종속성 주입(DI)으로 관리하는 원리를 설명합니다.1. TCP 서버란?TCP 서버는 클라이언트와의 연결을 유지하면서 데이터를 송수신하는 서버입니다. .NET Core에서는 TcpListener와 TcpClient를 사용하여 TCP 서버를 구축할 수 있습니다.이 글에서는 TcpServer 클래스를 만들어서 클라이언트의 요청을 받고, 해당 메시지를 그대로 응답하는 간단한 TCP 서버를 구현합니다.2. TCP 서버 구현하기TcpServer 클래스 (IHostedService..

드디어 CommunityToolkit 누겟에서 MAUI앱에서 동영상을 재생할 수 있게 만들어주는 기능이 추가되었습니다. (정식버전 아님) 이 누겟은 .NET 7.0 과 같이 배포하는 것을 목표로 하기때문에 .NET 7으로 업데이트하는 것을 권장드립니다. 또한, .NET 7.0은 안드로이드 API 33을 타깃으로하며, 닷넷 업데이트 시, 원래있던 안드로이드 API 32, 31, 30 등 지워 버 리기 때문에.. 타깃 API가 33이하라면 주의가 필요합니다. 아래 설명은 이를 이용한 동영상 기능구현으로, 기존에 개발중인 프로젝트가 .NET 7이 아니라면 호환성 문제로 여러 오류와 마주하게 되니 주의가 필요합니다. - 참고링크: https://blog.verslu.is/maui/mediaelement-for-..

모바일에는 Dark Mode라는 기능으로 핸드폰의 테마를 변경할 수 있다. 다크모드, 라이트모드에서의 Control의 Color 동일하다면 사용자입장에서 불편을 겪을 수 있다. 이를 해결하기 위해 Control에서 {AppThemeBinding} 태그 확장을 이용하여 Color 뿐만 아니라 다크모드, 라이트모드에서의 Property 값을 지정할 수 있다. - 참고링크: https://learn.microsoft.com/ko-kr/dotnet/maui/xaml/markup-extensions/consume#appthemebinding-markup-extension XAML 태그 확장 사용 - .NET MAUI .NET MAUI XAML 태그 확장은 다양한 원본에서 요소 특성을 설정할 수 있도록 하여 XAM..

이번 시간에는 Stopwatch를 이용하여 화면이 생성되고 나서부터 10초간 시간제한이 있는 화면을 만들어본다. MVVM 패턴으로 ViewModel에 있는 스톱워치를 View에 바인딩( Binding)하여 특정시간에 알림과 화면이 사라지는 기능을 추가한다. - 참고링크: https://learn.microsoft.com/ko-kr/dotnet/api/system.diagnostics.stopwatch?view=net-6.0 Stopwatch 클래스 (System.Diagnostics) 경과 시간을 정확하게 측정하는 데 사용할 수 있는 일련의 메서드와 속성을 제공합니다. learn.microsoft.com 1. Stopwatch의 시간을 볼 수 있도록 QnAPage.xaml(Voew)에 InTime이라는 ..

SwipeView : 좌우상하 4개의 방향으로 특정 컨트롤을 밀었을때 Item을 노출시키고 Mode라는 Property로 Execute 또는 Reveal 를 선택 할 수 있다. (또한, Command 나 Invoked 로 이벤트 발생 시킬 수 있음) - 참고링크: https://docs.microsoft.com/en-us/dotnet/maui/user-interface/controls/swipeview SwipeView - .NET MAUI The .NET MAUI SwipeView is a container control that wraps around an item of content, and provides context menu items that are revealed by a swipe ges..

Web Server에서 받은 Json 데이터를 MAUI에 연동 시키는 방법을 포스팅 하려고 했으나... Json을 연동하는 방법이 다른 .NET 템플릿(Winform, WFP, ASP, 등..)과 크게 다르지 않기 때문에 이를 CarouselView 라는 새로운 컨트롤에 Jason 데이터를 바인딩해보는 것을 메인으로 소개하겠다. 물론 MVVM 패턴을 유지한다. Jason 파싱하기 1. Model에 Monkeys라는 Entity 클래스를 작성한다. Monkeys.cs using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tas..

이번 시간에는 List가 아닌 ObservableCollection 라는 클래스를 사용하여 ListView에 연동 시켜본다. (MVVM 패턴 유지) - Model: Quest.cs - View: Page21.xaml , Page21.xaml.cs (코드 비하인드) - ViewModel: Page21_ViewModel.cs https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.objectmodel.observablecollection-1?view=net-6.0 ObservableCollection 클래스 (System.Collections.ObjectModel) 항목이 추가 또는 제거되거나 전체 목록이 새로 고쳐질 때 알림을 제공하는 동적 데이터 ..

앱실행시 초기 화면에 원하는 이미지로 주고 싶을때가 있다. 앱실행시 나오는 초기화면을 Splash Screen 라고 하며, 여기에 카카오나 네이버 어플처럼 자신만의 로고를 초기에 띄워주는 기능을 만들어보자. 1. Splash Screen에 사용할 이미지를 프로젝트에 넣는다. 2. 이미지 파일을 우클릭해서 속성에 들어간다. 3. 빌드작업 > MauiSplashScreen을 체크한다. 4. 프로젝트명.scproj 파일을 열어 ItemGroup에 아래와 같이 이미지 파일경로를 넣어준다. 5. 앱이 실행될때 이미지가 실행된다.! 끝!

View에 있는 Control들의 Property는 데이터형식이라서 ViewModel 쪽에서 바인딩 하기가 쉬웠다. string이면 string형, bool형이면 bool형으로 생성해서 Binding 시켜주면 되었기때문이다. 그렇다면, Control에 있는 고유 Task(확장 Method)나 Method 같은 경우에는 어떻게 바인딩 시켜야할까? 위에서 보는 것과 같이 코드 비하인드에 작성하면 코드 한줄이면된다... 굉장히 쉽다, 하지만 코드비하인드에 작성하게되면 View와 ViewModel의 의존성을 높이는 것이기 때문에 그런 짓은 하지않는다. Button 을 눌렀을 때 Image가 움직이는 기능을 예제로 만들면서 Image 컨트롤의 Task(RotateTo, ScaleTo, TranslateTo )를 ..