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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#Rust 好怀念 1.0 附近的特性,那时候在看入门教程,现在更新好快
Forwarded from &'a ::rynco::UntitledChannel (Rynco Maekawa)
原来还有 caniuse.rs 可以看不同版本的特性支持
#Low #Web #Freedom 自由灯塔的覆灭
https://t.me/coolapkzz/81?single
这个制杖搞不清 RISC 和 CISC “高效之道”,以及芯片制程、总面积的区别…… 2*1 和 1*2 的区别。
#Android #sysadmin #JS #Haha 一眼看成MAT支持JS脚本的中文编程……
提问: 如何实现 拼多多员工[1] 这样的显示方式? #dbrel #listproc

编号和命名都是与用户分类 1:1 相关的 grouping ,上下文分三层, 帖子:分类:用户
帖子:分类 计 Int
分类:用户 计 String u.tag.let {"$it[${g2[it]}]"}

#Python
class Group:
def __init__(): self.d={}
def __getitem__(self,k): return self.d[k]
def add(self, k, v):
vs = self.d.get(k)
if vs == None: vs = self.empty(); self.d[k]=vs
self.append(vs, v)
empty = lambda o: []
def append(self, vs, v): vs.append(v)

分组计数器
class CountGroup(Group):
empty = lambda o: 0
append = lambda o, a, b: a+b


第二层 用户分类:用户引用
class Namer:
def __init__(self): self.cg=CountGroup(); self.names={}
def tag(self,u): return u[0]
def name(self, u):
self.cg.add(u, 1)
nam=self.names
if u not in nam: nam[u] = f"{self.tag(u)}[{self.cg[u]}]"
return nam[u]

实践:
def at_apost(us):
c = Namer()
return [c.name(u[0]) for u in us]
def datUsers(s, d={"拼":"拼多多","啊":"阿里巴巴","京":"京东"}):
us = [(d[u[0]]+"员工",u[1]) for u in s.split(" ")]
return us

at_apost(datUsers("拼a 拼b 拼a 拼a 阿a 京a 京b"))
拼多多员工.py
944 B
#Python #code 本以为能一遍过呢,没想到 2个小错,1处逻辑 tag对应关系错误…… https://pastebin.ubuntu.com/p/zcpyZjwhmj/
duangsuse::Echo
拼多多员工.py
修改版的 class Group 实现也略长啊(毕竟要兼容 mutate 引用的和算新值的 已足够
(其实我觉得其 add 操作可以带返回值的……
(此例不是唯一实现法,用 N(tag)个 dict 也是可实现但属于理解错误,上面关系模型很明确了
不过,无论多么复杂的程序,其背后的核心思想往往很简单

只有抓住了从 数据的表现形式、关系、对应算法 的多角度理解,才能使程序简练优雅,且有复用性。

在设计程序的时候所思考的是抽象的集合、映射表、必要更新,以及示例数据,如果只能循着直觉边想边写,就应该锻炼对程序和数据的把控能力了 #dev #statement
duangsuse:
干到一点就是傻逼管理,因为休息不好时人工作效率低下而且容易写bug

nasyx:
人与人是不同的x

(顺便池是ceo

duangsuse:
代码与代码也是不同的y
有的代码,写了一行可以让整个项目少十行
有的代码写一行会让维护时间增一倍
怎么写是每个人自己的选择
怎么生活却不是
社会需要对每个人负责
https://paste.ubuntu.com/p/FrGSNhphs4/ #plt 我也感觉奇怪,绝句设计时为了实践方便弄了个类似 by Delegate 的「类实例」语法,并且有了直接等价当前 receiver type 的类型变量「我类型」

感觉类实例还是要学习一个,最开始只打算做隐式转换的没想到还有这茬……(其成员还要做成 extension fun 加入隐式转型才能直接调用, #Scala 一样)
若有 class C 和其 super P,面向对象 c+p is C 而 p+c is P ,没有理论优雅性,当然这个不重要能用就行
如果真的存在,我想肯定是取最精确的重载版本。
This media is not supported in your browser
VIEW IN TELEGRAM
这篇文章讲了新 MacOS 禁用用户防火墙拦截应用启动监察数据包的隐私问题 #apple #security
#Python #DontKnow #parsing #regex
https://frostming.com/2020/05-12/python-magic-method/
没想到 py 的元方法解析是要 type(obj) 上有才能 next(obj) 这种,基于getattr调用拦截的就不行

https://frostming.com/2018/02-06/python-hidden-regexp/
多项任一(a|b)正则表达式匹配 sre_parse scanner 工具,可惜本身没做 groups 编号兼容的支持
#Csharp Uno 🤔早该有了
Forwarded from MiyauchiTaku Ch. 宮内タク