代码 > rust第一映像
2019-04-17
午休的时候过了一遍rust的语法。
总体印象还行。
比较有特点的几点大概如下:
1.所有权和生命周期的概念。
强调每个变量有明确的所有权,属于某个特定的代码,赋值和传入/传出函数既发生交接。如果需要在多个地方使用变量,需要使用&或者显性的clone。这点感觉非常不错,学的越杂,越喜欢强迫性强的语言。感觉在某些地方能明显的降低心智负担。
2.类似于golang interface的trait.
整个读下来,trait的地位并不亚于golang的interface的地位,甚至可以说更重要。可能读的不够细,暂时没看到类似于golang的空接口和相应的类型断言。
3.存在感过强的cargo
虽然golang一直被诟病包管理过弱。但是cargo过强的存在感,也让我不是很喜欢。毕竟看过太多的如日中天的包/项目管理系统随着时间的推移,渐渐显露出疲态。
总之,总体来说还是不错的语言,目前看起来还是强规范弱魔术的。
准备果断时间好好再过遍语法,看看可以写点什么。
代码 > 记录:debian构建vscode下的rust debug环境
2019-04-17
不得不说golang的配套好,vscode下还是稍微花了点时间搜索,配置好了环境。
整体来说步骤如下
1.安装rustup
curl https://sh.rustup.rs -sSf | sh
然后将安装文件提示的环境变量加入环境变量配置文件
2.vscode安装rust(rls)扩展
3.创建新项目
在合适的地方cargo new ...就行
4.vscode打开项目,vscode会提示通过rust扩展安装必须的工具。同意并等待
5.安装codelldb扩展
6.安装lldb环境
codelldb扩展会有介绍页面。
debian下的安装比较简单,sudo aptitude install lldb,python-lldb就可以了。
新建lldb运行和测试环境,跑代码,手工。
环境配好了,开始准备折腾了
代码 > 整理下自己目前的编程语言配置
2019-04-16
1.通用型工具语言:带gc,用于处理通用的问题
golang/python。已经好久没写过python了,估计之后相应的工具都会用golang写的概率高
2.性能向语言
c/c++/rust
目前工作和兴趣上没有涉及到的必要,但考虑学个rust做过wasm。golang带gc和runtime,写一个wasm几兆大还是有点夸张了。c++过于复杂,看知乎上的c++的帖子基本就劝退了。
3.吃饭的语言
php/java/c#
这三者其实我还是最喜欢c#....可惜目前靠php吃饭,之后可能java也少逃不掉。
4.前端界面语言
js/dart.
目前是靠js吃饭。dart看flutter的发展吧。
5.嵌入式脚本
js/lua。
lua还是使用范围更广一点,js只能说学着就学着了。
所以基本就是
js/php吃饭,golang自娱自乐,rust开个新线,java/dart观望,lua不丢。
代码 > 补测试单元,发现低级错误真多
2019-04-12
这两天在补缓存组件的测试单元
越补越发现低级错误多,多到自己都害羞了。
一部分代码写的时候想的太多,暂时没有用到,测试一跑,全都报错。
实在是……
Linux > 发现这次装系统犯了一个致命的错误
2019-04-07
想着不会休眠到磁盘的,就和台式机一样没开swap分区。
但是台式机有32g内存,笔记本只有8g啊,一不留神就会卡死。
下次有空闲的时候备份下资料,调整下分区吧
代码 > 再一次发现自己闲的蛋疼
2019-03-25
缓存组件本地测试的差不多了,发现 我的台式机和笔记本极限都在首页9w+rps,看来这是内存的限制了,于是准备玩对测。
然后,发现只有华丽的700rps
什么鬼???
一番排查,10MB/s 恩,应该是我的dock只有百兆网卡的锅。
跑下空json接口,30000rps,这才对么,
千兆网卡跑空接口就是3wrps,
万兆网卡跑空接口就是30w rps上限么,杠杠的。
慢着,我有万兆网卡的设备么?
没有啊……
千兆网卡空缄口30000rps有冒用,稍微传点数据就只有3000rps的上限了吧?
我算算,100mb/3000,30k的正文就到上限了。
那我还想着能跑10w,20w的rps有毛意义?网卡都传输不过去啊……
真是闲的……
慢着,techempower 那些纯净态 700多w rps的测试是什么鬼?
比我还蛋疼。