레이블이 ASP.NET교육인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ASP.NET교육인 게시물을 표시합니다. 모든 게시물 표시

2013년 10월 24일 목요일

[닷넷,C#4.0강좌]C# 델리게이트 Action Delegate Action 델리게이트는 Func 델리게이트와 거의 유사하다. 차이점이라면...

[닷넷,C#4.0강좌]C# 델리게이트 Action Delegate 

Action 델리게이트는 Func 델리게이트와 거의 유사하다. 차이점이라면 반환 형식이 없다는 것이다. 이 Action 델리리게이트 역시 닷넷4.0 프레임워크에는 대략 17가지 준비되어 있다.
 
public delegate TResult Action< >()
public delegate TResult Func<in T >(T arg)
public delegate TResult Func<int T1, in T2>(T1 arg, T2 arg)
public delegate TResult Func<int T1, in T2, in T3 >(T1 arg, T2 arg, T3 arg)
……
……
public delegate TResult Func<in T1,,,in T16>(T1 arg, T2 arg, T3 arg,,, T16 arg)
Func 델리게이트와는 반환값이 없는 것이 특징이며 형식 매개변수는 모두 입력 매개변수 이다.
 
[사용 예문]
 
입력 매개 변수가 없는 경우…
 
Action action1 = () => Console.WriteLine(“No Parameter Action Delegate”);
action1();
 
입력 매개 변수가 두개인 경우…
 
int sum=0;
 
//입력 매개변수는 둘, 더한 결과를 밖에서 선언한 sum에 저장
Action<int, int> action2 = (x, y) => sum=x*y;
action2(1,2); 
Console.WriteLine(“1+2={0}”, sum);      //9 리턴
 

[예제]
 
using System;
namespace Lambda
{
    class Program
    {
        delegate int Sum(int[] arg);
        static void Main(string[] args)
        {
            Action action1 = () => Console.WriteLine("No Parameter Action Delegate");
            action1();
            int ret = 0;
            Action<int> action2 = (x) => ret = x * x;
            action2(3);
            Console.WriteLine("action2(3), 3*3={0}", ret);
            Action<double, double> action3 = (x, y) =>
            {
                double d = x / y;
                Console.WriteLine("Action<t1, t2>({0},{1}) : {2}", x, y, d);
            };
            action3(8, 4);
        }
    }
}
 

[결과]
No Parameter Action Delegate
action2(3), 3*3=9
Action<t1, t2>(8,4) : 2

2013년 10월 6일 일요일

닷넷과 자바 비교(.NET j2EE)

닷넷과 자바 비교(.NET j2EE)

 1. 닷넷
 
  현재의 인터넷 환경을 혁신적으로 바꿀 차세대 MS의 제품군과 기술을 총칭하며
  다음 세대의 플랫폼과 서비스를 위한 프레임웍이며 서비스로서의 소프트웨어의 Concret
  드Microsoft's new Internet and Web strategy
 Java에 대항 하기위해 2000년 MS사에서 발표한 웹 어플리케이션 개발을 위한 플랫폼 
 단일 운영 시스템인 Windows의 채택을 전제로 광범위한 확산을 목표 
 닷넷은 언어가 아니라, 모든 언어를 MS사의 운영체제에서 돌아가게 만드는 플랫폼
 MS사의 단일 업체 솔루션
 사용자 편의성 측면에서 이식성을 확보하기 위해 다양한 개발 플랫폼을 지원
 닷넷에서 사용하는 언어에는 Visual C++.NET, Visual Basic.NET, ASP.NET, C++, 코볼과 델파이 등이 있음
 스마트한 엔터프라이즈급 웹시스템을 주로 구축
 자바에 비해 코딩 양이 적고, 실행속도가 빠름 
 여러 업체의 솔루션을 연동하는 것보다 안정적이고 우수한 상호 운용성을 제공
 관련 MS 솔루션과의 연계를 통해 쉽게 확장이 가능
 MS 환경만 지원
 OS와 H/W간의 이식성 지원의 문제가 .NET이 Enterprise시장으로 진입할 수 없게 만드는 걸림돌

2. 자바(J2EE)
 
 Java 2 platform Enterprise Edition의 약자
 SUN사에서 개발한 기업용 웹 어플리케이션 개발을 위한 플랫폼
 개방형 표준을 토대로 광범위한 확산을 목표
 자바 프로그래밍 언어를 이용하는게 기반
 J2EE는 사용자환경 개발의 편의성이나 성능보다는 공급자 환경 지원의 편의성과 성능에 중점
 어떤 OS와 어떤 H/W 플랫폼에서도 JAVA 기반의 J2EE 스팩을 채용한시스템은 완벽한 이식성을보장
 JAVA언어와 여기서 파생된 Javascript, JSP 등의 언어 사용
 한번 작성된 프로그램은 모든 플랫폼에서  운용이 가능
 데이터 액세스 로직을 직접 코딩하지 않고도 애플리케이션을 작성 
 IBM과 오라클, BEA 등의 같은 e-Business벤더들과 협력해 J2EE를 지속적으로 개선

 대부분의 엔터프라이즈급와 모바일에서 닷넷에 비해 절대적 우위 선점
 EJB 컴포넌트를 통해서 DB 독립적 애플리케이션을 개발
 제공되는 표준 플랫폼이 타 시스템과 연동 및 통합이 용이

 언어는 Java만을 수용
 S/W 플랫폼에 대해서 종속적    (J2EE 스팩을 준수하는 WAS솔루션간의 직접적인 호환은 불가능)
 
 


오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  



2013년 9월 8일 일요일

닷넷, C#, 소수구하는 프로그램

닷넷, C#, 소수구하는 프로그램

 using System;   //System NameSpace에 있는 클래스를 사용하겠다는 의미
namespace 소수
{
 /// <summary>
 /// Class1에 대한 요약 설명입니다.
 /// </summary>
 class Class1
 { 
  [STAThread] //메인 함수를 하나의 싱글 쓰레드안에서 실행하기 위해
           //어트리뷰트를 선언, 쓰레드형은 Single Thread Apartment형
           //만약 멀티쓰레드를 구현하기 위해서는 [MTAThread]로 해야 함
         // static : 정적으로  Stack영역에 메모리 공간 확보, C#메모리는 Stack과 Heap영역으로
  //   나누어지며 Stack 에는 고정된 값을 저장하는 Value Type 변수들이 저장되며
  //   (int, long, structure, enum등) Heap에는 고정된 크기를 알수없는 객체들이 저장된다.
  //   CPU가 C# 프로그램을 컴파일 하면서 맨처음 참조하는 메모리 영역은 Stack 영역이며 만약
  //   Main 함수를 Heap 영역에 만들면 '프로그램 진입점이 없습니다'라는 오류 발생한다.
  // void : Return 값을 가지지 않는다는 의미
  // Main(string[] args) : 대/소문자 주의, 프로그램의 진입점
  //   하나의 C#파일에 여러개의 Main 가능,csc로 컴파일 할 경우 csc /m:진입클래스 파일명
  //    Visual Studio .NET의 경우  프로젝트의 속성 --> 시작개체를 설정
  static void Main(string[] args)
  {     
   int value= Convert.ToInt32(Console.ReadLine());
   bool isPrime = true;
   for(int i=2; i<=value; i++)
   {
    isPrime = true;
    for(int j=2; j < i;j++)
    {
     if ( i%j == 0)
     {
      isPrime = false;
     }
    }
    if (isPrime)
    {
     Console.WriteLine(i);
    }
   }  
  }
 }
}

오라클자바커뮤니티 추천 실전 닷넷 강좌 - 개인80% 환급

C#4.0, ADO.NET, Network 프로그래밍 4일 32시간   09-24
C#,ASP.NET마스터 8일 56시간   09-25
ASP.NET4.0 MVC 프로그래밍 4일 32시간   09-30
C#,ASP.NET마스터 18일 54시간   09-25
ASP.NET4.0 MVC 프로그래밍 11일 33시간   09-26
C#4.0, ADO.NET, Network 프로그래밍 11일 33시간   09-30
C#,ASP.NET마스터 8일 56시간   09-14
C#4.0, ADO.NET, Network 프로그래밍 4일 32시간   09-28
ASP.NET4.0 MVC 프로그래밍 4일 32시간   09-28