[C#/dotnet] 서버 컨트롤
·
C#
참조https://learn.microsoft.com/en-us/previous-versions/aspnet/zsyt68f1(v=vs.100)  서버 컨트롤  - 서버 측에서 실행되며, 클라이언트에게 동적인 HTML 콘텐츠를 생성하는 컴포넌트  - 상태 정보를 유지할 수 있음     · 기본적으로는 View State를 활용함 (https://young0105.tistory.com/363)  - 서버 측에서 발생하는 이벤트를 처리할 수 있음     ex) 버튼 클릭 시 서버 측 코드가 실행되도록 처리  - 데이터 소스와 바인딩할 수 있는 기능을 제공함     ex) GridView, Repeater, ListView 등의 컨트롤을 사용하여 DB 데이터를 화면에 표시할 수 있음 ▶ HTML 서버 컨트롤 ..
[C#/dotnet] View State
·
C#
참조https://learn.microsoft.com/en-us/previous-versions/aspnet/bb386448(v=vs.100)   View State  - 라운드 트립 동안 페이지/컨트롤의 상태를 유지하는 역할 ※ 라운드 트립 (Round Trip)  - 클라이언트와 서버 간의 상호작용을 설명하는 용어  1. 클라이언트가 특정 작업을 수행하고 서버에 요청을 보냄   2. 서버가 요청을 처리하고, 필요한 데이터를 생성하거나 상태를 변경함   3. 서버가 처리 결과를 클라이언트에게 반환함   4. 클라이언트가 서버의 응답을 받아 화면에 표시함 등장 배경  - 웹 애플리케이션은 기본적으로 Stateless     : 서버에 요청이 있을 때마다 새로운 인스턴스가 생성되며, 요청 전 상태는 모두 ..
[C#/dotnet] 페이지 구조 - 마스터 페이지 & 콘텐츠 페이지
·
C#
참조https://learn.microsoft.com/en-us/previous-versions/aspnet/wtxbf3hh(v=vs.100)  페이지 구조  ① 마스터 페이지     - 여러 페이지에서 공통으로 사용할 수 있는 레이아웃 정의     - 사이트의 전체 레이아웃을 정의하는 페이지     - header, footer, navigation bar 등의 공통 요소를 포함함     - 각 페이지는 마스터 페이지를 기반으로 구성됨     - 마스터 페이지는 중첩될 수 있음        : 한 마스터 페이지 안에 다른 마스터 페이지를 포함하는 구조를 만들 수 있음     - 브라우저에 렌더링되는 모든 서버 컨트롤을 포함하는 컨테이너로 작동함     - 확장자 : .master     - @ Mast..
[C#/dotnet] 페이지 수명 주기
·
C#
참조https://learn.microsoft.com/en-us/previous-versions/aspnet/ms178472(v=vs.100)  페이지 생명 주기  1. Page Request (페이지 요청)     - 페이지 생명 주기가 시작되기 전     - 사용자가 페이지 요청함        → 해당 페이지를 새로 파싱하고 컴파일해야 하는지, 아니면 캐시된 버전을 보낼 수 있는지를 결정함        → 전자라면 페이지 생명 주기가 시작됨  2. Start (시작)     - Request와 Response 속성 설정     - IsPostBack 속성 설정        · Postback (포스트백)            : 페이지가 처음 로드되는 것이 아니라, 사용자가 웹 페이지에 데이터를 입력하..
[C#/dotnet] 제네릭 (Generics)
·
C#
참조https://learn.microsoft.com/ko-kr/dotnet/csharp/fundamentals/types/generics  제네릭 (Generics)  - 특정 데이터 형식에 의존하지 않는 클래스/메서드를 정의할 수 있음     → 다양한 데이터 형식 처리  - 하나 이상의 형식 매개변수를 사용함     → 일반적으로 T, U 등으로 표기됨  - 동일한 코드에서 여러 데이터 형식을 처리할 수 있음     → 코드 중복 감소 / 유지 보수성 UP ▶ 제네릭의 장점을 보여주는 예시# 제네릭을 사용하지 않을 때class IntList { public IList list { get; set; } = new List(); public void Add(int value) { list.Add(va..