代码 > [自我提醒]笔记本做benchmark记得要插电

2020-02-22

最近重做了缓存组建的部分功能

拿博客程序本地一跑,首页没啥变化,空接口效率跌一半

立马蒙蔽了

没道理啊,Y9000X和平板比都弱这么多。

立刻排除法调代码,调了一会发现,没插电源……

插上去后,首页效率高了1/3....

好吧

记录一下,提醒自己

代码 > 记录:关于golang的atomic load

2019-09-26

之前对于atomic的load的使用场景不是十分清楚。


看到的解释是atomic读的时候所有的写入操作都无法执行,一时没想到场景。


找到这个链接后才有了直观认识


https://stackoverflow.com/questions/55840399/golang-what-is-atomic-read-used-for


数据的操作和写入并不是一个瞬间的动作,不是用Load方法的话可能会造成读出只写入了一般的数据,在数据写入一半的时候读,在极端情况下,理论上是可能产生极大的偏差的。

觉得还是有很多基础要补啊,找时间要补一下。

代码 > element table组建filter过滤值的初始值filtered-value设置

2019-08-19

被坑了一天,升级版本,爬代码,最后还是再一次通过靠搜索到issus的珠丝马迹推测出了解决方案。


文档的说法是 filtered-value 是一个 Table-column Attributes

可实际上这个属性和其他属性不一样,通过 :filtered-value="xxxx" 是没法修改的。


通过 https://github.com/ElemeFE/element/issues/5612 这个issus里可以发现。


要取filtered-value是需要通过ref取得表对象来进行处理的。


所以易证得,设值也需要给table加上ref来设置。


来,大胆尝试

this.$refs.table.columns[0].filteredValue = [this.Watch];


果然起效。

对element ui也真的没脾气。

只能说,好锻炼人的编程能力啊。

代码 > golang接下去两个版本的错误处理感觉很针对痛点

2019-07-03

erros的As/Unwrap明显能很方便的为代码带上错误的环境信息

try能大量的减少if err !=nil {return err}的数量

代码 > 记录:java maven spring boot的application.properties打包方案

2019-07-03

目标:将application.properties的内容排除在jar包之外。不影响成长的测试和使用。


步骤:

1.修改pom文件,排除application.properties内容

在<build></buk>

2.在项目根目录下添加config文件夹,放入application.properties文件

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>

3.在.gitignored里排除config/application.properties文件


4.打包后,在运行目录或者运行目录的config/下放置合适的application.properties文件


代码 > B站代码泄漏……

2019-04-22

下了一份下来研究下代码结构

代码 > 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

https://rustup.rs/


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

这两天在补缓存组件的测试单元

越补越发现低级错误多,多到自己都害羞了。

一部分代码写的时候想的太多,暂时没有用到,测试一跑,全都报错。

实在是……