小名开开

在春天的光影里喘息

## 自适应的水平垂直居中

旅行商人罗伦斯在马车货台上的麦束堆里,发现沉睡中的少女——自称是丰收之神赫萝的美丽少女,有着狼的耳朵及尾巴。

「虽然奴家长久以来被尊为神,不过,奴家就是奴家,奴家是赫萝。」

相比于水平居中用 margin:auto; 的简便,CSS 没有直接的垂直居中属性,必须通过各种诡异的技巧去实现,确实让人很头疼。以上算是一种实现方式,核心的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<style type="text/css">
.outer {
text-align: center;
background: #b9f9ff;
height: 300px;
}
.outer:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.inner {
display: inline-block;
width: 300px;
vertical-align: middle;
background: #fffdc6;
}
</style>

<div class="outer">
<div class="inner" >
<p>水平垂直居中</p>
</div>
</div>

这段代码中,最重要的是 .outer:before 这个伪元素。它起到了连接内外元素以及垂直对齐的作用。

需要明白的是,对一个 div 而言,它的伪元素会放在这个 div 包含的任何内容元素的前面,默认为 inline-block 元素(即“行内元素”或者“内联元素”)。示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

<style type="text/css">
.outer {
background: #b9f9ff;
height: 120px;
width: 300px;
margin: auto;
}
.outer:before {
content: ':before 伪元素';
border: 1px solid;
}
</style>

<div class="outer">元素内容</div>

执行结果:

元素内容

当元素内容为其它元素,尤其是块级元素时,则有内容的 :before 会在最顶上。

<p>元素块级内容</p>

再强调一遍,:before 其实是一个元素的子元素,永远排在其它实际子元素的前面,比如:

1
2
3
4
5
6
7
8
9
10
11
12
<style type="text/css">
p {
border: 1px solid;
}
p:before {
content: ':before';
background:#fffdc6;
color: #f00;
}
</style>

<p class="special">是特殊的子元素</p>

的实际执行效果如下:

是特殊的子元素

可以看到,对于 p 元素添加的 border,连 :before 这段文字也被包含在内。

现在再回头来看原始代码,如果把 :before 的部分修改一下,给 :before 元素加个边框,修改内容,使得识别更简单:

1
2
3
4
5
6
7
8

.outer:before {
content: 'B';
border: 1px solid;
display: inline-block;
height: 100%;
vertical-align: middle;
}
垂直居中
这样这段代码的原理就非常清楚了。首先,:before 伪元素和内部元素(通过 display:inline-block 设置为行内元素)共同构成了“一行文字”。其次,所有的行内元素都利用 vertical-align:middle 进行了垂直居中对齐。最后,再设置 :before 的高度使得它上下都顶到父元素的边框。这样,同一”行”内的其它元素在视觉就都相对父元素垂直居中了。其实它们在逻辑上真正对齐的对象是 :before。而 :before 自己,则被“卡”到了正中间的位置。

最后,由于 :before 在没有实际内容(通常用 ” ” 空格填充 content 属性)时其实也有宽度,所以在父元素上使用针对文本的 text-align: center; 虽然可以把左右居中也一起做掉。不过还是用常规的 margin:auto 更精确一点。解决办法是对 :after 伪元素也设置 content:” “。

PS:因为 ie6 不支持伪元素,所以……要不还是用 table 吧。

icon ヾ(^▽^o)+

特别喜欢这个微信表情包,然后就从微信安装包里弄出来了。么么的英文名叫 monmon,monster 的 mon。这是官方表情包解压出来时的文件夹名字。还有,难道只有我一个人注意到,流汗那张,么么拿直升机其实是拿反了?风是往反方向吹的。

一开始觉得,这个粉红色小恐龙是个挺女性化的表情包,可是看得多了,忽然觉得这个小哥斯拉很孤单,非常孤独。

没人陪伴,全套表情都是它在孤独地自娱自乐。

想拥抱时,只有摩天大楼,看它紧紧抱着,脸一蹭一蹭,小嘴撅起,很用力的样子,那是得有多孤独;好玩的,是跑大桥上找两辆车玩对撞,一如小时候被关在家里的独子,围着满地的玩具一边哭一边告诉自己这些够玩了;它甚至还有一个专门的表情,叫作“自己玩”,这……无语言说的孤单,直让人心中一揪。

天变冷了,别的表情包里,好冷的图案都是与亲朋的温暖相依,而它只能围着围巾戴上手套,给自己一个用力的环抱;在生病虚弱时,也只能自己裹着棉被含着温度计默默地忍受,有谁会去照看它?

它看起来无忧无虑,那真是不懂有朋友陪伴时心中的温暖。或者其实它懂,只是既不能他解,就只好孤单自解。它把所有想要的温暖,都寄托在周围的环境中,寄付在人类的创造物中,如此,大概能缓解一些它的孤单。

可是人类会不会因为它的破坏行为而攻击它逼迫它离开,大概是一定会的吧。真的是难以想像,最后当它被无数武器攻击而被迫离开时,得有怎样的泪水和委屈。连最后那点自娱自乐的场所,都不被允许拥有。

我叙述这些,是因为这些都是童年的孤单。在一个人成长的过程中,太多东西在不经意间失去,或者是从未拥有过。孩子的心灵并不是感受不到,只是不懂得怎么去叙说痛苦,每每回忆起那些片段,总是泪满盈眶。

只希望么么不要长大,大概能减轻一些它的痛苦,无心无肺地坚强着。

抱紧 好崇拜 不会吧 泪流成河
抱紧 好崇拜 不会吧 泪流成河
流汗 发呆 自己玩 开心
流汗 发呆 自己玩 开心
晕倒 嘤嘤 怒吼 好冷
晕倒 嘤嘤 怒吼 好冷
飞吻 真好玩 呼呼 虚弱
飞吻 真好玩 呼呼 虚弱

