일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 깃허브
- db
- 자바스크립트
- listview
- 플러터
- MVVM
- 오류
- Flutter
- Maui
- MS-SQL
- 함수
- 애니메이션
- MSSQL
- page
- 마우이
- 리엑트
- JavaScript
- spring boot
- 바인딩
- Binding
- React JS
- typescript
- HTML
- .NET
- Animation
- 파이어베이스
- GitHub
- Firebase
- 닷넷
- AnimationController
- Today
- Total
목록분류 전체보기 (246)
개발노트

노트북에서 작업하다가 PC에서 하려고 하다보니 Git을 Pull 해야했는데.. 아이콘이 없어져서 설정, 도구, 뷰 등 다 찾아봤는데 없다. 익스텐션도 다 설치해봤는데 안되었고, 우연히 누른 단축키로 해결되었다. ctl + shift + "G" 누르고 "G" 를 한번 더 입력하면 나옴 우클릭해서 Keep 설정으로 이제 고정 해두자..

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..

문제: DB로부터 결과 값은 다 잘받아오는데 결과 값이 직렬화가 안되는 문제삽질 기간: 하루해결: 객체 속성을 public으로 선언하여 해결발견 디버깅 구간var resultData = personData.SelectAddress(addressID); //잘나옴response.Body = JsonConvert.SerializeObject(resultData); //{[]} 빈값으로 직렬화됨 원인은 결과로 받은 BusinessEntityAddress 객체 속성에 public을 안붙여서...였다. 해결 전 [Table("Person.BusinessEntityAddress")] public class BusinessEntityAddress { [Column("BusinessEnt..
웹파일을 CDN, dll로 띄우면 내부망을 사용하는 경우, 등 문제가 생긴다. 그렇기 때문에 프로젝트 파일을 받아서 띄우기로 해본다. 자 그럼 먼저 아래 문서를 읽어보자https://learn.microsoft.com/ko-kr/aspnet/core/fundamentals/static-files?view=aspnetcore-9.0 ASP.NET Core의 정적 파일ASP.NET Core 웹앱에서 정적 파일을 제공 및 보호하고 정적 파일 호스팅 미들웨어 동작을 구성하는 방법을 알아봅니다.learn.microsoft.com해결책은 index.html, css, js 파일 등 정적 파일을 프로젝트로 추가하고, 이를 미들웨어로 등록하여 띄워보는 것이다. 목표는 Scalar ui를 기존 CDN으로 띄우는것을 파일..

패키지를 Visual Studio 에서 제공하는 누겟 관리자로만 설치 해왔다면이제는 패키지를 소스로 받아 수정도하고 커스텀해서 사용 해보자 Swagger 패키지를 프로젝트로 받아오는 것을 기준으로 한번 설명해보겠다. 원리는 다음과 같다.1. 누겟 패키지의 master 리포지토리 Url을 찾는다.보통 누겟 갤럭시에서 찾으면 나옴https://www.nuget.org/packages/Swashbuckle.AspNetCore.SwaggerUI Swashbuckle.AspNetCore.SwaggerUI 7.2.0Middleware to expose an embedded version of the swagger-ui from an ASP.NET Core applicationwww.nuget.org 2. git c..
.NET Framework 에서 사용했다면 아래 보통 아래와 같이 HttpClient 인스턴스를 생성하고 요청, 응답을 보내고 받는 방법을 사용했을 거야HttpClient client = new HttpClient(); 그냥 이렇게 사용했다면 어떤 것들이 문제되었을까?MicroSoft에서는 기존 HttpClient의 어떤 문제들을 인지하였고 이것들을 고치기 위해 어떤 방안들을 제시했을지 같이 알아보자.NET Core 2.1부터는 아래와 같이 사용할 수 있을거야문제점 1. 소켓 고갈- 소켓 고갈이 생기는 원인은 뭘까?커넥션 Pool을 이용하지않고 새로운 인스턴스를 생성하기 때문에, 항상 새로운 연결을 생성하고 해제해 HttpClient를 매번 new HttpClient()로 생성하면, 내부적으로 Http..
Dapper 는 .NET에서 사용되는 ORM 으로 이를 이용하면 좀 더 편하게 DB 작업이 가능하다.Dapper는 DB에서 반환되는 테이블을 이용하여 객체와 맵핑이 가능하다.TableValueParameter 사용으로 DB에 정의된 TVP를 매개변수로 이용가능하다.반환되는 테이블의 수가 여러개라면 QueryMultiple 로 처리가능하다.ORM 이 외에도 저장 프로시저, 쿼리 다 사용가능하다. SplitOn 을 사용하여 Join 결과를 "Column1, Column2"와 같이 구분자를 지정, 이를 기준으로 여러개의 객체로 나누어 맵핑이 가능하다. (이를 통해 Json Depth 맵핑가능)예시) 1. Dapper로 TVP 사용하기(AsTableValuedParameter)using Dapper;using ..
결론만 말하면,포괄열은 Leaf 페이지에 해당 키를 추가해주는 것(단, 정렬은 안함 넣는대로 쌓임)그렇다면..논클러스터 인덱스 + 포괄열를 만들면논클러스터 인덱스 키로 지정된 열은 Leaf 노드에 정렬되어있지만,포괄열로 넣은 키들은 정렬되어 있지않다.-> 인서트 했을 때 적어도 포괄열 때문에 정렬을 다시 하지않아도 된다.-> Select 했을 때 Leaf 페이지에서 Seek 하고싶다면 포괄열에 키를 넣어주면 RID 나 Key Look Up을 줄일 수 있다. 클러스터 + 논클러스터 인덱스 + 포괄열 이라면 Non-Clustered Index / Clustered Index / Include Index 좀 더, 정리해서 말하자면 포괄열 (Included Columns)포괄열은 비클러스터 인덱스의 리프 노..
IList 사용으로 인한 변화 및 이점1. 구체적인 구현에 의존하지 않음기존 방식 (List 사용):Order 클래스가 특정 구현인 List에 의존합니다.만약 나중에 아이템을 배열(Array)이나 다른 컬렉션(LinkedList, ObservableCollection)으로 바꾸고 싶다면 Order의 코드를 수정해야 합니다.IList 사용:Order는 IList 인터페이스를 통해 아이템 목록을 관리하므로, 내부에서 사용하는 컬렉션의 구현에 대해 알 필요가 없습니다.이후 List 대신 다른 컬렉션 구현으로 쉽게 교체할 수 있습니다.//예시1// List을 전달IList gameItems = new List();gameItems.Add(new EquipmentItem("Sword"));gameItems.Add..