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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
moke 的 日常分享、吐槽和动态
https://github.com/FoxAuth/FoxAuth A Firefox authenticator that can autofill TOTP codes with Firefox Android support
#frontend #javascript #mozilla 我类个去居然有人维护了... 😶 而且我完全不知道...
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
#私人广播 #Docker #新坑
Yuuta's second public Docker image: AOSP build environment is finished!
(这是一个 AOSP 编译环境,基于 Docker。一切文档中所述所需软件包都已备好,只需要进入 Shell 即可开始同步代码和编译。)
需要注意的是,它并不是一个 Repo 命令或 Make 命令之类的包装,您需要自行决定需要做什么,就像使用一个 OS。

Project url: https://github.com/Trumeet/AOSP-Build-Environment-Docker

Stars, issues and PRs are welcome!
#notes about #life & #tech

你们都知道 duangsuse 每次回家最喜欢做的事情就是 说事(讲一些自己学到的知识点?)、写文档、写码

呃刚才到处转,感觉大家水平都还很好的,厉害啊

AndroidDevCN 有 IDE 使用, RxJava, kapt, JNI, CLR, C#, Golang, AOSP 编译 大佬
@YuutaW 又搞了个 AOSP 编译环境 Docker 镜像,推荐在大算力大存储空间的云计算服务上部署
FoxAuth 之前那个 MZBoy 又开始写了,虽说前后一共三个月才写出能用的,我离开一个月以后才开始,居然还有两个人会写啊...

