본문 바로가기

2019/04

가비지 수집기 : GC (Garbage Collector) GC는 힙에 할당된 객체의 소멸을 자동으로 처리하여 메모리를 관리합니다. 이때 객체가 할당된 힙메모리의 관리는 세대로 구분하여 처리하게 됩니다. 예를 들어 static void Main(string[] args) { MyClass m = new MyClass(); Console.WriteLine(GC.GetGeneration(m)); } 위에서 처럼 new를 통해 최초로 개체를 생성하면 이 개체는 0세대로 분류됩니다. 참고로 GC의 GetGeneration메서드를 사용하면 특정 개체의 세대를 확인할 수 있습니다. 이렇게 프로그램 내에서 생성되는 참조형식의 개체들은 0세대로 분류해 계속 힙메모리를 할당하다가 어느정도 용량이 커지게 되면 GC가 자동으로 실행되어 현재 0세대중 사용되지 않는 개체를 골라내어 .. 더보기
[C#] null 조건 다음은 참조형 변수가 null인 상황을 확인하는 전형적인 방법입니다. myClass m = new myClass(); if (m != null) { Console.WriteLine(m?.i); } 하지만 null 조건을 사용하면 아래와 같이 소스코드를 간단히 변경할 수 있습니다. myClass m = new myClass(); m = null; Console.WriteLine(m?.i); 만약 m이 null이라면 null을 반환하고 그렇지 않으면 m의 멤버변수 i의 값을 출력할 것입니다. 더보기
[ASP.NET] 인증및 접근제어와 로그인 1. 인증 웹사이트에서 사용하는 대부분의 인증은 Form인증방식입니다. 사이트 자체에서 사용자의 정보를 확인하고 인증을 처리해 주는 방식입니다. 이 방식의 인증을 활용하기 위해서는 우선 web.config의 하위에 다음과 같이 인증방식을 설정합니다. 필요에 따라 요소를 통해 인증과 관련된 여러가지 설정사항을 등록할 수 있습니다. ASP.NET은 인증이 완료되면 사용자에게 특정 쿠키값을 제공하는데 name은 이 쿠기값의 이름을 의미합니다. 이름의 기본값은 .ASPXAUTH입니다. 사용자가 인증이 필요한 페이지에 접속을 시도하거나 로그인을 시도하는 경우 보여줄 로그인을 페이지는 loginUrl로 지정합니다. 인증이 완료되고 나면 쿠키값을 받게 되는데 이때 쿠키의 보호수준을 protection으로 지정합니다... 더보기
[C#] yield yield는 반복구문안에서 return이나 break에 붙여 쓸 수 있는 예약어입니다. yield return은 처음 yield return이 실행된 코드를 기억했다가 다음번 재호출시 다음 yield return다음의 코드부터 실행하는 특징을 가지고 있습니다. static void Main(string[] args) { foreach (int i in TestYield()) Console.WriteLine(i.ToString()); Console.Read(); } static IEnumerable TestYield() { yield return 10; yield return 20; yield return 30; } 처음 TestYield 실행시 10이 반환됐다가 다시 TestYield가 호출되면 20이 .. 더보기