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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
duangsuse Throws
#life #tech #school duangsuse 又 *** 回来了!!! 🐱 这次,duangsuse 的̶大̶脑̶进̶一̶步̶升̶级̶,带来了对很多 IT 问题模型的新分析理解能力,并且也学习了一些别的知识! 这个列表目前包括(我发誓下面的东西我都没有查任何一本书,而且我真的有至少一点的了解,绝对不是那种完全只知道名词的了解,不过关于历史的部分我可能看了一点维基,人命不好记...): (虽然会啥啥语言不能代表有实际工程能力,比如,会 Java 8 (有时可能只能代表你会用 Java 8 写…
比如说,我现在开始能看得懂 C 语言 + 算法工程实践的 Lua 5.1 了 (《Lua 设计与实践》这本书,我居然开始能看懂了) #Lua #PL

比如说,Android 开发的设计模式再也不困扰我了(我花了三四节课的时间看了一下《Kotlin 极简教程》里的 Android Realm 日程软件示例,现在我居然能默写很多代码,RealmAdapter/ViewHolder/TodoItemOnClickListener/TodoEditFragment/TodoListFragment/Anko UI/Coordinator Layout/RealmRecycler Layout/View inflator/Android Menus/MainActivity/AppBar/Supportv7Toolbar/XML/Resources/Layouts/Colors/,甚至包括 Groovy Gradle 项目文件了)

比如说,我花了不到十分钟终于看懂了 ES6 的 Generator Functions 和 Thunk 函数、Async callbacks 之间有何关系,为啥要用 Coroutine + yield Promise 的方式而不是直接阻塞地调用 Sync 函数或者,Async 函数使用 function * 和简单使用 function 有啥区别,为啥就要专门的 co module 来执行 Generator 函数了,为啥 Generator 看起来只是为了状态机随时挂起恢复的却要用来做 Async,Async 和 Await (语法糖)的本质是什么(Fibers,也就是 Coroutine,协程)
而看懂其实是得益于现在能够基于程序执行时控制流模拟的 — 现在我能看到啥是『阻塞』,啥是『挂起等待』了,也知道为啥要做成『分段执行』的函数了

比如说,我现在能理解 Jawa 8 里的泛型型变了(P 是 T 的父类,协变 F<T> : F<P>、逆变 F<P> : F<T>、不变 F<P>, F<T> 没有子类型关系),我知道为啥要说 <? extends T>, 为啥要说 <? super T> (? 是 T 的超类,这是类型下界限定),为啥要有 PECS(producer-extends,consumer-super) 规则,我记住了 Kotlin 泛型里的 <in T>, <out T> 分别是对应 Java 里的啥(PECS,<? super T>, <? extends T>),但最重要的是我知道为什么 Consumer 要 <super T>(Number n = ints.get(0); 这是一个缘由,而 capature<? extends T> 限定符实现了泛型类型的协变,也就是说 List<E>, boolean addAll(Collection<? extends E> c), List<Number> 这种 receiver 可以 addAll List<Integer> 的 producer,或者说 List<Intger> : Collection<? extends Number>, List<Integer> is covariant over Collection<? extends Number>),而且我看到了谁是谁的子类型这个关系,并且我看了一遍就记住了 OOP 里的几种多态 — Ad hoc polymorphism(特数多态) 的 参数类型重载多态、类型转换多态,参型多态(参数化类型, Parametric Polymorphism),子类型(继承)多态

比如说,曾经我专门记的东西现在更清楚了,为啥有人要用,为啥有些精简代码的技巧因为可读性和语言明确性的原因不能用,比如 newvector[i++]
比如 Lua 的 table 预填充技术 p = {0, 0, 0} 防止表存储被动扩充,比如 Lua 的 local time = os.time 可以让访问减少几次索引查找
比如位运算『优化』,比如索引从 10 数到 0 而不是从 0 数到 10 for (int i = 9; i >= 0; i--)
比如数组下标(subscript)为啥要叫下标
#life #dev duangsuse 落实 10:30 准时睡觉『政策』。 🐱

考虑到健康原因(不让自己的努力白费),每晚 10:30(h:m) 必须立即睡觉

== duangsuse::Echo 参考 #Telegram hashtags

duangsuse::Echo 常年利用 hastags 标记消息所含知识领域,并且,这也会为未来 Echo 频道进行简单准确的数据统计带来可能(不然,我也有其他手段,比如 NLP、统计预测)

以下是新的标签实例(不区分大小写、不能保证消息只含这些标签):

== 消息平台部分
#Telegram #zhihu #Github #so #Coolapk #book #wiki

== 注释部分
#life #China #School #Statement #lib #recommended #low #fix
#project #blog #share #Learn #paper
#dev #tech #art #meetUp #conference
#Moha #Haha
#gnu
#Microsoft #Mozilla #WeChat #QQ #Weibo #Tencent #Baidu #Ali #Qihoo
#tools #code

== 程序设计语言部分
#Kotlin #Java #JavaScript #JavaScript_ES6 #TypeScript
#Rust #Go #Swift #Dart #Crystal
#Ruby #Python #Perl #Tcl #Lua #PHP
#C #D #Cplusplus #CSharp #Objc
#Pascal #Fortran #Delphi #Ada #Basic #VisualBasic
#Scheme #Haskell #Scala #Clojure
#TeX #Graphviz
#Octave #Matlab
#Shell
(有些写出来是为了鼓励我去写,其实不一定真的写过)

== 软件平台部分
#Android #Windows #Win32 #MacOS #Java #Java_JVM #CLR #Qt #GTK #Tk #WxWidgets
#CSS #XML #JSON #KDE #Postgres #dotnet

== 软件技术领域部分

#backend #sysadmin #frontend #sysadmin_net

#OI #CS #IT #Informatics

#stat #ann #ann_dnn #machl
#math #math_linearAlgebra #math_discrete
#se #se_dia #se_ci #se_ee
#comm #net #www #web #http #html #mail #wireless
#circuit #embedded #os #db #db_relAlgebra #SQL
#bin #encoding #encoding_audio #encoding_image #encoding_video #encoding_text
#hpc #parallelism #distributed #simd #gpgpu #crypto
#pl #pl_plt #ce_vee #ce #ce_optimize #fp_monad #fp_proof #fp #oop #oop_arch #sp #parser
#algorithm #struct #lists #maps #sets
#security #security_lowlevel
#signalProc #nlp #phonetic
#cg #cg_dip #cg_3d #cg_2d #cg_lowlevel
#gui #gui_animation #gui_layouts #cli #visualization