如此

抑制偏见,拥抱世界。 — Zi WANG (@hiwangzi) October 29, 2017 有了记录之后,仍然会觉得,时间眨眼飞逝。 去年的今天,写下了 我的十月 这篇博文,再读来,真的觉得当时的自己的生活还算称得上有趣啦。也许就如花花所说,我一直在粉饰自己过去的时光,所以才总是会觉得现在的自己真是大不如从前。 人虽然总是在变化,可变化有时却没那么快。或许未来的自己会觉得今天的我也并非充足的努力,可此刻的我还是愿意鼓励自我的现状。或许没有去年的十月那么多值得记录的事情,但我知道,自己在踏实的前进。 没有什么更多的事说了,如此…

October 31, 2017 · Zi WANG

全栈框架——MEAN

MEAN: MongoDB - Express - AngularJs - Node.js MongoDB 是一个面向文档的、 NoSQL 类型的数据库。MongoDB 颠覆了传统的基于表的数据存储方式,而采取了类似 JSON 的文档结构来存储数据,因而它在存储数据时可以更加灵活。 Express 是一个 Node.js 框架,可以创建灵活的 Web 服务,比如单页面应用程序、多页面应用程序和混合型 App。 AngularJS 是一个开源的 JavaScript 框架,由 Google 和开源社区共同维护,它用来创建单页面应用程序。它的目标是使用 model-view-controller 模式来规范 Web 应用程序,让开发和测试富交互的单页面应用程序变得更加轻松。 Node.js 是一个运行在服务器端的 JavaScript 运行环境,它的底层是基于 Chrome 的 JavaScript 运行环境——V8 引擎。Node.js 可以作为服务器端语言,用来创建快速、可扩展的应用程序。Node.js 也可以在本机运行,做一些本地操作,比如加速本地开发流程,或者实现一键发布。 MEAN 可以说是传统的 LAMP 方案的有力竞争者。因为从服务器端到页面端都采用同样的语言(JavaScript)和同样的架构模式(MVC),所以一个擅长 JavaScript 的工程师可以兼顾前后端的开发,并且前端代码和后台代码是可以复用的。

October 25, 2017 · Zi WANG

(转载) IaaS, PaaS, Saas

如果你是一个网站站长,想要建立一个网站。不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序。 现在你追随潮流,采用流行的云计算,如果你采用 IaaS 服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件 而如果你采用 PaaS 的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序 如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为 SaaS 。 作者:John Wang 链接:https://www.zhihu.com/question/20387284/answer/28514161 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

October 25, 2017 · Zi WANG

【Java 核心笔记】04.07. 反射

反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵 Java 代码的程序。 能够分析类能力的程序称为反射(reflective),其可以: 在运行中分析类 在运行中查看对象 编写泛型数组代码 调用任意方法 java.lang.Class 类用于描述 JVM 中使用的类。 不要过多地使用反射,其不适合编写应用程序。反射是很脆弱的,编译器很难帮助人们发现程序中的错误,因此很有可能会导致运行时出现异常。 在运行中分析类 获取Class对象的三种方式(JVM为每个类型管理一个 Class 对象): // 1. 通过实例对象获取 Random random = new Random(); Class cl = random.getClass(); System.out.println(cl.getName()); // 输出为 java.util.Random // 2. 通过静态方法 forName 获得类名对应的 Class 对象 Class cl = Class.forName("java.util.Random"); // 3. 通过`类.class`获取(例如cl2,基本类型也可以) Class cl1 = Random.class; Class cl2 = int.class; Class cl3 = Double[].class; // 历史原因,getName 方法有时会返回一个奇怪的名字 Double[]....

October 14, 2017 · Zi WANG

【Java 核心笔记】04.06. UML

类间关系 依赖(dependence)(uses-a):例如Order对象使用Account对象查看账户的信用状态 聚合(aggregation)(has-a):例如Order对象包含了一些Item对象 继承(inheritance)(is-a) 对应的 UML 符号 有些方法学家不喜欢聚合这个概念,而更加喜欢「关联(association)」这个术语。但「has-a」更加形象,同时「关联」的 UML 符号不易区分。 以下是一个UML类图的示例:

October 14, 2017 · Zi WANG

【Java 核心笔记】04.05. 内部类、lambda

在类的内部还可以定义另一个类。如果在类 Outter 的内部再定义一个类 Inner ,此时类 Inner 就称为内部类,而类 Outter 则称为外部类。 内部类可声明为 public 或 private。当内部类声明为 public 或 private 时,对其访问的限制与成员变量和成员方法完全相同。 class Outer { // 定义外部类 private String info = "hello world"; // 定义外部类的私有属性 class Inner { // 定义内部类 public void print(){ // 定义内部类的方法 System.out.println(info); // 直接访问外部类的私有属性 } } public void fun() { // 定义外部类的方法 new Inner().print(); // 通过内部类的实例化对象调用方法 } } public class InnerClassDemo01 { public static void main(String args[]){ new Outer()....

October 14, 2017 · Zi WANG

【Java 核心笔记】04.04. 代码块

代码块就是使用 {} 括起来的一段代码,根据位置不同,可分为四类: 普通代码块 构造代码块 静态代码块 同步代码块 普通代码块 直接定义在方法中的代码块称为普通代码块。 public class Demo { public static void main(String args[]) { { // 普通代码块 int x = 30; // 属于局部变量 System.out.println("普通代码块 --> x = " + x); } int x = 100; // 与局部变量名称相同 System.out.println("代码块之外 --> x = " + x); } } // 输出 // 普通代码块 --> x = 30 // 代码块之外 --> x = 100 构造代码块 直接在类中定义的代码块,称为构造块。...

October 14, 2017 · Zi WANG

scp 命令简明介绍

安全复制(英语:Secure copy,缩写SCP)是指在本地主机与远程主机或者两台远程主机之间基于Secure Shell(SSH)协议安全地传输电脑文件。“SCP”通常指安全复制协议或者程序本身。安全复制 - 维基百科,自由的百科全书 其使用方法类似于 cp 命令。 复制文件或目录命令: 复制文件: 将本地文件拷贝到远程 scp 文件名 --用户名@计算机IP或者计算机名称:远程路径 从远程将文件拷回本地 scp --用户名@计算机IP或者计算机名称:文件名 本地路径 复制目录: 将本地目录拷贝到远程 scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径 从远程将目录拷回本地 scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径 注意,如果远程主机使用非默认端口22,可以在命令中指定。例如,从远程主机复制一个文件到本地。 scp -P 2222 user@host:directory/SourceFile TargetFile

October 11, 2017 · Zi WANG