分类
电脑软件

各平台桌面提示通知

背景

每天上班都是一整天坐在工位盯着电脑,时间长了眼睛都要瞎了……

需求

每隔一段时间提醒下自己休息一下眼睛,放松一下,上个厕所走动一下~

实现

隔一段时间干某事,这个好办,*nix 下使用 crontab 即可,Windows 貌似也可以通过计划任务实现。

然而提醒功能该怎么办呢?

分类
电脑软件

通过 Nginx 实现在手机上播放电脑中的视频

这两天在学校看剧,由于是 BT 资源,就把整个剧集下载了,但是坐着看看累了,想躺着看。立即想到在电脑上搭建个 Web 服务器,然后开热点,用手机连接热点,打开视频播放。
涉及到:

  • Nginx 的安装与基本配置
  • 符号链接
  • Nginx 打开目录索引(支持中文名)
  • Nginx 403 Forbidden 权限问题
  • 本地可以访问,其他机器不能访问
分类
Java

Java 个人博客系统

又到月底了,再不写就要跳票了。然而这个月忙着毕业都没干啥事,写不出什么文章来,只好随便凑个数啦。

首页
首页
分类
代码

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 结尾就行。然后键入内容:

分类
代码

Spring AOP 小例子

AOP 面向切面编程
适用场景:日志记录、执行前后拦截等

步骤
0. 引入相关依赖
1. 编写实际业务方法
2. 编写切面类
2.1 定义连接点
2.2 使用通知
3. 调用业务方法

分类
代码

Java 邮件发送

使用 Java 原生方法发送邮件感觉略显麻烦,于是学习了下 Java 发送邮件的方法,然后自己封装了一层流式风格的 `MailSender`:

分类
代码

使用 JS 预览 Markdown

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

分类
作品

吉大校园网客户端 Java 版

jlu-drcom-java

吉林大学校园网登录客户端 Java 版(第三方)

下载

点此链接下载 http://dwz.cn/javadrcom

分类
代码

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省略则使用最新版本)

分类
代码

Dubbo 入门示例

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

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

下面是根据官方文档写的 Dubbo 的一个 Hello World 示例。