更新时间: 2017-06-14 13:34:54       分类: 教程


前言

欢迎你来到web开发世界的大门前,挑战者。你接下来将要看到的这一系列文字,将会慢慢为你揭开IT开发的冰山一角。 但在正式的教程开始前,希望你能耐心阅读一下下面这些有些冗长的“废话”

这篇教程要讲些什么?

有关web开发的方方面面,包括但不局限于以下的技能点:

html,css,js,php,mysql,linux,nginx,框架,MVC包管理,安全,git,HTTP....

看到这么多陌生(如果你都不陌生可以右转离开本教程了)的名词,是否觉得已经兴奋了起来?如果感兴趣的话就继续看下去吧,学习带来的总不会有坏处

我将使用30天左右的时间带你学会上面的技能,成为一名见习web工程师(没错只要1个月,激不激动,刺不刺激)

为什么要出这篇教程?

首先来谈谈作者我的背景吧,本人是一名普通的大二(三)计科狗,勉强算是掌握了一些web开发的基本技能(主要做后端开发),参与过一点小小的项目开发。之所以写这篇教程,是因为作者在大一的时候,作为一个对计算机充满兴趣的宅男,一心想学点技术(拿来装装逼),但是却一直无从下手,网上的学习资源虽然多,但是也十分零碎,不成体系,于是东学西学,走了很多弯路。

(下面这段话写给NEUQ-ACM俱乐部的孩子们,看不懂的可以跳过) 现在处于俱乐部的交接时期,我身为副会长很遗憾的看到新一届的孩子们当中没有一位能够担任起维护俱乐部技术支持的存在,于此同时我也看到了和当年的我一样,希望学习技术但却感到彷徨的少年少女们,因此我萌生了这个想法,那就是,把自己走向开发正路的过程浓缩出来,为你们在开发这片广袤无垠的海洋上安放一只小船,让你们有能力去了解这片崭新而又充满活力的新天地。

总而言之,我最大的一个目的就是希望大家:

(重要的事情说三遍)

这套教程要求你:

应该以什么样的姿势去学习?

  1. 自顶向下的学习路径

    通俗的说,就是不要急于掌握原理和底层的东西,而是先去了解这东西怎么用,再去了解它的工作原理。

    我拿自己开始学web开发时候的情景作为一个反面教材,大家可以听听:

    开始的时候我听说web开发得会html啊,然后我花了一周的时间学习W3C和网易云上的html教程,把所有的标签属性全过了一遍,然后自己写了点页面 ,但是奇丑无比,后来我再没有用过这些东西(最后转了后端几乎再也没写过页面)

    然后我听说web开发得会js啊,然后我决定系统的学习一下js吧,然后我又花了将近一个月的时间学习原生js的基本语法(大家都知道js的坑很多,设计也很不合理),然后开始钻研原型链是个啥...然后发现钻研不出来...最后对js产生心理阴影再也不想看到它

    然后我又听说web开发得会http啊,于是我又去看http协议,然而这玩意完全看不出来有啥用,又是背状态码又是背报文结构的让我感觉在背政治,后来听说http又是用tcp/ip实现的,想去看tcp/ip,结果发现讲tcp的书几卷加起来几千页怕是整个大学都读不完,害怕了...

    又然后我听说web开发有个很火的语言叫PHP啊,好像是世界上最好的语言,这怎么能不学呢!然后又去读php的语法,但是也就局限在用网页写个计算器的水平...

    最后我还听说web开发得会数据库啊..然后又去看sql语句啊..就要感受绝望了

    于是大一一年过去了,东学西学折腾了不少,看样子啥都懂一点了,然而连一个像样的东西都写不出来,还严重打击了自己的自信心。

    幸亏后来发现了一套视频教程,跟着里面的老师从头到尾写了一个项目,终于搞明白了之前学的一堆东西到底要怎么融合在一起应用,这时候我才明白自己的学习过程完全是反的啊!从一开始就不应该先试图去学会那些所谓的语法和理念,而应该在上手会用后直接实践,在实践中遇到问题再着手去深入了解,这样理解更透彻,而且节约了时间。

    这个就是自顶向下的学习方式,我觉得当今web世界存在那么多的分支,想要一一理清是不可能的,所以这种方式是最为合理和高效的。

  2. 二叉树式的自我扩展

    二叉树只有一个根,但是随着层次的扩展叶子节点将会越来越多,这就像是我们的学习,一开始的时候你会一项技能(比如html),但是你可以以它为根节点去不断的扩展,这样你就能学到越来越多的知识(js,css,php....),不知不觉中你就成长为一个大牛了(笑)。因此有两点需要注意,一是打好基础,根节点要稳固,而是要勇于扩展,学习更多的新知识,创建更多的叶节点。

啥是web开发?

通俗的来讲(根据我的理解),web开发就是在制作一个利用浏览器跟用户交互的网络应用程序,它主要涉及到以下两个方面:

我喜欢用一个简单的比喻来了解web开发中前后端的关系:一个web应用就好像是一块手表,前端就是表面(包括刻度,指针等等..),后端就是隐藏在内部的机械部件,是它维持着手表的正常运作。

为什么是web开发?

开发的世界里存在许许多多的分支(前端,后端,安卓,ios...),为什么这篇教程偏偏选中了web开发这个扎堆的领域呢?

我不想学web开发!

其实这篇教程的主要目的并不是让大家去学会web开发这一项技能,我更希望的是让大家学会如何入门开发,如何以现代而又正确的姿势去学习一项技能,培养大家的工程思想项目意识,因此如果你现在还是一个只会写hello world而不知编程有何用处的同学,又想要入门开发的世界,那我觉得这套教程也值得你阅读。

教程结构与目录

入门篇

工程篇

应用篇

(这一章将会带大家从零构建一个完整的简易博客系统 ,了解一个项目的基本开发流程)

进阶篇

准备开始吧

由于时间和能力的限制,教程不会十分的详细,以及可能会有大量的扩展阅读,因此你最好明白,这并不是一个傻瓜式的教程,而更多的需要你动脑思考。

本套教程计划在以下三个平台更新:


评论

还没有评论