본문 바로가기

전체 글151

C# Dictionary 딕셔너리 C#에서 딕셔너리(Dictionary)는 키-값 쌍을 저장하는 데이터 구조로, 특히 검색 및 조회 작업에 매우 효과적입니다. 딕셔너리는 System.Collections.Generic 네임스페이스에 정의되어 있으며, 제네릭 형식을 사용하여 키와 값의 데이터 형식을 지정할 수 있습니다. 이것이 의미하는 바는 다양한 데이터 형식의 키와 값 쌍을 저장할 수 있으며, 컴파일 타임에 형식 안전성을 제공합니다. 1. 딕셔너리 생성: 딕셔너리를 만들 때는 다음과 같이 선언하고 초기화합니다. Dictionary myDictionary = new Dictionary(); TKey는 키의 데이터 형식을 나타내며, TValue는 값의 데이터 형식을 나타냅니다. 2. 요소 추가 및 업데이트: 딕셔너리에 요소를 추가하거나 업데.. 2023. 11. 7.
MouseOver/Out와 MouseEnter/Leave 그리고 hover "MouseOver"와 "MouseOut"은 마우스 이벤트입니다. "MouseOver" 이벤트는 마우스가 어떤 요소 위로 올라갔을 때 발생하며, "MouseOut" 이벤트는 마우스가 어떤 요소를 빠져나갈 때 발생합니다. "MouseEnter"와 "MouseLeave" 이벤트도 마우스 이벤트입니다. "MouseEnter" 이벤트는 마우스가 어떤 요소에 진입했을 때 발생하며, "MouseLeave" 이벤트는 마우스가 어떤 요소를 빠져나갈 때 발생합니다. 이벤트 이름이 조금 다르지만, "MouseOver"와 "MouseOut"과 비슷한 동작을 합니다. 차이점은?? "MouseOver"와 "MouseOut" 이벤트는 요소 상에서 마우스 커서가 움직일 때 발생하는 이벤트입니다. "MouseOver" 이벤트는 마우.. 2023. 10. 26.
C#의 record C#의 record는 C# 9.0 버전부터 도입된 새로운 데이터 구조입니다. Record는 불변(immutable) 데이터 유형을 정의하는데 사용되며, 간결한 구문으로 클래스보다 간편하게 작성할 수 있습니다. Record는 레퍼런스 타입으로 생성되며, 값 타입과는 다릅니다. Record를 정의하려면 record 키워드를 사용합니다. Record를 정의하면 C# 컴파일러가 자동으로 일부 기본 구현을 생성하며, 데이터를 수정할 수 없도록 설계됩니다. Record의 주요 특징은 다음과 같습니다: 값 불변성(Immutability): Record의 필드는 기본적으로 읽기 전용(readonly)으로 생성되며 수정할 수 없습니다. 이것은 데이터의 안정성과 일관성을 보장합니다. 값 비교(Structural Equal.. 2023. 10. 25.
[스크랩] REST API 관점에서 바라보는 HTTP 상태 코드(HTTP status code) https://sanghaklee.tistory.com/61 REST API 관점에서 바라보는 HTTP 상태 코드(HTTP status code) REST API 관점에서 바라보는 HTTP 상태 코드(HTTP status code) TOC Introduction HTTP 와 REST HTTP Status Code 2XX Success 4.1. 200 OK 4.2. 201 Created 4.3. 202 Accepted 4.4. 204 No Content 4XX Client errors 5.1. 400 Bad Request 5.2. 401 Unauthori sanghaklee.tistory.com HTTP 와 REST HTTP(HyperText Transfer Protocol)는 웹 환경에서 정보를 주고받기.. 2023. 8. 31.
#2 kioskProject - CRUD, ORM Tutorial: Create a minimal API with ASP.NET Core How to use OpenAPI in Minimal API apps entity framework cross database engine c\Workspace 폴더에서 cmd 창 code . → visual studio code 열어줌. mkdir kioskProject cd kioskProject ls cd kiosk ls code . Program.cs → dotnet의 기본 MVC 기반 (ASP.NET 서버 구성, API 서버 구성과 비슷) app.MapGet(...) → Restful, Endpoint Ctrl+J로 터미널 열고, dotnet run으로 나온 주소로 열면 실행 dotnet build dotne.. 2023. 8. 31.
#1 kioskProject - erd diagram - ERD Diagram - erd diagram arrow 2023. 8. 31.
12 MVVM 아키텍처 MVC 대체하기 위한 아키텍처 MVC : 각 뷰를 통제하는 controller를 제어하기 어렵고, view와 controller가 N:N구조로 만들어지다 보면 복잡 Model과 Controller를 View에 종속적인 구조로 구성한 View기준 아키텍처. View가 종료되면 ViewController와 ViewModel은 같이 소멸. → ViewModel 뷰가 보여주는 화면을 대신. 통신을 위한 데이터 레이아웃이 아니다! → ViewController 뷰의 이벤트나 필요한 메소드를 구현해 view와 상호 연동. 전역적인 글로벌 controller와는 달리, 자신과 연결된 View에 한하며 이벤트나 참조 등의 구현이 단순 Reference 이용 데이터 바인딩 이용 : viewModel의 데이터를 이용 기본.. 2023. 8. 31.
07 위젯(그리드 & 트리) draganddrop 그리드 내부 아이템을 가지고 있는 컨테이너 Ext.grid.Panel 이라는 패널의 일종 Ext.grid.Panel xtype: 'gridpanel' Ext.grid.Panel xtype: 'grid' 그리드는 Store를 필요로 함 스토어 : 데이터를 가지고 있는 저장소. 서버나 로컬의 데이터를 가져와 보관. 데이터의 레이아웃은 Model로 정의. 그리드 출력해보기 Ext.onReady(function() { var store = Ext.create('Ext.data.Store', { fields: ['name', 'email', 'phone'], groupField: 'nation', data: [ { nation:'대한민국', name:'김하나', email:'hong@test.com', phone.. 2023. 8. 31.
04 레이아웃 초기 ExtJS에서 태그 안에는 아무것도 없지만, app.js에 코드를 작성하면 미리 정의되어 있는 컴포넌트들이 자동으로 삽입되어 index.html에 보임 ExtJS 컴포넌트들은 기본적으로 block 속성 (위-아래로 정렬) 1. panel 레이아웃을 구성할 때 쓰이는 Container. 하위 구성요소를 포함할 수 있음 renderTo:Ext.getBody() →어디에 보여지는지 : body안에 Ext.onReady(function(){ Ext.create("Ext.panel.Panel",{ region: 'center', width: 500, height: 400, border: true, title: 'Hello', html: ' Hahee!', renderTo:Ext.getBody() }); }).. 2023. 8. 31.