东方云梦谭 —— 大学时开发的同人游戏

今天先是看到了米哈游排队IPO的文章,然后是刚才在整理以前的文件,赫然发现在大学曾经和同学开发的一个同人游戏。试玩了一下,竟然也还能玩,哈哈哈。

10年一起做的课程作业,就算是现在也感觉蛮好的。

把些截图和剧本放出来做个留念吧,青春的纪念。

游戏截图


Windows 下安装 Docker

平时都是直接在 Linux 服务器上使用 Docker,原以为 Windows 下应该也差不多,没想到最终还是一波三折。还是得记录一下。

使用 docker toolbox 安装 docker

docker toolbox是一个工具集,它主要包含以下一些内容:

  • Docker CLI 客户端,用来运行docker引擎创建镜像和容器
  • Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
  • Docker Compose. 用来运行docker-compose命令
  • Kitematic. 这是Docker的GUI版本
  • Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
  • Oracle VM Virtualbox. 虚拟机

Docker引擎的守护进程使用的是Linux的内核,需要运行Docker Machine 命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,用这个虚拟机才可以在你的windows系统上运行Docker引擎

要想在 Windows 上使用 Docker,Windows 还必须满足以下几个条件:

  • Win 7 或以上的版本
  • 64 位操作系统
  • 必须支持硬件虚拟化技术(Hardware Virtualization Technology)并且已被启用 可以在任务管理器的 性能 -> CPU 一栏查看系统的虚拟化是否启用

安装Docker Toolbox

进入官网下载: 下载地址

Docker Toolbox 将会安装以下几个软件:

  • Windows版的Docker客户端
  • Docker Toolbox管理工具和ISO镜像
  • Virtualbox
  • Git MSYS-git Unix 工具

如果电脑已经装了Virtualbox,在安装的时候取消勾选就可以了

Docker 初始化配置

安装完成后,系统的开始菜单中会生成两个快捷方式

  • Docker Quickstart Terminal
  • Kitematic (Alpha)

双击第一个进行配置。

然后你会收到docker去github上下载iso文件,然后就是下载失败的警告。。

嗯,主要是。。。中国人。。。会遇到这个问题。

因为,Docker 源是被墙的。。。。

没关系,下一步再切换源,目前出现的原因是下载最新的boot2docker.iso。实际上我们在安装 Docker Toolbox 时安装目录已经存在了 iso 文件了。将它拷贝到 docker-machine 的缓存文件夹中。各人的文件位置可能不一样,比如我的:

C:\Users\kelu\.docker\machine\cache

所以下一步是切换源。

切换 Docker 源

docker machine 默认的配置文件名为 default,所以首先我们要进入它的环境修改配置:

docker-machine ssh default
vi /var/lib/boot2docker/profile

界面还蛮好看的2333333,大大的鲸鱼logo,下面跟着一行boot2docker。

在EXTRA_ARGS中配置地址:

  EXTRA_ARGS='
  --label provider=virtualbox
  --registry-mirror http://XXX.m.daocloud.io
  '

daocloud和阿里云都有各自的源。xxx是你注册daocloud时系统分配的地址

如果打算新建docker-machine,应该使用这个:

docker-machine create -d virtualbox --engine-registry-mirror=http://XXX.m.daocloud.io new-machine

结束

接下来,就可以按照linux下的使用习惯操作docker了。

参考资料


Selenium 相关

之前写了一篇很初级的《selenium入门》,仅仅算是 Selenium 2 的 hello world。现在的这篇,主要是记录我对 Selenium 2(又名 WebDriver) 的一些认识。

前言

Selenium 是 ThroughtWorks 公司开发的针对Web应用的开源测试框架,支持多种浏览器和多种编程语言。Selenium 2 集成了 WebDriver(曾经是 Selenium 1的竞争对手)。

Selenium 和 WebDriver 开发人员都认为两个工具各有优势,二者合并将创造更强大的web测试框架。于是它们就合并了。真是一阵祥和。

更多 Selenium 和 WebDriver 的历史,可以查看官方blog:Selenium项目简史

Selenium 1 和 Selenium 2 的区别

习惯上 Selenium1.x 时通常指的是 Selenium RC, WebDirver 指的是 Selenium 2,反过来也是。

Selenium RC在浏览器中运行JavaScript应用,而WebDriver通过原生浏览器支持或者浏览器扩展直接控制浏览器。

Selenium 2包括Selenium Server,通过Selenium Grid支持分布式测试。

Selenium 3

与2的发布相隔了5年,2016-10-13,Selenium 的官方博客宣布了 Selenium 3 正式发布

新版本中 Selenium Core 的实现改由 WebDriver 的一个模块实现,这将影响所有 Selenium 1代 Selenium RC 的 API接口。对于 Selenium 2 用户基本没影响。 Selenium 1 被 WebDriver 替代的趋势较之 Selenium 2 更为强烈。

对于 Selenium 2/WebDriver 的用户,这个升级对 Api 接口没什么影响,只是解决了一些 bug。

Selenium 名字的来源

Selenium 的中文名为“硒”,是一种化学元素的名字,它对汞 (Mercury)有天然的解毒作用。

