半吊子全栈开发者的日常

命令行界面 (CLI)、终端 (Terminal)、Shell、TTY,傻傻分不清楚?

诸君,好久不见。

为什么突然想写这样一篇文章呢?其实是因为在最近计划发布的一篇关于 WSL (Windows Subsystem for Linux) 的博文中,我打算对终端模拟器、Shell 的选择与配置进行一些说明。不过对于刚接触 Linux 或者刚接触命令行界面的同学,可能会有些难以理解它们之间的区别(事实上我当初也是这样)。

虽然这个话题已是老生常谈,搜索一下应该也能找到大把的相关文章。不过难得提到了这方面,就趁此机会把我的理解写下来,一来看看我是不是真正理解了,二来看看我能不能把它们之间的区别讲得更加简明易懂。

> READ MORE...

近况报告:我的高复生活

好久不见。

当你正在阅读这篇文章时,你应该很难想象,一位半年多没有写过博客的老鸽是以怎样复杂的心情打出这些文字的。由于我实在是太久没有正经写过文章了,对文字的感觉也未免生疏,所以这篇近况报告可能会写得像流水账一样又臭又长。你就把本文想象成是一位老年人博主重拾博客更新前的康复训练,以温暖的目光看下去吧。

> READ MORE...

如何将现有 git 仓库中的子目录分离为独立仓库并保留其提交历史

这几天想要把一个 git 仓库中已经存在的一个子文件夹独立成一个新的 git 仓库,并且保留之前关于此文件夹的所有提交历史。不过我对 git 并没有这么精通,只好上网搜索之。可能是因为我关键词抓得不准,搜了好一会儿才找到可行的方案,所以写篇博文记录一下。

另外,在 git 里这种掌控历史的感觉真的很棒。XD

> READ MORE...

Windows Update 出现错误 0x800703ed 可能的解决方法

HAIDOMO,这里是年终总结拖了两个月还没写完,上一篇博文发布于去年十月份的某鸽系博主 DESU。其实 2018 年的第一篇博文原定应该是 2017 年的年度总结的,但是由于各种各样的原因,那篇文章到现在还没写完咕咕咕。

最近几天正好遇到了如标题所述的「Windows Update 自动更新时出现错误 0x800703ed」的状况,在网上搜索许久,最后历经千辛万苦才终于定位到了问题的根源。特此记录,希望能帮到后来人。

> READ MORE...

使用 Travis CI 自动部署 Hexo 博客

之前(六月份高考完后)我把博客引擎由 Ghost 换成了静态博客生成器 Hexo,并且只使用了自带的 Git Deployment 来手动部署生成好的静态博客文件到服务器上。虽然不像动态博客程序那样可以随时随地更新博客,但是想到马上就要上大学了,之后手头都会有电脑,所以更新博客也不算那么麻烦。

但是实在是人算不如天算,浙江这一届新高考改革是结结实实地把我坑了一把。二段线以上一段线未满这样中途半端的分数让人在填志愿时着实是犯难 —— 这次浙江几乎普遍出现「一段考生抢以往的二本中好学校,二段考生抢三本学校」这样神秘的情况。思来想去最后把心一横,决定去再读一年高四。后来全省高考录取情况出来后,也证实了我当时复读的决定也不是不合理的(譬如当时上了新浪微博热门话题的「浙江滑档大学」等)。

关于复读的话题就先放一放吧,毕竟现在的时间确实是有些紧,可能得等到寒假时才能好好地写一篇近况报告以及关于高四生活的事情了,非常遗憾。

回到正题,因为我输得透彻滚去读高四了,所以自然不可能每次都有配置完好的操作环境让我手动发博文 + 部署(虽然我也不见得有时间写什么博文)。在这样的前提条件下,一个 Hexo 博客的自动部署(持续集成)系统就显得非常有必要了。

> READ MORE...

又是一种 Minecraft 外置登录解决方案:自行实现 Yggdrasil API

最近给 Blessing Skin 写了个插件,利用皮肤站本身的账号系统实现了 Yggdrasil API(就是 Mojang 的登录 API),然后配合 authlib-injector 这个项目将启动器(基于 Java 编写的支持正版登录的启动器都行)、Minecraft 游戏、Minecraft 服务端中的 Mojang Yggdrasil API 地址给替换成了自己实现的第三方 Yggdrasil API 地址(字节码替换),从而实现了与正版登录功能几乎完全相同的账户鉴权系统。

通俗地讲,就是我把 Mojang 的正版登录 API 给【劫持】成自己的啦,所以可以像登录正版那样直接用皮肤站的邮箱和密码登录游戏(还支持 Mojang 都不支持的多用户选择哦)。这种外置登录系统的实现应该可以说是比市面上的软件都要完善(毕竟可以直接利用 Minecraft 本身自带的鉴权模块),因此写一篇博文介绍一下这些实现之间的不同之处,顺带记录一下实现 Yggdrasil API 时踩到的坑,算是抛砖引玉了。

注意:本文不适合小白及问题解决能力弱的人群阅读。

感觉我明明好久没玩 MC 了,要玩也都是玩正版服务器,但是却一直在搞这些盗版服用的东西,我真是舍己为人造福大众普惠众生啊(不

> READ MORE...

Laravel 动态添加 Artisan 命令的最佳实践

虽然 Laravel 官方文档提供的添加 Artisan Command 的方法是直接修改 app/Console/Kernel.php 文件并在 $commands 属性中注册要添加的 Artisan 命名的类名(Laravel 服务容器会自动解析),但是,如果我们出现需要「动态(运行时)添加 Artisan 命令」的需求的话,就会很容易吃瘪。因为,Laravel 的文档(当然,我说的是官网上的)几乎没有提到任何关于这方面的内容。

> READ MORE...

饥荒联机版独立服务器搭建踩坑记录

最近和几个同学一起联机玩饥荒(Don’t Starve Together),虽然饥荒游戏本身就可以直接创建房间让别人加入,但还是有诸多不便驱使我去开一个饥荒的独立服务端(Dedicated Server),其中最主要的就是 ——「你退了游戏其他人就玩不了了」。

> READ MORE...

我 TMD 到底要怎样才能在生产环境中用上 ES6 模块化?

Python3 已经发布了九年了,Python 社区却还在用 Python 2.7;而 JavaScript 社区正好相反,大家都已经开始把还没有实现的语言特性用到生产环境中了 (´_ゝ `)

虽然这种奇妙情况的形成与 JavaScript 自身早期的设计缺陷以及浏览器平台的特殊性质都有关系,但也确实能够体现出 JavaScript 社区的技术栈迭代是有多么屌快。如果你昏迷个一年半载再去看前端圈,可能社区的主流技术栈已经变得它妈都不认识了(如果你没什么实感,可以看看《在 2016 年学习 JavaScript 是一种怎样的体验》这篇文章,你会感受到的,你会的)。

> READ MORE...