Play Timeline with UniRx

用 UniRx 实现 Timeline 式的异步操作

  没接触 UniRx 之前,我在 Unity 中通常用 Coroutine 或 Callback 来实现异步操作。根据我的任务,一般都是去实现游戏组件的演出,比如:敌方角色图形显示后,我方角色 UI 出现,再跳出信息窗口什么的。

  举个抽象例子:一开始执行 A ——第 3 秒执行 B ——第 5 秒执行 C

Click to read more ...

Fix MSSQL LocalDB Instance Connection

修复连接本地 MSSQL LocalDB Instance 连接错误

  昨天需要在某 .NET 项目中做 Add-Migration 和 update-database 操作,然而还没开始就遇到了问题——本地数据库 LocalDB 无法连接。其弹窗报错为:

Instance error

对 .NET 和 MSSQL 开发不是很熟悉,于是上网找了下解决方法。

Click to read more ...

SSH Brute Force Attacks Prevention

防止 SSH 暴力登陆尝试攻击

  昨日经朋友提醒,注意到登录 SSH 后,有很多其他 IP 错误登录的提示——原来是遭受了所谓 SSH 暴力登录尝试攻击。他们有些来自黑客,有些可能来自……

  这个问题并不新鲜,但我是第一次架设 Linux 服务器使用,全无经验,有点茫然,不得不谷歌百度,赶紧防治一下——作为我的运维新手任务。

Click to read more ...

Use Font-Awesome in Angular Way

以 Angular 的姿势打开 Font-Awesome

环境

  • Angular: v5.2.9
  • Font-Awesome: v5.0.10
  • angular-fontawesome: v0.1.0-9

无须再用传统的 Web Font 方式

  以前习惯于 Font-Awesome 的传统方式:页面底部引用一个 font-awesome.min.css 文件,然后在页面中使用 <i class="fa xxx"></i> 放置图标——这在 Angular 里依然可行,不过这并不 Angularish ——我们其实可以用 Angular 模块组件那种方式去实现。写此文时,官网还没有正式上线 Package for Angular, 不过在官方 GitHub 上已经有相关文档教程了,本文以下内容基本遵循该官方文档。

Click to read more ...

How to Setup a Shadowsocks Server on Vultr Host (CentOS 7)

用 Vultr 的 CentOS 7 主机搭建 Shadowsocks 服务器

1. Install CentOS 7 on the Vultr host

2. 一键安装 Shadowsocks (SS) 并随安装配置。

  参考:

2.1 终端执行一键安装脚本:

wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log
Click to read more ...

Thoughts about Dragon Quest II iOS Remaster Version

DQ2 攻略后的杂感

  在忙着攻略经典神作 FF12HD 和系列新篇章 DQ11 的间隙,因为 DQ11 带我回到了 2 代的场景,突然就起了一念,玩起了搁置已久的 DQ2——打开时的进度是二王子病倒、不知何去何从、主角 23 级的样子。奋战几日,终于今天上午通关了。自此,DQ11 前的系列单机作品,我全都通关了。

  第一次想要畅游全系列,是十几年前借着沉迷 DQ7 的那股劲,在模拟器上开展的。当时在 SFC 模拟器上打通了5、6 的正作和 1、3 的复刻,在 FC 模拟器上打通了 4 代。由于依赖技术手段追求速通体验,日语水平也近似于无,导致通关后只了解了个大概,印象记忆颇浅。后来 NDS 出了复刻版,使我得以陆续重玩了汉化的4、5、6。说是重玩,却有点像被剧透过的初体验,我不再囫囵吞枣,而是耐心推进、细心品位、深刻体会其乐趣,终不再负 DQ 饭之名。

Click to read more ...

Long Press Event in uGUI

实现 uGUI 的长按

  uGUI 基础功能只有单击,想要实现长按(Long Press / Hold)功能,需要用到 Event Trigger 组件。

  设计思路是:按下(OnPointerDown)——计时——根据时间触发事件——放开(OnPointerUp)——如时间不满足则撤销事件执行。

Click to read more ...