我在网上查了不少时间,但一直找不到这个套图的作者是谁。也找不到相关的版权出处,或者更多的衍生作品、产品等。我想,把系列作品免费提供给微信表情,通常也是希望有一定影响力以后,通过其它相关衍生品赚钱吧,如果有谁知道,请告诉我。

http://cosjiaoyi.com 是个针对 cosplay 交易信息的搜索引擎,目前基本完成了对新浪微博特定信息的采集和入库,以及基于拼接 mysql 查询语句的搜索功能。

接下来还有很多要做的事情,包括扩展采集来源、改善垃圾信息过滤、优化前端等工作。不过今天先来讲一下打算做的自制分词算法。

对于动漫这一特定领域,很多常规的分词算法没有多大意义了。因为动漫圈存在大量的仅仅因为“好玩”而产生的各种昵称、诡称、简称。比如 “身陷” 指的是衣服的尺码,包括身高、三围等数据;比如 “穹妹” 指的是动画《缘之空》中的女主角兼主角他妹;比如 “面交” 当然是指当面交易的简称;比如 “炮萝” “秀萝” “叽萝” “咩萝” “丐萝” 都是网游剑网三里的职业人物角色的简称,哦,剑三又别称 “基三”,等等等等……还有一大现象是中英文数字合并成为一个词汇,比如 “PO主”。另外,又因为拼音输入法的原因,会出现“身限”=“身陷” 等现象。由于本来这些词汇也就是圈子生造词,也难以适用词汇纠错的方法。

wordsegment普通分词算法结果

对于业务场景而言,这里面的很多词汇都是没有多大意义的。而“黑猫”、“弹丸”、“小天使”之类的词能成为高频词,也仅仅是因为它们更接近于“普通词汇”,可以被常规的分词算法认出来。而剑三当中的 “X萝” 系列,甚至剑三这个词汇本身,都因为被分词算法切分,而没有进入这个图表中。

当然,技术上来说,只要有合理的分词词库,辅以相应的参数调整,还是可以做出一套适用于动漫分词的,但考虑到分词算法往往有几百个核心词汇、几千个附加词汇,每个词汇还都有词性标注,想想就算了……

在之前没考虑过这个问题,一是因为没有实际的业务数据积累,其实也没有考虑到这个问题,经过一段时间的推广和数据积累,现在可以研究了。二是因为对于 mySQL 的 like %…% 语法,尽管效率不高,但在目前的场景下,也没有遭受到多少压力。三是因为,呃,忙,呃,之前没时间做,呃,之后其实也不一定有时间做……

那简易分词打算怎么做呢?

现阶段的核心目的,还是在尽可能减少时间的前提下,能正确理解用户输入的“穹妹旗袍” 是指 “穹妹”+“旗袍”,这两个词汇不一定需要放在一起,只要在同一条微博中出现即可。

  1. 只考虑对 QueryRequest 的 wordstring 进行处理,而不考虑入库数据。内部查询在没有遇到性能问题前,依然使用 like %…%。目的仅仅是为了正确理解用户输入的查询,不至于因为用户输入“剑三的炮萝” 因为无法整串匹配到而搜不到结果,这种情况下应当可以正确处理为“剑三”+“炮萝”
  2. 只分析已经记录在服务器的 SearchQuery 表,不考虑对正文文本的分析。
  3. 和普通分词一样,还是基于词汇表,以及替代词汇表。先考虑分词,再考虑戳憋字。
  4. 基于业务,其实有大量的词汇是不需要的,比如“小天使”、“帮扩”等。对于用户而言,进入到本网站,场景就是搜索需要的东西,因而都是以具像物名词为主。没人会在搜索框里填 “小天使”、“随便” 这类词汇。甚至 “二手” 这个词都基本不会出现。

所以简易规则如下,可以覆盖 99% 的实际需求,计算量很小。

  1. 先对 querystring 根据 devide-word-list 进行切分,devide-word-list 包括 “ ”(半角空格)、“ ”(全角空格)、“的”,可能还会添加。但注意,没有“和”。因为在动漫中,“和”字会经常作为成词字或者人物姓名字出现,不能定义为分隔符。“日和” “和服” 等。由于并不是真的基于语义的分词,所以无法判断是成词字还是分隔字,根据历史搜索统计,只有 4% 的“和”是分隔词,交给用户自己调整没有问题。由于 devide-word-list 的数据量非常少,添加也很谨慎,所以可以直接写进代码里。
  2. 对结果的 querystring[] 根据 known-word-list,切分为 已知词块未知词块 的数组。known-word-list 的生成办法下述。
  3. 对于未知词块,根据词块长度,反复循环,进行简单切分,直到最细:
    • 词块中有英文串的,当英文串字母小于等于两个时,视为一个汉字,不切分。
    • 当英文串大于两个汉字的,视为一个词,对其前后切分,分为三段。
    • 当有数字现出时,视为一个词,对其前后切分,分为三段。
    • 对大于等于四字的词块,直接按两个字一词进行切分。(注意之前把1/2 个英文字母视作一个汉字,这里和中文等同视之)。
  4. 将结果的 querystring[] 数组,按每词之间 and 关系,对数据库进行查询。

