라벨이 Programming인 게시물 표시

초보에서 고급까지, 웹으로 프로그래밍 배우자

  프로그래머가 되려면 무엇부터 해야 할까. 학원에 가면 되려나? 그럴 필요까지는 없다. 컴퓨터 1대만 있으면 프로그램을 짜는 언어를 배울 수 있기 때문이다. 프로그래밍 언어를 배우는 과정은 외국어 공부와 비슷하다. 일본어, 중국어, 영어 등 다양한 외국어가 있듯이 프로그래밍 언어도 여러 종류가 있다. 외국어를 가르치는 e러닝 사이트가 있는 것처럼, 프로그래밍도 온라인으로 배울 수 있다. 준비하기 먼저 공부할 프로그래밍 언어를 고르자. 외국어를 배울 때 영어, 중국어, 아랍어 등을 동시에 익히기 어려운 것처럼 일단 어떤 언어를 배울지 생각해야 한다. 개발자가 주로 사용하는 프로그래밍 언어는 C, C#, 오브젝트C, 자바(Java), HTML, PHP, 리눅스, MySQL 등 대략 50여개 정도다. 그 중 어떤 언어를 먼저 시작해야 할까? C는 공대학생이 필수로 공부하는 언어다. C는 오래전에 생겼지만 그만큼 기본에 충실한 문법구조를 가지고 있다. 라틴어가 영어, 스페인어의 기초가 된 것처럼 C#, 자바, 오프젝트 C 같은 언어들은 C에서 파생됐다. 대부분의 언어는 비슷한 구조를 갖기 때문에 어느 언어든 하나를 제대로 공부해 놓으면 다른 언어를 활용하는데 무리가 없다. 배우기 쉬운 언어는 웹프로그래밍 언어이다. 웹프로그래밍 언어는 웹사이트 제작할 때 필요한 언어로, 많이 사용되는 것은 HTML, CSS, 자바스크립트가 있다. 초급편 : 문법 배우기 프로그래밍을 배우기 위해서는 컴퓨터가 이해하는 문법을 먼저 배워야 한다. 영어를 배울 때 문장 구조가 주어, 동사, 목적어 순서대로 써야 한다는 규칙을 알아야 하는 것처럼 말이다. 어떤 언어든 문법을 공부하는 건 지루하고 어렵다. 다행히도 그런 걱정을 덜어주는 좋은 웹사이트들이 널렸다. ■ 웹사이트 제작 A부터 Z까지 [ 생활코딩 ] 생활코딩은 웹사이트를 만들때 필요한 프로그래밍 정보를 제공해주는 웹사이트다. 용어를 자세하게 설명해주고 동영상 강의 자료도 풍부하다. 장점은 일단 웹사이트가 한국어로 구성됐다는 점...

[C#] 기초 - 기본 개념

이미지
  C#으로 작성된 어플리케이션은 크게 클래스(Class), 네임스페이스(Namespace), 어셈블리(Assembly)와 같은 요소로 구성되어 있다.​ ​클래스(Class) ​​프로그램 내에서 독립적으로 조작할 수 있는 최소 단위. 멤버로 메소드(Method), 프로퍼티(Property), 이벤트(Event), 델리게이트(Delegate) 등을 가진다.​ ​네임스페이스(Namespace) ​​여러 개의 클래스들이 모인 논리적 그룹 단위.​​ 어셈블리(Assembly)​ ​클래스, 네임스페이스가 모여 생성된 물리적 파일. 갂단히 말하면 빌드 후 생성되는 DLL 혹은 EXE 파일이라고 생각하면 된다.​ ​ 이렇게 작성된 코드를 빌드하게 되면 MSIL(Microsoft Intermediate Language)이라고 하는 기계어 직전 단계의 언어로 구성된 어셈블리가 생성이 된다.​ ​ 바로 바이너리(Binary) 형식이 아닊 MSIL 형태로 생성을 하게 되는 이유는 자바와 마찬가지로 플랫폼에 종속적이 않고, 다양한 플랫폼에 이식 가능하도록 하기 위해서 이다.​ ​ Mono 프로젝트( http://www.mono-project.com/Main_Page ) 를 통해서 다양한 플랫폼에 적용 가능하다. 이렇게 MSIL 형태로 존재하는 어셈블리는 실행되는 시점에 Just-In-Time (JIT) 컴파일러(compiler)가 각 플랫폼에 맞는 코드로 컴파일 되며 실행이 된다. ​ ​이러한 런타임 환경에서 일어나는 다양한 일들은 닷넷 프레임워크에서 제공해 주며, 다음과 같은 구성 요소를 가지고 있다.​​ CLS(Common Language Specification) ​​닷넷 프레임워크는 다양한 언어로 개발이 가능하다. 하지만 문제는 각 언어별로 특별히 지원하는 스펙이 존재할 것이다. ​ ​모든 프로젝트다 특정 하나의 언어로만 생성된 어셈블리만 사용하면 상관이 없으나, 개발을 하게 되면 다양한 언어로 개발된 어셈블리를 참조하게 될 것이다. ​ ​만약 참조된 어셈블리에서 지...