January 01, 2021 7 min read 年末总结 于是乎,我就这样活过了2020:这是一篇年末总结 开始策划这篇文章之前,我以为这会是一篇负能量满满的文章。 这确实是不好过的一年 [https://zh.wikipedia.org/wiki/2020%E5%B9%B4],无论是对于我还是对于这个世界。 不过也算有好事发生啦…… 比如说我还活着。 过去一年里,我做了什么? 什么也没做。 这么说看起来有些不负责任,但事实确实是这样。在写这篇总结的时候,我没有任何 TODO。这不是说我已经把所有的 TODO 都完成了,而是我根本没有开过任何坑。 我找不到2018年时的我对2019年的展望和规划,大概是被某些重大事项给耽误了。 我同样没有找到那个特殊夜晚准备写的所谓 Lss233 v2. 继续阅读
January 01, 2020 4 min read 年末总结 这个Lss233一事无成却敢写年末总结:2019,再见啦。 你是活了365天,把1天过了365遍? 也许是缺少了一些仪式感,我发现这一年过得好快。 过去的一年里,Lss233做了些什么? 在写这篇文章的时候,咱先回顾了一下18年写的年末总结 [https://blog.lss233.com/hi-2019/]。很棒,消极的预言都实现了,积极的预言一个也没有。 Added: こんにちわ ‘学习一门新的外语。’ 我记得写这句话的时候,我在Duolinguo自学法语。后来因为某种原因没有坚持下去了。当初的想法是先自学一些拉丁语系的语言,最后学日语。结果……我现在打算主攻日语啦。 Updated: 更新了人生规划,未来是迷茫的 记得我最初的人生规划是,报考计算机系,毕业之后在大企工作。 继续阅读
February 09, 2019 8 min read 无意义 噩梦24小时:记一次服务器迁移与宕机过程 有句俗语叫:If it ain't broke, don't fix it. 今天真是见识到了。 0x0000 起因 在昨天(2月8日) 17时,本人收到了Cloudcone发来的春节优惠邮件。 在一番激烈的思想斗争下,下单了一个看上去更便宜的套餐 [https://app.cloudcone.com/compute/419/create?ref=1626]。打算把服务器迁移过去。 0x0001 噩梦 几分钟后,服务器创建完毕。 发现控制面板居然没有像搬瓦工那样方便的服务器迁移菜单, 继续阅读
February 09, 2019 17 min read 技术 新技能学习:教你如何阅读Java字节码 Java字节码是由 .java 文件通过Java编译器编译成 .class 文件所包含的代码,我们通常使用的Java程序就是通过Java虚拟机执行Java字节码来得到的效果。 既然我们可以口算MD5、手算二维码,这篇文章就来讲讲眼看Java字节码吧! 0x0000 - 准备工作 在开始学习之前,请先准备好下列工具: 1. 一款支持HEX格式的编辑器,如 Sublime Text(推荐)、Ultra Editor等。 2. 一个Java环境开发环境,用来编译一个.class文件。 你需要知道这些基本知识: * HEX在这里指的是十六进制 [https://baike.baidu.com/ 继续阅读
January 19, 2019 4 min read 技术 让我们用PGP进行安全地交流吧! 如今的互联网,用户已经毫无隐私可言。咱经常都能看见各种信息泄露的新闻。谁能保证咱使用的软件、网络甚至是设备没有被什么人监视着呢? 为了保证隐私安全,PGP诞生了。 这篇文章将会让你了解如何在你的设备上配置与使用PGP加密邮件,让我们开始吧~ 0x00 PGP的前世今生 什么是 PGP ? > PGP(英语:Pretty Good Privacy,中文翻译“优良保密协议”)是一套用于讯息加密、验证的应用程序,采用IDEA的散列算法作为加密和验证之用。 PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤均支持几种算法,用户可以选择一个使用。每个公钥均绑定一个用户名和/或者E-mail地址。 PGP的主要开发者是菲尔· 继续阅读
December 31, 2018 4 min read 年末总结 你好,2019 一年又一年,告别2018,迎来2019。这是一篇年末总结,列出了我在2018做过的事情,以及对2019的展望。 继续阅读
August 31, 2018 8 min read Phoenix入门教程 {0x13} Phoenix模块开发教程:命令系统 碎碎念... 关于命令系统的构思,我采用了一些Web框架的路由设计。 他们是像这样的: > 注: 这个例子用到了Rapidoid Web框架 [http://www.rapidoid.org/web.html]。 所以我在Phoenix中也引入了这种设计。 可以说,这部分是最让我引以为豪的地方了。 > 这篇文章属于Phoenix Framework 入门教程 [https://blog.lss233.com/phoenixframework-ru-men-jiao-cheng] 的一部分。 注册一个命令执行器 咱建议,在插件被启用的时候就马上让Phoenix给我们的模块注册监听器。所以,在我们项目主类的onEnable()方法下,写上这么一行: 继续阅读
July 06, 2018 2 min read Java 浅谈 Java 9 的模块化系统 什么是模块? 一个模块是代码的集合。它以依赖关系的形式持有类,数据和其他模块。它与JAR文件类似,但更好。每个模块都包含一个module-info.java 文件,它可以让我们明确地设置必要的信息。包括它依赖的其他模块以及其他模块可以访问的内容。 这是一种更好的方式,可以为程序员共享代码并进行协作减少一些兼容性的问题。 如何使用模块? 一个模块包含一个module-info.java文件 ,它包含了模块的基本信息,比如它依赖哪些模块、它的哪些部分能被其他模块访问等。 最主要的关键词是requires和exports。 现在,我们来写举几个简单的例子: module Decoder { requires Reader; exports com.decoder; } 上面的这个例子表明了Decoder模块依赖于Reader模块。 下一行则声明其他模块只能访问com.decoder包以内的内容。 继续阅读
June 24, 2018 2 min read Maven 使用lss233源加快Minecraft插件/Mod开发 记得最开始使用Maven的时候,基本上大部分时间都花在寻找依赖和下载依赖上。 许多API的作者也都是把自己的工件放在自己的maven仓库上, 如果你使用maven,那么你不仅要在pom.xml中写dependency,还要写一个repository。 有些仓库在国内访问还很慢,这大大降低了开发效率。 如果你现在正为此苦恼的话,那么试试我搭建的仓库吧! 介绍 > 仓库地址:https://lss233.com/artifactory/minecraft 这个仓库镜像了以下内容: * Spigot的Snapshots (主要包含了spigot-api, bukkit-api) * Spongepowered (主要包含了spongeapi, spongecommon, spongeforge 以及其他开发sponge插件可能用到的工件) * forge(镜像了files.minecraftforge.net/maven) 继续阅读
June 22, 2018 1 min read Ghost Ghost Alpha主题发布 Ghost Alpha 是本人为Ghost写的第一个主题,前端主要采用Vue编写,主题基于来自HTML5 UP的Alpha [https://html5up.net/uploads/demos/alpha/] 安装 您可以在Github的Release [https://github.com/lss233/Ghost-Alpha/releases] 页面下载这个主题的最新版本。 解压下载的.zip文件,将里面的文件粘贴至您Ghost的content/themes文件夹中,然后重启您的Ghost 您需要在Ghost的Labs中开启Public API。 配置 您可以在这个主题的assets/js文件夹下找到一个名为config.js的文件, 继续阅读