回到頂端
|||
熱門: 王永慶 蔡英文 麻疹

不懂編程的門外漢教你自學成才開發線上應用!(下)

app01/TECH2IPO 2015.04.04 00:00
創見干貨:在上一章節中,我們看到一個對編程什么都不懂的門外漢是如何憑借強大的自我學習能力,將一款頭腦中醞釀多年的想法變成現實的。如今,他回首過去的種種經歷,有很多感觸與道理與我們分享:通過之前我所闡述的幾個階段,如果你完全按照步驟去一點點的執行,很快你就能夠獲得你想要的結果的。如今的我,通過這個階段的學習和開發,有了以下非常深刻的感悟和認識:網上搜索技能是你必不可少的重要工具!在剛開始開發應用的日子里,我其實毫無頭緒,只知道完成一些基本的任務。實際上,我花在 Google 上的時間比編程還要多。這種情況也會發生在你的身上,這也是為什么你沒有必要把一整套編程語法規則全部記下來的原因。知道如何高效地去搜索內容,將是你最重要的技能。精益創業原則跟那些經驗老道的程序員相比,其實你也有你自己特殊的優勢。因為你是一張白紙,所以你在開發這款 App 的時候沒有條條框框的限制,沒有一些既定看法的約束。你只需要瞄準這款 App 的核心功能,極盡所能地將其簡化就可以了。沒有壓力,就沒有收獲請千萬不要依賴別人,指望著讓別人來替代你開發 App。你必須在這個過程中充滿堅韌的斗志。如果你之前沒有學過編程,學習編程將讓你獲得與之前完全不同的另外一種思維模式。當然這個過程是困難的。但是當你熬過了這個階段,尤其是在花費了好幾個小時解決掉了一個問題之后,你開始逐漸對編程世界的運行規則熟悉起來。這是項目開發過程中最有價值的環節。當你的學習開始不斷加速向前,你講完全不滿足于第一次你所找到的解決方案,你會開始尋找更好的方式來解決你的編程難題。Stack OverflowStack Overflow 是互聯網上的一個社群,也是你學習如何編程的最好的社群之一!你可以在上面問各種問題,但是不要期望每一個問題都能獲得完美的解釋。為了推動你的學習進度,你不能將問題扔在上面就一走了之,你應該自己反復鉆研,最終也許你自己就能回答得了其中的一些問題,并且為這個社群做出自己的貢獻。編程有一點兒像「七巧板拼圖」游戲事實上,你可以將編程視為某種「七巧板拼圖」游戲。將你的想法打碎成為非常小的無數個能夠處理的問題,然后把這些問題集合起來就構建了 App。教程請千萬不要花費好多個星期,甚至數月的時間去翻閱書本,教程,或者 PPT。相反,首先你應該了解的是編程語言的基本規則,然后擁有一個程序員應該有的思路,最后在「做」的過程中進行學習。這也是為什么我強調一開始你必須清楚你所開發的東西究竟是什么,這一點非常重要。利用網絡上的教程,博客以及其他資源所寫的東西來學習如何針對你所需要處理的特定任務進行編程。開源對于外行學習編程來說,開源項目簡直是你所能找到的最棒的資源了!你完全不需要從無到有的自己一個人去創建出來全新的東西。也許最有可能產生的場景如下:你從網上找出來一段開源的代碼,將其完全復制到自己的應用上,試著看能否運行得了,如果不行,將其分解,提出問題,獲得答案,再對這段代碼進行改善,最終達到目的。進行日常性的編程工作,頻繁的對其進行配置盡量保證每天都能夠在你的 App 上看到進展。每天的工作時間不限長短,也許你只有幾分鐘花在上面也好。尤其是在學習結束后的開發前期,你毫無頭緒的階段里。我知道對于一個新手來說編程是多么困難的一件事,但是試著讓自己每天都在編程,這樣你才能對你的編程環境感到舒服。不要老是想著最好的解決方案是什么,對于新手來說那些都是噪音,當項目開始不斷向前推進的時候,你會逐漸了解到什么才是最好的方法,什么才是不可動搖的編程原則。同樣我還建議你能將自己的 App 配置在 Heroku, AWS 以及其他一些主機服務上。頻繁的去配置 App 將在你最終發布 App 的時候節省你大量的時間。技術很有可能,你的 App 僅靠一種編程語言是無法達成的。做好準備,學習多種編程語言。你最終有可能會掌握 Git,Heroku,JavaScript 以及 PostgreSQL。慶祝每一次微小的勝利學習編程是很艱難的一件事。如果是自學的話那就難上加難。因此,你應該為你所取得的每一次進步歡呼喝彩,不管這些進步有多么微不足道,你都應該為此感到驕傲。如果我壓根不想成為一名程序員,我是否有必要去學習編程呢?通過上面的幾步來學習編程并進行應用開發,最終達到你得到了一款由你親手開發出來的應用,也許只是花了幾個月的時間。然而這其中最重要的是,你比幾個月之前的你更加強大,也更有價值。你不再是丈二和尚摸不著頭腦的門外漢,而是一個能夠在基礎層面進行編程,并且能夠與程序員和網頁設計師進行溝通的人。你同樣有能力將自己的想法落實到地面,而不用花大價錢把技術外包給其他人。說回到 972VC 這個例子,整個開發的成本只有 9 美金(RailCasts 高級訂購包),以及購買域名的一些錢。即便是你選擇將技術外包,因為你是內行,你就有能力監控整個過程,并且在議價的時候更具有優勢。如今的 972 VC如今的 972 VC 已經成長成為了一個綜合性的平臺,為以色列的初創公司提供尋求融資(私募股權、風投、加速器和孵化器項目)的幫助。另外,它還提供有關天使投資團體,眾籌項目,在線協作、以及與科技相關的非營利性項目的支持服務。無論創業者還是初創公司,都可以在其中找到對于他們最有價值的內容。我所參考的資源:‍‍命令行交互‍‍界面:Terminal Cheatsheet for Mac安裝指引:GoRails,thoughtbotOS X 環境下的軟件打包管理系統:Homebrew代碼編輯器:Atom,Sublime Text,Vim教程:CSS-Tricks,Code School,Codecademy,Jumpstart Lab,RailsCasts,RubyMonk,Tealeaf Academy,The Ruby on Rails Tutorial,Try Ruby,Tuts+,UT on RailsRuby on Rails 開源項目:Open Source Rails認證:Devise自動完成:jQuery UI,Select2,Selectize,typeahead.jsCMS:Active Admin,RailsAdmin前端框架:Bootstrap,Foundation全文本搜索:Algolia,Elasticsearch,PgSearch,Solr,Thinking Sphinx圖標:Font Awesome編頁碼:Kaminari,will_paginateURLs:FriendlyId數據庫:MongoDB,MySQL,PostgreSQL論壇:SitePoint,Stack Overflow在你瀏覽器下的代碼編輯器:CodePen,JSFiddleJavaScript to CoffeeScript compiler:Js2coffee基于網頁的工作套件:Google DocsRuby style 指導手冊:Community-driven Ruby coding style guide視覺控制:Git存儲主機服務:GitHub網站主機服務:AWS,Engine Yard,Heroku(Nezumi是為移動端服務,Adminium是服務于數據庫的),OpenShift,RackspaceDNS 和域名管理:DNSimple瀏覽器測試:BrowserStack網站安全掃描:Detectify讀取測試:Loader.io后臺分析:Google Analytics,Segment訂閱:MailChimp,TinyLetter隱私政策:iubendaUI/UX 工具:Sketch域名生成器:Domainr,NameMesh,NameRobot,Naminum,Panabee我想,以上就是我最想說出來的感受,希望對所有如今仍然在門外徘徊,不知道如今進入編程世界的人們多少有一些作用。來源:Medium 由Tech2ipo/創見花滿樓編譯資料來源:tech2ipo創見原文刊載

社群留言