代码 > 2025技术栈整理

2025-01-09

整理下自己手头的技术栈

1.golang

这个没的说,的确好用。

可以取代php/python/各种脚本

基本是个 可编译 强类型 基础库强大 的脚本语言。

特别时map和slice,太脚本化了。

能取代大部份使用脚本语言的场景

2.javascript

这个没得说,浏览器里大量使用,各个语言也有成熟的vm可以使用。至于TS,感觉不太适合我用的场景,绝大部分情况下,脚本语言对我只是胶水或者可配置逻辑,实际复杂应用还是走go

3.vue2

等到vue2什么时候停止更新了,再找新的前端框架吧。别的前端框架,哪怕vue3,都太重了,脱离了我对前端的需求

4.flutter/dart

对于一个熟悉前端,不经常写app的人来说,flutter太好用了。dart基本就时一个js,大部份场景下也有很多现成的flutter插件,各种云厂商的支持sdk也很多。随便捏一捏就能弄个app上架了,比较适合我的需求场景。android/ios原生开发实在离我太远,没必要

5.avaloniaui/c sharp

怎么说呢,flutter的确很好用,但再有些场合,太移动端为主,未毕合适。而且c sharp背后有微软在,各个领域未必时第一,但前三的解决方案总有。而且要说实话,golang太脚本化,很多场景c sharp可能会更好用一点。现在dotnet的linux支持看起来也不错,算是今年的研究反向了。20年前最火的时候没学,20年后再去学,也满有意思的。

 

其他的能看懂就行的语言

php:实在用途狭窄了

python:大部份场景不如用golang,能改改别人的python脚本就行了

lua:这个,实在,太不好用

java:能看懂就行,实在不想学

c:万物离不开C,总有可能要做ffi的

代码 > 试了下avaloniaui

2025-01-08

今天发现avaloniaui支持vscode了。

再本地跑了下,在linux应该说能用,但开发体验和vscode的flutter天差地别,只能说能用罢了。

考虑今年空下的时间搞搞看.net

不求多熟悉,能谢谢最基本的工具就行。

背景有微软这个大山在,各种生态还是不愁的。

至于投入太多精力么,也不至于,毕竟普通人还是跟不上微软的思路的。

Linux > 装了个linux版的微信

2024-11-08

虽然PC端的微信对我不是刚需,但是还是冲一下数字吧。

毕竟改善linux环境,总要这样一步一步起来的。

代码 > 被向日葵折腾的不行

2024-09-18

我有个专门放国产软件的虚拟机,向日葵就是里面的一员大将。

前两天连线必须升级,升级玩重启后,好家伙,鼠标点击失效了。

推测是向日葵默认开启被控,接管鼠标操作造成的。

没办法,不停的进安全模式(msconfig关启动和服务)切换,还是不行。

更搞笑的是,鼠标失效后,向日葵还无法反安装。因为反安装界面那两个按钮是画上去的,tab切换不到。

大写的服。

先试试能不能用企业版的监控端吧。

不行就用了就删。

给国产软件虚拟机运行是最正确的选择。

代码 > 用了下雷池这个开源waf

2024-07-26

说真的,真的太重了。

只能说,能用,能挡一下扫描不比深入。

网络 > 试了下cf的saas功能

2024-07-23

挺,好玩的。

总的来说,cf提供一个反代服务,通过这个反代服务可以让不托管在cf的域名也能享受cf的cdn/waf。还能玩玩优选ip啥的。

好像每天有10w次的限额。

这就很大善人……

杂言碎语 > 开始逐渐把飞书作为整理思路的工具

2024-07-15

一致以来,有在纸上图图画画整理思路的习惯。

其实这属于笔记软件的范畴。但是呢,Onenotes国内访问太蛋疼的。国内的笔记软件格局也不大。

现在习惯把信息更新在飞书上。毕竟各端都有支持(企微只不支持linux),口碑也还行。

代码 > flutter慎用setstate

2024-07-02

刚刚修正了全文搜索到能用的程度。

怎么说呢。

setState的名字是一个大坑。

它就是rebuild.重新调用build。

所以尽量要在组件树的末端setState,State里尽量不要放数据,情愿多用全局的业务Context。

setState这个名字对它的性能消耗的误导太大了。

代码 > 搞了个livechat代替留验表单

2024-07-01

https://www.jivochat.com/搞了个免费账号,看看效果。

实在不高兴做表单和spam做斗争了,还有各种安全漏洞。

反正livechat也能退化成留言+表单,看看效果。

代码 > flutter双滚动条

2024-06-28

发现Scrollable.ensureVisible只能对最近的一个滚动条生效,调整滚动条顺序后,垂直方向滚条不出现,水平的倒常驻了。

 

搜了下,滚条也是和其他组件一样组件拦截的,需要在拦截判断函数 notificationPredicate处理下

 

大概这样

 

return RawScrollbar(
thumbColor: Colors.white,
thumbVisibility: true,
controller: scrollController2,
scrollbarOrientation: ScrollbarOrientation.bottom,
notificationPredicate: (notification) =>
notification.depth == 1,
child: RawScrollbar(
thumbColor: Colors.white,
thumbVisibility: true,
controller: scrollController,
child: SizedBox(