#Kotlin #lib #recommended #functional 小值/验证 IO 库
https://github.com/fork-handles/forkhandles/tree/trunk/values4k#show
这个作者感觉可以,尤其是他也很重视程序的一致性(对称性)
In order to maintain symmetry (and to ensure that we can support inline classes), this method is present on the
Little strange but actually consistent because the display and parse logic should NOT be part of the Value itself, but be separated logically.
像
可以手工验证但这不好看,根本解决方法是定义并引用新类型
原来 Factory 在 Kotlin 的标准是
https://github.com/fork-handles/forkhandles/tree/trunk/values4k#show
这个作者感觉可以,尤其是他也很重视程序的一致性(对称性)
In order to maintain symmetry (and to ensure that we can support inline classes), this method is present on the
ValueFactory instance.Little strange but actually consistent because the display and parse logic should NOT be part of the Value itself, but be separated logically.
像
fun transferMoneyTo(amount: Int, sortCode: String, accountNumber: String) 是不安全的,因为它有 Int,String 值但值无格式(如非负数什么的)可以手工验证但这不好看,根本解决方法是定义并引用新类型
inline class SortCode(override val value: String): Value<String>尤其是可以 inline (新 Kotlin 限定),然后这种方法强化的类型(格式)安全还可以保证
toString() 时把密码码掉什么的(取原值就用 SortCode.show(c) 了)。class Money private constructor(value: Int) : AbstractValue<Int>(value) {
companion object : ValueFactory<Money, Int>(::Money, 1.minValue)
}
class AccountNumber private constructor(value: String) : StringValue(value) {
companion object : StringValueFactory<AccountNumber>(::AccountNumber, "\\d{8}".regex)
}
然后就可以 Money.parse("123"), Money.of(123), Money.of(0)/*throw IAE*/, ofOrNull, ofResult4k/*库自定Result<T>类型*/ 这样原来 Factory 在 Kotlin 的标准是
ofXXX(_) 😋 很好看GitHub
fork-handles/forkhandles
Foundational libraries for Kotlin. Contribute to fork-handles/forkhandles development by creating an account on GitHub.
duangsuse::Echo
你觉得,拼音缩加入新汉语写好不好?
#mohu #china 守好语言文字。 https://mohu.rocks/question/14286
能不能好好说话? itorr/nbnhhsh 🤨
之前还重写了个 https://t.me/dsuse/12946
别进入大jb(举报)时代,不要靠sm(算命),虽然墙语缩写是dssq(大势所趋),我们作为jwsl(境外势力)也坚决不能上流行文化jc的,保持rp,gmzd(光明正大)地说中文,写规范方块字!
草这个tmd网络世界我真的太恨缩写了。
随便点开一条微博,艺人名字要缩写,gzs工作室也要缩写,gc广场他妈的也是缩写,hgr老子猜了老半天,百度一下才知道是韩国人,拳头硬了。
讲个话开头也缩写,srds虽然但是,yjgj有句港句,bbl求求了。(这个谁看得出来你妈的)
夸人骂人也都缩写,yjjc一骑绝尘,wdcc弯道超车,yygq阴阳怪气,myss美颜盛世,rnb我也猜了半天,最后被告知是really牛b的意思,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈又硬了呢。
最要命的还不是这些,我刚刚看到网友评价什么什么他jb的什么,我以为jb就是jb的意思吧,但联系上下文句子又读不通,想了一分钟,哇,原来jb是姜滨的缩写啊!
jb=姜滨,我离开了。 😑
能不能好好说话? itorr/nbnhhsh 🤨
之前还重写了个 https://t.me/dsuse/12946
别进入大jb
草这个tmd网络世界我真的太恨缩写了。
随便点开一条微博,艺人名字要缩写,gzs
讲个话开头也缩写,srds
夸人骂人也都缩写,yjjc
最要命的还不是这些,我刚刚看到网友评价什么什么他jb的什么,我以为jb就是jb的意思吧,但联系上下文句子又读不通,想了一分钟,哇,原来jb是
jb=姜滨,我离开了。 😑
#build https://paste.ubuntu.com/p/xbfhXZscvw/ 草,就用 IDEA 的模板 maven kotlin 项目了…… 感觉还挺快的,唉,暂时抛了 Gradle 了,但 Kotlin compiler 还是最新 1.4
用的阿里云 mirror ,不用编译器 40M jar 啊
Maven 连 coordinates 都不支持,XML 真的太长了,写个 mvng 脚本显然是增量更新项目xml 也要能做到了,最开始说好20行内呢,唉…… 😩 #Python
用的阿里云 mirror ,不用编译器 40M jar 啊
Maven 连 coordinates 都不支持,XML 真的太长了,写个 mvng 脚本显然是增量更新项目xml 也要能做到了,最开始说好20行内呢,唉…… 😩 #Python
Forwarded from RWTG9Y4's STDOUT
填了填两年前的坑, 现在这玩意可以自动输入 Steam Guard 了, 一键登录
(其实是 NUC 上只装了触摸屏, 我懒得每次都跑去输一遍 Steam Guard 就把这玩意翻出来修了修
https://github.com/fengberd/SteamLoginManager/commit/f51997ad608d7d75e07098e3535ae8ff564c7505
(其实是 NUC 上只装了触摸屏, 我懒得每次都跑去输一遍 Steam Guard 就把这玩意翻出来修了修
https://github.com/fengberd/SteamLoginManager/commit/f51997ad608d7d75e07098e3535ae8ff564c7505
duangsuse::Echo
#build https://paste.ubuntu.com/p/xbfhXZscvw/ 草,就用 IDEA 的模板 maven kotlin 项目了…… 感觉还挺快的,唉,暂时抛了 Gradle 了,但 Kotlin compiler 还是最新 1.4 用的阿里云 mirror ,不用编译器 40M jar 啊 Maven 连 coordinates 都不支持,XML 真的太长了,写个 mvng 脚本显然是增量更新项目xml 也要能做到了,最开始说好20行内呢,唉…… 😩 #Python
#Java #build 😫 结论:体验极差 凸显Gradle 优点 https://bintray.com/fork-handles/maven/forkhandles-bom 不能把 repository 放 pom 里,必须在 settings.xml 里写成 profile 形式... 显然多 repo 就极其不方便,BinTray 的发布又是单用户单命名空间形式,显然是一个 dep 要加一项,许多项目并没有提供用户 settings.xml,而 BOM(base pom) 依然需要加源后下载! Java 的库发布实在是让人无话可说
https://www.microsoft.com/en-us/research/uploads/prod/2021/01/GIF_LAMBDAS.gif
#microsoft #windows #ce #plt #tech 之前 Office Excel 不能的其实是写出不停机(non terminating, 如死循环)的程序吧… 其实如果已经提供了基于表达式语言的函数,理论也早图灵完全了,这
一拨简直是蹭流量。去年 12 月的事情
也就是说现在仍只支持常量定义,以及标量(数字/真假/字符串)值,不支持聚合量么 😒 我觉得首先应优化性能吧...电子表格而已,但新特性也可能带来新生态
这一波几乎没有语法上的变更, M$ 的命名分词语义还是像以前那样烂(真不知道他们那么左是怎么维护项目的 好吧虽然这是 Excel 🤨
等价
#microsoft #windows #ce #plt #tech 之前 Office Excel 不能的其实是写出不停机(non terminating, 如死循环)的程序吧… 其实如果已经提供了基于表达式语言的函数,理论也早图灵完全了,这
一拨简直是蹭流量。去年 12 月的事情
也就是说现在仍只支持常量定义,以及标量(数字/真假/字符串)值,不支持聚合量么 😒 我觉得首先应优化性能吧...电子表格而已,但新特性也可能带来新生态
这一波几乎没有语法上的变更, M$ 的命名分词语义还是像以前那样烂(真不知道他们那么左是怎么维护项目的 好吧虽然这是 Excel 🤨
=LAMBDA( X, Y, SQRT( X*X+Y*Y ) )
=LAMBDA( X, Y, LET( XS, X*X, YS, Y*Y, SQRT( XS+YS ) ) ) 等价
(x,y)=>Math.sqrt(x*x+y*y) 好像是勾股定理吧(x,y)=> { let xs=x*x, ys=y*y; return Math.sqrt(xs+ys); } 😨 #functional 做这个的人脑子怕不是有毛…病, xs 和 ys 里 -s 是随便乱叫的?!xx 数学并列就能叫 xs 什么鬼?Forwarded from Solidot
Excel 现在具备了图灵完备性
2021-02-01 20:19 #Windows
微软称它的电子表格程序 Excel 是一种编程语言,通过引入 LAMBDA,Excel 现在具备了图灵完备性。
如果一种编程语言可以实现任何可能的算法,那么它就具备了图灵完备性。微软剑桥研究院的 Calc Intelligence 项目与 Excel 团队合作,将电子表格公式转变成一种全面的编程语言。Excel 有两大缺点阻碍它成为真正的编程语言:其一是公式语言只支持数字、字符串和布尔值等标量值,其二是不支持定义新函数。去年 12 月微软宣布了 LAMBDA,允许用户使用 Excel 的公式语言定义新的函数——它被称为 LAMBDA 定义的函数。通过 LAMBDA,Excel 具备了图灵完备性,在理论上可以用 Excel 的公式语言写任何计算。LAMBDA 目前提供给了 Beta 测试用户。
2021-02-01 20:19 #Windows
微软称它的电子表格程序 Excel 是一种编程语言,通过引入 LAMBDA,Excel 现在具备了图灵完备性。
如果一种编程语言可以实现任何可能的算法,那么它就具备了图灵完备性。微软剑桥研究院的 Calc Intelligence 项目与 Excel 团队合作,将电子表格公式转变成一种全面的编程语言。Excel 有两大缺点阻碍它成为真正的编程语言:其一是公式语言只支持数字、字符串和布尔值等标量值,其二是不支持定义新函数。去年 12 月微软宣布了 LAMBDA,允许用户使用 Excel 的公式语言定义新的函数——它被称为 LAMBDA 定义的函数。通过 LAMBDA,Excel 具备了图灵完备性,在理论上可以用 Excel 的公式语言写任何计算。LAMBDA 目前提供给了 Beta 测试用户。
Forwarded from Programmer Humor
#algorithm 无聊的 sort topN 算法题 https://t.me/Javaer/556214
Telegram
Leonhard Euler in Java 编程语言
话说我司有很多用户,注册用户数大概在几十亿的规模吧,毕竟我们面向全世界70亿人口服务,而且还有人注册多个账号, 所以,我们的用户id使用一个64位的整形来存储。
上个月,我司脑抽搞了个送钱的互动,导致大量的羊毛党刷活动。所以这月,运维小哥把活动日志拉了下来。 互动日志有两列 {id, money} 分别是参与活动的用户id和在本次请求中薅到的羊毛数量, 本次活动每个用户可以发起多次请求。
大领导认为, 薅钱数目前 200 名的用户是羊毛党,我们要封禁它们。
请你依据这个日志, 获得薅钱数目前200名的用…
上个月,我司脑抽搞了个送钱的互动,导致大量的羊毛党刷活动。所以这月,运维小哥把活动日志拉了下来。 互动日志有两列 {id, money} 分别是参与活动的用户id和在本次请求中薅到的羊毛数量, 本次活动每个用户可以发起多次请求。
大领导认为, 薅钱数目前 200 名的用户是羊毛党,我们要封禁它们。
请你依据这个日志, 获得薅钱数目前200名的用…
https://t.me/Javaer/556285
#Python #algorithm 看讨论的方向是简单实现就写了两个,最后 #oi 大佬还来抒发了一下见解
topk 就是 n 个数据取降序 k 项,这里提供 MapReduce(某种负载均衡,子集归并排序)、选择排序 俩算法。(因为我就会 选择/插入/冒泡/快速 四种排序算法了……)
空间复杂度: O(k*k), O(1)
时间复杂度: O(baO(k*baO(n/k))) 其中 baO 为 sort() 复杂度, O(k*n)
其实前者的归并(topz)法也有更好的版本,原来需要
好吧,如果连续两子表头相等,就只能加全它俩了(断言不了整体大小的关系),所以看来这个“优化”有没有价值还另说。
#Python #algorithm 看讨论的方向是简单实现就写了两个,最后 #oi 大佬还来抒发了一下见解
topk 就是 n 个数据取降序 k 项,这里提供 MapReduce(某种负载均衡,子集归并排序)、选择排序 俩算法。(因为我就会 选择/插入/冒泡/快速 四种排序算法了……)
空间复杂度: O(k*k), O(1)
时间复杂度: O(baO(k*baO(n/k))) 其中 baO 为 sort() 复杂度, O(k*n)
其实前者的归并(topz)法也有更好的版本,原来需要
xxs[0:n] (已排序子表的前 n 项,注意整体合并完就是 n 项)的,实际上可以按 xxs[0] 排序一遍,再定一个集合,直到 key(xx) 填满 n 项取子表头一项 append 到 tops 即可。(划掉)好吧,如果连续两子表头相等,就只能加全它俩了(断言不了整体大小的关系),所以看来这个“优化”有没有价值还另说。
Telegram
duangsuse in Java 编程语言
https://pastebin.ubuntu.com/p/QWSPb4ckKn/
我就直接写了这两个版本的,感觉也没啥需要注意的,易写
我就直接写了这两个版本的,感觉也没啥需要注意的,易写
#Kotlin json serialize https://t.me/kotlin_cn/16933
需要反射 noarg 构造器,或者 named parameters
JVM 的反射反序列化比 python 严肃许多呢
需要反射 noarg 构造器,或者 named parameters
JVM 的反射反序列化比 python 严肃许多呢
Telegram
Erbzur in Kotlin CN
对,我正在看custom serializers,看看内部是怎么实现的
https://at-ui.github.io/at-ui/#/zh/docs/steps #web #css #design 🤔
之前我对 GUI 控件的总结是「钮栏条框」,即 button/bar/line(text label, input)/box
现在我知道最好的分类其实是 基础/表单/视图/导航 「件表视导」,显然靠形状上的名词,无法称呼好这些视图控件,还是必须要靠语义,比如输入框的类型是 int 还是 string。
如果把前端的一些东西 Modal, Alert(这里是 banner 形式...), Notification 也融入 #GUI 应用的开发中,能写出便于使用的程序
那些都是旧时代的东西了,但 Model/View 带来可以手动变序的 table 还是很有用啊…… 二者怎么样可以融为一体呢
之前我对 GUI 控件的总结是「钮栏条框」,即 button/bar/line(text label, input)/box
现在我知道最好的分类其实是 基础/表单/视图/导航 「件表视导」,显然靠形状上的名词,无法称呼好这些视图控件,还是必须要靠语义,比如输入框的类型是 int 还是 string。
如果把前端的一些东西 Modal, Alert(这里是 banner 形式...), Notification 也融入 #GUI 应用的开发中,能写出便于使用的程序
那些都是旧时代的东西了,但 Model/View 带来可以手动变序的 table 还是很有用啊…… 二者怎么样可以融为一体呢
at-ui.github.io
AT UI | O2Team
A fresh and flat UI-Kit specially for desktop application, made with ♥ by Vue.js 2.0
duangsuse::Echo
https://neko.ayaka.moe/2020/08/28/043/ #blog #web #drawing #lib threejs
#LGBT #life 对了,回头看看,确认了一遍才发现是 ayaka neko 呢…… 现在也继续下去了呢。
看看博客的 about ,看看 oao.moe ,应该就是之前那件事了,真的好可惜啊,两个人都是很好的程序设计者呢。
下面这个 about 应该是有一段时间了(估计是故意留着的吧),提到的两个项目都只是想法的阶段,而现在絢香猫的编程实践经历有很大变迁。
https://neko.ayaka.moe/about/
“ 我叫 Ayaka Neko 哦,写作「絢香猫」,不用繁体也可以,直接称呼我 Neko 或者猫猫就可以呢。
谢谢你看这么多废话,也希望你能在这个博客找到你想要的东西。谢谢你!
看看博客的 about ,看看 oao.moe ,应该就是之前那件事了,真的好可惜啊,两个人都是很好的程序设计者呢。
下面这个 about 应该是有一段时间了(估计是故意留着的吧),提到的两个项目都只是想法的阶段,而现在絢香猫的编程实践经历有很大变迁。
https://neko.ayaka.moe/about/
以前说,自己是「天真的笨猫,什么都不会」,在 Twitter 的个人资料页面上也是这么说自己,虽然自己的确有在 Twitter 上写满过个人资料那个区域,甚至觉得不够,后来又把自己的所有技能全部丢上去写了一篇满文字的推文然后置顶,记得当时羽毛说,「这个人看上去好厉害啊,怎么什么都会,还是屏蔽掉好了(然后后来觉得感兴趣又解开来接触我)」,然后就是之后抑郁恶化严重,就删掉了那些东西,因为自己深知自己是比不过网络上其他人的,自己的那些技能其实都不算什么可以拿的出手的东西,虽然的确有一部分在现在的我看来,依然很厉害:写音乐也好,会 C# 程序也好,当时的我一定很厉害吧。自己经历过这么多曲折的弯路再来看这些东西的时候就会觉得,这些真的很厉害呢。以前自己企划的 Project EMOSYS 还有 moeFramework 在现在的自己看起来都是很厉害很优秀的想法,自己在过去阴暗的那段时间里虽然也有一些自己新的想法,但是比不上过去的自己所做出来的这些重要的成就。 “ 我叫 Ayaka Neko 哦,写作「絢香猫」,不用繁体也可以,直接称呼我 Neko 或者猫猫就可以呢。
谢谢你看这么多废话,也希望你能在这个博客找到你想要的东西。谢谢你!
喵
Neko 是什么?
是一只名叫 Ayaka Neko 的猫,生活在一个自己看上去似乎无望的世界上,尝试并且努力尝试寻找着属于自己的归属之地、归宿的猫。 以前说,自己是「天真的笨猫,什么都不会」,在 Twitter 的个人资料页面上也是这么说自己,虽然自己的确有在 Twitter 上写满过个人资料那个区域,甚至觉得不够,后来又把自己的所有技能全部丢上去写了一篇满文字的推文然后置顶,记得当时羽毛说,「这个人看上去好厉害啊