Chez Scheme Version 9 User’s Guide
LaTeX 依赖好麻烦
闲得没事自己编译了下,有一块竟然还要手动写日期,一堆依赖真是麻烦
Github: https://github.com/iovxw/csug9
闲得没事自己编译了下,有一块竟然还要手动写日期,一堆依赖真是麻烦
Github: https://github.com/iovxw/csug9
给 Telegram 写的一个 RSS Bot 总是随机出现大量重复推送更新的 BUG,还以为是数据库或者 RSS 对比的问题,然而逻辑上根本没问题
百思不得其解
直到发现了自己在 loop 用的是 Thread/sleep
来进行定时的,它是 Thread
啊!
当然最好的不是我说的,是王垠说的 (冤有头债有主,别打我)
十二天前,Cisco 的 github 上新建了一个 repo,就是大名鼎鼎的 (被王垠吹上天的)
ChezScheme
不过只有一个 README 和 LICENSE
而就在十分钟之前,终于推了源码上去了
这两天用 ClojureScript 弄了个 Todo List
在线版本: https://iovxw.net/text-todo-list/
为了能离线使用, 试着用了下 HTML5 加的 Application Cache, 效果当然是不错的
不过中间看文档不仔细导致白折腾了半天
只要是个程序员,肯定就陷入过这个话题中
究竟哪个语言更好?
一般这种话题开始后,只有三种结果
有人奇怪我为啥会喜欢这么一个没人用的语言
还有人认为这是为了装逼(对于这种人,真想打一顿)
本来是想回答:
反正我喜欢用,又没安利给你,你管得着吗
不过还是谈一下 Lisp 这个 充满圆括号的 语言吧
这次又写了一个模板, css 加起来才 200 行
大概算是极简主义吧
如果你发现顶栏的 Search 是灰色的,或者没有加粗
那么请换一个现代浏览器
以及再次迁移回 github page, 因为发现 Kloudsec 提供了一个
免费 HTTPS CDN 给 github page
当然国内速度就不指望了
顺带一提有没有发现这篇文章没有 Read More...
?
因为文章总共就这么长啦
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
一般终端环境下要运行一个(有入口的) jar,需要 java -jar xxxx.jar
桌面环境则需要选择指定 java 来运行,需要设置默认。都不是很方便
通常都是写一个脚本来执行 java -jar
,但是这样就变成两个文件了,强迫症不舒服
解决方法很简单,把这俩拼成一个文件就行了
Let's Encrypt 的自动工具很方便,但也让人搞不清过程。其实就是一个 ACME (Automatic Certificate Management Environment,自动证书管理环境) 的客户端实现,相关规范可以看这里
这篇博文相当于是个笔记,只讲最简单(暴力)的验证方式,就是靠 HTTP 验证。其他还有用 DNS 和 TLS SNI 等进行验证的。