재미있는

프로그래머 101 : 코딩 방법

항상 소프트웨어를 직접 구축하거나 가끔 스크립트를 작성하는 방법을 배우고 싶었지만 어디서부터 시작해야할지 몰랐습니다. 운 좋게도 웹에는 무료 리소스가 가득 차있어 개발자가 즉시 프로그래머가 될 수 있습니다.

인터넷의 발명 이후, 프로그래머는 소프트웨어 개발 기술을 논의하고, 튜토리얼을 게시하고, 다른 사람들이 온라인에서 배우고 사용할 수있는 코드 샘플을 공유하기 위해이 소프트웨어를 사용해 왔습니다. 프로그래머가되는 방법이 궁금하다면 무료 웹 기반 튜토리얼과 리소스를 사용하여 시작을 시작할 수 있습니다.

가장 먼저해야 할 일 : 언어 선택에 얽매이지 마십시오

초보자들에게 가장 흔한 함정은 먼저 어떤 프로그래밍 언어를 먼저 배우는 것이 가장 좋은지 파악하는 것입니다. 많은 의견이 있지만 "최고의"언어는 없습니다. 문제는 다음과 같습니다. 결국 언어는 그다지 중요하지 않습니다. 데이터와 제어 구조 및 디자인 패턴을 이해하는 것은 매우 중요합니다. 모든 언어 (심지어 간단한 스크립팅 언어)에도 다른 언어에서도 사용할 수있는 요소가 있으며 학습에 도움이됩니다. 수업에서 컴퓨터 과학 학위를 받기 위해 파스칼, 어셈블리 및 C로 프로그램을하였습니다. 실제로 전문적으로 프로그램 비용을 지불 한 적이 없습니다. 나는 내가 이미 알고있는 개념을 재사용하고, 구문을 배우기 위해 문서와 책을 참조하면서 내 경력에 사용한 모든 언어를 스스로 가르쳤다. 따라서 어떤 언어를 먼저 배워야합니까? 원하는 종류의 개발을 선택하고 작동하는 것을 사용하십시오.

웹에서 데스크톱, 스마트 폰, 명령 줄에 이르기까지 다양한 플랫폼에서 수행 할 수있는 다양한 종류의 소프트웨어 개발이 있습니다. 이 기사에서는 각 주요 플랫폼에 대해 프로그래밍하는 방법을 가르치기 위해 가장 좋아하는 초보자 자습서 및 리소스에 대해 간략하게 설명합니다. 우리는 당신이 정통한 사용자라고 가정 할 것입니다. 그러나 코드 스 니펫을 정렬 할 때 새로운 것이기 때문에 일을 초보자 수준으로 유지할 것입니다. 초보자 프로그래밍 자습서를 따라가더라도 얼마나 멀리 갈 수 있는지 알게되어 기쁩니다.

데스크톱 스크립팅

Windows 또는 Mac 데스크톱 프로그래밍을 가장 쉽게하는 방법은 AutoHotkey (Windows) 또는 Automator (Mac)와 같은 스크립팅 또는 매크로 프로그램으로 시작하는 것입니다. 현재 Goldavelez.com 독자의 하드 코어 코더는 모니터에서 소리를 지르며 AHK 또는 AppleScript가 "실제"프로그래밍이 아니라고 말합니다. 기술적으로 이러한 유형의 도구는 고급 스크립팅 만 수행합니다. 그러나 프로그래밍에 익숙하지 않은 사용자에게는 발을 적시고 데스크톱에서 작업을 자동화하려는 경우이 무료 도구는 시작하기에 환상적인 방법이며 그 도구로 할 수있는 일에 놀랄 것입니다.

예를 들어 Adam은 AutoHotkey를 사용하여 우리가 모두 알고 사랑하는 독립 실행 형 Windows 응용 프로그램 인 Texter를 개발 했으므로이 스크립팅 언어는 소규모 자동화 프로젝트 이상의 기능을 수행 할 수 있습니다. AutoHotkey를 시작하려면, AutoHotkey를 사용하여 동작을 키보드 단축키로 바꾸는 방법에 대한 Adam의 자습서를 확인하십시오. 그런 다음 본격적인 AHK 기반 Windows 응용 프로그램의 내부를 보려면 Texter의 소스 코드를 확인하십시오.

