游戏 > 杀戮尖塔冲击擢升等级的一些新的

2018-03-09

杀戮尖塔是个很不错的游戏。

最近一直沉迷在这个小游戏,擢升等级冲击到了6.

发现和普通难度还是有区别的。

记得最初的5次通关,我都是盾防战士通关的,打概率是拿到了堡垒和恶魔之王两张卡。

也就是收集防御牌,舍身攻击,堡垒,然后靠每回合积攒护盾通关。

但之后其次的通关则完全不同。

进入擢升模式后,小兵的boss的攻击力迅速提高。一般的情况根本难以鸡肋混沌。

而堡垒或者魔王都是高费卡,这一两回合的真空期实在难熬。

后几次的擢升都是靠以祭品为核心的卡拍过关的。

总的来说,就是优先手机祭品,战争准备,剑柄打击。

然后大量防御牌,一些低费优秀攻击排,全身撞击1-2张

提升力量的牌,低费能力牌。

然后升级过的武装或者神化。

遗物休闲补费

快速过排卖血,争取以最小的回合数,快速叠起力量或者护盾快速秒杀对手作为主要目的。

代码 > 我为什么喜欢golang

2018-02-12

接触golang一年了,自己的小框架,准确的说是网络代码包也离预期完成了十之七八了。

的确发现,自己挺喜欢这门语言的。

而反思为什么喜欢这门语言,其实很简单,因为我菜,而且知道自己菜。

一直以来,用过的语言里,可以说最不喜欢的就是PHP和Javascript了。

我不知道为什么这两门语言会有人觉得简单。

对我而言,很难。

不能确定的变量类型,各种隐藏着的类型转换。

只要代码堆积的一多,自己都不感去想有多少问题。

反观golang。

静态编译,有defer,chan,go来降低心智负担,真的很省力。

其实早早的就知道,自己只能算是个票友,能力有限,一直想各种方法来降低写代码时的心智负担,使得尽可能的作出更复杂的程序。

毕竟,换语言容易,换脑子难。

我菜,我自知,我用golang.

代码 > 开始试用微软的visualstudio tfs

2018-01-30

之前的私有代码托管都是放在bitbucket的。

说实话,bitbucket是个不错的服务。但是和github同质化太严重了。

和github同质化严重的,之前还有code.google.com和codeplex,现在都已经在欢声笑语中打出了GG了。

所以,虽然已经用了好几年bitbucket了,但在知乎上看了大软吹轮子哥推荐,还是试用一下。

到目前为止,感觉还算良好

工地 > 加入留言系统

2018-01-29

网站重构

加入第三方登录和留言系统

代码 > https的效率影响

2018-01-27

blog重构后,在本地跑了下性能测试。发现https,至少是nginx的默认设置对效率的影响还是很大的。

本地环境:rmbp 13,2014 mid 中配

debian testing,nginx version: nginx/1.13.8

测试结果:

使用证书和不使用证书,在某些情况下能有一个数量级,也就是10倍的效率差距。

测试结论:

普通应用全上https证书自然是没问题的,毕竟前端的负载均衡是最容易扩充的。真的要求极限性能的地方,比如内网验证服务,还是要考虑下的。成本敏感的话,全站https还是需要考虑下的。

测试数据:

直连:

ab -n 10000 -c 100 http://127.0.0.1:8000/site/blogi/150-

Requests per second: 19273.02 [#/sec] (mean) 

nginx反代:

ab -n 10000 -c 100 http://local.jarlyyn.com:1000/site/blogi/150-

Requests per second: 12578.55 [#/sec] (mean)

nginx https(let's encrypt证书)反代:

ab -n 10000 -c 100 https://local.jarlyyn.com/site/blogi/150-

Requests per second: 1173.36 [#/sec] (mean)

nginx配置:


server {


   ssl on;


   ssl_certificate_key /ssl/local.jarlyyn.com.key;


   ssl_certificate /ssl/local.jarlyyn.com.fullchain.crt;


   server_name local.jarlyyn.com;


   listen 443 http2;


   access_log  off;



location / {


   proxy_set_header X-Real-IP $remote_addr;


   proxy_set_header X-Forwarded-For $remote_addr;


   proxy_set_header Host $host;


   proxy_pass http://127.0.0.1:8000;


}



}



网络 > 第三方登录的选择

2018-01-17

最近在给博客加评论,那势必最方便的是直接使用各家的第三方登录。

国内的微信/支付宝之类的登录虽然轻车熟路,但需要支付费用还不提,还需要审核。

备案还是小事,博客这玩意实在不容易过审,也就不考虑了。

除了吃饭必备的github,之前还打算用Steam登录的。

Steam的第三方登录只有一句openid,什么其他的文档都没有,在坑兹坑兹找了一通后,发现cli下curl访问不到。

对,想起来了,被墙了。

上dotamax上重新授权steam帐号,直连的话无法访问……可怜的dotamax……

反过神来考虑下其他第三方登录的选择。

facebook/twitter,之前倒是做过,但实在是用起来不方便

linkedin到还不错,但是信息太敏感。

纠结了下,能搞定中国政府的美国大互联网公司,应该也只有田字牌,水果和亚马逊了。

亚马逊帐号有的人少。

水果的不喜欢,好像也没提供oauth

那就只能田字牌了,毕竟没用过windows的还是少数啊。

无论如何,只要windows和office还在,微软总不会倒闭的。就怕他乱改。

Linux > 记录:恢复windows更新后,grub rescue> error unknow filesystem错误

2018-01-11

在grub resuce模式中,通过ls确认自己的所有分区。

找到自己的root和boot分区.

如果你的root分区是(hd0,gpt7)

set root=(hd0,gpt7)\

如果你的boot分区是(hd0,gpt6)


set prefix=(hd0,gpt6)\grub

(如果没有将boot和root区分开,则为实际目录.

然后正常进入grub菜单

insmod normal

normal

正常启动linux后,以root权限执行

update-grub 

grub-install /dev/sda


完成收工


参考:https://askubuntu.com/questions/142300/how-to-fix-error-unknown-filesystem-grub-rescue

代码 > 记录:golang中错误在for range中对值使用了指针。

2018-01-08

某段程序出错,最后定位到错误在大概这样的结构

    for _, v := range data {
        c <- &v
    }


这样,整个cannel里,都只有最后一个v值

整理了下思路,也很好理解。

这样的代码某种角度相当于

{
var v int
    for _, v = range data {
        c <- &v
    }
}   


而非

    for _, v = range data {
        var v int
        c <- &v
    }   


那自然都是最后一个值了。

作为一个每个循环中都要使用的值,自然不可能不停的创建新的。这太不环保。

但直接的写法里比较难直接看出来。

记录下,以后至少记得解决的方向

代码 > 记录:通过golang的reflect包创建value的指针

2018-01-03

这个问题困扰了我一定时间,搜了一圈后发先自己2了

先用New创建空指针

然后给指针的Elem设置为具体的值。

主要一直以为New出来的对象没发用,是个zero value,到处panic,没反映过来elem还是可以用来set的。

其实想想也是,如果没法赋值的话,这个New函数有什么用……

大概代码:

    var v = mapvalue.MapIndex(reflect.ValueOf(key))
    var vp = reflect.New(v.Type())
    vp.Elem().Set(v)