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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
Forwarded from dnaugsuz
也算好吧, scoped extension 能加到 scope 的外面去,解决了语法只能指定 receiver 的缺陷
Forwarded from dnaugsuz
这个高级特性是,你
interface XScope { val rate: Int; fun Int.wtf()=this*[email protected] }
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*[email protected] } 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.iss.one/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:
草 突破盲点了
Forwarded from niconiconi
#Python #book #code 了解一下新华书店销疯了的书单:
text = """
我青年时代就读过:《西游记》《马可波罗游记》、左丘明《左传》、《我的故乡》、那楚克道尔吉、《吉檀迦利》《园丁集》《飞鸟集》 《新月集》、泰戈尔、《三国演义》《水浒传》、老子、孔子、墨子、孟子、庄子、伏尔泰、孟德斯鸠、狄德罗、卢梭、圣西门、蒙田、傅立叶、拉封丹、萨特、司汤达、莫里哀、大仲马、雨果、巴尔扎克、福楼拜、乔治桑、莫泊桑、小仲马、冉阿让、罗曼罗兰、《羊脂球》 、卡西莫多、席勒、歌德、海涅、莱布尼兹、黑格尔、康德、费尔巴哈、马克思、海德格尔、马尔库塞。

我还读过:托马斯·潘、《联邦党人文集》《常识》、梭罗、惠特曼、马克吐温、杰克伦敦、海明威《老人与海》、简奥斯汀、花兹(停顿)华斯、狄更斯、《猫》、《福尔摩斯》、卡尔马克思、弗里德里希·恩格斯、拜伦、雪莱、萧伯纳、培根、克伦威尔、约翰·洛克、托马斯·莫尔、亚当斯密、李约瑟、阿诺德·汤因比、《双城记》《雾都孤儿》《简·爱》《鲁滨孙漂流记》、汤显祖《牡丹亭》《南柯记》《紫钗记》《邯郸记》、莎士比亚、《威尼斯商人》《仲夏夜之梦》《罗密欧与朱丽叶》《第十二夜》《李尔王》《奥赛罗》《麦克白斯》,谢谢大家!
"""


def sortSplit(s, sep, op): return sep.join(sorted(s.split(sep), key=op))
from re import sub
print(sub(r":(.*?)[,。]", lambda m: sortSplit(m[1], "、", lambda s: 0 if s[0]=='《' else 1), text) )
def sortSplit(s, sep, op): return sep.join(sorted(s.split(sep), key=op)) #不太好看,mapSplit 合适点
from re import sub


print(sub(r"(?<=:)(.*?)(?=[,。])", lambda m: sortSplit(m[1], "、", lambda s: -s.count('《')), text) )
#math 草,这个…… 毕竟是清华毕业 🐮👍
shudan.py
3.1 KB
刚才还以为得看 min(frames.dist) 来算 fps 的,后来一想那肯定要录两遍啊(迫真)于是没做了睡大觉。
https://pillow-cn.readthedocs.io/zh_CN/latest/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.Draw.text
还有定时任务: https://stackoverflow.com/questions/2398661/schedule-a-repeating-event-in-python-3
另一个 imageio 博文:
https://www.cnblogs.com/dcb3688/p/4608048.html