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
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 上说话,少误人子弟了... 🤐
Forwarded from dnaugsuz
对不起,误人子弟了(
Forwarded from dnaugsuz
我到学校的路上就思量着我写的一些东西,发现不对,好丢脸(
Forwarded from dnaugsuz
开始的时候我是误会了 ^| 的含义,以为 ^ (输入流起始模式, [pattern])一定会匹配的(其实还真不一定... 我真的是糊涂了),所以说 \. 这个单独的 "." 有没有匹配都一样

其实这个正则表达式就是匹配这种模式:

1. <字符串起始> "sspai.com" <字符串结束>
2. ".sspai.com" <字符串结束>

但是我脑子一热就直接说等价

1. <字符串起始> [ "." ] "sspai.com" <字符串结束>

其中,尖括号 <> 包裹的文本是必须出现的文本(按其内容字面含义理解),空格无语义、 "" 包裹的是字符串,若输入内容匹配则匹配, [] 包裹的是可选内容。

我知道这很智障,但是... 当时要上学了没时间就出错了... 类似的还有我把 Java 7 的泛型写错了... 都会待会改过来

当然匹配过程也可以理解如下(如果你想知道的话,虽然用于从序列提取结构的解析器也未必真的是非常简单的内容,虽然也没有刻意专门保存流位置允许重新匹配分支的)

static final boolean _match(final String input) {
// (^|\.)sspai.com$

// case ^sspai.com$
if (input == "sspai.com")
return true;

final StringStream s = new StringStream(input);

// case \.sspai.com$ otherwise
retry:
switch (s.next()) {
case '.':
if (s.startsWith("sspai.com")) // "." "sspai.com"
if (s.isEos()) return true; // $
default: goto retry;
}
return false;
}

static final boolean match(final String input) {
try { return _match(input); }
catch (EOFException ignored) { return false; }
}
#Android 说到这里, duangsuse 这周啥都没学(暂时有一段时间我可能『停止学习』),给 GeekApk 设计了很棒的东西,有一些概念了,但是具体算法和面向对象分析设计依然在准备中,其中就包括一个 GeekApk 3 时打算加入的 ApkPool 服务,它就可以利用 MultiMap、CountedHashSet、LineDiff/ByteDiff、Class Program Logic Idenity 等数据结构和算法实现对不同应用使用的 Dex 代码(能够利用 PLI 和自然语言分词算法进行自动反混淆和自动类名选择处理)、大型 native library file(如果 BuildID 没问题的话,指不是应用项目本身根据源代码编译来的库文件)、raw file、resource file、resources 以及修订号版本之间的完全记录和差分压缩(增加、删除、修改、重命名),这意味着如果我能设计出类似的算法,再后来 GeekApk 将拥有又一个不错的新技术(虽然已经有相当多了),并且能够将用户能直接引用查看的信息量提到最高(完全解析应用清单和资源包,不仅仅是一个权限列表一个包名、应用名、版本号、修订、hash checksum、size、minSdkVersion、signature、语言支持什么的了,还有更多!还支持使用 PPQL 查询软件包、统计数据!),把下载的数据流量降到最低(因为如果 ApkPool 有某些软件包,就可以使用策略下载功能自动复用一组下载任务里所有能够复用的数据文件了)
Forwarded from AlPlank (Al Pt)
Telegram 所占的空间的确比QQ小很多,但是乘以三之后,就差不多了。

(Android 端三大主流客户端之坑)
新功能出现时,只有 offical 能抢先用。
管理员希望查看匿名版聊中某条信息时,只能使用 X。
希望便捷的分类,无限量星标/收藏 sticker 时,plus又更胜一筹了。

你们能不能整合一下?至少…共用一个 tdlib?

#胡思乱想
#public