최상의 답변
많은 사람들이 저에게 어떻게 묻습니다. 프로그래밍을 처음부터 배우기 위해. 이 답변에서 배우는 방법을 배우게됩니다. 저는 20 년 동안 프로그래밍하고 있습니다. 저는이 경력 개발에 도움을 준 저와 사람들의 경험을 공유하고 있습니다.
답변은 원래 제 블로그에 작성되었습니다. Wykop에서 3 만 뷰와 1,000 표를 받았습니다. reddit과 같은 사이트를 연마했습니다. 즐기세요!
많은 사람들이 저에게 프로그래밍을 처음부터 배우는 방법을 묻습니다. 매일 나는 그런 종류의 댓글을 읽습니다. 예를 들어, 누군가가 다른 영역에서 일하고 있고 소프트웨어 테스터가되고 싶어합니다. 또는 IT 분야에서 일하지만 새로운 수준으로 뛰어 들어 프로그래밍을 시작하고자합니다. 이 모든 사람들은 한 가지 공통점이 있습니다. 그들은 프로그래밍 여정을 시작하고 싶어합니다. 하지만이 영역은 너무 넓어서 시작하는 방법을 모릅니다. 그리고 모든 사람들이 그것을하는 방법에 대해 다른 것들을 말합니다.
이 답변을 통해 처음부터 프로그래밍을 시작하는 방법을 배울 수 있습니다. 또한 진행에 도움이 될 몇 가지 조언을 받게됩니다. 이제 시작하겠습니다.
코딩 방법을 배우려면 다음 단계를 따라야합니다.
1. 둘러보기
현재 프로그래밍은 매우 광범위한 영역입니다. 따라서 주변을 둘러보고 어떤 방향으로 갈 수 있는지 확인하는 것이 좋습니다. 가능한 방법을 알고 있다면 적합한 방법을 선택할 수 있습니다. 또한 배워야하는 기술을 선택하는 데 도움이됩니다.
먼저 웹 사이트 프로그래머 에 대해 말할 수 있습니다. 이들은 예를 들어 WordPress 또는 기타 콘텐츠 관리 시스템 (CMS)을 사용하고 기술의 도움을 받아 클라이언트가 기대하는대로 작동하도록 웹 사이트를 조정하는 사람들입니다. 이를 위해서는 대부분 JavaScript, HTML 및 CSS를 알아야합니다.
웹 사이트 개발자-이것은 아마도 세계에서 “프로그래머”에 대한 가장 인기있는 해석 일 것입니다.
그러나 프로그래밍 WordPress 웹 사이트에 관한 것이 아닙니다. 훨씬 더 많습니다. 프로그래밍은 여러 현실로 나뉩니다. 먼저 프런트 엔드 영역의 세 가지 예를 들어 보겠습니다. 프론트 엔드 프로그래밍은 사용자 / 클라이언트가 보는 것을 프로그래밍하는 것입니다. 인터페이스. 간단히 말해서 :
웹앱 프로그래밍 -비즈니스 온라인 앱 (예 : 은행 앱 또는 영화 비교 앱) 구축. 특정 사용자 그룹의 요구를 충족하는 특정 응용 프로그램입니다. 콘텐츠 관리 (예 : WordPress)가 아니라 프로세스를 관리하는 역할을합니다 (즉, 사람들이 간단히 말해서 일부 작업을 완료 할 수 있도록 함). JavaScript 외에도 HTML 및 CSS 프로그래머는 웹 응용 프로그램 프로그래밍을위한 몇 가지 추가 기술을 알아야합니다. 예를 들어 SCSS, TypeScript 및 Ember, Angular, Vue 또는 React와 같은 프레임 워크에 따라 다릅니다. (프레임 워크는 빌드 IT 기능이있는 애플리케이션의 골격입니다.)
데스크톱 앱 프로그래밍-위와 같지만 예를 들어 Windows 시스템에 설치할 수있는 애플리케이션 프로그래밍에 관한 것입니다. 이 그룹은 이전 그룹과 다릅니다. 다른 기술을 사용합니다. 예를 들어 Windows 용 프로그래밍은 C # 언어 및 .NET Framework를 사용할 수 있습니다.
모바일 앱 프로그래밍 -모바일 장치에 설치된 앱 작성에 관한 것입니다. . 주로 Android 및 iOS 운영 체제가 설치된 장치에서. Android 용 프로그래밍은 대부분 Java 프로그래밍 언어를 사용하고 iOS 용 : Swift 언어를 사용합니다. 각 시스템에는 서로 다른 프레임 워크가 있습니다. 두 시스템 모두를위한 프레임 워크도 있습니다.
이것들은 프론트 엔드 현실의 예입니다. 이제 백엔드 영역으로 이동하겠습니다. 백엔드는 다소간 프로그래밍이며 클라이언트 / 사용자는 볼 수 없지만 시스템이 작동하는 데 필수적입니다.
데이터베이스 프로그래밍- MySQL 및 MSSQL과 같은 스팬> 데이터베이스. 데이터베이스는 다소 고급 스프레드 시트입니다. 따라서 데이터베이스는 더 많은 데이터를 저장하고이를 프로그래밍 방식으로 조작 할 수 있습니다. 데이터를 추가하고 제거하고 변경합니다. 또한 데이터를 처리하는 다양한 방법을 설정할 수 있습니다. 예를 들어 불완전한 데이터를 거부하거나 다른 테이블에서 데이터를 수집합니다. 데이터베이스 시스템은 SQL 언어의 변형을 사용합니다 (예 : MSSQL 용 T-SQL). 언어를 사용하면 데이터에 대한 다양한 작업을 코딩 할 수 있습니다. SQL 언어를 사용하지 않는 데이터베이스도 있습니다. 그들은 신비로운 이름 인 NoSQL을 사용합니다.
백엔드 프로그래밍 -백엔드 개발자는 데이터베이스와 프런트 엔드간에 또는 필요한 다른 시스템간에 데이터를 처리합니다. 협조. 거의 모든 프로그래밍 언어를 백엔드 목적으로 사용할 수 있습니다. 그러나 백엔드에는 특정 사용 사례가 있기 때문에 사람들은 프런트 엔드와 다른 언어를 사용하는 경향이 있습니다. 예 : PHP, Ruby, Python, Java 및 JavaScipt.
대부분의 프로그래머는 프런트 엔드와 백엔드 개발자로 나뉩니다. 그러나 풀 스택 개발자도 있습니다.Fullstack 개발자는 프론트 엔드 및 백엔드 기술을 아는 사람입니다. 데이터베이스, 백엔드, 사용자 인터페이스 등 애플리케이션 설정에 필요한 모든 작업을 처리 할 수 있습니다.
그러나 이것이 모든 영역이 아닙니다. 그리고 이러한 개요의 대부분에서 다른 영역은 생략됩니다. 정보 시스템에 데이터를 제공하는 첨단 장치, 센서가 점점 더 많아지고 있습니다. 이것도 프로그래밍해야합니다. 이를 임베디드 프로그래밍이라고합니다. 임베디드 프로그래밍은 대부분 C 및 C ++ 언어로 수행됩니다. 이러한 언어는 프로그래머에게 낮은 수준의 추상화에 대한 액세스를 제공하기 때문입니다. 이러한 소형 장치의 리소스를 절약합니다.
또 다른 번창하는 프로그래밍 영역은 데이터 분석입니다. 데이터 분석 개발자는 회사에서 대규모 데이터 세트를 사용하고 비즈니스 결론을 내릴 수 있도록 결과를 준비합니다. 그런 프로그래머들은 Python과 R을 포함하여 다른 언어 세트를 사용합니다 (예, 이것은 프로그래밍 언어의 이름이고 문자 R입니다. 세상은 어디로 가고 있습니까?)
또 다른 영역은 유산입니다. 프로그램 작성. 레거시 개발자는 시스템을 구축하는 데 사용 된 기술을 알고 있지만 더 이상 인기가 없습니다. 기능이 필요하지만 몇 년 전에 구축 된 레거시 시스템을 지원합니다.
다른 많은 프로그래밍 현실이 있습니다. 여기에이 모든 것에 대해 쓰지 않겠습니다. 그러나 그것들을 찾는 것은 가능합니다.
이것이이 지점의 끝입니다. 왜 그렇게 중요한가요? 관심있는 분야를 안다면 기술을 선택할 수 있으므로 배워야합니다. 200 개보다 몇 가지 기술을 배우는 것이 더 쉽습니다.
당신이 관심있는 분야가 무엇인지 이미 알고 있다고 가정 해 보겠습니다. 다음 단계는 무엇입니까?
2. 기술 선택
더 나아가려면 배워야 할 기술에 대해 현명한 결정을 내려야합니다. 그러나 솔직히 그것에 대해 좋은 조언을 얻는 것은 어렵습니다. 누군가에게 물어 보거나 공부 나 부트 캠프에 갈 수 있습니다. 그러나 어느 쪽이든, 당신은 배우게 될 것입니다 : a) 인기있는 것 b) 당신을 가르치는 사람이 아는 것 c) 대답하는 사람을 사용하는 것. 그리고 종종 그것은 좋은 선택이 아닙니다. 하지만 좋은 소식이 있습니다. 더 잘할 수 있고 잘 할 수 있습니다.
지역에서 일하고 관심이있는 회사가 사용하는 기술에 대해 읽어보십시오. 구인 정보를 검색하고 어떤 기술이 재발하는지 확인하십시오. 20 개의 기술이 있기 때문에 열정을 잃지 마십시오. 허구입니다. 사람들은 나중에 작업에 필요하지 않은 것을 작성합니다.
종종 사람들이 이것에 대해 조금 알고 있다는 것을 읽습니다. 그리고 그들은 여전히 프로그래머가되는 방법을 모릅니다. 그들은 잃었습니다. 전적으로 사실입니다. 프로그래밍은 매우 광범위한 영역이며 모든 것을 배울 수는 없습니다. 방향을 선택하고 그것에 충실해야합니다. 그래야 성공할 가능성이 높아집니다.
3. 학습 방법 선택
이 점은 매우 중요하며 그 이유를 작성하겠습니다. 누구나 개발자가 배워야하는 방법에 대한 의견이 있습니다. 온라인에서 답을 찾고 있다면 옳은 아이디어를 많이 찾을 수 있습니다. YouTube 동영상을 사용하는 방법에 대한 조언이 있습니다. 다른 사람은 책이가는 길이라고 말할 것입니다. 다른 사람은 부트 캠프가 최고라고 말할 것입니다. 소프트웨어 개발자는 문서에서 배웁니다! 일부 개발자는 또한 대학 교육이 쓸모 없다고 말합니다. 그런 말이 안타깝습니다.
당신은 무엇이 최선인지 모릅니다. 그리고 그것은 완전히 자연 스럽습니다. 모두가 다른 말을합니다. 개인적으로 eBook과 비디오 튜토리얼을 추천 할 수 있습니다. 그러나 이것은 적절하거나 도움이되는 대답이 아닙니다.
실제로는 배우는 방법은 중요하지 않습니다. 배우는 한. 그리고 학교에서 어떻게 배웠는지 기억하십니까? 어떻게 생겼습니까? 가르치는 사람이 이것에 대해 조금 배우라고 요청 했습니까? 서로 관련이없는 것들? 아니요. 학교에서는 복잡한 것을 배웁니다. 당신에게 중요하지 않은 것들. 하지만 모든 사람들은 이것에 대해 조금 기억했습니다.
학교에서 배우는 것이 체계적이고 체계적이기 때문입니다. 단계별로. 이 시스템은 수백 년의 경험을 통해 개발되었습니다. 충분하지 않다고 생각한다면, 스스로에게 물어보십시오 : 감자 배터리를 만드는 방법? 이 시스템은 정말 훌륭합니다!
프로그래밍을 배우는 데 관심이 있습니다. 스스로 할 수있는 최선의 방법은 체계적이고 체계적인 방법을 선택하는 것입니다. 그렇다면 우리 자신에게 대답하자. 가장 체계적이고 체계적인 학습 방법은 무엇일까? 분명히 고등학교 교육입니다. 고등학교 교직원은 체계적이고 체계적인 교육을 잘 알고 있습니다. 힘들 겠지만 프로그래밍을 배우게 될 것입니다.
다른 방법은 책과 책입니다. 약간의주의를 기울이면 단계별로 내용을 가르치는 책을 찾을 수 있습니다. 쉬운 것부터 어려운 것까지. A부터 Z까지.하지만 읽기를 좋아해야합니다.
비디오 자습서 및 온라인 과정-교사가 체계적으로 준비했다면 유용 할 수 있습니다. 학습에 도움이 될 것입니다. 특히보고 배우고 싶다면.
부트 캠프-집중적 인 프로그래밍 교육. 이것으로부터 혜택을받을 수도 있습니다. 그룹의 사람들과 함께 일하는 것을 좋아한다면 좋은 해결책입니다.
프로그래밍을 배우기 위해 비 방식적이고 비 체계적이며 불완전한 방법을 사용하지 않는 것을 알고 싶습니다. YouTube 동영상 과정에서 주제의 50 \%를 배웠다고 상상해보세요 (무료이므로). 그러나 후자는 없습니다. 다른 코스를 검색합니다. 하지만 다른 코스에는 모르는 것이 있습니다. 또한 당신이 아는 몇 가지. 그리고 주제는 완전히 다른 방식으로 설명됩니다. 너무 우울합니다! 그래서 우선 : A부터 Z까지의 주제를 다루는 콘텐츠입니다.
이 시점이 곧 끝날 무렵에 저는 매우 중요한 한 가지 문제를 발견하고 싶었습니다. 나는 사람들이 영어를 배우기 위해 영어 콘텐츠를 사용하도록 조언하는 것을 읽었습니다. 이 사람들은 자신이하는 일을 모릅니다. 초보자 일 때는 인생을 힘들게 만들지 마십시오. 모국어로 된 콘텐츠가있는 경우 사용하십시오. 왜 외국어로 프로그래밍을 배워야합니까? 그것은 완전한 쓰레기입니다. 영어로 말하면서 독일어 책에서 스페인어를 배우거나 일본을 말하면서 캐나다 책에서 폴란드어를 배울 수도 있습니다. 가능할까요? 예. 하지만 그 이유는 무엇입니까?
4. 목표 설정
목표 설정은 직장 경력을 계획 할 때 종종 생략됩니다. 사람들은 그만두는 것보다 하나의 코스를 배우기 시작하고 불가피하게 시간이 지나가는 동안 부트 캠프로 이동합니다. 몇 달 후에는 이전에 배운 내용을 기억하지 못합니다. 무언가를 배운 것 같지만 정확히 무엇을 성취 했습니까?
학습을 더 쉽게하려면 목표를 설정하는 것이 좋습니다. 예를 들어 한 달에 800 페이지 분량의 책을 읽을 것이라고 맹세 할 수 있습니다. 아니면 대학원 공부를 마치거나 6 개월 안에 주니어 개발자 직업을 찾을 수 있습니다.
목표를 설정하면 모든 것이 더 좋아집니다. 그것은 우리의 본성에 대한 소문이며, 목표는 삶을 더 쉽게 만듭니다. 학습은 쉽지 않습니다. 프로그래밍은 쉽지 않습니다. 학습 프로그래밍은 차트에서 벗어났습니다. 그것이 목표가 중요한 이유입니다. 도달 한 만족도는 추가 작업에 대한 동기를 부여합니다.
5. 체계적으로 학습
이미 목표가있는 경우 다음 단계는 학습 일정을 만드는 것입니다. 매일 1 시간. 하지만 매일, 항상 한 시간. 다른 비디오 튜토리얼을 보거나 기사를 읽는 것이 아니라 의미있는 것을 배우는 것입니다.
쉽게 만들 수있는 방법이 있습니까? 프로그래밍을 배우려면 마인드 포커스가 필요합니다. 많은 마음 집중. 이것을 시도하십시오. 모두에게 알림 : 오후 6시에 1 시간 동안 프로그래밍을 배우고 방해하지 마십시오. 전화를 끄고 Facebook에서 로그 아웃하십시오. 부모에게 자녀를주십시오. 개를 이웃에게 줘.
얼마나 많이 배울 지 지켜보세요! 프로그래밍의 이해를 제대로 이해하려면 세상과 단절되어야합니다.
6. 직접 코딩
저는 LinkedIn에서 멋진 초보 소프트웨어 개발자를 팔로우하고 있습니다. 그녀는 프로그래밍을 연습 할 수있는 좋은 방법을 찾았습니다. 매일 그녀는 무언가를 코딩하는 목표를 세웁니다. 예 : 하루 : 간단한 계산기. 다음 날 : 영화 표지가있는 간단한 페이지. 그녀는 자신이 한 일로 애니메이션 GIF를 만들어 LinkedIn에 올립니다. 그녀는 낮 동안 배운 것을 씁니다. 나는 그녀를 따르는 것을 좋아합니다. 그녀는 멋진 미니 프로젝트를 만듭니다. 무엇보다 초기에는 그녀가하는 일도했습니다. 내가 아는 모든 훌륭한 소프트웨어 개발자가 한 일. 작업 및 프로그래밍을 고안합니다. 이것이 당신이 소프트웨어 개발자가되는 방법입니다.
분명히 공부하거나 일하거나 부트 캠프에 참여하거나 예제 과제가있는 책을 가지고있을 때 더 쉽습니다. 스스로 할 일을 파악할 필요가 없기 때문입니다. 이것은 또한 좋은 방법입니다. 그러나 때로는 그러한 일이 지루하므로 안전 지대를 벗어나도록 강요하지 마십시오. 그리고 혼자서 과제를 알아 내면 어떨까요? 몇 가지 장애물에 부딪히는 것보다 연습을 더 진행하기 위해 배워야 할 사항을 정확히 파악할 수 있습니다.
7. 도움을 요청하세요
문제에 대해 이야기하고 있으므로. 프로그래밍 초기에 문제가있는 부분을 명확히하기는 어렵습니다. 예를 들어, 애플리케이션에서 버그가 발생하는 경우입니다. 문제를 단어로 번역하는 방법? 어떻게 요청합니까? 때로는 너무 어려워서 사람들이 DuckDuckGo 검색에 어떤 문구를 넣어야할지 모릅니다. 몇 년 전에는 더 쉬웠습니다. 질문을 할 수있는 StackOverflow와 지원 그룹이있었습니다. 다른 사람의 도움을 기대할 수 있습니다.
오늘날 “인터넷 검색”, “이전에 요청한 사항”또는 “다시”와 같은 대답에 직면 할 수 있습니다. 이것은 실망 스럽습니다. 운수 나쁘게. 인터넷은 답으로 가득 차 있습니다. 고급 소프트웨어 개발자가 이해하지 못하는 것은 초보 프로그래머라면 문제의 이름을 지정하기 어렵다는 것입니다. 똑같은 문제가 있어도! 확신 할 수 있습니다!
따라서 질문을하시기 바랍니다. 인터넷에서 소프트웨어 개발자를위한 좋은 장소를 찾거나 멘토를 찾으십시오. 그리고 물어보십시오.때때로 당신은 망설임에 부딪 힐 것입니다. 그러나 그것은 당신을 실망시키지 않을 것입니다. 그렇다면 더 좋은 다른 장소를 찾으세요.
더 많이 물어 볼수록 문제가있는 것을 더 쉽게 표현할 수 있습니다. 시간이 지나면 질문이 점점 더 좋아지고 답변이 더 빠르고 빠르게 표시됩니다. 그리고 나중에 적절한 질문을 공식화하는 것만으로도 몇 가지 문제를 해결할 수 있다는 사실을 알게 될 것입니다.
8. 빨리 일자리 찾기
저는 사람들이 더 많은 것을 배울 때까지 구직을 연기하는 것을 자주 읽습니다. 그리고 반년이 지났습니다. 소프트웨어 개발은 항상 지식을 갱신해야하는 분야입니다. 필요한 기술을 3-4 개 배웠다고 가정 해 보겠습니다. 일자리를 찾기 시작하고 문제가 생깁니다. 몇 달 동안 일자리를 찾을 수 있습니다! 그리고 그것을하는 동안, 당신은 당신이 배운 것의 절반을 잊게 될 것입니다.
그래서 나의 조언은 당신이 당신의 학습 경로의 중간에 어느 정도 직업을 찾아야한다는 것입니다. 몇 가지 좋은 이유가 있습니다. 우선 인턴직이나 후배 직을 맡으면 고용주는 당신이 거의 아무것도 모른다고 가정합니다. 둘째, 채용 과정 자체에 시간이 걸립니다. 이력서를 미세 조정하기 전에 사전 제작 된 온라인을 배우기 전에 시험 문제 시간이 지나갈 것입니다. 당신이 불안 함없이 당신의 채용 이야기를 날카롭게하는 동안 그것은 지나갈 것입니다. 직업을 찾는 것도 배워야 할 것입니다.
따라서 학습 과정의 중간에 직업을 찾기 시작합니다. CV를 보내고 회의를 예약하고 익숙해 지십시오. 기술적 인 준비 상태가 채용 준비 상태와 만나고 지연이 발생하지 않습니다.
9. 더 복잡한 작업을 요청하세요.
이제 직장이 생겼습니다. 그러나 프로그래밍의 가장 큰 함정은 당신 앞에 있습니다. 직업이 있기 때문에 책을 선반에 올려 놓고 요청받은대로 할 수 있습니다.
이건 아니에요! 인턴 / 후배는 복잡한 작업을하라는 요청을받지 않는 경우가 많지만 매우 쉽습니다. 곧 알게 될 것입니다. 완료하는 데 점점 더 적은 시간이 걸리고 지루해지기 시작합니다. 그것에 대해 아무것도하지 않으면 시간을 잃게됩니다. 새로운 것을 배울 수 있습니다. 빙빙 돌아 다니지 마십시오.
그 외에도 고용주는 인턴 / 후배가 가만히있을 때를 봅니다. 나는 고용주이며 하늘처럼 맑습니다. 그리고 누구도 시대를 초월한 인터넷 / 후배를 원하지 않습니다.
그러니 점점 나아지고있는 것을 보면 상사에게 더 복잡한 작업을 요청하십시오. 그 / 그녀는 당신에게 더 많은 comples를 줄 것을 알아야합니다. 이것은 직장에서 계속해서 배우고 자신을 개발하는 데 중요합니다.
인턴 / 후배는 많은 것을 배워야합니다. 나는 당신이 인터넷에서 인턴 / 주니어 직책이 그들에게 아무것도주지 않았고 아무것도 배웠다고 말하는 사람이되고 싶지 않다고 100 \% 확신합니다. 그들은 더 이상 가고 싶지 않았기 때문에 배우지 않았습니다. 그들은 자신과 고용주의 시간을 낭비했습니다.
10. 신기술 마스터
프로그래밍은 멋진 분야이지만 항상 변합니다. 오늘 배운 내용은 1 년 후에 구식이 될 것입니다. 그리고 5에서는 쓸모가 없습니다. 직업을 찾고 그것에 대해 편안하게 느끼면 새로운 것을 마스터하십시오. 기술을 확장하십시오. 전문성 개발에 가만히 서 있지 마십시오. 공부를 그만두면 다시 돌아갈 가치가 있습니다. 부트 캠프에 참석하고, 책을 읽고, 온라인 과정에 참여하십시오. 기술에 대한 최신 정보를 얻을 수있는 것이 무엇이든간에.
업데이트 : 프로그래밍 방법을 외우려면 Summon The JSON 프로젝트를 찾으십시오. 현재 JavaScript 프로그래머를위한 데크가 있습니다. 여기에서 자세히 알아볼 수 있습니다. Summon The JSON : JS Deck
프로그래밍을 처음부터 시작하는 방법을 배우는 데 필요한 전부입니다. 이것은 정말 긴 기사 였고, 당신이 그 기사의 끝에 도달했다는 것이 정말 놀랍습니다. 99 \%의 사람들이하지 않았다고 확신합니다. 소프트웨어 개발자가되는 데 관심이있는 것 같습니다. 돌보는 것은 성공의 99 \%입니다. 행운을 빕니다. 프로그래밍은 굉장하며 많은 전문적인 만족을 제공합니다. 그것에 대해 마음을 풀지 마십시오. 계속해. 단계별로.
영어는 제 모국어가 아닙니다. 답변에서 오류를 발견하면 수정하십시오. 당신은 대답에 언급 될 것입니다. 감사합니다!
답변
좋은 시작은 프로그래밍을 사랑 하는 방법을 찾는 것입니다. 내가 돕고 있던 새로운 프로그래머의 말을 인용하면 다음과 같습니다.
효과가 있었는지 확인하세요 효과를 확인했습니다. 색상을 변경하는 게임의 개체와 색상이 방금 변경되었습니다.
코드 작성은 실제로 무언가를하는 마법의 단어를 말하는 것과 같습니다. 그것은 매력적이고 아마도 약간 중독성이 있습니다.또한 어렵습니다. 이러한 작은 동기 부여의 순간을 찾는 것은 어려운 것을 배워야 할 때 매우 유용합니다. 가능한 것에 대한 기억은 지루한 것을 헤쳐나가는 데 도움이 될 수 있습니다.
그래도 거기에 도달하려면 프로그래밍에 대한 재미 있고 창의적인 경험이 필요합니다. 다음은 몇 가지 아이디어입니다.
- 스타 크래프트 (1 또는 2) 레벨 편집기를 잡고 트리거 사용 방법을 알아 봅니다. 저는 StarCraft지도를 해킹하는 데 많은 행복한 시간을 보냈으며이를 사용하여 놀랍도록 관련된 게임 내 게임을 작성할 수 있습니다.
- MineCraft의 모든 레드 스톤 메커니즘을 파악하고 자신을 구축하십시오. MineCraft에 새로운 기능을 추가하는 모드를 만드는 것도 인기가 있지만 시도하기 전에 몇 가지 기본 사항을 배우십시오. 자습서 ( Basic Modding-Minecraft Forge ) Java를 이미 알고 있다면 훨씬 더 쉽게 이해할 수 있습니다.
- Factorio에서 놀라운 것을 구축하는 방법을 알아 봅니다 (경고 : 아래 비디오는 말도 안 돼요. 당장 그렇게 할 거라 기대하지 마세요). Factorio에는 개발자 ( Modding Tutorial )가 지원하는 매우 완벽한 모딩 API도 있지만 시도하기 전에 몇 가지 기본 사항을 배우고 싶을 수 있습니다.
- 스크래치 를 다운로드하여 몇 가지 간단한 게임을 만드십시오 (이 기사는 하단에 여러 다른 교육용 프로그래밍 언어도 언급되어 있습니다). 스크래치는 프로그래밍을 행동을 구축하기 위해 함께 맞추는 퍼즐 조각처럼 취급하며, 어린 아이들이 적은 노력으로 작업 프로그램을 만들 수있을만큼 간단합니다. 이것은 훈련 바퀴를 사용한 프로그래밍과 같습니다.
이미지 출처 : 평생 유치원 그룹 MIT Media Lab.
- 21 일 만에 X 배우기 책 중 하나를 찾아 힘을 실어보세요. 화려하지도 완전하지도 않지만 이러한 다른 아이디어 중 일부가 가능해질 수있는 충분한 토대를 제공 할 수 있습니다.
- 수업을 들어보세요. 알겠습니다. 당황 스럽지만 성적을 받아야한다는 부담감이 느껴졌습니다. 어려운 개념을 익히도록 저에게 강요했습니다. 프로그래밍을 배우고 싶은 원 이 확실한 경우에만이 방법을 권장합니다. 수업은 정보를 뇌에 삽질하는 데 능숙합니다. 그러나 당신에게 동기를 부여하는 데는 꽤 나쁩니다. 수업을들을 때 가장 좋은 부분은 그들이 “당신이 결코 존재하지 않았을 것이라고 생각했던 것들에 대해 가르쳐 줄 것입니다. 존재하지 않는 개념을 스스로 가르 칠 수는 없습니다.
- 프로그램이 실제 세계에 영향을 미치기를 원하십니까? 다음과 같은 마이크로 컨트롤러를 사용하여 일부 프로젝트를 수행하는 것이 좋습니다. Top 10 Kickass Arduino Projects . Arduino가 너무 위협적인 경우 먼저 LEGO Mindstorms를 사용해 보는 것이 좋습니다.
보안 시스템? 로봇? 어리석은 멋진 크리스마스 조명? 이것은 당신의 장치입니다. Arduino 의 이미지입니다.
- Game Maker ( Yoyo Games )는 간단한 비디오 게임을위한 꽤 좋은 개발 환경입니다. 스크래치보다 더 발전하고 StarCraft지도 편집기의 트리거 편집기보다 더 깊습니다. 그것으로 다양한 2D 비디오 게임을 만들 수 있고, 상업적으로 팔기에 충분할만큼 좋은 것을 만들 수 있습니다.
- 3D로 이동하고 싶다면 Unity ( Unity-Game Engine )은 괜찮은 품질의 3D 게임 엔진입니다. Game Maker보다 약간 더 많은 프로그래밍 기술이 필요하고 자산을 만드는 방법이 필요하지만 꽤 고급스러운 게임을 만들 수있을만큼 강력합니다.
- 데스크톱이나 노트북에는 이미 포함되어 있습니다. 중간 정도의 괜찮은 개발 환경 : 웹 브라우저. 자신의 하드 드라이브에 웹 페이지를 만들면 웹 브라우저로 열 수 있습니다. 해당 웹 페이지에 JavaScript가 포함되어 있으면 브라우저에서 실행합니다.없이 학습을 시작할 수 있습니다. 다른 것을 다운로드하거나 설치해야합니다. HTML5 게임 자습서-HTML5 캔버스와 Jquery를 사용하여 뱀 게임 만들기 는 기본 게임을 만드는 방법에 대한 재미있는 안내입니다.
- RoboZZle 온라인 퍼즐 게임 을하는 방법을 배웁니다. 제가 플레이 한 모든 프로그래밍 게임 중에서이 게임이 가장 심오한 게임입니다. 대부분의 게임은 변수와 객체에 대해 많이 가르쳐 주지만이 게임은 재귀에 대해 깊이 생각하는 방법을 알려줍니다. Lambda 미적분학은 “중간 수준에서 어려운 Robozzle 퍼즐을 이겼을 경우 약간 익숙해 져야합니다.
- Visual Studio의 커뮤니티 버전 다운로드 . 이것은 전문가 수준의 도구이며 첫 번째 프로그램을 실행하기가 까다 롭습니다. 그러나 일단 충분히 알고 있으면 무엇이든 만들 수 있습니다.Mac을 사용하는 경우에는 XCode 가 있습니다.
이러한 아이디어 중 일부가 여러분을 움직일 수 있기를 바랍니다. 결국 잘하고 싶다면 “교과서를 깨고 정식 공부를해야하지만, 이유를 찾으면 가장 효과적이라고 생각합니다. 먼저.