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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
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
#blender #nvidia ... 我自己下过 NVidia 的 CUDA SDK... 安装起来非常麻烦... 而且弄完了 cuda nvcc 编译器还是不能用... 累死
Forwarded from 神奇的笔记 (神楽坂 立音)
解决方法是自己下载 Blender 源码并加入最新的 CUDA 驱动程序重新编译(或者等 Blender 2.8 就有官方支持了)
#cs #recommended http://erikdemaine.org/

《算法导论》公开课中有一名讲师,他叫Erik Demaine。12岁就进入了Dalhousie大学,2年后,14岁即拿到学士学位。之后进入waterloo大学读博,15岁时拿到数学硕士学位,2001年20岁时拿到博士学位,其博士论文被评为加拿大最优秀的4篇论文之一。

这位同学拿到博士学位后,直接就被MIT计算科学与人工智能实验室聘为助理教授,以20岁的年纪成为MIT历史上最年轻的教授。2003年,年仅22岁获得麦克阿瑟天才奖。2005年,以24岁的年纪升为副教授有兴趣的话(http://erikdemaine.org/)

https://www.cnblogs.com/studyNT/p/7857839.html