比如:求黑子的篮球的火神大我红毛 私信po我。

  1. 变为 [求黑子,篮球,火神大我红毛,私信po我] (“的”和“空格”为分隔词)
  2. 变为 [求,黑子,篮球,火神大我红,毛,私信po我](“求”和“毛”为定义的已知词。
  3. 变为 [求,黑子,篮球,火神,大我,红,毛,私信,po我](“po”视为一个汉字)
  4. 实际 Search Request 即 求+黑子+篮球+火神+大我+红+毛+私信+po我

当然,通常没有这么长的需求,更多的是如下的:

剑三定国炮萝160包邮

  1. 还是 [剑三定国炮萝160包邮],因为没有分隔。
  2. [剑三,定国炮萝160,包邮],剑三和包邮应该会加作已知词。
  3. [剑三,定国炮萝,160,包邮],160 是数字单独成词。
  4. [剑三,定国,炮萝,160,包邮],“定国炮萝” 四字切分为两字两字。这就是最后的搜索请求词组了。

当然,在这种规则下,“雪露女武神”,会变成 “雪露”、“女武”、“神”,但又有什么关系呢,如果一个词汇真的必须是三字词,我使用两字“女武”+一字“神”,依然可以搜到库中的正确结果,这就足够了。

接下来说说怎么做已知词汇表。

  1. 人工整理,优先满足历史搜索词汇表。
  2. 暴力分词法:
    1. 直接把采集数据的正文部分全部提取。
    2. 把空格串、数字串、大于两字的英文串、符号串、链接地址、转发标志、“的” 等都视为分隔符替换掉,形成最初的文本块。
    3. 暴力地把所有文本块全部循环切分成两字一组,然后统计相同词汇并排序。注意是循环切分,比如“小天使”块应当切分成“小天”和“天使” 两部分。
    4. 再暴力地把所有文本块全部切分成三字一组,然后统计相同词汇并排序。
    5. 人工筛选排序最前的 1000 组词汇,足够了。

这个当然也有缺点,但在具体的场景下也已经够用了。动漫词汇尽管创意繁多,但基于交流之用,最常用的词汇还是排名比较靠前的。再通过人工筛选过滤掉通用但无用的词汇,就可以获得有效的 know-word-list 了。这种暴力切分法并不是我第一个用,http://www.guokr.com/blog/76814/ 这篇文章就讲到了用暴力切分法去切分古文词汇。其实还是挺实用的,毕竟我这里最后有个人工筛选过程。

====================下面是严肃的分割线=====================

其实中文分语无非两个部分:

  1. 句子匹配已登录词时,多种匹配方式如何选取最优?
  2. 未登录词如何鉴别词性?这中间又细分为如何通过大量文本收录未登录词,转为已登录词;以及在某段文本中确切出现的未登录词,如何进行处理两种情况。

而以上方案,按分词原则来看,其实都有些反其道而行:

  • 故意适当缩小已登录词,相对扩大未登录词范围。——这个是由业务实际情况经取舍后决定的。确实业务中只需要登录掉大部分 “专属通用词” 即可达到需要的效果。
  • 未登录词一律视为双字词。——这个是实际统计结果后决定的。
  • 把输入的正确性,以及由此导致的结果的正确性,责任全部交给用户自己去解决。——也是业务实际,以及以上两项得到的。

这些简化的前提,最重要的一点在于,Cos 交易酱并不需要真的去处理分词以后的结果,只需要确保分词结果能正确地,范围合适地在库中搜索到用户需要的数据即可。

COS 酱的核心功能是促成 cosplay 交易信息的交换流通,所以对信息的采集、整理和优化是最重要的部分。

经过一段时间的数据积累,目前数据库中已有 60000 多余条微博数据,过滤掉的垃圾信息已经有 20000 多条。我们使用最简单的规则过滤掉了三分之一的无用信息,这些信息绝大部分来自于机器控制的僵尸帐号微博。但目前而言,过滤完的信息依然有不少可以定义为重复、垃圾的信息,所以接下来准备对过滤规则进行一些改进。

1. 微博中有“微话题主持人”这样一种角色,我完全不知道有什么存在意义。他们做的唯一的工作就是把同话题下大量的微博重新转发一下,并在转发时再次添加同一个话题,比如 #cos 二手#。由于本站对微博采集就是基于话题、关键词等方式进行的。因而这些无用的微博也会被搜索到。接下来打算通过帐号黑名单方式过滤这一类需求。

2. 热门微博的多次转发。在最初设计这个网站时,考虑过是否采集转发的,最后确定是包括转发也采集。因为存在二手信息发布者通过转发微博的方式提供一些补充信息,比如 “xx 已经出售,还剩 yy、zz” 等。但当初考虑不周的是,某些粉丝众多的红人 cos 的微博存在大量转发,会导致采集到的数据也出现 “刷屏”。另一种是专业转发号在某一时段大量转发,也会出现类似的情况。基于此,接下来需要添加一些入库规则过滤。

2.1 如果一条转发微博的原微博不在库内,则转发微博和原微博都入库。
2.2 如果原微博已有,转发微博用户和原微博用户相同,则视为对原微博的“补充说明”,也入库。
2.3 如果原微博已有,转发用户非原博用户,则入库标记为垃圾微博。
2.4 如果原微博已有,转发微博用户和原微博用户相同,且转发内容为“转发微博”,则入库标记为垃圾微博。

——以上:原则是,对于搜索引擎而言,多条相同信息是无意义的,只需要保留确实有意义的内容即可。

3. 对于搜索请求,由于动漫这个特定领域的分词非常难做。目前网站的搜索是没有分词的,于是导致“火神毛”的搜索请求并没有表达用户本来的意思 “火神+毛”。接下来会研究一下如何变通地实现这个需求。

Repair[1] 修理(人族 SCV/矿骡)

  1. 一个可修理的单位,从 1 滴血修到满血的花费是它生产费用的 25%。(极限地说,应该是 0 滴血修理到满血,也就是完整100%的血量,但0血就死了所以实际无法存在这种情况)。
  2. 一个可修理的单位,由一个 SCV 从 1 滴血修到满血的时间和生产这个单位的时间相同。
  3. 也就是说,不同单位的修理速度并不一致。地堡 100 矿,建造花费 40 秒 400 血,那么一个 SCV 每秒修理 10 血,消耗 10/400*100*25%=0.625 矿。而兵营 150 矿 1000 血 65 秒,一个 SCV 每秒修理 1000/65=15.3846 血,消耗150*25%/65=0.577 矿。补给站 100 矿 400 血 30 秒,每秒修 13.333 血,耗 0.8333 矿。
  4. 所以要强攻人族路口时,如果没有地堡,则攻击补给站比攻击兵营合算。攻击输出相同的情况下,补给站修理慢还费钱,总血量也少。
  5. 多个 SCV 可以同时修理同一个建筑,效果累加。单位时间的回血量和花费与 SCV 数量成正比,总花费不变。
  6. SCV 在修理或建造时不能采矿。而 16 农高效采集时每个 SCV 每分钟采 42 矿,故算总帐时需要额外计算每秒 0.7 矿的未采集成本。
  7. 人族建筑在低于 33% 血量时会着火,实战中修理起火建筑需要额外修理火烧掉的那些血量。
  8. 起火掉血为每秒3点。但没建造完的建筑反而不会起火。比如一个完成度 99% 的指挥中心因敌方骚扰只剩 1 血,依然不会起火。但如果另派一个 SCV 建造完成,则完成的一瞬间将起火。因为指挥中心总血量为 1500,1% 完成度有 15+1 滴血,可以烧 5.333 秒钟。理论上你可以造出一个完成一瞬间就烧掉的建筑。
  9. 轨道控制基地和行星要塞的费用基数包含指挥中心的花费。也就是说星轨费用 550 矿 135 秒,要塞 550 矿 150 气和 150 秒。所以要塞每个 SCV 每秒修理 10 血。
  10. 尽管矿、气、血量、能量等数值最终显示为整数,但在游戏内部其实是高精度计算的,到结果时再根据需要取整。
  11. 修理费是“先扣款后维修,多不退少补”的扣费办法。也就是说,你修理一个掉 5 血 / 10 血 / 15 血的地堡都花费 1 矿,但修理掉 20 血的地堡就得2矿。从条目 3 我们知道地堡每 5 血修理费是 0.3125 矿。
  12. 但如果派两个 SCV 去修掉 15 血的地堡,则反而需要花费 2 矿,还是因为“先扣再修多不退”,每个 SCV 在开始修理时都需要扣掉一矿,各自修了七八滴血,也不会再还你半个矿了。
  13. 修理过程中,矿和气的扣费是分开的,随着血量回升到各个扣费临界点,逐步分别地一矿一气扣除。
  14. 如果你只剩 1 点矿,那么你可以修理地堡 16 滴血。
  15. 如果你只剩 1 点矿 1 点气,你的矿可以修理行星要塞 1500/550*4 = 10.91 向上取整 11 点血,你的气可以修理 1500/150*4 = 40 点血。合起来你只能修理 11 点血,之后就因为矿物不足而停止了。此时气实际上仍有 3/4 未用,但也不会还给你。
  16. 传说中的雷神修理时间是生产时间 130% 的情况已经被修正了。现在雷神修理和生产时间同样是 60 秒。
  17. 铁鸦召唤的 自动机炮 和 定点防御靶机 以 100 矿 50 秒作为修理基准费用,也就是修到满血要 25 矿 50秒。(谁会去修这个啊……)*
  18. 矿骡的修理能力和 SCV 完全相同。
  19. 矿骡也可以被修理,修理基准费用为 60 矿 17 秒。(未验证)
  20. 开启自动修理的 SCV 在地堡/医疗艇里面可以修理同乘的其它机械单位,但不能修理搭乘的地堡/医疗艇本身。SCV 可以进地堡,SCV/坦克/寡妇雷/恶火/恶蝠/落地维京可以进医疗艇,这些单位可以仓内修理。
  21. 尽管雷神也是机械单位,但雷神需要独占一只医疗艇,没有仓位再给 SCV,无法实现“仓内修理”。
  22. 尽管雷神是挂在医疗艇下面的,但地面上的 SCV 却只能修理医疗艇,无法修理视觉上明明是挂在医疗艇下方的雷神 (づ ̄ 3 ̄)づ。这是智商问题。
  23. 技能优先级修理高于攻击,A 地面时如果附近有掉血机械单位会优先修理。结合前述的修理扣费逻辑,不应当让 SCV 和部队一起走 A,如果部队里有掉血机械单位的话,每次走 A 操作都有可能会浪费一次修理费。
  24. SCV 可以修理星灵队友的机械单位,但不能修理星灵建筑。SCV 不能修理虫族的任何单位和建筑。
  25. 星灵机械单位包括:探机、追猎者、机械哨兵、不朽者、巨像、侦测器、折跃棱镜、凤凰、先知、虚空辉光舰、风暴战舰、航母、拦截机、母舰核心、母舰。
  26. 星灵护盾不能修理,但能靠护盾充能器快速恢复。
  27. 修理只恢复血量部分,因此修理星灵单位速度非常慢。例如侦测器 30 秒生产时间 40 血 20盾,则 SCV 每秒只修理 1.333 血。
  28. 航母的拦截机是个不可选中单位,但开启自动修理的 SCV 确实可以在飞过头顶的一瞬间修上那么两下。
  29. 尽管没有被修理能力,但星灵建筑的等离子护盾一定程度起到了类似修理的作用。等离子护盾在脱离战斗 10 秒后以每秒 2 点的速度恢复。
  30. 尽管没有被修理能力,但虫族建筑自有回血能力,速度为每秒 0.27 点。同时虫后拥有哺液技能,可以为建筑回血,消耗50能量,回125点血,瞬发,CD 1 秒。哺液同样可为单位回血。
  31. 女王哺液可以给友军生物单位回血,主要是人类单位,但不合算。虫族外只有火车侠是血量高于 125 的生物单位,为 135 血,是相对最合算的回血对象。其次是劫掠者 125 血。从单兵价值角度来讲,也可以考虑给幽灵回血。
  32. 实战来讲因为人类有医疗兵 / 医疗救生艇,由人族给虫族队友回血更靠谱一些。

Build[1] 建造/折跃/变异

  1. 任何建筑在开始建造的一瞬间有 10% 的血量,之后全部时间匀速地完成剩下90%。所以刚扔下的建筑靠少量兵并不容易打掉。
  2. 建造完成的建筑默认有 1 点的的重甲,人类可以升级(+2),但建造过程中护甲为 0 点,属性依然是重甲。建造过程中劫掠者一枪会造成 20 点伤害,建造完成后一枪 19 点。
  3. 所有建筑的建筑网格都分为 1×1、2×2、3×3、5×5 四种,其中,只有三族的主基地为 5×5 网格。只有感应塔和菌毯瘤为 1×1。
  4. 角对角相接的建筑中间可以穿过 1 体积单位的兵种。要堵路口需要错开一格。5x5 网格需要错开两格。
  5. 人类的建筑在建造过程中,若 SCV 被击毁则会中断。
  6. 星灵建筑的建造过程不需要探机,虫族则会消耗掉工蜂,两族的建筑生产不需要靠工兵持续维护。
  7. SCV 需要持续工作,因此计算成本时还需要额外考虑损失的采集能力,约每秒 0.7 矿。因此人族基地相当于需要 470 矿,为三族最贵。
  8. 虫族工蜂建造建筑后会消耗掉,需要补充相应数量的工蜂,相当于任何建筑都有 17 秒的采集能力损失(新生产一只工蜂),约 11.9 矿。此外还需要消耗一个虫卵,虫卵在虫族本身也是一种特殊资源。
  9. 退掉正在建造的建筑返还 75% 的花费,采用的是“进 1 制”反还。比如对于一个 75 矿的精炼厂,理论上返还 75*75% =56.25 矿,实际上返还 57 矿。
  10. 建造过程中的星灵建筑同样有护盾,增长速度与血量同步。受攻击时先损耗护盾。
  11. 所有的星灵建筑的盾和血量最大值都相同。
  12. 星灵的建筑,除了星灵枢纽、吸纳舱、水晶塔以外,其它建筑都必须在能量场范围内开始建造,折跃棱镜的能量场也可以。只要开始建造了,在建造过程中能量场可以消失。(水晶塔被打,棱镜收起)。
  13. “在能量场内”指的是建造的建筑最中心点在能量场的圆弧范围内。也就是说,建筑边缘最多可以离开能量场略小于 1.5 格。
  14. 水晶塔提供半径为 6.5 的能量场,由于自身为 2×2 建筑,所以实际的横向到边缘长度为 5.5 格,可以造3个光子炮台。棱镜提供半径 3.75 的能量场。
  15. 所以两个相距 13 的水晶塔正好边缘相切,切线与两塔连线的交点上可以放下一个 2×2 的建筑,但放不下一个偏1格的 3×3 的建筑。(仔细思考“中心点必须在能量场内”的规则)。
  16. 没有能量场的建筑的生产/研发进度是冻结状态,重新供能以后进度条会继续,不重置。
  17. 虫族建筑,除了孵化场、萃取房以外,都必须完全地建造在菌毯上,这与星灵只需要中心点覆盖的方式不一样。即使是处于行走状态的孢子爬虫和脊针爬虫,要重新扎根也必须在菌毯上。
  18. 虫族建筑都相对便宜,显然是因为要消耗工蜂,所以变异建筑的价格是减掉工蜂的价格的。气矿尤其明显。
  19. 但因此,取消正在建造的建筑,返还的是1只工蜂外加差价的 75%,因此虫族取消建造的成本比其它两族更低。以气矿为例,其它两族取消建造返还 58 矿,损失 27 矿。而虫族则是反还工蜂+19矿,只损失 6 矿。
  20. 这使得虫族退气矿成为一种战术和技巧。在初期偷人口赚一个农民(如果偷出的时间比采集一次的时间长就是赚的)、通过在对方家里造气矿,取消再造持续干扰对方运营发展等。
  21. 孵化场默认提供半径 12.5 的菌毯,由于自身是 5×5 的占位,所以实际到边缘是10格。可以造5 个 2×2 建筑。在画面质量较低时,菌毯边缘会更明显。
  22. 取消建造的孵化场会残留一个 3×3 的菌毯,手速快的话可以放一个其它建筑。取消孵化场会损失75矿,同时新建筑会持续性的掉血。
  23. 虫族建筑因故失去菌毯滋润后,会以每秒 3 点的速度损失血量,再加上自身回血,最后加成损血速度为每秒 2.73 点。无论是在建的或者已经建完的都一样,孵化场和萃取房除外。处于行走状态的孢子爬虫和脊针爬虫也不受影响。
  24. 所有虫族的菌毯是共用的,即使是敌人的也可以,所以 zvz 可以在一开始就造个血池然后跑对方矿区造脊针爬虫。
  25. 人类的建筑附件也是共用的,即使是敌人的也可以,不过通常没人会跑对方家里打掉主建筑然后抢对方的附件用……( ̄△ ̄;)。如果是队友之间可能存在某种战术。
  26. 抢附件也可以成为“消灭所有建筑”的胜利条件。也就是敌方只剩下一个附件了,你飘个重工厂过去,一落地,胜利……
  27. 除了自动机炮,任何人类或者星灵建筑都不可以建造/降落在菌毯上。已经建成的建筑被菌毯蔓延包围不影响既有功能。这些建筑被摧毁后,原地空洞同样已经被菌毯覆盖,不需要再花时间生长补满。
  28. 眼虫的污染只能冻结出兵和研发升级,不能冻结建筑的建造和修理,包括人类指挥中心的升级。不能限制水晶塔能量场和光子炮台的活动。也不能限制建筑的瞬发技能,比如扫描和空投矿骡。
  29. 污染不能限制星灵的星空加速,不能限制菌毯肿瘤对菌毯的扩展,但却可以限制菌毯肿瘤的分裂。
  30. 菌毯永远不覆盖瓦斯气泉。
  31. 菌毯的生长计算另述。

部分翻译自 http://wiki.teamliquid.net/starcraft2/Repair

* 该文写铁鸦两个召唤物的修理时间为 60 秒,根据我 50% 和 40% 血量的多次实验,认为实际上是 50 秒。

在 tdrd.org 上翻出旧时发起过的一个话题。突然发现,我偶尔还是需要这种恋旧般的温暖。

发信人: kaikaiiiiiii (开开·莫让眼泪,花了妆容), 信区: NetResource
标 题: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 06:26:50 2009), 站内
(一)

