自己实现一个 Mini MVC 框架

mini-mvc-example

上回说到自己实现一个 Mini IoC 容器,有了一个依赖注入的容器,如果不尝试用于 Web 应用那岂不是没什么用。因此我们可以试着在 Mini IoC 的基础上,实现一个 Spring MVC Style 的简单 MVC 框架。

同样,先给出我们希望怎么使用这个的框架的代码,然后再一步步实现我们想要的写法:

用法

继续阅读“自己实现一个 Mini MVC 框架”

自己实现一个 Mini IoC 容器

前言

IoC(Inversion of Control,控制反转)将对象的生成、设置等行为交给容器来完成,而不是由开发者自己编写 new, setXxx 等语句控制。其中最常见的实现方式是 Spring 的依赖注入(Dependency Injection, DI),如有个类 A, 其中一个字段是 B(带有注解 @Resource 或 @AutoWired ),那么容器会自动先查找一个 B 再注入到 A 的这个字段中(查找过程中可能会发现 B 也需要注入一个 C, 这些容器都会帮你完成)。
通常控制反转和依赖注入可以等同起来,我这里用 IoC 这个名称是因为它看起来比较好看——以上是我随便说的,说错了请指正……

于是我们可以自己实现一个 IoC 容器吗?虽然 Spring 已经做得足够好了,但我就是闲得蛋疼(并不闲,每天加班到九点)特别想自己试试怎么实现可以吗?——当然可以,毕竟我还是一个爱学习的好孩子。
继续阅读“自己实现一个 Mini IoC 容器”

Nginx 简单使用

安装

sudo apt install nginx-full

如果之前安装过 apache2, 建议先卸载掉……

如果没有意外的话,打开 http://localhost/ 就可以看到默认欢迎页了。

配置

安装后配置文件都在 /etc/nginx 下。打开 nginx.conf 可以看到,会把 conf.d 文件夹下所有的 *.conf 文件都包含进来。因此我们可以把自定义配置文件放在 conf.d 目录下。

这里假设我们需要配置一个域名:youthlin.local, 于是我在 conf.d 目录下新建一个文件 youthlin.local.conf, 文件名任意,conf 结尾就行。然后键入内容:
继续阅读“Nginx 简单使用”

使用 JS 预览 Markdown

一直使用「马克飞象」写 Markdown, 后来发现了个 Showndown.js 可以渲染 Markdown, 于是就搜了下用法做出了初版一个小网页用来给自己渲染 Markdown 玩玩。不过,后来发现几个瑕疵点,换行对中文不友好,设为 GitHub Flavour 后行尾俩空格就应该是换行,但是这一行有中文的话就不会识别,因此最后找了个替代: marked.js. (还支持代码高亮哦)
贴出代码:
继续阅读“使用 JS 预览 Markdown”

Maven 插件开发

官方文档:
https://maven.apache.org/guides/plugin/guide-java-plugin-development.html
中译版:http://ifeve.com/maven-java-pluging/

Maven 只是一个框架,本身不执行什么功能,所有功能都是 Maven 插件完成的。比如编译命令是 mvn compiler:compile 就是使用 compiler 插件执行 compil 这个目标( goal)。要想自己写一个 Maven 插件也是很简单的。

新建 Maven 工程

名字起为 {YourPluinName}-maven-plugin. 这样起名是 Maven 插件的规范,这样执行命令时可以使用简短命令(mvn YourPluginName:goal),否则需要输入 mvn groupId:artifacId:version:goal 全名。(version省略则使用最新版本) 继续阅读“Maven 插件开发”

Dubbo 入门示例

Dubbo 是一个分布式服务架构的工具,而且与 Spring 很好的集成,就把他理解为 RMI(Remote Method Invoke 远程方法调用)的框架吧……

上学期的《软构建与中间件》课程中 EJB 相关内容就涉及到 RMI 的内容,因此还是可以接受这个概念的,客户端明明调用的是接口,那到底是谁实现的呢?这个就不用客户端来操心了,客户端只需要获取到接口实例,调用它的方法达到自己的目的就行了。

下面是根据官方文档写的 Dubbo 的一个 Hello World 示例。 继续阅读“Dubbo 入门示例”

Hadoop 集群搭建

在图书馆看到关于 Hadoop 的书,刚好有空,就借回来了看看。然后在寝室尝试搭建环境,用了一天才弄好。
Hadoop 的运行模式有 单机模式、伪分布式模式、完全分布式模式。我选择的时完全分布式模式安装。
因此需要多台机器。但哪来的多台机器呢,当然是虚拟机啦。
继续阅读“Hadoop 集群搭建”