웹 개발

특정 프로그래밍 언어와 특정 운영 체제의 모양과 느낌에 구속되는 대신 킬러 응용 프로그램을 브라우저에 넣고 클라우드에서 웹 응용 프로그램으로 실행할 수 있습니다. 멋진 웹 개발 세계에 오신 것을 환영합니다.

HTML 및 CSS : 웹 사이트를 구축하기 위해 가장 먼저 알아야 할 것은 HTML (웹 페이지를 구성하는 페이지 마크 업)과 CSS (해당 마크 업을 예쁘게 만드는 스타일 정보)입니다. HTML과 CSS는 진정한 프로그래밍 언어가 아니라 페이지 구조와 스타일 정보 일뿐입니다. 그러나 웹 페이지는 모든 웹 응용 프로그램의 프런트 엔드이므로 웹 응용 프로그램 작성을 시작하기 전에 간단한 HTML 및 CSS를 직접 작성할 수 있어야합니다. 이 HTML 튜토리얼은 시작하기에 좋은 곳입니다.

JavaScript : 이제 HTML과 CSS를 사용하여 정적 웹 페이지를 레이아웃 할 수있게되었습니다 . 이제 JavaScript 를 배울 때가 되었기 때문에 재미있었습니다. 자바 스크립트는 웹 브라우저의 프로그래밍 언어이며 동적 인 페이지 효과를 만드는 마법입니다. JavaScript는 또한 북마크릿, Greasemonkey 사용자 스크립트 및 Ajax의 일종이므로 모든 종류의 웹 서비스를 만드는 데있어 핵심 요소입니다. 여기에서 JavaScript를 배우십시오.

서버 측 스크립팅 : 웹 페이지 내에서 일이 잘 이루어지면 역동적 인 서버 작업을 수행해야하며이를 위해서는 서버 측 스크립팅으로 이동해야합니다. PHP, Python, Perl 또는 Ruby와 같은 언어 예를 들어, 사용자가 입력 한 내용에 따라 전자 메일을 보내는 웹 기반 문의 양식을 만들려면 서버 쪽 스크립트가 필요합니다. PHP와 같은 스크립팅 언어는 웹 서버의 데이터베이스와도 대화 할 수 있으므로 사용자가 로그인하여 정보를 저장할 수있는 사이트를 만들고 싶다면 그렇게해야합니다. 훌륭한 웹 개발 사이트 Webmonkey는 다양한 웹 프로그래밍 언어를위한 튜토리얼로 가득합니다. 초보자를위한 PHP 튜토리얼을 참조하십시오. 준비가되면 WebMonkey의 PHP 및 MySQL 튜토리얼에서 PHP를 사용하여 데이터베이스와 대화하는 방법을 확인하십시오. PHP의 온라인 설명서 및 기능 참조는 웹상에서 최고입니다. 각 항목 (strlen 함수에서 이와 같은 항목)에는 맨 아래에 사용자 설명이 포함되어 있으며 종종 문서 자체만큼 유용합니다. (PHP에 부분적으로 발생하지만 대신 다른 서버 측 스크립팅 언어가 많이 있습니다.)

웹 프레임 워크 : 수년 동안 웹 개발자는 동일한 문제를 해결 및 해결하고 유사한 코드를 다시 작성하여 동적 웹 사이트를 구축해야했습니다. 모든 새로운 웹 개발 프로젝트를 위해 모든 사람이 재창조하지 못하도록하기 위해 일부 프로그래머는 반복적 인 작업을 수행하는 개발 프레임 워크를 고안했습니다. 예를 들어, 인기있는 Ruby on Rails 프레임 워크는 Ruby 프로그래밍 언어를 사용하며 일반적인 웹 애플리케이션 작업을 수행하기위한 웹 특정 구조를 제공합니다. 실제로 Adam은 Rails를 사용하여 첫 번째 심각하고 인상적인 웹 응용 프로그램 인 MixTape.me를 구축했습니다. 경험없이 웹 사이트를 처음부터 작성하는 방법에 대해 설명합니다. 다른 유명한 웹 개발 프레임 워크로는 CakePHP (PHP 프로그래머 용), Django (Python 프로그래머 용) 및 jQuery (JavaScript 용)가 있습니다.

