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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
awsl
太难了!
这扑朔迷离的名词 stylePool,在是 int 的同时又是 byte[]
这个特化处理也太难了吧!我感觉我是在写 radare2 脚本。
我死了,今天肯定做不完的
duangsuse::Echo
我死了,今天肯定做不完的
但是,这里所认为的 AXML 文件基本结构,我们之前写的复用库里可全都包含在内呦。上面的例子就是经典的 Cond(flag, item), 这里 flag = int32
我最后考虑了一下,好像 Writer 还是必须支持 position 的…… Java 的 ByteArrayOutputStream 在内部就保留有…… 然后就可以有 aligned 这个 pattern

为了 Cond 的 flag 在一些极端情况下的可用性(比如 flag 的 index 是从 1000+ 开始编列的)
必须有一个 map 的 pattern helper,来把输出映射到特定值,再映射回来。
aligned 不应该作为一个 pattern 出现,因为它实在不好取类型,Nothing? 是错误的办法
但可以作为类似 EndianSwitch (PrePost) 的东西出现
特立独行的 pattern
#dev 汲取之前的教训,我再也不为了让测试通过而想当然地改代码了,至少在调试分析以后找出问题根本原因所在,才能算成功。
任何可能出错的地方都会出错……
当时我还检查了很多遍,自以为该 update 某变量的所有地方都检查了,看来好眼睛不如好实例代码、熟练的 IDE 分析工具使用,重点是难以抓住的,肯定要多测试。
结构和解析器,完全可以写在一起。
现在 Int16/Int32 vs. Short/Int 又成问题了,唉,项目里真的没办法完全统一啊

目前和二进制数据模式相关的基本是 Int8 式位长名字,无关的则是 Byte 这样的 kotlin 式名字
如何?EDSL 式的定义方式
想了半天,我觉得要最下面那个就够了。
感觉自己发现了 Kotlin 很 Scala 的一面(喷)
但我毫无办法,用一元正号是有优雅性的,它在 Scala 里是 generic type parameter covariant 的 notation,+int8 给人感觉是『更大层面的 int8』,也就是超集 kotlin.Any 层面的东西。
也可以少做一点 type coercion,只需要把这一个东西分开成两部分就好了……
This media is not supported in your browser
VIEW IN TELEGRAM
其实把复用库和应用程序放在一个 subproject 里开发是个错误,真的。至少应该分两个 subproject,然后加依赖……
我没想到我会对复用库部分写那么多……