我的父亲终生保持着学习的习惯,幸运地,学习电脑的基本操作对他而言不是太大的问题。

他也会标准的普通话与拼音方案,因此,汉字输入对他而言也不是什么问题。

可是在他学习电脑时,还没有手写板,也没有那么发达的手写汉字识别软件,所以,他只能靠对着键盘打字。

那时我还小,站在一边看他握着双拳,伸出两个食指,费劲地在键盘上找半天,然后按下一个按键,抬头看一下屏幕,又按一下按键。

那时还是DOS,还是WPS。

一直如此。

很多年以后的现在,在我已经长高而他老得甚至已经矮下去的现在,他依然用着两指禅在打字,依然是陈旧的微软拼音,虽然熟练地不需要在键盘上找字母了,可是因为无法盲打,还是要低头看键盘,然后抬头看屏幕,再低头看键盘……

你也知道,这样一会儿脖子就会很疼,是的,我在自己房里看书时,经常能听到父亲打字然后站起来走动的声音。这走动的声音让我安心,真的,很安心。

就是这样,父亲坚持着写出了三本书,两本出版,一本正在联系。听他说,第四本的腹稿也已经完成。而我,虽然会着盲打与五笔,号称拥有国家二级打字员的速度,却什么都没有做出来,一事无成。

