admin 发布的文章

作者:吴盐以兑
链接:https://www.zhihu.com/question/50800464/answer/122921043
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

第一步【0,1, ...rest】: ES6/ ES2015
现在学JS,ES6是必备啦。
第二步【99乘法表】: TypeScript
也可以从这一步开始,但有第一步这个会理解的更快。同时,这一步我觉得重的要的还是OO思想,原来JS太开放,各种坑不利于软件工程化。
第三步【方程式】:Angular 2 Basics, Material Design( Lite ) 等
一些基础的概念,如Component, Module, Router, Pipe 等
第四步【排列组合】:Javascript Reactive Programming
因为Angular 2 全面拥抱 RxJs, 所以这个我觉得很重要,主是是Observable的思想。
第五步【数列极限】:Redux 概念
不需要学 React + Redux , 主要是概念和原理。
第六步【几何学】:相关命令工具(wepack, Angular-Cli)
webpack以前做前端的已懂的略过。
调试及打包。最新ng tools已经内置Wepack并作为默认打包工具。(完美)
Webpack 套路与 gulp grunt不一样。
第七步 【行列式】:测试
哎,想当年哪能想到前端也要写单元测试。
第八步【高考啦】:Angular2, RxJS, and ngrx/store 开始做个像样的项目!
!!! 此处才能有有高潮,官方教程没有!!!

(级别只是类比,不准确可以建议修改,但求别喷

bbr
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh
ss:
wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh chmod +x shadowsocks-libev.sh ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log
kcp:
wget --no-check-certificatehttps://raw.githubusercontent.com/kuoruan/kcptun_installer/master/kcptun.sh
chmod +x ./kcptun.sh
./kcptun.sh

安装 Git

是时候动手尝试下 Git 了,不过得先安装好它。有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。

从源代码安装

若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git 的每个版本都在不断尝试改进用户体验,所以能通过源代码自己编译安装最新版本就再好不过了。有些 Linux 版本自带的安装包更新起来并不及时,所以除非你在用最新的 distro 或者 backports,那么从源代码安装其实该算是最佳选择。

Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:

$ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

之后,从下面的 Git 官方站点下载最新版本源代码:

https://www.kernel.org/pub/software/scm/git/

然后编译并安装:

$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

现在已经可以用 git 命令了,用 git 把 Git 项目仓库克隆到本地,以便日后随时更新:

$ git clone git://git.kernel.org/pub/scm/git/git.git
错误解决

Looks like /bin/sh: cc: command not found is the error message and it has been split on 2 lines to add extra confusion. i.e. there is no cc command.

It means that you need to install a C compiler. If you run the following command it should install all the necessary tools (gcc, binutils, etc) to compile git.

yum groupinstall 'Development Tools'

You are also missing the necessary development headers, like openssl:

yum install openssl-devel curl-devel expat-devel gettext-devel zlib-devel

One needs to install the following package:

yum install perl-ExtUtils-MakeMaker

while in Ubuntu, this is in "perl-modules". Also we need to add perl among the build dependencies of Qsnake.

 

在 Linux 上安装

如果要在 Linux 上安装预编译好的 Git 二进制安装包,可以直接用系统提供的包管理工具。在 Fedora 上用 yum 安装:

$ yum install git-core

在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:

$ apt-get install git

在 Mac 上安装

在 Mac 上安装 Git 有两种方式。最容易的当属使用图形化的 Git 安装工具,界面如图 1-7,下载地址在:

http://sourceforge.net/projects/git-osx-installer/

图 1-7. Git OS X 安装工具

另一种是通过 MacPorts (http://www.macports.org) 安装。如果已经装好了 MacPorts,用下面的命令安装 Git:

$ sudo port install git-core +svn +doc +bash_completion +gitweb

这种方式就不需要再自己安装依赖库了,Macports 会帮你搞定这些麻烦事。一般上面列出的安装选项已经够用,要是你想用 Git 连接 Subversion 的代码仓库,还可以加上 +svn 选项,具体将在第八章作介绍。(译注:还有一种是使用 homebrew(https://github.com/mxcl/homebrew):brew install git。)

在 Windows 上安装

在 Windows 上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

http://msysgit.github.com/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

给 Windows 用户的敬告:你应该在 msysGit 提供的 Unix 风格的 shell 来运行 Git。在 Unix 风格的 shell 中,可以使用本书中提及的复杂多行的命令。对于那些需要在 Windows 命令行中使用 Git 的用户,必须注意:在参数中间有空格的时候,必须使用双引号将参数括起来(在 Linux 中是单引号);另外,如果扬抑符(^)作为参数的结尾,并且作为这一行的最后一个字符,则这个参数也需要用双引号括起来。因为扬抑符在 Windows 命令行中表示续行(译注:即下一行为这一行命令的继续)。

JDBC操作数据库的基本步骤:

1)加载(注册)数据库驱动。

2)建立(获取)数据库连接。

3)创建(获取)数据库操作对象。

4)定义操作的SQL语句。

5)执行数据库操作。

6)获取并操作结果集。

7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接)。

以下是代码:

- 阅读剩余部分 -

如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。

目的:可以正常访问静态文件,不要找不到静态文件报404。

方案一:激活Tomcat的defaultServlet来处理静态文件

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>
要配置多个,每种文件配置一个 

要写在DispatcherServlet的前面, 让defaultServlet先拦截,这个就不会进入Spring了,我想性能是最好的吧。

Tomcat, Jetty, JBoss, and GlassFish  默认 Servlet的名字 -- "default"
Google App Engine 默认 Servlet的名字 -- "_ah_default"
Resin 默认 Servlet的名字 -- "resin-file"
WebLogic 默认 Servlet的名字  -- "FileServlet"
WebSphere  默认 Servlet的名字 -- "SimpleFileServlet"

方案二: 在spring3.0.4以后版本提供了mvc:resources 

<mvc:resources 的使用方法:

<!--对静态资源文件的访问-->
<mvc:resources mapping="/images/**" location="/images/" />

/images /**映射到 ResourceHttpRequestHandler 进行处理,location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period可以使得静态资源进行web cache

- 阅读剩余部分 -