웹 API : API (Application Programming Interface)는 서로 다른 소프트웨어가 서로 통신 할 수있는 프로그래밍 방식입니다. 예를 들어, 웹 사이트에 동적 맵을 배치하려면 고유 한 사용자 정의 맵을 작성하는 대신 Google 맵을 사용하려고합니다. Google Maps API를 사용하면 자바 스크립트가있는 페이지에 프로그래밍 방식으로지도를 쉽게 포함 할 수 있습니다. 여러분이 알고 사랑하는 거의 모든 최신 웹 서비스에는 API, Twitter, Facebook, Google Docs, Google Maps 등의 애플리케이션에 데이터 및 위젯을 포함시킬 수있는 API가 있습니다. API를 통해 다른 웹 애플리케이션을 웹 애플리케이션에 통합하는 것은 리치 웹 개발의 최후의 개척지입니다. 모든 주요 웹 서비스 API는 철저한 문서와 빠른 시작 안내서를 제공합니다 (예 : 트위터). 미치다.

명령 줄 스크립팅

텍스트 또는 파일 입력을 사용하고 유용한 것을 출력하는 프로그램을 작성하려면 명령 행이 올바른 위치에 있습니다. 명령 줄이 웹앱이나 데스크탑 앱만큼 섹시하지 않거나 잘 보이지는 않지만 프로세스를 자동화하는 빠른 스크립트를 신속하게 개발하기 위해서는 이길 수 없습니다.

Linux 기반 웹 서버에서 작동하는 몇 가지 스크립팅 언어는 Perl, Python 및 PHP와 같은 명령 줄에서도 작동하므로 이러한 악당 중 하나를 배우면 두 가지 상황에서 대화 할 수 있습니다. 내 길은 결코 Perl 길을 결코 지나치지 않았지만 훌륭한 무료 온라인 서적을 사용하여 Python을 가르쳤다.

유닉스 닌자가되는 것이 프로그래머 목표 중 하나라면 bash를 사용하여 쉘 스크립팅에 능숙해야합니다. Bash는 * nix 환경의 명령 행 스크립팅 언어이며, 데이터베이스 및 파일의 자동 백업 설정에 대한 도움에서부터 사용자 상호 작용이 가능한 본격적인 응용 프로그램 구축에 이르기까지 모든 작업을 수행 할 수 있습니다. 12 줄 이상으로 bash 스크립트를 작성한 경험이 없으면 bash, Todo.txt CLI에서 개인용 할 일 목록 관리자를 완전히 개발하지 못했습니다.

부가 기능

요즘 최신 웹앱과 브라우저는 소프트웨어에 연결되어 기능을 추가 할 수있는 소프트웨어로 확장 할 수 있습니다. 더 많은 개발자들이 Firefox 나 WordPress와 같은 기존 소프트웨어를보고 "하지만이 기능 만 할 수 있다면 ..."이라고 생각하면서 애드온 개발이 인기를 얻고 있습니다.

HTML, JavaScript 및 CSS에 대한 지식 만 있으면 모든 웹 브라우저에서 많은 작업을 수행 할 수 있습니다. 북마크릿, Greasemonkey 사용자 스크립트 및 스타일리쉬 한 사용자 스타일은 일반 웹 페이지를 만드는 동일한 코드 비트로 생성되므로 기존 코드를 작은 코드 조각으로 조정하려는 경우에도 학습 할 가치가 있습니다.