最近父亲的手腕出了些问题,我正在找,有没有好的手写板可以替代父亲十几年的二指禅。

(二)

父亲的近视一直不深,只有我的一半,可是加上了老花,看电脑的屏幕就不是很舒服了。

我从未注意过这个问题,直到某年寒假回家,发现父亲把19寸液晶显示器的分辨率调到了最低的800×600。

如果你对电脑略有了解,或者在自己的电脑上试试,就会发现,这是个非常难受的分辨率。

字体大而扁,笔划不清,屏幕容纳的空间小,边缘也软乎乎毫不锐利。

我以为父亲只是不会设置,于是调回了19寸默认标准的1440×900。

可是第二天晚上,发现父亲坐在电脑前打字,屏幕又调回了800×600,我才好奇的问他缘由。

“因为大,看得清。”

那时我才明白这个问题。我才发现父亲使用电脑是如何的一个艰难适应的过程。我不知道他是从何处得知可以依靠缩小分辨率来放大视图,更不知道他是如何忍受而后习惯这种变形、模糊并不舒服的图像——仅仅是为了看得清。

我试图通过系统自身的设置放大图标、文字,可是,并没有效果,笔划还是那么细,父亲还是要眯起眼睛才能分出戍与戌,分出舆与興,分出茶与荼。液晶的无辐射保护了父亲的眼睛,可是固定的细象素与分辨率却在另一方面伤害着他的眼睛。