131、Fly OI 大佬(跑
LWL 业余无线电 HAM 大佬(逃
LWL 群还有一大堆底层大佬

AndroidCN 一大堆画画和(ConstraintLayout、RecyclerLayout)布局大佬、还有 SELinux AVC 大佬

... 没有一个不如我的(删除)压力好大啊(
还有这个... #plt #pl #java
Forwarded from Hinnka Zhou
有点不太理解这段代码,什么情况下泛型会被擦除,什么情况不会?
Forwarded from Deleted Channel
8102 年了,还有系统只兼容 IE,面向 IE 5,还是 ASP.NET,还是不知道用用 jQuery,select 查个数字 Post 那么大个表单,我也是服气了!
Forwarded from 羽毛的小白板
因为这是老掉牙的 WebForm
Forwarded from 羽毛的小白板
界面的状态都要传给服务器计算再发回来
Forwarded from METO 的涂鸦板
🦟
#life #notice 不要忘记转载 @drakeet 的消息时都要请求同意

btw. duangsuse 看到热更新的时候在想... 如果 Dalvik 也能在一次虚拟机会话里允许类热替换的话... 岂不是很容易造成程序状态破坏(corrupt state)...

Dalvik... 唉,算了,因为其实 duangsuse 是现在才能看懂书籍们的,所以之前看的那本 JVM 书里相应的类加载机制都是无效的,我也不是 JavaEE 开发者
Forwarded from LetITFly News (LetITFly | 让技术飞)
(以上内容转自纯纯写作用户群,已经过 @Drakeet 同意)
LetITFly News
(以上内容转自纯纯写作用户群,已经过 @Drakeet 同意)
btw. 这条不是 @drakeet 发的,是 @LetITFly 发的
duangsuse 真应该啥时候自己好好了解一下 GUI 系统(
现在连 HTML / CSS 盒模型都不知道呢?

欸话说 HTML / CSS 才是前端的代表吧,Qt、Android、Java AWT/Swing 都不如现在的 HTML/CSS 可以体现前端的技术?
Hinnka Zhou
有点不太理解这段代码,什么情况下泛型会被擦除,什么情况不会?
[Supress(unchecked)]
fun <K> createBaseViewHolder(view: View): K
var temp = getClass(), z = null : Class;
while z.isNull and temp.isNull
z = getGenericKotlinClass(temp).instance
temp = temp.superClass

var k: K
if z.isNull
k = BaseViewHolder(view) as K
else
k = createKotlinGenericInstance(z, view)

return k.notNull ? k or BaseViewHolder(view) as K


... 待会讲 Haskell、Agda 什么的,唉时间好少啊
duangsuse::Echo
[Supress(unchecked)] fun <K> createBaseViewHolder(view: View): K var temp = getClass(), z = null : Class; while z.isNull and temp.isNull z = getGenericKotlinClass(temp).instance temp = temp.superClass var k: K if z.isNull k = BaseViewHolder(view)…
首先声明:我也?不知道啥是 ViewHolder 模型,我只是想知道这代码大概是做什么的

K 这个 parametric polymorphism (迫真)(其实就是 Java 的泛型实现)参数 大概是 View 的子类?(假)

我只看中间那个循环...

temp 是当前 JavaClass
z 是当前 JavaClass 的 KotlinGenericClass <K>

循环

temp = thisClass, z = null
while (both z and temp is null)
z = temp.genericKlassInstance
temp >= superClass


大概的意思就是 因为我们知道 Java OO 类型系统里顶部的类型就是 java.lang.Object
而它的超类 Object.getClass().getSuperclass() 是它本身(Object)

所以 temp 不可能为 null(因为在循环开始时它是 thisClass,而循环体里我们只 assign 了它的超类到它,这是遍历超类链)
那么我们问 && 右边的 z 是不是 null 即可判断 while 条件是否成立

也就是说 只要方法局部符号 z 为 null,就不断循环超类链条 ,直到 z(temp.genericKlassInstance)不为空
不过有可能死循环呢... 因为 Object::class 的超类是 Object::class?

#algor btw. 我花了一点时间来讲这个完全没有用的东西... 是很简单的算法,只是因为在准备些什么?(

是学习如何分析代码(迫真)(删除)
不过可以由此看出 duangsuse 的伪代码写的真是越来越伪了(逃
duangsuse::Echo
不过可以由此看出 duangsuse 的伪代码写的真是越来越伪了(逃
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
首先声明:我也?不知道啥是 ViewHolder 模型,我只是想知道这代码大概是做什么的 K 这个 parametric polymorphism (迫真)(其实就是 Java 的泛型实现)参数 大概是 View 的子类?(假) 我只看中间那个循环... temp 是当前 JavaClass z 是当前 JavaClass 的 KotlinGenericClass <K> 循环 temp = thisClass, z = null while (both z and temp is null) …
你们猜猜还可以怎么写(

var classChianItem = thisClass, genericKlassFound = null

while (genericKlassFound.isNull)
genericKlassFound = classChianItem.getGenericKClassInstance()
classChianItem = classChianItem.getSuperclass()


或者使用 Iterator<Class>

... 算了比较麻烦,Kotlin 有内建的 lazy sequence generator

>>> fun <T> Class<out T>.ancestors(): Iterator<Class<T>> {
... return object: Iterator<Class<T>> {
... var currentClass = this
... override fun hasNext(): Boolean = this.equals(Object::class)
... override fun next(): Class<T> = Object::class
... }
... }


#fix ... 打住... 上面那个 and 还真是有理由的,因为没有它会无限循环...

Object::javaClass.getSuperclass() //=> null


我把 static method 搞成 Class<Object> 了?

btw. Object::javaClassObject::class.java 是不一样的?

val T.javaClass: java.lang.Class<T>
class java.lang.Object

btw. Kotlin 里各种类啊对象实例啊关系又双有变化气死

val a = Object::class.java
a.getClass() // unresolved reference
a::class //=> class java.lang.Object
1::class //=> kotlin.Int


... 什么 val T.javaClass: Class<T>

btw. 唉... 我对 Java 的理解还是不过关啊
Java 就有这么难么(笑)

打住,上面那个是错的,而且我还不熟悉泛型 variance... 什么鬼关系
本来还想拿 Haskell Clojure?Scala?(其实我不会 Scala,不过可以学)?Agda 写一个(迫真)(其实我也不会 Agda 如此高级的证明...)

反正 Kotlin 他老人家是多范式,自然也支持函数式特性的,那顺便 FP 一下吧...(虽然我递归什么的很菜)

fold... 这类好像不行,有种反着的 fold 貌似可以生成序列,忘记叫啥名了...

generateSequnece... 类型推导老是错误,我看着结果也有点蒙蔽... 好像就是一点 variance 和 nullability 的问题

用 Coroutine 吧... 其实我貌似也可以用更高级的 FP 特性的... 不过我都不会... 感觉学习遇到瓶颈了... 我好菜啊(悲) 🥕



val objectAncesSeq = sequence {
var chainItem = HashMap::class.java
while (chainItem != null) {
yield(chainItem)
chainItem = chainItem.getSuperclass()
}
}


编译不了... 没加依赖包... 算了... 对自己的技术好绝望啊,啥都不会...
This media is not supported in your browser
VIEW IN TELEGRAM