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
草,没时间写了
#backend #java 🤔 异步拖长了,用消息队列(
... 那客户端一定要同步查询也得 keep 一大堆 alive 的 HTTP connection...

说到底是 GitHub 连接慢了?emmm
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (YuutaW 鱼塔)
仔细观察了日志,发现日志从 28% 到结尾均有各种 Vertx Thread Blocked 异常,从 5s ~ 12s 不等。同时在 Arrays#copyOf、vertx-blocked-thread-checker 线程、OkHttp ConnectionPool 线程、vert.x-eventloop-thread-0 等地方均发生 OOM 异常。
其实只需要做前端的工作的.. #Android #net
Forwarded from YuutaW 鱼塔
理解 SS 源码困难(
辣鸡。 #security #web 连 XXS 都不防
我们这里也搞过,后来我强行卸了硬盘保护系统... 结果辣鸡 BIOS 只能从 PCI 启动,电脑坏了... 后来老师拆了还原卡又重装了保护系统... 所以我只能 VM #School
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (YuutaW 鱼塔)
雾草 学校电脑 🐮🍺,从 U 盘启动需要管理员密码 🌚
#freedom 总算能用了.... 蓐羊毛翻墙日益艰难?🌚🐕
https://github.com/RikkaApps/Riru/tree/master/riru-core/jni/main
#C 欸我真想写一篇分析的... 可惜自己事情又多
很想学学写 C++,虽然我不是真正意义上不会 C++... 只是 C++ 模板和 constexpr 函数式编程比其他不常用一些而已了。
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
顺便一说,DJson 希望有泛型的 ObjectJ<T extends Type> 什么的其实是希望可以这样: 😫 DJson .fromString("{a:1}") .into(new ObjectJ<Number>()) .doParse(); 然后假设这么干可以边解析边检查类型( 但是... 其实 Java 没有真泛型,是泛型擦除实现的泛型... 没有办法拿到 T 的 java.lang.Class<T> 实例... 我开始是想 interface 里也能为类指定 static 方法限定的...…
那个,突然想到如果能拿到 instance 的话是可以使用 Object#getClass() 拿到 Class 的,而 T.getClass() 就不存在,Java 里类就是类对象就是对象,要不然就是静态方法了,不过那就不能编译期检查的(其实可能希望能利用泛型检查)。
上面的是说错了(
duangsuse::Echo
@FunctionalInterface interface Parser<R> { @Nullable <? extends R> match(); } @FunctionalInterface interface Matcher<R> { @Nullable boolean matches(<? super R> value); } 所以提供的 parser combinator 方法都有 Parser<R> satisfy(Matcher<Character> predicate); charP…
顺便说说 #fix #Java

  @Nullable boolean matches(<? super R> value);

这一句是错的,应该改成,属于我不熟悉泛型语法...

@Nullable <T super R> boolean matches(T value);
duangsuse::Echo
草,没时间写了
#fix...

这个实际上是错的,因为我把 Main class 直接放在 source dir 下了... 本来应该放在

package org.duangsuse.djson;

这是属于不熟练...
#Java "大佬"(对一些喜欢叫别人大佬的人来说) 错误三连
duangsuse::Echo
#bin 然后为了证明我不比 drakeet 差,只是缺少拿来实践的时间, 我分析一下这篇文章《5分钟学会十进制转换成二进制的快速口算方法 & Java输出二进制的代码》,然后就睡觉。 当然,至于 Android 那一套,比如异步、Timer、MessageDriven、Android XML、Android Widgets、Resources、Android Gradle Build 集成、库打包、封装、Android Layouts、Views、Paint、Android Layout Animat…
这里还有一个 "bitselector" 的问题,我待会更新... #fix #bin

irb(main):001:0> 0x01000000.to_s(2).size
=> 25

irb(main):002:0> 0x80_00_00_00.to_s(2).size
=> 32

记得上面的表吗?

0b0001 = 2^0 = 0x1
0b0010 = 2^1 = 0x2
0b0100 = 2^2 = 0x4
0b1000 = 2^3 = 0x8

然后可以直接对应到 16 进制的,每 4 位 2 进制都可以对应到一位 16 进制

Math.log2(16) #=> 4.0

没有影响到程序的正确性(因为 C 的 if (...) 真值就是 0 false 其他都是 true,这里按位和 (&) 运算就算是使用 0xffffffff 也没问题,只要不是 0x0)
但其实是不对的,我之前以为 16 进制不真正能做 2 进制的简记法,现在知道了...
#fix #Java 上次本频道和频道主 @duangsuse 大幅误人子弟,实在是令人... 呃,我以后多编程、多写文档和设计草稿、多做算法设计,少直接 Telegram 上说话,少误人子弟了... 🤐