对此,我无能为力。

我跑遍了整个市区,我搜了很多网站,液晶厂商们都在拼命地做大尺寸,做细象素,做出更高的分辨率,却全然忘却了还有这样一群人,只需要看得清的显示器。

我在中关村跑了很多年,可还是找不到,父亲也依然在家里忍受着800×600的分辨率。

我到现在还一直在找,谁知道哪款液晶显示器的点距在0.5mm的,请告诉我。

发信人: sunnyloving (Sunny|Dearest), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 09:10:24 2009), 站内

我老爸老妈不太识拼音,所以,不要说电脑,就连手机发短信目前而言都是不现实的。虽然老妹有启动过叫我老妈拼音的计划,还很规整的在小纸条上写着a o e i u ü,不过学了一段时间效果不佳,计划中止。所以,我打算从手写手机开始,从发短信开始,让他们慢慢接触这些东西。如果喜欢的话,让他们一步一步了解和掌握该如何写字,如何上网,如何让老爹把闲时绉的打油诗用0101记录下来。

他俩现在生活悠闲,每天俩人一起吃饭,出门在河边走,然后回家看电视睡觉。但是两个人做这些事情有意思,剩一个人就很没意思了。这次老爸出门帮朋友忙,经常不回家,老妈一个人在家里确实很无聊,一个人守着个偌大的屋子看电视到12点,这在我的认知中除了春晚时有可能出现其他时间是不可能出现这种情况的。所以,过年时第一件事情就是给我妈买一个手写的短信,让她无聊的时候能给老爸以及我们打打电话,给我们发发短信。电脑的话,在实现了手机之后再慢慢教之吧。

发信人: Rickman (天然蚊香), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 11:03:01 2009), 站内

我家的电脑基本闲置。。。。

因为没装宽带 上网也不很方便

我用的时候偶尔上网看看网页
当年我爸要考试的时候帮他下载模拟题复习题之类的让他去打印出来

我弟用来玩单机游戏 但是也没多长时间

我妈是我们家唯一一个会五笔的人
也是很早以前上了一个培训班学的
但是她也没有什么用处

我爸只会qq

电脑应该是给生活带来方便的
如果没什么大的需要的话也不用了
我们家人都比较传统
电视远比电脑用的多
我妈认为新潮的网上购物之类不一定真的能便宜方便多少

发信人: davidstven (老毕), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 12:42:24 2009), 站内

我给家里买过手写板,但是老爸老妈坚持不用,还是愿意“二指禅”,他们的解释是,用那玩意儿以后会变傻的,连最基本的拼音都拼不出来了。。。

发信人: bluebluesky (羽喵喵), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 13:07:54 2009), 站内

家里的电脑的老爹老妈的游戏机,最多再加上个和我的视频用具~

老爹打祖玛,老妈宠物连连看。两个人还为这大打出手~汗。。。

