- ORACLE과 MS_SQL의 차이점
  마이크로소프트사의 홈페이지에서 직접 찾은 것입니다.
  http://www.microsoft.com/korea/technet/sql/technote/oracle.mspx



- MS_SQL과 ORACLE과의 함수의 표현방식과 제약조건의 차이점

사용자 삽입 이미지
사용자 삽입 이미지


Posted by 알 수 없는 사용자
,
1. C#은?

윈도우 95 초기 버전이 출시된 1995년 윈도우에는 인터넷 기능이 포함되어 있지 않았습니다. 그 때만 해도 마이크로소프트(이하 MS)는 인터넷의 잠재성을 깨닫지 못하고 있었습니다. 얼마 후 인터넷의 폭발적인 성장과 더불어 넷스케이프 웹브라우저, 자바 애플릿, 자바 스크립트 등의 인터넷 관련 기술이 등장해 시장을 급속하게 넓혀갈 때 MS는 부랴부랴 익스플로러와 비주얼 베이직을 변형한 비주얼 베이직 스크립트를 개발했습니다.

 당시 인터넷 관련된 핵심 이슈는 자바라는 네트워크 언어였습니다. 인터넷 개발에 늦게 발을 들여 놓은 MS는 선마이크로시스템즈(이하 SUN)가 개발한 자바를 임의로 변형해 익스플로러에 탑재했습니다. 또한 윈도우 개발 환경인 비주얼 스튜디오에도 자바 기술을 포함시켰습니다. 자바의 폭발적인 인기에도 불구하고 당시에는 변변한 자바 개발 툴이 없었는데 MS에서 비주얼 J++라는 강력한 자바 개발툴을 개발해 시장에 무료로 공급하기 시작했습니다. 실제 자바를 개발한 SUN은 MS의 이러한 자바 개발 정책을 지켜보고 자바 언어의 기득권을 빼앗길 수 있다는 위기의식을 느끼게 되었고, 곧 법정 소송을 진행해 더 이상 MS가 자바를 변형해 사용할 수 없다록 제동을 걸었습니다. 이후 MS는 자바 관련 프로그램을 개발할 수 없게 되었습니다. 특히 자바 개발 툴인 비주얼 J++는 프로그램 관련 책자까지 모두 회수하라는 법원의 판결이 떨어졌습니다.

 아이러니하게도 자바를 오늘날 가장 많이 사용하는 네트워크 언어로 만든 주역인 MS는 더 이상 자바 관련 기술을 사용할 수 없게 된 것입니다. 하지만 이미 시대의 대세는 인터넷을 기반으로 하는 분산 네트워크 기술로 옮겨가고 있었습니다. 특히 그 핵심 기술로 자바가 확고한 위치를 차지하고 있었으며 IBM, 오라클, BEA 등 대형 IT업체에서 자바를 중심으로 이러한 분산 네트워크 기술을 구현하기 시작했습니다. 이러한 상황을 타개하기 위해 MS에서 발표한 기술이 바로 .NET(이하 닷넷)입니다.

 닷넷을 짧게 요약하면, "애플리케이션, 서비스가 유기적으로 통합되기 위한 MS의 제품군과 기술 환경 및 서비스"라고 말할 수 있습니다. 즉, 자바 기술에 대응하기 위한 MS의 새로운 차세대 인터넷 환경이 바로 닷넷입니다. 닷넷은 자바가 제공하는 라이브러리인 JDK와 비슷한 라이브러리의 집합이며, 이 라이브러리를 가장 효율적으로 사용해 개발할 수 있는 언어로 C#언어를 새롭게 만들어 발표했습니다. C#은 MS의 자바 대응 전략의 핵심언어입니다. C#은 자바와 비슷한 용도로 사용되며 MS의 핵심 언어인 비주얼 베이직의 생산성과 비주얼 C++의 성능을 결합한 새로운 차세대 주력 언어입니다.




2. C#의 장점

C#은 네트워크 환경에서 개발자의 생산성을 증대시키고 프로그래머가 작성해야 하는 코드의 양을 줄이는 기술이 포함되어 있습니다.

<분산 환경에 적합한 언어>
ASP.NET, XML.NET, 모바일 프로그램을 빠른 시간안에 개발할 수 있습니다. 특히 ASP.NET은 웹 관련 프로그램 개발에 뛰어난 생산성과 성능을 발휘합니다.

<구조 중립적>
C#을 이용해 개발된 프로그램을 다양한 환경의 운영체제에서 실행할 수 있습니다.

<뛰어난 생산성>
C#은 비주얼 스튜디오 닷넷을 이용해 뛰어난 생산성을 제공합니다. 비주얼 베이직의 생산성과 비주얼 C++의 성능을 동시에 제공하는 C#은 개발 시간을 크게 단축시켜 줍니다.

<강력한 디버깅 기능>
ASP.NET, 모바일 프로그래밍 등 기존 언어에서 디버깅 제공이 곤란했던 분야에 대해 뛰어난 디버깅 기능을 제공합니다.




3. C#의 작동원리

