那些年我不懂的东西(技术大杂烩)

随笔总结一下近期学到的新东西

[TOC]

网络

没学过计算机网络,就只有大一时的计算机基础(基本忘光光的),
所以最近也补了一些知识,我就尽量用简单的语言阐述,详细就需要去看书搜索了

前面也写过一篇关于主机服务器网站访问的,访问入口

IP地址是什么

IP地址就是给每个连接在互联网上的主机分配的一个32位地址。
IP地址就好像电话号码(地址码):有了某人的电话号码,你就能与他通话了。同样,有了某台主机的IP地址,你就能与这台主机通信了。

子网掩码是什么

子网掩码就是将某个IP地址划分成网络地址和主机地址两部分。

网关是什么

网关就是一个网络连接到另一个网络的“关口”。也就是网络关卡。简单来讲,不同网络需要通过网关

DNS是什么

它就是用来让IP与域名映射解析的

TCP/IP三次握手

第一次:你在吗
第二次:我在啊,你还在吗
第三次:在啊

网络相关命令

1
2
3
4
5
ping www.baidu.com  //查看与对应的连接情况
netstat -an //不用不知道,查看本机的各种连接与端口
ipconfig /all //查看本机的ip,DHCP等等等(windows)
ifconfig //查看本机的ip,DHCP等等等(linux)
...

linux

linux不同于windows,它一切皆文件,它开源,它拥有真正的root权限

虚拟机安装linux

我用的是VMware,由于系统是win10,不兼容低版本的,安了12版本,装虚拟机并不是很困难,在网上下一个centos镜像,作为DVD载入安装即可,然后配置一下硬件,就next就next很快就大功告成了

ssh

ssh是远程登录比较安全的协议,用了非对称密钥加密,获取接收方的公钥进行加密发送,接受方用自己的私钥与密码进行解密
windows连接linux可以通过Xshell或secureCRT通过ssh来连接方便快捷

教程: http://www.imooc.com/learn/258

Vue.js

Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。实际的 DOM 操作和输出格式被抽象出来成指令和过滤器。相比其它的 MVVM 框架,Vue.js 更容易上手。

注意:vue在使用插件时浏览器端是不遵循commonjs规范的,则需用webpack或browserify来让它遵循规范

vue开发起来是很顺手但是组件化开发需要转变思维,这个还需要时日去了解

教程: http://cn.vuejs.org/guide/

webpack

web开发中常用到的静态资源主要有JavaScript、CSS、图片、Jade等文件,webpack中将静态资源文件称之为模块。webpack是一个模块打包工具,其可以兼容多种js书写规范,且可以处理模块间的依赖关系,具有更强大的js模块化的功能

什么是js模块化: js模块化是出现在我们页面越来越复杂,还有多人协作时每个人开发不同功能后出现,要防止每个人开发的部分不互相污染,则需要用到闭包,然后后来出现了require.js,来处理模块与模块之间的依赖关系

教程: http://www.hubwiz.com/course/5670d0a77e7d40946afc5e65/

webpack优点

Webpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包,它能有Grunt或Gulp所有基本功能。优点如下:

  • 支持commonJS和AMD模块。
  • 支持很多模块加载器的调用,可以使模块加载器灵活定制,比如babel-loader加载器,该加载器能使我们使用ES6的语法来编写代码。
  • 可以通过配置打包成多个文件,有效的利用浏览器的缓存功能提升性能。
  • 使用模块加载器,可以支持sass,less等处理器进行打包且支持静态资源样式及图片进行打包。
  • 教程: http://www.hubwiz.com/course/562089cb1bc20c980538e25b/

gulp

上面提到了gulp,gulp和grunt是干嘛用的呢
gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript、coffee、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。

教程: http://www.hubwiz.com/course/562089cb1bc20c980538e25b/

less

less是一种css预处理器,就是用较为少的语言与较为明了的方式来开发,来处理样式重用等问题,也便于后期的维护

教程: www.imooc.com/learn/102

git多人协作

最近有个项目,也让我去了解了一下多人协作的开发流程
首先我先创建一个项目,分成master和dev分支,协作的人fork我的项目,然后在它们本地修改,再pull request,我再来决定是否修改,最后开发完成后,再merge进master便大功告成
教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/


可自由转载、引用,但需署名作者且注明文章出处。