发信人: vivid0203 (盖世太宝), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 15:20:51 2009), 站内

我的父亲,是我的偶像!

以前,他不会拼音,说普通话也不是特别好,更没有用过电脑,可是他拿着一张声母表和一张韵母表,加上一本字典,在年近五十岁时,靠自己敲打键盘把博士论文写好了,拿到了博士学位。

虽然我是对自己要求非常低的人,老不上进,但是看到父亲,我觉得,只要是肯付出努力,大部分知识和基本技能都并非难事,都在我们的手掌中,只是有时候,我们自己摊开了掌心,放弃了!

发信人: arikado (单身公害·NB教|大护法), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Sun Dec 27 23:10:04 2009), 站内

老爸自从过了单位的计算机打字考试之后就基本不碰电脑了,偶尔我回去会下老电影或者老电视剧给他看,或者介绍他到youku=。=不过他嫌不清晰=。=
老娘时常拿着字根表打字儿,额,多用于网银和炒股~
至于QQ,MSN还有开心这种东西。。。。。我不打算介绍给他们。。。。。。多危险呀~~

发信人: taugulua (给点阳光就灿烂), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Mon Dec 28 09:09:02 2009), 站内

我家老豆

上网,偷菜,聊qq,玩百度贴吧,我老娘还搭讪陌生人,

看电影(虽然都是我下的),打牌,看新闻,

恩恩,有时候我怀疑他们快会人肉了……我的公务员面试名单他们都找的到……

一度我娘发飙,说我爹天天盯着80-90年代那些香港捉鬼片录像频道不放手,吓到她了……

后来用baidu视频搜视频多了,就不太用pplive

然后有一天,告诉我说,央视前几年那个内部晚会很好看……我吓得,你们从哪翻出来的……都会看东方红时空了……

发信人: katherine117 (笑笑), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Mon Dec 28 10:36:40 2009), 站内

我还是挺佩服我老妈的..我还没上小学时刚刮来一阵电脑热,我妈好像就是第一批单位去培训电脑的人,每天苦练五笔..等到我上小学背字根表还是在家老妈教的..不过后来我用拼音还是比她快..
逐渐上初中高中学习忙了,没那么多时间上网,然后就见着我妈电脑玩的是越来越熟练,MP3流行后我下载歌都是老妈下的,在PP还没流行时在某个网站包月看电影..后来学着做电子相册,混论坛,查资料…现在他们单位工作联系都不打电话了,直接在QQ群里发布信息..
上班要挂着电脑,下班回家还是上网…她比我电脑玩的还熟练,经常说她网龄比我的大多了…qq到现在都两个太阳了..还每天定时收菜种菜…恩 昨天还说看什么乞丐王子的偶像剧…

发信人: shulina0426 (奈奈), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Mon Dec 28 13:56:28 2009), 站内

偶妈只乐衷于用PPLIVE搜索各种偶像剧……
有一次惯例的每周电话中,我妈自豪地问我,你猜我这周都干了啥,我说,啥呢~她说,我这周看完了,流星花园的,台湾版第一部第二部,韩版流星花园,日版流星花园,还有那个湖南卫视的一起去看流星雨!!!

发信人: qqwwmb (qqwwmb), 信区: NetResource
标 题: Re: [你说我说] 我的父亲/母亲/长辈与电脑
发信站: 天地人大BBS站 (Mon Dec 28 14:40:35 2009), 站内

我老爸是教师,也正是因为这个关系,他接触电脑很早,家里很早也就有了一台486,很早就用wps来做教案,也是学校里最早用powerpoint的老师,也因为此很是在学校里风光一把。

我老爸是个很有危机感的人,所以面对新事物,他的接受程度和速度甚至比我都快,当年很早就用调制解调器(那个咯吱咯吱的猫)上网了,很早就有了yahoo.com的邮箱,也很早就申请了MSN,甚至还有ICQ和AIM,至于qq和uc老爸也是很早就有了号,他的qq号好像还是六位的,也是因为英语老师的关系,还交了一帮老外网友,网上有个笑话说,学十年语文,不如聊一年qq,这件规律用在我老爸身上再合适不过,当年也就是聊了几个月,打英文的速度 就简直是神速,甚至一度盲打的速度比我都快多了。至于拼音,更不在话下了,当年在教育局培训老师打字的时候,我老爸在他们单位可是翘楚,搞得后来我老爸都成了培训老师,这件事情让他得意了好长时间。

老爸用电脑,另一件事情就是泡论坛,老爸是个HKC,对于党和国家绝对忠贞不移,所以在天涯上对有人攻击党和政府,我老爸很义愤填膺的,不过碰到没办法HKC的时候,我老爸老是念叨,明天会更好之类的酸词,很是被我鄙视。

有这么个老爸,其实有时候还真不方便,因为他晓得我的msn和qq号,甚至连我的三个gmail邮箱和我的博客他都晓得,每次偷懒上个qq或者msn,总会发现他老人家闪烁的亮眼,博客里时不时有人警告我要好好学习之类,基本上每个星期都要求qq视频一下还,有时候我正和某女生在qq上狂喷呢,老爸不时跳出来问我上线没,真是煞风景得很。

不过老妈在老爸的带动下,也学会用电脑,大概是晓得了qq视频不要钱,每次说起话来,还真是没完没了,不过有时候我老妈也懒得理我,因为老妈忙着玩qq游戏,什么斗地主,扎金花,升级之类的无所不通,而且我老妈还超级迷连连看,每日都要爽上几把牌,玩上半个小时的连连看。不过我老妈的水平也就局限于此,所以每每我在网上为非作歹的时候,基本上只防着我老爸。

不过两个人有一个共同点,就是爱上人大的主页,还有事没事跟我讨论一下人大的最新动态,搞得我是人心惶惶呀。生怕不小心挨个处分,给挂到网上,估计我回家就没什么好果子吃了。

