首页
Nihil
取消

GameMaker 8.0 从入门到入土

这是我从2017年开始在 Heabot 论坛(已关停)编写的一系列关于 GameMaker 8.0 的教程,最早是想写在贴吧,但是贴吧嘛懂得都懂,格式乱+不能二次编辑+吞贴,于是选择了 Heabot 论坛。 该教程从 2017 年一直写到 2019 年才完成大部分内容,并且之后也一直有在增加新的内容,涵盖从完全新手入门到精通 GameMaker 8.0 的一切内容,如果对 GameMake...

Git 从基础到进阶

前言 Git 是什么 想象这么一个场景,你和你的几个同事一起开发一个应用,假设同事 A 修改了代码 1,同事 B 修改了代码 2,你自己修改了代码 3,要如何将你们的修改安全、准确地同步到所有人的电脑上?如果有一天,应用突然运行不了了,你尝试 debug 无果,想要回退到上一次能够正常运行的代码版本,你要如何操作? 这就是为什么我们需要版本控制工具。它们对代码的提交和修改进行纪录,方便...

从实例看 Rust 的 HRTBs

问题 这一天,我像往常一样快乐地水群,一位群友抛出了一张编译报错求解。原版的代码内容太多,这里我先把最简化后的版本放出: trait MyTrait<T> { fn do_sth(&self, r: T); } struct MyStruct; impl<T> MyTrait<T> for MyStruct { fn do_...

USB 2.0 与 USB 3.2

通用串行总线 在 USB 诞生之前,电脑的接口十分混乱,常用的有给键盘、鼠标等使用的 PS/2 接口,有给调制解调器(猫)、控制器(摇杆)、路由器等使用的 COM 接口(也就是串口),有给打印机、摄像头等用的 LPT 接口(也就是并口),除此之外,还有各种各样的接口类型,比如 DNI 接口,TRS 端口(其中 3.5mm 的 TRRS 接口 也就是熟知的 3.5mm 耳机接口)等: P...

Shell 中的管道、重定向、进程替换

管道 相信绝大部分 Linux 用户对管道(Pipe)都不陌生,其语法是: command1 | command2 它的作用是将 command1 的标准输出作为 command2 的标准输入来使用。一个非常典型的例子是 grep,相信大部分人都有使用过形如 command | grep xxx 的命令。 需要注意一点,管道的两个命令分别在两个不同的子 shell 中执行,并且没有...

Rust 中的闭包递归与 Y 组合子

λ 函数递归 λ 函数也即匿名函数,在 Rust 中体现为闭包(Closure)。在一些语言中,你可以简单地在 λ 函数内调用自己实现递归,例如在 JavaScript 中实现一个阶乘: fact = n => { if (n == 0) return 1; else return n * fact(n - 1); } console.log(fact(5)) //...

Rust 中函数与闭包与 Fn Traits 探讨

闭包 闭包,或者又名匿名函数,lambda 函数,它在官方文档中被定义为可以捕获环境的匿名函数。通常,闭包的定义具有以下的形式: let closure_name = |arg1: type1, arg2: type2| -> return_type { // closure body } 在闭包定义中,可以省略参数的类型和返回值类型,Rust 将通过第一次调用该闭包时...

我的 Chrome 上安装的插件一览及介绍

想必不管是谁,在网上冲浪这么多年,多多少少都有听说过 Chrome 浏览器,即使没有用过 Chrome,也至少用过基于 Chromium 内核的浏览器,例如:QQ 浏览器,360 浏览器,以及已经叛变的 Microsoft Edge。 很多人都知道 Chrome 很好用,但是,我想说的是:带插件的 Chrome 更好用。用 Chrome 不装插件,简直就是开空调不关窗。 下面介绍一下我自...

Markdown 一些奇技淫巧

列表内分段 举个例子,假如我们想要在列表中换行,最简单的办法就是双空格法: * 第一项第一行 <!-- 注意这里有两个空格 --> 第一项第二行 * 第二项第一行 <!-- 注意这里有两个空格 --> ``` 一段代码 ``` <!-- 注意这里有两个空格 --> 第二项第二行 效果: 第一项第一行 第一项第二行 第二项第一行 ...

使用 Valine 替换 Chirpy 主题中的 Disqus 评论系统

!! WARNING !! 由于 Chirpy 版本更替,该帖子内容已失去时效性,请谨慎参考。 前置工作 根据 Valine 官方教程注册 LeanCloud 以获取 APP ID 和 APP Key。注:注册国内版 LeanCloud 需要绑定已备案的域名,而注册国际版 LeanCloud 则不需要。 如果是 fork 主题搭建博客,修改对应文件即可。如果是使用 the...