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
Forwarded from dnaugsuz
fun (String|Int).getStringLength(): Int
即: (A,B).() -> Int
是啊,直接在共同超类定义就好
为什么要引入这种... 找不自在吗
Forwarded from dnaugsuz
奇怪,是这个意思,很易混啊
Forwarded from dnaugsuz
fun (View, Float).dp() = this * resources.displayMetrics.density

// explicitly: fun (View, Float).dp() = this@Float * this@View.resources.displayMetrics.density class SomeView : View { val someDimension = 4f.dp() }

感觉这个人有点不了解 Kotlin 的 super<A>.wtf 是尖括号而不是 label 语法…… 不止是有点 alien, 这是什么鬼概念啊
resources.displayMetrics.density 在 Float 上不存在,是不是此 fun 在 Float 依然有效…… 还是说隐式 View 上下文?

引入隐式性可不是一件小事情,那么确定没有其它解法吗?
Forwarded from dnaugsuz
with(dispatchReceiver) { extensionReceiver.doSomething(params) } 果然他们还是要搞隐式参数啊…… 但这个语法其实未必非要 ext-fun 接受“另一个 receiver(this)” ,写成 fun Float.dp(dim:Float) = this*diminterface View { fun Float.dp()=/**/ } 也可以啊(不过要加的话这个用途还是窄,但也可以只加 class 内部 ext fun 的那个支持,但我很想喷他“为 logger 优化”的那个,是没学过面向对象吗)
Forwarded from VOT SWRING
multi scope extension
Forwarded from dnaugsuz
也算好吧, scoped extension 能加到 scope 的外面去,解决了语法只能指定 receiver 的缺陷
Forwarded from dnaugsuz
这个高级特性是,你
interface XScope { val rate: Int; fun Int.wtf()=this*this@XScope.rate }
class X(override val rate: Int): XScope

可以
X(2).run { 1.wtf() } == 2
等于有 fun (X/*下的*/,Int).wtf() = this*rate
它不解释我还以为有 fun X.wtf(): Int
语法可能最后还是会改下
dnaugsuz
这个高级特性是,你 interface XScope { val rate: Int; fun Int.wtf()=this*this@XScope.rate } class X(override val rate: Int): XScope 可以 X(2).run { 1.wtf() } == 2 等于有 fun (X/*下的*/,Int).wtf() = this*rate 它不解释我还以为有 fun X.wtf(): Int 呢 语法可能最后还是会改下
积极思考了一下, 绝句 里此特性能否支持。
首先这是扩展成员(extension) 查找的问题,实现不难但要增加一个case,修改二进制内子格式(作用域混入的 2*thisArg)

就目前的语法,它肯定要改。 我看到 ((A,B).() -> R) 的函数类型就误会为 (A,B)=(A|B) 了

最开始是说 fun B.opt(): R in A (有点 Kotlin 化,in 也有前移可能)
后来觉得, implict this 的冲突应该提上改革点,正好绝句「人称文法」的第二人称代表 作用域混入 ,就 事 B.opt():R 你 A = op(我、你的x) 这样也行

我觉得虽然有点简短 (可以用 其中 但我觉得无意义),实际写起来也容易理解
既有的 隐式 关键字好像没有用,因为它只能隐式构造器和数据类参数
Forwarded from duangsuse Throws
#China #moha #bear
🐱:社会主义不是口头的空想或者空气,它体现于生产资料的公有制和共同劳动;社会主义实行下去,人们可以实现各尽所能、各取所需的共产主义。
🐻:我继承《他🐸改变了中国》后的特色社会主义(音缩 zbzy),社会主义核心价值观是24个字,国有最富、国家最大、宪法最重。
新时代的社会主义依旧为人民服务,而国家由人民代表的大会做主,即人民亲自当家、人民亲自做主,我们做客。
Forwarded from AlPlank (Al Pt)
wechat 唯一一点好就是相对其他软件能稍微管住自己加 feature 的心态,让用户不需要花费太多精力在"了解怎么用上"。

这一点只有个人开发者鸽子掉的项目能比得上
Word 是什么鬼…… 排名都是手工写的? 草
#Android #Java #build 这样 debugImplementation 就可以 Class.forName 执行 <clinit> 了么
https://t.me/AndroidDevCn/180426 内容查询器…… 好麻烦的样子
uri=content://media/external/file
projection=[_data, orientation, title, duration, bucket_display_name]
selection=((media_type = 1 OR media_type = 3) AND (bucket_id IS NOT NULL) AND (generation_modified > ?)), selectionArgs=[1]
sortOrder=generation_modified DESC, _id DESC

#db SQL select(projection),where,sort 都有了(还有参数 bind...)
#ali #android 🤔支付宝好像能监听到收款码页的 音量下键截屏 ,不知道是有咕咕截屏审查 API 还是按键事件
duangsuse::Echo
#ali #android 🤔支付宝好像能监听到收款码页的 音量下键截屏 ,不知道是有咕咕截屏审查 API 还是按键事件
给 Android 的 Window 加上这个 FLAG 可以告知系统该窗口含有私密内容,部分系统的实现就是禁止截屏和任务窗口里面的预览:https://developer.android.com/reference/android/view/Display#FLAG_SECURE
Forwarded from dnaugsuz
https://github.com/duangsuse-valid-projects/MinBase64 很久以前的,静态 View 单页,你可以看看

Java 新手要注意三点:
1. 不要滥用 public ,尽可能隐藏构造细节是为了便于突出重点(但如果是为了方便免写getset 则要注意排版整齐靠前)。以后写复用库如果还这么搞,不兼容修改会被人打的

不要滥用 try-catch ,确保不可能抛异常用 catch (Exception _) {} ,可以添加 void opt() throws EXCThread.setDefaultUncaughtExceptionHandler((EXC ex) -> {}); 取代过多 catch

2.
- 算符++先后的区别是, (i++)==old_i 而 (++i)==i/*=(old_i+1)*/ ,不要相信它能“优化性能”
- @Override 都能删掉,但为明确性不应该删,继续熟悉真实的语法结构吧
- 表达式 new XListener() { public void onX() } 是创建了 XListener 的一个「匿名内部类(anonymoud subclass)」实例,之所以不能只换构造参数 是因为它方法的逻辑与既有类不一致,新 Java 8 往往用 lambda (() -
> {})
替换。
- static 的意思是「该成员(字段/getset属性/方法)与类本身 1:1 相关」
- static class 只有在 class{} 里面才该用。

3. 实现软件特性,代码能简则简,网上看很酷的 trick 体验一次就够了,下个版本删了换直白的等效代码。
duangsuse::Echo
#ali #android 🤔支付宝好像能监听到收款码页的 音量下键截屏 ,不知道是有咕咕截屏审查 API 还是按键事件
wjm:
截屏还有另一个方法:看相册

那些个截屏就蹦出来个反馈的就差不多是这样的
检测到新媒体(相片)

duangsuse:
草 突破盲点了