iovxw

再次更新模板

还是自己写的

这次又写了一个模板, css 加起来才 200 行
大概算是极简主义吧

如果你发现顶栏的 Search 是灰色的,或者没有加粗
那么请换一个现代浏览器

以及再次迁移回 github page, 因为发现 Kloudsec 提供了一个 免费 HTTPS CDNgithub page
当然国内速度就不指望了

顺带一提有没有发现这篇文章没有 Read More... ?
因为文章总共就这么长啦

使用 Clojure 为 Minecraft 编写 Bukkit 插件时出现 Could not locate clojure/core__init.class or clojure/core.clj on classpath 的解决方法

标题太长短不了

09:10:17 [SEVERE] Could not load 'plugins/watershipdown-0.1.jar' in folder 'plugins': 
java.lang.ExceptionInInitializerError
	at clojure.lang.Namespace.<init>(Namespace.java:34)
	at clojure.lang.Namespace.findOrCreate(Namespace.java:176)
	at clojure.lang.Var.internPrivate(Var.java:149)
	at net.jonnay.watershipdown.WatershipDown.<clinit>(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131)
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:285)
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:200)
	at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:156)
	at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:132)
	at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
	at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:407)
	at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate clojure/core__init.class or clojure/core.clj on classpath: 
	at clojure.lang.Util.runtimeException(Util.java:165)
	at clojure.lang.RT.<clinit>(RT.java:319)
	... 15 more
Caused by: java.io.FileNotFoundException: Could not locate clojure/core__init.class or clojure/core.clj on classpath: 
	at clojure.lang.RT.load(RT.java:430)
	at clojure.lang.RT.load(RT.java:398)
	at clojure.lang.RT.doInit(RT.java:434)
	at clojure.lang.RT.<clinit>(RT.java:316)
	... 15 more

Linux 下将 .jar 制作为可直接执行文件

大概是通用的

一般终端环境下要运行一个(有入口的) jar,需要 java -jar xxxx.jar

桌面环境则需要选择指定 java 来运行,需要设置默认。都不是很方便

通常都是写一个脚本来执行 java -jar,但是这样就变成两个文件了,强迫症不舒服

解决方法很简单,把这俩拼成一个文件就行了

Let's Encrypt 证书申请/签发流程

HTTP

Let's Encrypt 的自动工具很方便,但也让人搞不清过程。其实就是一个 ACME (Automatic Certificate Management Environment,自动证书管理环境) 的客户端实现,相关规范可以看这里

这篇博文相当于是个笔记,只讲最简单(暴力)的验证方式,就是靠 HTTP 验证。其他还有用 DNS 和 TLS SNI 等进行验证的。

博客更新完成

两年前的坑

总算是把两年前的坑给填了

虽然和原始设计有小小的出入(中途弄丢了源码)

而且也没重写静态博客生成器

但是就这样吧(摊手

Clojure - Functional Programming for the JVM 中文版

懒得翻译了

基于原先徐明明翻译的版本,替换了最新的英文版到里面

一些大段的更新就干脆没翻译了,如果有愿意翻译的,就 fork https://github.com/iovxw/Clojure-Article 然后自己翻译吧

给 Chrome for Android 设置顶栏颜色以及图标

Starting in version 39 of Chrome for Android on Lollipop, you’ll now beable to use the theme-color meta tag to set the toolbar color—this means no more Seattle gray toolbars! The syntax is pretty simple: add ametatag to your page’s<head>with thename="theme-color", and set thecontentto any valid CSS color.

使用 Docker 运行 AnyConnect 时出现 DTLS handshake failed 的解决方法

是个坑

第一步:

设置 Docker 内 AnyConnect 的端口和母机映射的端口相同

Let's Encrypt is Trusted

终于啊终于

We’re pleased to announce that we’ve received cross-signatures from IdenTrust, which means that our certificates are now trusted by all major browsers. This is a significant milestone since it means that visitors to websites using Let’s Encrypt certificates can enjoy a secure browsing experience with no special configuration required.

Git 取消跟踪文件和重新跟踪文件

笔记

有时候需要让 git 忽略某个文件的更新,比如配置文件。配置文件里经常有各种涉及隐私的东西,一般只提交一个模板上去,如果把自己的配置提交上去了……被盗用的例子也不少了(比如这个这个这个

解决方法也很简单,让 git 忽略这个文件的变更就行了