Welcome to my blog. The English verison of posts are in En page.

Git一记

在windows上,无论我怎么git init,他永远初始化一个这么神奇的目录。我就看不懂了。

后来仔细找了一下,发现变量里面有个很神奇的GIT_DIR,改了以后发现

尼玛,真是到位了。

删除试试。

title

感动。

关于hexo主题到leanote主题的移植

似乎是个辛苦的差事。

首先,hexo使用的ejs模板引擎,也就是说,整个代码的构建是要利用ejs的。然而hexo使用的则是golang模板引擎,这两个引擎我都不了解,ejs我是略微有所接触,并不深入,因此整个任务可以说是困难重重。但是面对这个令人万分讨厌的默认主题以及字体,我必须要做点什么了。

思路

clone了两个代码看了看,分析了几条思路。

思路一:直接在ejs的基础上修改

既然ejs是一个模板引擎,那么从中寻找相同点,手写一个可以读取ejs的工具,重新构建成golang模板,即自动化生成工具。可以应对多种主题,一劳永逸,在自动生成的基础上对新生成的代码再加工。

  • 实现方法:了解ejs模板,golang模板,需要利用编译器知识,对原本的ejs文件进行重新编译,编译成golang的模板。(是否已经有类似的成品?)
  • 优点:一劳永逸
  • 缺点:实现难度较高,需要分析

思路二:使用hexo生成html文件后,手动修改

这种方法相对第一种来讲,实现较为简单。即:利用hexo生成的静态文件,在public生成的文件进行分析修改。利用此方法,如果生成的html文件不复杂且结构清晰可用。

  • 实现方法:直接生成出接近成品的html文件,手动修改。
  • 优点:简单粗暴
  • 缺点:只能针对单一主题,且人工活动量较大。

思路三:登录leanote论坛多叫几声。

结语

综上所述,个人决定首先手动修改一次,凑合着使用。然后再利用编译原理知识进行进一步修改,实现思路一。好的程序员是给自己出问题的= =。

成品稍后奉上。

半成品:

Python – 复入坑

= =亲爱的Python再次拿起来。。

检测Python进入参数的类型

默认参数陷阱

L=[]会一直都是原来的值,因此初始值需要为None

利用可变参数

利用可变参数,可以一次传递多个值给函数。此外,还可以利用*把原来的list变成多个参数传入

结果:

此外:

关键字参数

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:

也可以传入任意个数的关键字参数:

关键字参数有什么用?它可以扩展函数的功能。

和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去:

简化的写法:

**extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数,kw将获得一个dict,注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。

切片坑

前10个数,每两个取一个:

所有数,每5个取一个:

列表生成式

参考:

  1. 廖雪峰的Python教程

格式化代码的快捷键

随手记录快速整理代码的快捷键

webstorm

ctrl+alt+l

eclipse

ctrl+shift+f

如何处理perl

perl: warning: Falling back to the standard locale (“C”) 此类问题?

图片标题

饥荒搭建教程收集

don’t starve together 饥荒正版,专用服务器搭建收集。

如果没有学过CS以及相关专业就没有看的必要了。。

  • Linux

    搭建教程。对于mod的配置没有细说。

  • docker

    docker一键配置应该是最简单的方法,但是我目前对于docker的了解实在是垃圾。。明天买个阿里云测试一下docker。

  • steamCommunity上的教程

    比较靠谱,但是针对Windows,一般人也不会通宵达旦的开着自己的电脑吧。。大概。

  • Linux Screen命令

    用于保持持续运行。。不过似乎可以用别的方法,例如作为系统服务运行。

顺便发现了一个BUG就是使用sh启动的时候,lua似乎会按照../的方式向上层目录寻找导致mod读取失败。所以还是老老实实进入游戏文件start吧。

饥荒Linux服务器自动更新脚本

国外有人制作了docker,不过仔细看看,似乎难度也不是很高。打算自己羞羞的写个自动更新脚本,不过感觉过于简单,没有写出来的必要。给个思路即可,利用crontab在合适的时间干掉dont…,然后走steamcmd更新下,再重新启动即可。奈何自己从未认真研究过一本小书 ,说来惭愧。不过感觉对于Linux还是有一定的了解,也算是充分利用了知识。

PS:steam官方提供了更新脚本,但是有时候不是很好用,有时候会提示缺少token起不来。不过总体没有问题。

Docker