而 Mercury 公司开发了一系列的测试工具(QTP,QC,LR,WR…),他们功能强大,但是却很贵。

故 thoughtworks 特意把他们的 Web 开源测试工具命名为 Selenium,以此帮助大家脱离汞毒。

不由想到了 IBM 开发的 eclipse 意图对抗 Sun,嘿嘿。当然最后 Sun 确实被收购了。

Selenium 组件

刚接触时候我被各种 Selenium 绕晕了。一方面原因是 Selenium 混乱的组件,Selenium 2 的内容和 1 混淆起来就找不着北了。

从官网上可以看到,Selenium项目包含4个组件:

  • Selenium WebDriver 可本地运行或远程运行
  • Selenium Grid 分布式Selenium
  • Selenium IDE Firefox插件,有录制脚本的功能。支持自动录制动作和自动生成其他语言的自动化脚本。
  • Selenium RC(Selenium 1) 服务器客户端组件,可远程控制子节点

参考资料


六国论 - 苏洵

《六国论》是北宋苏洵的政论文代表作。该文先是提出精辟论点“六国破灭”“弊在赂秦”,之后一步一步加以论证,实属一篇非常严谨、具有很强说服力的论说文。

作者意在借古讽今,针砭军事上骄惰无能、外交上极端软弱、政策上绥靖求和、经济上积贫积弱的宋王朝,抨击其年年要向契丹和西夏上贡大量银两以及商品而造成民不聊生,国力退化的丧权辱国的“贿赂”政策,并告诫其统治者应吸取六国破灭之惨痛教训,以免重蹈覆辙。

六国破灭,非兵不利,战不善,弊在赂秦。赂秦而力亏,破灭之道也。或曰:“六国互丧,率赂秦耶?”曰:“不赂者以赂者丧,盖失强援,不能独完,故曰弊在赂秦也。”

秦以攻取之外,小则获邑,大则得城,较秦之所得,与战胜而得者,其实百倍;诸侯之所亡,与战败而亡者,其实亦百倍。则秦之所大欲,诸侯之所大患,固不在战矣。思厥先祖父,暴霜露,斩荆棘,以有尺寸之地。子孙视之不甚惜,举以予人,如弃草芥。今日割五城,明日割十城,然后得一夕安寝。起视四境,而秦兵又至矣。然则诸侯之地有限,暴秦之欲无厌,奉之弥繁,侵之愈急,故不战而强弱胜负已判矣。至于颠覆,理固宜然。古人云:“以地事秦,犹抱薪救火,薪不尽,火不灭。”此言得之。

齐人未尝赂秦,终继五国迁灭,何哉?与嬴而不助五国也。五国既丧,齐亦不免矣。燕、赵之君,始有远略,能守其土,义不赂秦。是故燕虽小国而后亡,斯用兵之效也。至丹以荆卿为计,始速祸焉。赵尝五战于秦,二败而三胜。后秦击赵者再,李牧连却之。洎牧以谗诛,邯郸为郡;惜其用武而不终也。

且燕、赵处秦革灭殆尽之际,可谓智力孤危,战败而亡,诚不得已。向使三国各爱其地,齐人勿附于秦,刺客不行,良将犹在,则胜负之数,存亡之理,当与秦相较,或未易量。

呜呼!以赂秦之地,封天下之谋臣;以事秦之心,礼天下之奇才;并力西向,则吾恐秦人食之不得下咽也。悲夫!有如此之势,而为秦人积威之所劫,日削月割,以趋于亡,为国者无使为积威之所劫哉!

夫六国与秦皆诸侯,其势弱于秦,而犹有可以不赂而胜之之势;茍以天下之大,而从六国破亡之故事,是又在六国下矣!

参考资料


我的开源项目 - KeluLinuxKit

因为一个人管着好几台服务器,每一次部署相同的环境都很揪心。这个项目也断断续续搞了好久,终于在最近弄好了,可以算是我服务器管理的一些经验。以后部署新服务器再也不纠结了。

如果你打算入门服务器管理,应该会对你有所帮助。

KeluLinuxKit 主要是面向 Debian 系机器的。在 Linode 上使用没有问题。安装了以下软件:

  • oh my zsh
  • Maximum Awesome
  • tmux-powerline
  • iptables
  • openresty
  • php5.6
  • postgresql9.4
  • composer
  • docker
  • docker_pptp
  • docker_shadowsocks
  • l2tp
  • Clusters pptp & shadowsocks

pptp、l2tp和shadowsocks基于集群主从模式的。通过cron自动同步和下发用户数据。虽然这个模式需要和我的某个网站项目配套才能使用,但是机制已经搭建好了,如果你也有,只需要稍作修改便可。

当然这个项目我会持续更新下去,有新软件需要使用的话也会添加进去。

服务器的终端界面如下:


血衫的网络设置(L2TP)

手机平板设备建议使用L2TP,电脑Mac使用Shadowsocks。

血衫的服务器在大部分网络下是可以使用的——直连到网络运营商的网络,例如中国电信/联通,或者手机的3G4G网路。不少的第三方网络运营商无法使用,以及在某些无线路由器下无法使用。建议测试时首先使用3G4G网络测试,测试可用后再换成平时常用的网络。


1 2 3 4 5 6 21 22 23 24 25