不过这老两口在家相依为命,不养狗,不养猫,天天在网上,也算是乐子。倒是也解了我不少心愁。

新浪微博在用户上传图片后,会对图片进行处理,生成不同版本的缩小图,以适应各种客户端的需求。图片分为 large、bmiddle、small、thumbnail、square 五种尺寸,在需要相应大小图片时,只需要对图片 url 的该段进行替换即可:

/large/:

原图。

/bmiddle/:

当原图宽度>440 像素时,则按比例缩小图片使得宽度=440 像素。当原图宽小于440像素时,则直接原图。高度无关。

/small/:

规则类似 thumbnail,尺寸为 200 像素。最小断点未测试,猜测为 60 像素。

/thumbnail/:

1. 当长宽比例< 120:35.5 时,以比例缩小到长和宽均不大于 120 像素,即:竖长图缩为高120像素,横长图缩为宽120像素;

2. 当比例≥ 120:35.5 时,即当按比例缩放时,一边满足 120 像素另一边尺寸小于 36 像素,则进行特殊处理;

2.1 竖向图片,缩放为宽 36 像素,然后从顶部往下截取 120 像素的部分作为 thumbnail 图;

2.2横向图片,则重新缩放,以120像素为高度,截取左边的120像素作为宽度,形成一个 120×120 的正方形 thumbnail 图。

3. 当原图片长宽均小于 120 像素,不处理。

/square/:

按比例缩小到长宽中的较小值等于 80 像素,然后再对另一边进行居中裁切,使得两边都等于 80 像素。

sinapic-size

0.已经安装 VMware Tools。这个不写了。

1. 在 VMware 里开启共享文件夹,指定主机的共享目录。图为 Windows 宿主机,Mac 类似。

vmware-sharefolder-host

2. 在 Ubuntu 终端下进行 mount,mount 的目标最好选择容易通过文件管理器能够到达的目录。毕竟这个共享文件夹的 mount 和光驱之类的硬件 mount 不太一样,顺手最重要。我用的是 ~/vmshare 目录。输入代码:

1
2
3
$ cd ~
$ md vmshare
$ sudo mount -t vmhgfs .host:/ ~/vmshare

Ubuntu-2014-08-25-01-53-16

这时候打开文件管理器,就已经可以看见主文件夹(home)下已经有一个 vmshare 的目录了。

3. 鼠标拖动该目录到桌面,先不要放手。按住 Alt 键,光标会变成一个带问号的小手,这时再松开鼠标,会弹出一个菜单询问你的操作。选择 “链接到此处” 项,如图:

Ubuntu-2014-08-25-01-58-07

这样,共享文件夹就在桌面建立了一个快捷方式。你在 vmware 里设置宿主主机共享目录,在 Ubuntu 虚拟机下也可以方便地看到了。如果主机没设置,这个目录里就为空。

vmware-sharefolder-sync

PS:要去掉这个共享目录(虽然我想不明白为啥要去掉),使用命令:

1
sudo umount ~/vmshare

就可以了,~/vmshare 就是你自己挑选的路径。

围观地址: https://github.com/kaikaiiiiiii/mac-keyboard 用了一些简单的 CSS,最后看起来效果还不错。

缘起是想给自己写个在 mac 下通过 alt/shift+alt 加内容键可以直接输入的符号列表,后来想想要不就做个键盘得了。最后效果就如下图了。

1. 功能键区的图标用的是 http://fontawesome.io ,不过依然有些图标找不到,暂空。F8 的图标是两个 fa 图标拼的。F1/F2 的图标比较写意,也不是完全一致。

2. 通过 :active 伪类添加了按键点下时的效果,包括:

(1) 底色变全黑 #000; (默认颜色是#333;)

(2) 位置右移 2 像素,下移 2 像素。

3. 通过 Transition 添加了“回弹”的效果。

4. 通过两个像素的 Border-bottom 效果,强调了按住 alt/shift+alt 后可以直接输出的字符。

5. Transition 在表现“回弹到原位时”,必须明确地添加 left:0px; top:0px; 以使得动画的计算有终点,否则 transition 是不起效果的。这个坑了半个多小时,遍查不到,突然自行顿悟。

6. 通过 -*-user-select: none; 让按钮在双击时,上面的字符不至于被选中。

7. css 的类还是分得很细的,键长、宽、upper、lower、keyname、altkey、shiftaltkey 等都是单独的类。当然 .space 的 width 就只能单写了这个没办法。

8. jQuery 还在学习中所以这个项目到这里就结束了。

pic

>>这里<< 写了如何在 Ubuntu 桌面版下安装 oh-my-zsh 的命令行,但经实验以后发现最后几步存在问题。作个笔记:

1. 首先安装必要的软件包:

1
sudo apt-get install wget git zsh

2. 下载别人写好的 oh-my-zsh 安装脚本并自动执行安装

1
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh

3. 更换终端 Shell 到 zsh (其实这里开始就有问题了,我这步用的别的办法,简单好用,疗效显著)

1
chsh -s `which zsh`

4. 重启,显然只是为了让系统保存设置。

1
sudo shutdown -r 0

问题在于,第三步时经常会出现什么 PAM 未验证之类的问题。网上查的原因五花八门,解决方法也各异,挨个试过来,有时有效,浪费时间。

我用的办法很简单。

终端 – 菜单 – 编辑 – 配置文件首选项 – 标题和命令 – 运行自定义命令而不是 Shell(N) – 自定义命令:zsh

如图:

Ubuntu-2014-08-25-00-54-44

补充:

开始使用服务器后,这种方法就无效了。如果 sudo chsh 依然无效的话,可以 vim /etc/passwd,然后搜索 bash,并替换为 zsh,算是暴力解决方案。

补充:禁用升级提示

You have to add DISABLE_AUTO_UPDATE="true" on your .zshrc before the source $ZSH/oh-my-zsh.sh line. By doing so, oh-my-zsh will just skip the update checking script.

0%