可以在daocloud上找到写好dockfile的DST,但是此类配置需要另外再书写教程,如果我单纯的推广不知道是否对daocloud的口。

后来看了看daocloud容器数量上,社区版大概x3,但是想要一个2048需要x16,花费有些大。。所以只能放弃了。

总结

如果没有财力,不打算赚钱,做DST真是有些费力。DST优点可能在于没有图形界面,资源方面不会有问题。但是现在的本本,最少也要4G内存,一般是不会出现资源问题,然而DST服务器,如果想要不花很多钱搞一个,还是比较困难的。

创建VLAN,和你的朋友玩局域网游戏吧!

探索了一下,Shadowsocks仅仅是作为一个代理,并不提供VLAN服务,其他的例如openvpn(Windows上配置有些麻烦,卸载程序做的不彻底,换了安装路径出现问题),Gamer’s Internet Tunnel(好东西,但是并不易于小白操作)。

最后发现了一款日本人写的开源软件。(其实也是不易于小白操作。。)

[阅读全文]

2016-01-02 近日事

终于考研结束了

这段时间考研也是发现了很多问题,比如自己不得不承认的面对压力的无措等等。学习一段时间就会走小差等等。但是这些问题我都能认识到并且自己寻找方法改正,一旦被别人揪着说就很不爽。学习上一段时间就不由自主的浮躁,内容多而枯燥。但是现在反过来想,这次考研考试的打脸是不是也说明了一个问题,不应该公式化的学习考研数学,发现真是自己证明贯通研究的东西,才是真正的掌握并且能够临危不乱的。在专业课等方面亦是如此。

这次考研有后悔吗?有,很多。但是有收获吗?考之前我不认为自己有什么收获,但是现在回头想想,是必然有的。认识了自己的不足,以及学习的东西的不扎实,没有深度。其实在大学学习的过程中每次都对我有所提示,只是我一直忽略了这些提示,导致自己直到这次考研才吃了个苦头。也不知这次结果究竟如何,已经没有心思,没有勇气去比对答案,自己对自己的斤两也是清楚的很。无论怎么临场发挥,最终决定你能否考上的还是你平时的努力程度,我认为自己的努力程度不够自己上研究生。

目前为止,我是想为此再奋斗一年的。

看了看github上空的一大段:

title

这就是考研的一段时间。其实考研我并没有抽出太多在学习上,中间放松的时间也完全可以学点技术啊自己的喜欢的东西,但是我也没那么做。感觉好像耽搁时间。事实上,也并没有耽搁很多时间。

猛然想起与学弟约好讲讲经验。不过目前为止,应该都是失败的经验了吧。细细想来,都有点不大敢去实验室,怕面对恩师,也是觉得丢了ACM实验室这个优秀团体的脸。相当愧疚。想起当时学弟庆功宴上老师说的一句话,也着实打脸:快手未必就好,快手可能不够扎实。也是直击了我的命脉。

考完之后马上浮现的想法是,在数学上面再多读些书。专业课纯粹是按照应试的方法学习,感觉没什么意思,的确应该是课本为主,在课本的基础上拓展才是正确。我考的不是408,不过做了很多408的题目,感觉还是那样,课本通了,很多自然就通了,否则花费大量的时间,收获还不会很多。专业课这个东西,就得靠平时积累。

此外,想要整几本国外的教材看看,从另一个角度看看问题,也是提高自己的英文水平,可能要比这直接来的更加优秀一些。参考书目可以从考研参考中选。

考研之后

考研的时候,可能被迫于每天重复做同样的事情,整的想着考完之后要做什么,看这个看那个,现在考完了,反而看看,基本上没有什么是真的能够好好做的。也可能是受了“应该要二战”的思想制约,目前感觉做啥也不那么回事儿。想图个新鲜打个游戏主播玩,但是仔细一想客观上没有条件,主观上又有点受不务正业的思想制约,于是作罢。微信公共账号,现在来看,做出来似乎价值也不是很大,也不知做点什么,一头雾水。只剩下一个网站可以做做。网站近来考虑使用什么技术来做。感觉自己虽然学习的不算少,但是特别精通的着实不多。Python做总感觉距离有些遥远,开发起来也比较麻烦(也是学的不到家),PHP是一个很好的选择,Javascript总感觉有些不伦不类,函数式编程自己掌握的不好,是学习下去还是拿来使用,感觉不太好。反正不是很喜欢这个语言,也纯粹是个人喜好。