C#언어도 자바와 마찬가지로 컴파일 방식과 인터프리터 방식이 혼합된 하이브리드 방식을 사용합니다. 확장자가 csc로 끝나는 소스코드를 작성하고 csc.exe 컴파일러를 이용해 중간 코드를 생성합니다. C#의 중간코드는 확장자가 EXE, DLL로 되어 있습니다. 그러나 C/C++등의 컴파일 언어가 생성한 EXE, DLL과는 다릅니다. C#의 중간코드는 닷넷 프레임워크가 설치된 환경에서만 작동하며, 닷넷 프레임워크가 설치되어 있지 않은 환경에서는 실행 파일이 동작하지 않습니다. C#은 현재 윈도우, 리눅스, 유닉스에서 사용가능한 해석기가 만들어져 있습니다.

 소스코드를 컴파일해 생성된 중간 코드는 CLR을 이용해 실행 파일로 변환되어 작동합니다. CLR은 자바의 JVM과 동일한 원리로 만들어졌습니다. 윈도우 비스타 버전부터는 운영체제 안에 닷넷 프레임워크가 설치되어 있기 때문에 별도의 CLR을 설치할 필요가 없지만 나머지 버전 윈도우에서는 반드시 닷넷 프레임워크를 설치해야만 실행할 수 있습니다. 중간코드를 클래스 로더가 읽어들여 JIT 컴파일러를 이용해 실행이 가능한 기계어 코드를 생성합니다. .NET Compact 프레임워크를 이용하면 윈도우 CE 운영체제를 사용하는 휴대폰, PDA에서도 실행되는 닷넷 프로그램을 작성할 수 있습니다.



4. C#과 C++의 차이점

   - 순현이가 너무 자세히 조사를 해서 저는 간단하게 보기좋게 표로 보여드립니다.

사용자 삽입 이미지

Posted by 알 수 없는 사용자
,
RAD (Rapid Application Development) 란?
 RAD는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발과정을 말한다. 전통적인 소프트웨어 개발방법(WATERFALL모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상 시키면서 동시에 개발 기간과 비용을 단축 시킬 수 있는 방법이 요구 되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다. 이러한 RAD방식의 개발은 응용 프로그램의 전체 개발과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발과정은 그대로 수용하면서도, 개발과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 문제를 줄이고, 설계과정을 그대로 개발에 사용함으로써 전체적인 개발기간의 단축을 꾀하는 것을 목적으로 한다.


● RAD Tool의 장단점


RAD Tool의 장점

  RAD(Rapid Application Tool) 툴이란 응용 프로그램을 빠르게 제작할 수 있게 해주

는 프로그램 개발 툴이다.

 RAD 툴은 사용자의 요구를 빠르게 해결해주는 도구로 Visual C++ 이나 Borland C++

처럼 윈도우즈 프로그램에 만능은 아니지만 훨씬 쉽고 빠른 시간에 프로그램을 개발

할 수 있도록 해준다. 간혹 Visual C++을 사용하는 프로그래머는 실력있는 프로그래

머이고 RAD 툴인 비베나 델파이를 사용하는 프로그래머는 수준 낮은 프로그래머로

말하는 경우가 있는데 그렇지는 않다. 그러나 VC++과 델파이를 잘 다루는 프로그래

머는 델파이만을 잘 다루는 프로그래머보다 더 좋을 수는 있다. 훌륭한 프로그래머

는 개발 툴에 상관없이 정말 필요하고, 좋은 프로그램을 개발할 줄 아는 사람이다.



 

RAD Tool의 단점

  RAD 툴은 데이터베이스(DB)나 멀티미디어 타이틀 그리고 기타 SI 업체에서 주로

하는 작업들에 아주 효율적이다. 그리고 VC++은 이런 일을 제외한 기타 고급스러운

기능처럼 보이는 게임이나, 디바이스 드라이버, 개발 툴 등을 개발하는데 주로 사용

된다.

 RAD 툴이 분명히 쉽고 빠른 것은 사실이지만 그렇지 않은 경우도 있다. RAD 툴이

편한 이유는 사용자 인터페이스 기능에 해당되는 버튼, 스크롤바, 윈도우, 툴바, 에

디트 컨트롤, 콤보 박스, 메뉴와 같은 것을 코드로 하나하나 타이핑하지 않고 마우스

로 끌어다 놓음으로써 직관적이고 빠르게 제작할 수 있도록 해준다는 것과, 이미 만

들어진 프로그램 모듈과 유사한 컴포넌트들이 많이 있다는 것이다. 제공되는 컴포넌

트를 사용하는 것은 이미 만들어진 프로그램 모듈을 재사용하는 것과 같은 것으로

많은 비용을 줄여준다.

 그러나 컴포넌트와 끌어다 놓기 기능이 만능은 아니다. 실제로 여러분은 델파이를

사용해서 프로그램을 제작하다 보면 필요한 컴포넌트가 많이 없는 것을 발견할 것이

고, 그것들을 직접 제작할 필요를 느끼게 될 것이다.

Posted by 알 수 없는 사용자
,