duangsuse::Echo
722 subscribers
4.29K photos
130 videos
583 files
6.51K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
不过现在有 array, bytes, Repeat 三种方式可以『循环』读取数据,有点感觉让人无所适从?

尤其是 array 和 Repeat,它们的结果都是 Array…… 只不过 array 的结果是 of reified type,Repeat 的是 Any 而已
This media is not supported in your browser
VIEW IN TELEGRAM
很想皮一下,移植 Haskell 式 newtype 我们也弄一个 NewType 式的读写,语言内部的类型概念只用于区分,可是那不是很工程。
OneItem 吧。
可是那样不能使用 companion object, 虽然我承认这本身就是一种略带滥用的方法
好像不行,算了……
感谢 CSDN 用户【初级程序员虾饺】的博文,unsigned extension 终于写对了…… 我对补码什么的机器数值表现形式不是很了解
我和 duangsuse 考虑再三,决定 Contextual 不能替代专门的 Pattern<Cnt>.sizedByteArray()

从根本上解决了 array, repeat, bytes『三要素』的混乱
开玩笑的,我就是 duangsuse。
说起来,要是想让 bin.pat.Pattern 架构支持静态长度写入,还得专门再加一个计算长度的操作,这样必须修改所有 Pattern 实现。

其实我没太大办法解决 Repeat(sizer, item); array(init, sizer); sizer.sizedByteArray 不对称的问题
我太难了,虽然『重写』毁掉过许多项目,我觉得它真的需要重写…… 可能需要更好的模块化吧。
我清理了一下代码,顺便删除了一些没用到并且令人困惑或者容易被滥用的定义
我不知道这么多文件该何去何从,怕是我已经开始沉迷于『大国梦』了,但要知道一个东西刻意做复杂,也就只有满足自己虚荣心的效果而已……
好多了,但是却觉得有点怪怪的
基本没问题了,就是本身就有点复杂的…… 再来只能用子项目了
Forwarded from dnaugsuz
是一个 Kotlin Common 二进制纯流式序列化库,采用的底层字节读写算法类似 JDK DataInput/Output Stream实现
Forwarded from dnaugsuz
完全有能力写一个 Java ClassFile streamer
支持 byte order、bit flags、contextual、offset、alignment 什么的
我不得不承认,虽然没有一点可以简化的地方,但这简直是噩梦。当然我不是说别人写的就不噩梦了,但我写的会更显示出机械化的地方。
其实也不是没优化可能,ConstantInfo 现在更类似于一个 union 结构体,我可以把它弄成 tagged union(这里就是面向对象子类型啦)的形式
可以了。