Firefox 확장과 같은 고급 브라우저 추가 기능으로 더 많은 작업을 수행 할 수 있습니다. 예를 들어 Firefox 확장을 개발하려면 JavaScript 및 XML (HTML과 유사하지만 형식이 더 엄격한 마크 업)에 익숙해야합니다. 2007 년에, 나는 무료 튜토리얼을 우연히 만났을 때 얻은 기술인 Firefox 확장 기능을 구축하는 방법을 설명했다.

WordPress 및 MediaWiki와 같은 많은 무료 웹 응용 프로그램에서 확장 프레임 워크를 제공합니다. 이 두 응용 프로그램은 모두 PHP로 작성되었으므로 시작하기 위해서는 PHP를 편안하게 사용해야합니다. WordPress 용 플러그인을 작성하는 방법은 다음과 같습니다. Google Wave의 최첨단 기술을 사용하려는 개발자는 HTML, JavaScript, Java 및 Python으로 가젯 및 봇을 작성할 수 있습니다. 나는 오후 에이 빠른 시작 자습서에 따라 첫 번째 Wave 봇을 썼습니다.

데스크탑을위한 웹 개발

한 가지 맥락에서 프로그래밍을 시작하는 데있어 가장 좋은 부분은 이러한 기술을 사용하여 다른 곳에 적용 할 수있는 시점입니다. 웹 개발을 먼저 배우는 것은 시작하기에 좋은 방법입니다. 이제 이러한 기술을 데스크탑 응용 프로그램에서도 사용할 수있는 방법이 있습니다. 예를 들어 Adobe AIR는 크로스 플랫폼 런타임 환경으로, 앱을 한 번 빌드 한 후 릴리스하여 모든 운영 체제 AIR이 실행되는 데스크톱에서 실행할 수 있도록합니다. AIR 응용 프로그램은 HTML, Flash 또는 Flex로 작성되므로 웹 개발 기술을 데스크탑 환경에 적용 할 수 있습니다. AIR는 Adobe AIR 설치 가치가있는 상위 10 개 앱 중 하나와 같은 데스크탑 앱을 배포하기위한 훌륭한 옵션입니다.

모바일 앱 개발

iPhone 또는 Android 스마트 폰에서 실행되는 것과 같은 모바일 응용 프로그램이 지금은 모든 분노에 처해 있으므로 다음 킬러 응용 프로그램을 통해 iTunes App Store에 풍부한 응용 프로그램을 적용하려는 꿈을 꾸게 될 것입니다. 그러나 새로운 코더의 경우 Java 및 Objective C와 같은 고급 프로그래밍 언어의 편의가 필요하기 때문에 모바일 개발에 대한 첫 번째 다이빙은 거친 학습 곡선이 될 수 있습니다. 그러나 iPhone 및 Android 개발의 모습을 확인하는 것이 좋습니다. 이 간단한 iPhone 응용 프로그램 개발 예제를 확인하여 iPhone 개발자의 경험을 맛보십시오. Android 앱은 Java로 작성되었으며 다음은 "Hello Android"애플리케이션 워크 플로 작성 방법에 대한 친숙한 비디오 자습서입니다.

인내, 팔꿈치 그리스, 시험 및 오류

훌륭한 코더는 시행 착오의 긴 길을 따르는 작은 승리에 중독 된 특별한 종류의 지속적인 문제 해결 자입니다. 프로그래밍하는 법을 배우는 것은 매우 보람이 있지만 좌절스럽고 독방적인 경험이 될 수도 있습니다. 가능하다면 친구와 함께 길을 따라 가십시오. 다른 무엇보다도 프로그래밍을 정말 잘하는 것은 그것을 고수하고, 시험 해보고, 경험을 쌓는 일입니다.

이 글은 초보자를위한 독학 프로그래머의 최고 권장 사항입니다. 숙련 된 프로그래머 : 내가 무엇을 놓쳤습니까? 기술 수준에 관계없이 초보자를위한 생각과 권장 사항을 의견에 추가하십시오.