创意:在上一章,我们看到了一个对编程一窍不通的门外汉,是如何凭借强大的自学能力,将一个在脑海中酝酿多年的想法变为现实的。现在,回顾他过去的各种经历,他有很多感触和理由要和我们分享:通过我之前描述的阶段,如果你按照步骤一步一步地执行,你很快就能做到得到你想要的结果。今天,通过这个阶段的学习和发展,我有以下非常深刻的感悟和感悟:网络搜索技能是你必备的工具!在APP开发初期,我真的是一窍不通,只知道完成一些基本的工作。事实上,我花在谷歌上的时间比编程还多。这也发生在你身上,这就是为什么你不需要记住一整套编程语法规则的原因。知道如何有效地搜索内容将是您最重要的技能。精益创业原则与那些经验丰富的程序员相比,其实你也有自己特殊的优势。因为你是一张白纸,所以你在开发这个应用程序时不受规章制度的限制,也没有一些既定观点的约束。您只需要针对应用程序的核心功能并尽可能简化它。没有压力,就没有收获。请不要依赖他人并期望他人代替您开发应用程序。在这个过程中你必须要有毅力。如果你以前没有学过编程,学习编程会让你获得另一种与以前完全不同的思维方式。当然,这个过程是艰难的。但是当你过了这个阶段,尤其是在花了几个小时解决一个问题之后,你就会逐渐熟悉编程世界的运作方式。这是项目开发过程中最有价值的部分。当你的学习开始加速向前时,你不会满足于你第一次找到的解决方案,你会开始寻找更好的方法来解决你的编程问题。StackOverflowStackOverflow是Internet上的一个社区,也是您学习如何编程的最佳社区之一!您可以在上面提出各种问题,但不要指望每个问题都能得到充分解释。为了促进你的学习进步,你不能把题扔在上面就走人。你应该自己反复研究它。最后,您也许可以自己回答一些问题,为社区做出自己的贡献。编程有点像拼图游戏事实上,你可以把编程想象成一种拼图游戏。将您的想法分解为极少数可管理的问题,然后将这些问题组合起来构建应用程序。教程请不要花费数周甚至数月的时间来浏览书籍、教程或PPT。相反,首先你应该了解编程语言的基本规则,然后才有一个程序员应该有的思想,最后在“做”的过程中学会。这就是为什么我强调开始时准确了解您正在开发的内容非常重要。使用教程、博客和网络上的其他资源来学习如何针对您需要处理的特定任务进行编程。开源对于刚开始学习编程的人来说,开源项目是您能找到的最好的资源!您不需要自己从头开始创建全新的东西。或许最有可能的场景是这样的:你从网上找了一段开源代码,把它完整地复制到你的应用程序中,试试看能不能用,如果不行,把它分解,提出问题,得到答案,然后完善这段代码,最终达到目的。做好例行的编程工作,经常配置,尽量保证每天都能在自己的App上看到进度。你一天可以工作几个小时,也许你只有几分钟可以花在上面。尤其是在学习结束后的发展初期,毫无头绪的时候。我知道编程对于新手来说有多难,但是尽量让自己每天都编程,这样你才能对自己的编程环境感到舒服。不要总是想什么是最好的解决方案。对于新手来说,这只是噪音。当项目开始向前推进时,你会逐渐明白什么是最好的方式,什么是不可动摇的编程原则。我还建议您在Heroku、AWS和其他托管服务上配置您的应用程序。应用程序的频繁配置将在您最终发布应用程序时为您节省大量时间。技术是很有可能的,你的app不可能只用一种编程语言来实现。准备好学习多种编程语言。您最终可能会掌握Git、Heroku、JavaScript和PostgreSQL。庆祝每一个小小的胜利学习编程是一项艰苦的工作。如果是自学就更难了。因此,你应该为你所做的每一个进步鼓掌,无论多么微小,你都应该为此感到自豪。如果我根本不想当程序员,我还有必要学编程吗?通过以上步骤学习编程和应用开发,你最终会得到一个自己开发的应用,这可能只需要几个月的时间。不过,最重要的是,你比几个月前更强大、更有价值。你不再是一个摸不着头脑的门外汉,而是一个会基础编程,能和程序员、网页设计师交流的人。您还可以将自己的想法付诸实践,而不必花大价钱将技术外包给其他人。回到972VC的例子,整个开发成本只有9(RailCastsPremiumSubscriptionPackage),外加一些购买域名的钱。即使你选择外包技术,因为你是专家,你有能力监控整个过程,在议价时也有优势。今天的972VC今天的972VC已经发展成为以色列初创企业寻求融资(私募股权、风险投资、加速器和孵化器计划)的综合平台。此外,它还为天使投资团体、众筹项目、在线合作和与技术相关的非营利项目提供支持服务。无论是创业者还是创业公司,都能找到对自己最有价值的内容。#p#资源我参考:??命令行交互??界面:TerminalCheatsheetforMac安装指南:GoRails、thoughtbotOSX环境软件打包管理系统:Homebrew代码编辑器:Atom、SublimeText、Vim教程:CSS-Tricks、CodeSchool、Codecademy、Jumpstart实验室、RailsCasts、RubyMonk、Tealeaf学院、RubyonRails教程、试用Ruby、Tuts+、UTonRailsRubyonRails开源项目:开源Rails认证:设计自动完成:jQueryUI、Select2、Selectize、typeahead.jsCMS:活动Admin、RailsAdmin前端框架:Bootstrap、Foundation全文搜索:Algolia、Elasticsearch、PgSearch、Solr、ThinkingSphinx图标:FontAwesome页码:Kaminari、will_paginateURLs:FriendlyId数据库:MongoDB、MySQL、PostgreSQL论坛:SitePoint、StackOverflow's浏览器中的代码编辑器:CodePen、JSFiddleJavaScript到CoffeeScript编译器:Js2coffee基于Web的工作套件:GoogleDocsRuby风格指南:社区驱动的Ruby编码风格指南视觉控制:Git存储托管服务:GitHub网站托管服务:AWS、EngineYard、Heroku(Nezumi为移动端,Adminium为数据库)、OpenShift、RackspaceDNS及域名管理:DNSimple浏览器测试:BrowserStack网站安全扫描:DetectifyRead测试:Loader.io背景分析:GoogleAnalytics,细分订阅:MailChimp,TinyLetter隐私政策:iubendaUI/UX工具:Sketch域名生成器:Domainr、NameMesh、NameRobot、Naminum、Panabee编程世界中的人们可以发挥一些作用
