/tmp/duangsuse.sock
23 subscribers
303 photos
3 videos
92 files
337 links
从 duangsuse::Echo (@dsuse) 跟进出来的分支,将在作者恢复原帐号访问的时候合并删除。
Download Telegram
JavaScript 不加点框架简直不能用
懒得加框架了

ES6 都很差劲呢,你都不能 list.map(keyTranslation::getValue)
壮哉我大 Kotlin
Gem "jekyll" 下载太慢了
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Puer Chars)
机器性能太渣,做不了 NPM 开发。
/tmp/duangsuse.sock
JavaScript 不加点框架简直不能用 懒得加框架了 ES6 都很差劲呢,你都不能 list.map(keyTranslation::getValue) 壮哉我大 Kotlin
我才想起来,JavaScript 的 Object 语法 o[k] 是不可重载的,只能是访问 property 的语义,所以 set 调用没有替代的方法……
ES5 的 Date,Date() 是字符串、Date.parse(_) 是数字…… 只有 new Date 才行,我真是服了
Object.prototype.asIterator = function() {
return this[Symbol.iterator]();
}

这个东西一 define 可以让 LeanCloud SDK 爆炸…… #web
/tmp/duangsuse.sock
Object.prototype.asIterator = function() { return this[Symbol.iterator](); } 这个东西一 define 可以让 LeanCloud SDK 爆炸…… #web
模型:Record(place:Str, name:Str, status:Bool)
操作:updateOrInitRecord、destroyRecord、findAllRecordOfPlace、findRecord(place, name)
Forwarded from NF^2在播剧集频道
美國籃球明星科比在直升機意外中身亡

美國傳媒報道,美國NBA籃球明星科比在直升機意外中身亡,享年41歲。意外在美國星期日發生,報道表示,科比與另外至少三人,乘坐他的私人直升機,據報期間發生火警,之後墜毀,事件中無人生還。報道表示,科比的妻子並不在機上。
Forwarded from Deleted Account
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Deleted Account
默哀
Forwarded from Deleted Account
虽然我很难打篮球,而且跳跃能力和综合身体素质有严重问题
Forwarded from Deleted Account
但是科比的传奇是谁都知道的
而且他也很努力,『你见过凌晨四点的洛杉矶吗?每天洛杉矶早上四点仍然在黑暗中,我就起床行走在黑暗的洛杉矶街道上。』
世界上又少了个天才
Forwarded from Deleted Account
我帮你把 structure 整理一下吧,还是看你自己,我看番。

interface ChatObject {
constructor(user, msg, replyTo)
val sendAt: Time
val id: ObjectID
val user: UserId
val msg: String
val replyTo: ObjectID
val edited: EditedInfo
fun delete()
fun revise(newMsg: String) //edit
interface EditedInfo {
val edited: Boolean
val editedTime: Time
}
}

interface ChatObjectsCenter {
val db: Database
val replies: Replies get
interface Database { // CRUD
fun register(id: ObjectID, value: ChatObject) //Create,Update
fun query(id: ObjectID) //Read
fun unregister(id: ObjectID) //Delete
}
fun setReplyTo(target, m)
fun search(info: SearchFields)
interface SearchFields {
val user: UserId?
val msgPattern: Pattern?
}
} 

个人建议,反正我们只记录最近一次编辑,EditedInfo 整个可以用特殊值设计
它实际上是记录一个时间,但也可能没有(代表未编辑的情况),我们用 Optional<Time> 就可以表达了。
如果你要使用 Telegram 一样的设计,那势必要加上一个时间轴,就不是上面的那种形式了

另外 setReplyTo(target, m) 是『设m的 replyTo 为 target』的意思,这是一种比较不符合直觉的表达法,
读起来找感觉的时候,先把注意力放在 setReplyTo(target, ... 这一部分,再轻读后面的 m,你就熟悉了。

关于 SearchInfo,你也可以分 type 来建模,参考我的这条

如果你写不出来,可以先看看我老早之前的东西 Timelines

祝好,另外,许多人在写得出来任何东西之前都会经过看起来「即得易见平凡」写起来「混沌难解NP完全」的问题,解决困难的最好方法是面对更多困难,坚持下去、多读书,奥力给!
Forwarded from Deleted Account
如果你对自制语言感兴趣的话,可以看看我那三个
https://duangsuse-valid-projects.github.io/Share/Others/essay-kotlin-parser
https://github.com/duangsuse-valid-projects/jison/blob/master/src/commonMain/kotlin/org/jison/JsonParser.kt
https://github.com/duangsuse-valid-projects/Share/blob/master/%E5%AF%B9drakeet%E7%9A%84%E4%B8%80%E4%BA%9B%E8%AF%9D/DefLang/DefLang.js

很快你就会发现自己的语言可能会有写错但因为它本身没被形式化,所以找不出来的问题比较多了。
缩排很好,不过写起来有点麻烦,解析器只需要加一个 layoutSpaceCountStack 就可以了,每层一个 layoutSpaceCount
不过恕我直言你现在想写应该有点困难,还是先写个 JSON 解析器练手吧。