C#

AD(Active Directory)란? AD는 마이크로소프트가 윈도우 환경에서 사용하기 위해 개발한 ※LDAP, ※디렉토리 서비스의 기능이다. 사용자가 공유된 자원의 위치와 해당 서버의 로컬 사용자 계정 정보를 모두 알고 있지 않는다 하여도, 중앙에서 Admin이 사용자 인증-권한 부여 처리가 가능하도록 만들어, 기업 내의 자원 및 권한 관리에 용이하다. ※LDAP : TCP/IP 상위에서 디렉토리 서비스를 조회, 수정하는 응용 프로그램 ※디렉토리 서비스 : 분산된 여러 자원에 대한 정보를 중앙의 저장소에 통합, 조직관리를 진행하는 응용 소프트웨어 AD의 구성 요소 도메인(Domain) AD에서의 가장 기본이 되는 관리 대상 단위 (AD가 설치된 윈도우 서버) 하나의 도메인 트리 / 포레스트 도메인의 ..
· C#
C#의 버전의 업데이트(5.0)가 계속됨에 따라서 async와 await가 도입되어 비동기 프로그래밍을 활용할 수 있게 되었다. aysnc 해당 메서드에게 await를 가지고 있음을 알려주는 역할, aysnc가 표시된 메서드는 await을 1개 이상 가질 수 있다. async라고 해서 자동으로 비동기 프로그래밍을 수행하는 것은 아니다. 실제로 중요한 역할을 하는 키워드는 await이다, 보통 Task, Task 객체와 사용된다. UI 프로그램에서 await은 Task와 같이 클래스의 객체가 완료되기를 기다린다. 여기서 중요한 점은 스레드가 정지되지 않고 루프를 계속 돌 수 있도록 필요한 코드를 await 키워드가 자동으로 추가해준다는 점이다. await은 해당 Task가 끝날 때 까지 기다렸다가 완료한다..
· C#
델리게이트 delegate void degateName(매개변수); 위는 선언 형식이다. 델리게이트를 이용하여 메소드를 넘겨줄 수 있다. 메소드를 참조 하는 것이고, 참조하는 메서드가 달라지면 델리게이트 역시 달라진다. 매개변수의 데이터 형식과 반환형은 당연하게 참조할 메소드의 형식과 같아야 한다. Task : 비동기 프로그래밍 Task는 스레드풀 내부에서 작동하는 스레드이고, 스레드 처럼 쉽게 생성하고 Join 기능까지 사용이 가능하다. 스레드풀과 다르게 return값을 받을 수 있어 thread.lock을 사용하지 않아도, 각 스레드에서 결과 값을 받아 메인 프로세스에서 스레드의 값을 받아 사용이 가능하다. 스레드를 지속적으로 생성하고 삭제하면 오버헤드가 발생한다. 이 단점을 해셜하기 위해 Threa..
· C#
System.Threading.Thread 이 클래스의 생성자에 실행하고자 하는 메서드를 Delegate로 지정한 후, Thread 객체에서 Start() 메서드를 호출하면 새로운 스레드가 생성된다. class Program { static void Main(string[] args) { new Program().DoTest(); } void DoTest() { // 새로운 쓰레드에서 Run() 실행 Thread t1 = new Thread(new ThreadStart(Run)); t1.Start(); // 메인쓰레드에서 Run() 실행 Run(); } // 출력 // Thread#1: Begin // Thread#3: Begin // Thread#1: End // Thread#3: End void Ru..
· C#
Postback 이벤트를 처리하기 위해서 페이지 자체적으로 다시 로드하여 처리하는 기능이다. 서버로 데이터를 전송하거나 버튼을 누를때 다시 자신에 페이지가 새로고침 될 때에도 작동한다. 클라이언트에서 서버로 데이터를 보낸 후에 응답을 다시 클라이언트로 보내는 프로세스를 나타낸다. 일반적으로 submit 같은 양식 제출이나 페이지 버튼 클릭으로 작동된다. 개발자가 사용자 입력에 응답하고 페이지를 실시간으로 업데이트 할 수 있는, 동적 대화형 웹 어플리케이션을 만들 수 있게하는 중요한 기능이다. Viewstate 웹 페이지의 상태를 Postback 중에 보존할 수 있게 해주는 메커니즘이다. 웹 페이지와 사용자가 상호작용 할 때 페이지는 서버에 요청을 보내고 서버는 요청된 컨텐츠로 응답한다. 일반적인 웹 페이..
· C#
ASP.NET 페이지 생명 주기 lIfe Cycle (초기화, 컨트롤 인스턴스화, 상태 복원 및 유지 관리, 이벤트 처리기 실행) ASP.NET의 페이지가 실행되면 일련의 처리 단계를 수행하는 생명 주기를 거친다. 사용자 지정 컨트롤을 개발하는 경우 컨트롤을 올바르게 초기화하고 뷰 상태 데이터로 컨트롤 속성을 채우고 컨트롤 동작 코드를 실행하려면 페이지 수명 주기를 확실하게 알아야 한다. 각 Page Event 마다 적절한 로직을 사용하여 원하는 결과를 낼 수 있게 하기위해 사용한다. 예를들어 공통적으로 상속되는 BasePage와 OnPreRender 이벤트에 공통으로 사용되는 변수 ( html,css,js ) 등의 불필요한 중복을 없앨 수도 있다. 수명 주기의 일부는 페이지가 포스트백으로 처리 될 때에..
· C#
Server.MapPath(”.”) 현재 파일(웹 폼)의 물리적인 전체 경로 : 현재 스크립트 파일의 루트 경로 : protected void Page_Load(object sender, EventArgs e) { // 현재 웹 폼의 서버측의 물리적 경로 this.Label1.Text = Server.MapPath("."); // 같은 경로 // 현재 스크립트 파일의 루트 경로 this.Label2.Text = Request.ServerVariables["SCRIPT_NAME"]; } 현재 스크립트의 물리적인 경로를 나타낼때에는 Server.MapPath() 메서드를 사용한다. Application 개체는 응용 프로그램 영역에서 어떤 값을 저장시켜 놓은 뒤, 그 값을 웹페이지 어디서든 참조할 수 있는 기..
· C#
저번, 저저번에 모두 DB에 데이터를 입력하고 데이터를 받아올때는 GridView와 ListView를 이용하여 정해진 폼에 불러들였다. 전자들은 모두 vs에서 제공하는 템플릿이 있고, 그에 맞는 기능들이 존재하기 때문에 분명히 장점이 있지만 수정이 간단하지 않고 자유롭지 못하다는 단점이 존재한다. spring에서 jsp를 이용할때는 각각 따로 구현하여 js로 기능을 추가하고 html을 편집하여 출력했다. 이번에는 그런 Repeater를 사용해보려한다. 마스터가 있는 web form 페이지를 만들어 부트스트랩으로 구현해놓은 AdminMst.Master를 지정하여 포함시켜준다. 공통적으로 보여져 줬으면 하는 ui들을 내부적으로 포함할 수 있어 편리한 기능이다. include, footer 같은 기능이다. ...
함형우
'C#' 카테고리의 글 목록