#china 方脸
《我的要求不算高》: 中国的韩台梦碎,从10年买房变期待不烂尾
22:00 错失风口,中国无法变成发达国家了
县城经济:为公仆消费者服务,由大城市买单
李老师: 吃个蛋炒饭都被”出“征,生活政治化不可避(悲)
Leonard: 祖国的1千亿空间站 与 14国凑钱出来的空间站
vs 12.3 东航飞港中一个发动机掉叶 #news
^#IT ”开猿节流“ 的风反哺国内,BAT类大厂服务出现宕机,滴滴宕机12h
现在的中文互联网也太抽象了,没想到一首歌都有这种内涵…… 😅
《我的要求不算高》: 中国的韩台梦碎,从10年买房变期待不烂尾
22:00 错失风口,中国无法变成发达国家了
县城经济:为公仆消费者服务,由大城市买单
李老师: 吃个蛋炒饭都被”出“征,生活政治化不可避(悲)
Leonard: 祖国的1千亿空间站 与 14国凑钱出来的空间站
vs 12.3 东航飞港中一个发动机掉叶 #news
^#IT ”开猿节流“ 的风反哺国内,BAT类大厂服务出现宕机,滴滴宕机12h
现在的中文互联网也太抽象了,没想到一首歌都有这种内涵…… 😅
YouTube
方脸说:破碎的中国梦,衰退的中国经济,中国梦无法实现的根本原因是什么?习近平到底犯了什么样的根本性错误?没有政治改革,难有经济成功,并非是一句戏言,中等收入陷阱,韩台道路,发达国家。
00:00 黄渤用一首歌证明了中国梦的破碎
03:34 中国梦,其实就是韩台梦
08:26 不进行政治改革,让我们无法成为韩台那样的发达国家
19:19 习近平的摸着石头过河
21:17 灾难或许是持久的
03:34 中国梦,其实就是韩台梦
08:26 不进行政治改革,让我们无法成为韩台那样的发达国家
19:19 习近平的摸着石头过河
21:17 灾难或许是持久的
Forwarded from 层叠 - The Cascading
Mozilla 发布 llamafile,将 LLM 模型打包为「跨系统」的单文件可执行格式。
llamafile 可以利用 llama.cpp 及 Cosmopolitan Libc 将 LLM 模型(它们通常有至少数 GB 大小)的命令行版本或网页版本打包为单个可执行文件,并可在 Windows、macOS、Linux,甚至 BSD 系系统上执行。
- https://github.com/Mozilla-Ocho/llamafile
- https://hacks.mozilla.org/2023/11/introducing-llamafile/
#Mozilla
llamafile 可以利用 llama.cpp 及 Cosmopolitan Libc 将 LLM 模型(它们通常有至少数 GB 大小)的命令行版本或网页版本打包为单个可执行文件,并可在 Windows、macOS、Linux,甚至 BSD 系系统上执行。
- https://github.com/Mozilla-Ocho/llamafile
- https://hacks.mozilla.org/2023/11/introducing-llamafile/
#Mozilla
GitHub
GitHub - mozilla-ai/llamafile: Distribute and run LLMs with a single file.
Distribute and run LLMs with a single file. Contribute to mozilla-ai/llamafile development by creating an account on GitHub.
#design #plt
最近在整理的编程范式有点让我头疼…… 这个或许对学OOP有帮助吧:
最近在整理的编程范式有点让我头疼…… 这个或许对学OOP有帮助吧:
//行列状多态,就是说一个类型由 字典C=A+B 定义这样的好处是 sealed,data class 都非常简单-甚至多种子类都语法一致,与 #Haskell GADT 不同的是,它支持附带函数与隐式this
?? C A
b1 Str
- b2 Int
//以上声明里没写,故需要另加构造器
?? C
Cat(name:Str, b1="demo")
- b2 b1.(0).Int
Camel(ver=0)
b1 "Hi"
- b2 0
?? 'AB'Columns //泛型,单位状类型如果是新类型,还可以定义Enum甚至表格
Pair(:A,:B)
Triple(:A,:B,:C)
?? 'AB'way2
posL [A mayNO] //val posL: A?
posR [B mayNO]
Left(v:A) ; Right(v:B)
?? RGB学起来有点让人费解(当然这是我设计的), 虽说类型和值都是「构造器」,这样的大杂烩也太奇怪了(但,比用到再单独地学好吧?)
R;G;B
?? 调料
甜 Int ; 咸 Int
- 咸 id==1 or 咸>1
醋 (0 0)
盐 (0 1)
duangsuse::Echo
#design #plt 最近在整理的编程范式有点让我头疼…… 这个或许对学OOP有帮助吧: //行列状多态,就是说一个类型由 字典C=A+B 定义 ?? C A b1 Str - b2 Int //以上声明里没写,故需要另加构造器 ?? C Cat(name:Str, b1="demo") - b2 b1.(0).Int Camel(ver=0) b1 "Hi" - b2 0 这样的好处是 sealed,data class 都非常简单-甚至多种子类都语法一致,与…
不过和Rust蛮搭的,甚至比 struct,trait,impl 方便(1个 ?? 把这仨+enum 都包齐了)。 这些??本质上都是1+N个 OOP class
而abstract class 更适合用「段造器」,就是需要传入 参数+override fun 的"类函数"字典。标准写法称为三段论,第一段仅限重写函数和注解/变量
由 ??,-, my 新建的词都可以被“多音”,这是此语法的某种底线,所以class才必须拆成open多态和final扩展两部分,减少耦合性
过度重视外部可扩展,不一定是好事。接口化的东西难于设计,但是,VB那种难于扩展的语言都被淘汰了
姑且就把「段造器」视为「行列状多态」的补充
真的好复杂啊…… 整理的时候还又简化过了 🙄
想要保留kt的兼容,就是需要class继承,但这么一想,非要隔离struct和方法又很不OOP
而abstract class 更适合用「段造器」,就是需要传入 参数+override fun 的"类函数"字典。标准写法称为三段论,第一段仅限重写函数和注解/变量
my Row() Animal(id:Str)很丑吧?这是向Rust看齐(我讨厌 struct+impl)
- Str "野兽罢了"
^??
age 0
- speak Str
my Animal
- 年轻 age<3
my [Animal]Dog() //复制器即怎么说呢…… 我觉得 行列状多态、单位状类型 吊打Kotlin,但段造器也太破坏画风了,可以视为故意做烂的语法盐
my Animal(id) Dog(id:Str)
?? Animal.Dog() //加构器,不支持三段论
?? hello(name="Jack") //加参器,用于多次调用。btw, 三段论的第四段是 ^name 即 static{},不需要fun语句或匿名object{}
由 ??,-, my 新建的词都可以被“多音”,这是此语法的某种底线,所以class才必须拆成open多态和final扩展两部分,减少耦合性
过度重视外部可扩展,不一定是好事。接口化的东西难于设计,但是,VB那种难于扩展的语言都被淘汰了
姑且就把「段造器」视为「行列状多态」的补充
真的好复杂啊…… 整理的时候还又简化过了 🙄
想要保留kt的兼容,就是需要class继承,但这么一想,非要隔离struct和方法又很不OOP
❤1
duangsuse::Echo
#design #plt 最近在整理的编程范式有点让我头疼…… 这个或许对学OOP有帮助吧: //行列状多态,就是说一个类型由 字典C=A+B 定义 ?? C A b1 Str - b2 Int //以上声明里没写,故需要另加构造器 ?? C Cat(name:Str, b1="demo") - b2 b1.(0).Int Camel(ver=0) b1 "Hi" - b2 0 这样的好处是 sealed,data class 都非常简单-甚至多种子类都语法一致,与…
昨天提到的头疼点,现在修好了,希望以后能实现吧
顺便读篇#zhihu 文吧 https://www.zhihu.com/question/40675600/answer/3310038891
>代数数据类型是所有高级特性的基础, 比如
首先,你想用实例的个数表达「类型」? SQL Table 就是如此啊,但是有啥用
比如你想做DFS吗? 链表又对应哪种数字? 加和乘,只有在穷举里才算有用抽象吧?
你能说说Unit值为何优于void吗? 对kt而言,`nul?: return` 必须是表达式,`listOf<Unit> ` 也叫“有意义”
但这语法仍然是种层级混乱的错误,还不如让异常作为值
对于向量,相同的维度算是「本质上相同」,但对于Int-Str 之类的格式而言,「等价」有比靠信息量更准确的定义
>统一函数和方法调用,写程序就能一 '.' 到底
问题主要是class T 的耦合性和反射,如果用 impl T{} 和宏就没问题了,这么说py也很面向函数
不过,函数=方法是需要查重载表的,可能要扩充全局作用域
另外,
>HKT 作为高阶抽象, 表达能力极强, 能有效减少冗余代码.
是吗?
这个Fine/Fail 很适合TAB,但如果
说到底,Monad链还是和CPS走得很近,CPS,传函续,拿语法糖封装后 也终究是会产生“回调地狱”吧?比如在fold时要手动透传Monad这个"this"..
>Refinement Type 消除代码中无用的assert,还可以附带SMT
Ada就支持整数区间检查,我发誓你不会想写那种代码的
当然强类型typealias取代各种check是好的,尤其,对Web后端友好
>Dependent Type
翻译这个类型体操,还不如写 SWI-Prolog.org ,同样是“y=x”检查,但人家的bool运算能告诉你,具体有几个类型匹配约束
>First Class Continuation, Call/CC
闭包里break,kt是用inline的方法,我觉得这是唯一合理的实现,其他都是滥用过程式编程
传函续可以实现函数级线程(有栈协程),
ruby callcc 反而是在模拟longjmp(),是throw的一种底层实现
>Delimited Continuation
语言级别的 fork.. 好像线程池Dispatchers
Linux滥用fork&execve 最初是因为pthreads不稳定, 说实话进程隔离除了防崩外,在有GC的语言里该式微了
至少MapReduce(Promise.all)和node不依赖多进程
传函续比调用栈优越的一点是,除了能实现yield(调用式协程) 它也是不依赖OS内核的线程
可惜是kt和rs的实现还不如Go简洁,kt更是把
所以,这些和 Algebraic Effects 有什么关系?数学递等式是小学内容吧? 还是说DFS深先遍历是数值算法?
蹭热度也要有限度的吧,我是说CS+Math概念股为啥这么不搭调。 CS人也要攀关系吗?
程序需要证明? 这和IT学生,用自己那几张电子表格去定义现实世界的「用户」一样逗, 还有那个被AI突破的 NLP领域,哦, 原来人类都是先学结构化语法,才有思维逻辑的? 倒果为因。
>effects能实现错误路径
py里用yield Err 也能实现catch,实际上js async最初就是这么来的
Java SEH <此设计< runCatching
这个catch 是在语句级实现了OOP class 注入函数的灵活性,我不觉得能inline有啥大不了的
Kt coro 在suspend前也不会创建状态机,但这个
作为函数的类型化,effect明显优于Monad和subtyping,但这里方向错了
把异常和协程混一起,最终也只会发现异常路径除了报错就是默认值,不值得作为流控,而且async任务也不支持0开销
第一点参数注入,OOP是基于class Context,对框架和DSL更自然,算是因祸得福,笨有笨的好处
『THE WORLD』是有进程级支持的,如果没fork不方便调试器重开的话,把『CRIU』移植到gdb上
比让编程语言越俎代庖强,不就是保留个调用栈的事,很新吗? syscall和线程调度都在做,知道原理就够了,老模型新应用嘛
>Partial Evaluation
Rust和Crystal都以0开销为卖点,C++则支持template和
常量折叠或至少内联,姑且是普遍的「分段求值」了,八成编译器并不包含源语言的运行时,也不支持Lisp qquote式的「符号作为值」
TS, D的enum T=f() 貌似更符合应用,但我反对创建类型体操和值“两门语言”
这样比reflect或codegen强,也曾是弱类型的专利,很好理解,因为那些垃圾静态语言连心智模型(简洁的AST)都没有,也不关心JSON和多态struct的绑定,只想着新语言能编译了
明明能“映射到目标语言”,却无法解释它,是很奇怪的事情啊! 尤其是要映射为“原创的”栈机或IR调用图。单独的编译步骤,算是蠢的JIT缓存吧
另外,py里很容易同时实现执行+翻译 双语义:https://github.com/duangsuse-valid-projects/TkGUI
btw. #js React #dalao
https://overreacted.io/algebraic-effects-for-the-rest-of-us/
^如果catch 能返回给throw会怎么样呢? 这类似依赖注入。 我想了会,觉得还是OOP扩充this.fun 比不透明地传递catch要好
https://overreacted.io/goodbye-clean-code/
^如何给SVG rect, arc. class Shape{} 开发编辑器? 不知道继承或接口的人为4个点加四个fun,然后组合为9宫格 .. 但他们赢了,因为团队比可维护性重要!
中国的精英主义,和普世的个人主义的主要区别, 是「是否需要向别人,解释自己的英明决策」, 这涉及人权vs工具人的不同。
爱因斯坦和费曼,并不是中式意义的精英
再谈到“战争贩子”的伪善,同样是种避重就轻: 不谴责宣战的慈禧,反而说练兵强武的李鸿章是资本家; 不反省自己没把对方当人,反说他们蠢,不可「教化」
降低重复的抽象、对特例的适配性,都是必须的。 因为,代码都是多余的,只有心智模型和设计是意义,而只有完全删掉重复才是专业性的语言
https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md
^#js 的 BaNaNa 等名梗,还要注意: .1+.2!=.3, [1,20,3].sort() 是按字符排序 🤪
顺便读篇#zhihu 文吧 https://www.zhihu.com/question/40675600/answer/3310038891
>代数数据类型是所有高级特性的基础, 比如
0 = never, 1 = unit, 2 = bool.. NaN=void
>定义和类型以及积类型(sum prod), 所有类型就都可以组合出来。相同的 ADT 编码意味着这两个类型本质上相同首先,你想用实例的个数表达「类型」? SQL Table 就是如此啊,但是有啥用
比如你想做DFS吗? 链表又对应哪种数字? 加和乘,只有在穷举里才算有用抽象吧?
你能说说Unit值为何优于void吗? 对kt而言,`nul?: return` 必须是表达式,`listOf<Unit> ` 也叫“有意义”
但这语法仍然是种层级混乱的错误,还不如让异常作为值
对于向量,相同的维度算是「本质上相同」,但对于Int-Str 之类的格式而言,「等价」有比靠信息量更准确的定义
>统一函数和方法调用,写程序就能一 '.' 到底
问题主要是class T 的耦合性和反射,如果用 impl T{} 和宏就没问题了,这么说py也很面向函数
不过,函数=方法是需要查重载表的,可能要扩充全局作用域
另外,
match,for i {break} 都可以数据化为dict或takewhile>HKT 作为高阶抽象, 表达能力极强, 能有效减少冗余代码.
是吗?
Maybe<T>, [T Maybe]类型 vs "T?"Result<T> vs 具有特殊assert方法的 "T?" 哪个实用呢这个Fine/Fail 很适合TAB,但如果
fetch()!! ; f?.run{} 就能错误处理,谁会用 if let=Some?说到底,Monad链还是和CPS走得很近,CPS,传函续,拿语法糖封装后 也终究是会产生“回调地狱”吧?比如在fold时要手动透传Monad这个"this"..
>Refinement Type 消除代码中无用的assert,还可以附带SMT
Ada就支持整数区间检查,我发誓你不会想写那种代码的
当然强类型typealias取代各种check是好的,尤其,对Web后端友好
>Dependent Type
翻译这个类型体操,还不如写 SWI-Prolog.org ,同样是“y=x”检查,但人家的bool运算能告诉你,具体有几个类型匹配约束
>First Class Continuation, Call/CC
闭包里break,kt是用inline的方法,我觉得这是唯一合理的实现,其他都是滥用过程式编程
传函续可以实现函数级线程(有栈协程),
forEach{break()} 属于是没捕获整个调用栈,是异步遍历-cancelTaskruby callcc 反而是在模拟longjmp(),是throw的一种底层实现
>Delimited Continuation
语言级别的 fork.. 好像线程池Dispatchers
Linux滥用fork&execve 最初是因为pthreads不稳定, 说实话进程隔离除了防崩外,在有GC的语言里该式微了
至少MapReduce(Promise.all)和node不依赖多进程
传函续比调用栈优越的一点是,除了能实现yield(调用式协程) 它也是不依赖OS内核的线程
可惜是kt和rs的实现还不如Go简洁,kt更是把
launchThread.join() 玩得亲妈不认识了,非常地C++呢所以,这些和 Algebraic Effects 有什么关系?数学递等式是小学内容吧? 还是说DFS深先遍历是数值算法?
蹭热度也要有限度的吧,我是说CS+Math概念股为啥这么不搭调。 CS人也要攀关系吗?
程序需要证明? 这和IT学生,用自己那几张电子表格去定义现实世界的「用户」一样逗, 还有那个被AI突破的 NLP领域,哦, 原来人类都是先学结构化语法,才有思维逻辑的? 倒果为因。
>effects能实现错误路径
py里用yield Err 也能实现catch,实际上js async最初就是这么来的
Java SEH <此设计< runCatching
这个catch 是在语句级实现了OOP class 注入函数的灵活性,我不觉得能inline有啥大不了的
Kt coro 在suspend前也不会创建状态机,但这个
effect f()->r 呢只是 open fun 的另一种写法,它不涉及闭包作为函数的类型化,effect明显优于Monad和subtyping,但这里方向错了
把异常和协程混一起,最终也只会发现异常路径除了报错就是默认值,不值得作为流控,而且async任务也不支持0开销
第一点参数注入,OOP是基于class Context,对框架和DSL更自然,算是因祸得福,笨有笨的好处
『THE WORLD』是有进程级支持的,如果没fork不方便调试器重开的话,把『CRIU』移植到gdb上
比让编程语言越俎代庖强,不就是保留个调用栈的事,很新吗? syscall和线程调度都在做,知道原理就够了,老模型新应用嘛
>Partial Evaluation
Rust和Crystal都以0开销为卖点,C++则支持template和
constexpr int f() 两种范式的宏常量折叠或至少内联,姑且是普遍的「分段求值」了,八成编译器并不包含源语言的运行时,也不支持Lisp qquote式的「符号作为值」
TS, D的enum T=f() 貌似更符合应用,但我反对创建类型体操和值“两门语言”
这样比reflect或codegen强,也曾是弱类型的专利,很好理解,因为那些垃圾静态语言连心智模型(简洁的AST)都没有,也不关心JSON和多态struct的绑定,只想着新语言能编译了
明明能“映射到目标语言”,却无法解释它,是很奇怪的事情啊! 尤其是要映射为“原创的”栈机或IR调用图。单独的编译步骤,算是蠢的JIT缓存吧
另外,py里很容易同时实现执行+翻译 双语义:https://github.com/duangsuse-valid-projects/TkGUI
btw. #js React #dalao
https://overreacted.io/algebraic-effects-for-the-rest-of-us/
^如果catch 能返回给throw会怎么样呢? 这类似依赖注入。 我想了会,觉得还是OOP扩充this.fun 比不透明地传递catch要好
https://overreacted.io/goodbye-clean-code/
^如何给SVG rect, arc. class Shape{} 开发编辑器? 不知道继承或接口的人为4个点加四个fun,然后组合为9宫格 .. 但他们赢了,因为团队比可维护性重要!
中国的精英主义,和普世的个人主义的主要区别, 是「是否需要向别人,解释自己的英明决策」, 这涉及人权vs工具人的不同。
爱因斯坦和费曼,并不是中式意义的精英
再谈到“战争贩子”的伪善,同样是种避重就轻: 不谴责宣战的慈禧,反而说练兵强武的李鸿章是资本家; 不反省自己没把对方当人,反说他们蠢,不可「教化」
降低重复的抽象、对特例的适配性,都是必须的。 因为,代码都是多余的,只有心智模型和设计是意义,而只有完全删掉重复才是专业性的语言
https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md
^#js 的 BaNaNa 等名梗,还要注意: .1+.2!=.3, [1,20,3].sort() 是按字符排序 🤪
duangsuse::Echo
#dev #android 面试题 🤔 - 技术上提升最大的一个项目,展开介绍 对比业界同种算法流行和不流行实现、重写自己的任何项目,都比从事GPT都能完成的原型要好 - 为什么选择 Flutter,在业务方面学到了什么 Compose界原神的名气真的太大了,居然能用Navbar,Tab等自带组件,居然能调style! - Java 里重载和重写的区别 在编译期vs运行期确定函数,改方法签名vs改子类值 - 什么是线程安全 避免共享变量(不相交),或使用Atomic/独占锁 避免读写异步 - Service…
#dev #android #backend 面试题 🤔
- OSI 七层是哪七层
物理,数据链路: WiFi,BLE,eth,rndis驱动
网络传输: IP4,6 , iptables, socket(TCP) UDP
会话表示 Header cookie,json
App 众多Web3.0论坛,.
- HTTP 在哪一层?有些什么内容?
在L5~L6,负责请求响应和MIME类型,暴露为 调用+回调 +Header环境变量
除了会话,HTTP也能做文件传输和填表
- GET 和 POST 核心差异是什么?
body是否为form等私密数据
- HTTP 状态码有哪些?
{2,3,4,5}xx 各指代: 正常 重定向 请求出错 服务出错
- Java 的基本类型有哪些?拆包解包了解过吗?
值类型8种:BSCIJFDZ, byte8 short,char16 默认int32 long64 f32 默认double64 bool
值在放入List,. 前被装箱为Integer,.
Str不能修改,但相等比较也需要用java.lang. 函数 ,称为引用类型
jadx 可用于反编译,但如果是aapt+dx 会默认混淆函数名的
- Java 的访问修饰符有哪些?类级的 final 作用是什么?
可见性 private protected public 默认internal=包私有
确定性 final abstract default
final class或成员不含(函数)变量,等价于struct,因此不应该生成可供覆写的get/setter
- Java 的基本类是什么?有哪些方法?equals 和 == 有什么区别?重载重写是什么?
所有类型的Base class 是Object{eq,hash,toStr ,wait,notify同步锁 }
== 只比较GC对象的引用,而 (1.equals) 需要先valueOf装箱
重载=编译期0开销查找fun invoke()的重写,静态类型的专利
- Java 的常用类型有哪些?immutable 和 mutable 的 list 差异是什么?LinkedList 和 ArrayList 的差异是什么?
java.util.可变性 是从Kotlin抄的,弱类型assert
一般,只在嵌入式设备用易于增长的链表
- HashMap 了解哪些?规避哈希碰撞的方式有哪些?
类似RegExp 地狱回溯,long hashCode() 作为分组key的相同,也会给DDoS可乘之机
因此,对于用户输入的field,可以将其忽略,只用str,int作为Key
C系语言一般用 BTree,AVL 二分法实现KV查找。 如果是要问带锁的/fastutil的 Map实现,或者getOrPut 等惯用法……
- 项目里用到了 Xposed,它的原理是什么?
作为Xp插件的apk们会被 app_process 随 XposedBridge.jar framework.jar加载
在活动前loadPkg时,利用变量或函数名(转为native),修改其JNI代码指针,使调用前先查找覆盖表
- 了解过哪些设计模式?他们分别是什么?
Adapter,Delegate,Proxy,Observer/ 类型转换或AOP覆写
Factory,Visitor,Chain/跨平台的new()方法, 判断"type"的方法, 事件冒泡
被新语言淘汰的:😅👎
Singleton,Builder-Prototype,Command/ 模拟字典、复制数据、枚举操作
Strategy,Bridge,Facade / 函数字典和import式模块
- 单例模式的实现有哪些?可以手撕一个吗?
JVM上的static 已经支持了RAII。也可以用DCL懒加载
- OSI 七层是哪七层
物理,数据链路: WiFi,BLE,eth,rndis驱动
网络传输: IP4,6 , iptables, socket(TCP) UDP
会话表示 Header cookie,json
App 众多Web3.0论坛,.
- HTTP 在哪一层?有些什么内容?
在L5~L6,负责请求响应和MIME类型,暴露为 调用+回调 +Header环境变量
除了会话,HTTP也能做文件传输和填表
- GET 和 POST 核心差异是什么?
body是否为form等私密数据
- HTTP 状态码有哪些?
{2,3,4,5}xx 各指代: 正常 重定向 请求出错 服务出错
- Java 的基本类型有哪些?拆包解包了解过吗?
值类型8种:BSCIJFDZ, byte8 short,char16 默认int32 long64 f32 默认double64 bool
值在放入List,. 前被装箱为Integer,.
Str不能修改,但相等比较也需要用java.lang. 函数 ,称为引用类型
jadx 可用于反编译,但如果是aapt+dx 会默认混淆函数名的
- Java 的访问修饰符有哪些?类级的 final 作用是什么?
可见性 private protected public 默认internal=包私有
确定性 final abstract default
final class或成员不含(函数)变量,等价于struct,因此不应该生成可供覆写的get/setter
- Java 的基本类是什么?有哪些方法?equals 和 == 有什么区别?重载重写是什么?
所有类型的Base class 是Object{eq,hash,toStr ,wait,notify同步锁 }
== 只比较GC对象的引用,而 (1.equals) 需要先valueOf装箱
重载=编译期0开销查找fun invoke()的重写,静态类型的专利
- Java 的常用类型有哪些?immutable 和 mutable 的 list 差异是什么?LinkedList 和 ArrayList 的差异是什么?
java.util.可变性 是从Kotlin抄的,弱类型assert
一般,只在嵌入式设备用易于增长的链表
- HashMap 了解哪些?规避哈希碰撞的方式有哪些?
类似RegExp 地狱回溯,long hashCode() 作为分组key的相同,也会给DDoS可乘之机
因此,对于用户输入的field,可以将其忽略,只用str,int作为Key
C系语言一般用 BTree,AVL 二分法实现KV查找。 如果是要问带锁的/fastutil的 Map实现,或者getOrPut 等惯用法……
- 项目里用到了 Xposed,它的原理是什么?
作为Xp插件的apk们会被 app_process 随 XposedBridge.jar framework.jar加载
在活动前loadPkg时,利用变量或函数名(转为native),修改其JNI代码指针,使调用前先查找覆盖表
- 了解过哪些设计模式?他们分别是什么?
Adapter,Delegate,Proxy,Observer/ 类型转换或AOP覆写
Factory,Visitor,Chain/跨平台的new()方法, 判断"type"的方法, 事件冒泡
被新语言淘汰的:😅👎
Singleton,Builder-Prototype,Command/ 模拟字典、复制数据、枚举操作
Strategy,Bridge,Facade / 函数字典和import式模块
- 单例模式的实现有哪些?可以手撕一个吗?
JVM上的static 已经支持了RAII。也可以用DCL懒加载
@JVM_volatile var cache
get()=run{ //保证单次执行
if(null==cache) sync(this){ if(null==cache) cache=init()}
return cache
}
duangsuse::Echo
#dev #android #backend 面试题 🤔 - OSI 七层是哪七层 物理,数据链路: WiFi,BLE,eth,rndis驱动 网络传输: IP4,6 , iptables, socket(TCP) UDP 会话表示 Header cookie,json App 众多Web3.0论坛,. - HTTP 在哪一层?有些什么内容? 在L5~L6,负责请求响应和MIME类型,暴露为 调用+回调 +Header环境变量 除了会话,HTTP也能做文件传输和填表 - GET 和 POST 核心差异是什么?…
发现了奇特的OSI术语定义:HTTP是L7(应用层)协议
没错,在IP4层模型里,HTTP只能是应用层, 但就我对操作系统和Web传输的了解,负责MIME、托起HTML的http: 居然比FTP/NFS,SQL还高两层?
- 没错,HTTP自己就能作静态站应用,就像IRC。 一个被淘汰很多年的方向了
- HTTP如果是应用层,它的用户就是bot user 或者测试工程师吧?
- 那么,比HTTP高的HTML还是表示层吗? socket() 字节流「三次握手」称为会话?? 所以TCP,TLS不该叫传输层了?
- 那么,Accept-Encoding:gzip 和HTML里的charset="" 也算应用层属性? MIME这些由Blink或Flash处理的玩意,并不比HTML更应用层?
- RFC7230 的说法都是错的,对js和java而言,连接并不是无状态的
- 越来越多人在用 long-poll 轮询和cookie,而Header字典毫无疑问就是为了配置这些缓存缓冲
- 这种stateful 并不比 mysql:login 链接弱--SQL也支持多客户端
- SOCKS5 和HTTP代理, 因为需要登录,是否能算会话层? 但SOCKS明显和TLS一样,是传输层
算了,反正SOCKS也不够用,还不是要有人再外套一层混淆协议
当然这些OSI模型都无所谓, 那些XML,cookie,请求响应,投射到编程的世界,也就只是对象、句柄和回调 文件上传什么的
原来下发个文件就能叫应用层,curl wget netcat 叫客户端,这也太IP了 #linux #net #learn
没错,在IP4层模型里,HTTP只能是应用层, 但就我对操作系统和Web传输的了解,负责MIME、托起HTML的http: 居然比FTP/NFS,SQL还高两层?
- 没错,HTTP自己就能作静态站应用,就像IRC。 一个被淘汰很多年的方向了
- HTTP如果是应用层,它的用户就是bot user 或者测试工程师吧?
- 那么,比HTTP高的HTML还是表示层吗? socket() 字节流「三次握手」称为会话?? 所以TCP,TLS不该叫传输层了?
- 那么,Accept-Encoding:gzip 和HTML里的charset="" 也算应用层属性? MIME这些由Blink或Flash处理的玩意,并不比HTML更应用层?
- RFC7230 的说法都是错的,对js和java而言,连接并不是无状态的
- 越来越多人在用 long-poll 轮询和cookie,而Header字典毫无疑问就是为了配置这些缓存缓冲
- 这种stateful 并不比 mysql:login 链接弱--SQL也支持多客户端
- SOCKS5 和HTTP代理, 因为需要登录,是否能算会话层? 但SOCKS明显和TLS一样,是传输层
算了,反正SOCKS也不够用,还不是要有人再外套一层混淆协议
当然这些OSI模型都无所谓, 那些XML,cookie,请求响应,投射到编程的世界,也就只是对象、句柄和回调 文件上传什么的
原来下发个文件就能叫应用层,curl wget netcat 叫客户端,这也太IP了 #linux #net #learn
Forwarded from CyanChannel Archive
现在用 Google 搜索缩写 “GPT” 已经不能在首页看到关于 “GUID Partition Table”(GUID 分区表)的结果了。实际上翻了两三页也基本上都是 ChatGPT 的内容。
P.S. 印象中有一张图就是在描述这个现象,“I miss the Internet when searching GPT gives you GUID Partition table”
P.S. 印象中有一张图就是在描述这个现象,“I miss the Internet when searching GPT gives you GUID Partition table”
duangsuse::Echo
#py #code #recommend 说到有趣的py接口,有个 iself() def read_as_io(f): class T(io.TextIOBase): read=lambda o,size: f(o) return T -匿名对象 之前写贪吃蛇 snk.c 就用到链表 不想缓冲区溢出的话Vec还是好的。C里你要实现[] 需要懂链表/strcat, rust 里你写 Vec<i32> push 就好了 Rust的生命周期现在基本不需要考虑(尤其是对应用开发时), type infer…
#py 周刊阅读笔记
https://t.me/NewlearnerChannel/12060
https://t.me/NewlearnerChannel/12097
https://www.kdnuggets.com/why-you-should-not-overuse-list-comprehensions-in-python
#code
# Parse&flatten the JSON string with deep"inner_key" into a Python dictionary
这个也不想,因为用match和递归更常见吧,elif isinstance 是什么py2地狱绘图
https://bernsteinbear.com//blog/simple-python-repl/#:~:text=readline%20API
https://www.skywind.me/blog/archives/2761
如何利用RegExp/创建REPL
出自 https://docs.python.org/3.11/library/re.html
#js #code 当输入 "3 hello 1world" 时展开缩写,并且补齐出现过的词
就用 <body ContentEditable>+CSS.hilights 示例吧?
https://jsbin.com/kamufijomu/edit?js,output 😅
参考^回复,这样就有分词和括号配对高亮了?
—续周刊
https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
十多项 REST API 的最佳实践规则,解释了规则的含义及实现
作者嘲笑了几家公司被广泛使用的 API,将它们作为规则的反例。
[Django 5.0 发布了!](https://docs.djangoproject.com/en/5.0/releases/5.0)
新增`Field.db_default` 参数,可设置由数据库计算的日期等默认值;`GeneratedField` 可以创建由数据库计算的列,简化了表单字段相关元素的呈现
FastAPI 已经支持
[kolo VSCode 插件:查看 Django 应用的执行过程](https://github.com/kolofordjango/kolo)
具有帧可视化、漂亮的火焰图、显示执行了 SQL 查询的代码行
[autometrics-py:函数级的指标监测工具](https://github.com/autometrics-dev/autometrics-py)
只加一个装饰器,可检测函数的请求率、错误率和延迟,开箱即用仪表板、自定义告警、运行开销小
https://dev.to/taipy/new-open-source-vs-old-open-source-33k7
10 组在 Python 社区很知名的库的替代库,这里最没争议的估计是 Ruff 替代 Pylint,
其它则还有:Taipy/Streamlit、Polars/Pandas、Dask/PySpark、PyTorch/TensorFlow ……
[Python 借助 Gopy 库实现调用 Go.whl 包](https://last9.io/blog/using-golang-package-in-python-using-gopy/)
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/#:~:text=also%20at%20the-,core%20of%20Django,-%2C%20which%20speaks%20to
[对比 Python 与 Rust 的编程习惯用法](https://programming-idioms.org/cheatsheet/Python/Rust) 有意思的网站,可比较不同编程语言在 300 多项习惯用法上的区别
就像 https://component-party.dev/
https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
从 Rust 中学到的一些编程习惯:使用类型提示、使用数据类代替元组或字典、使用代数数据类型、使用“newtype”、使用构造函数、使用互斥锁等
[Python 工具箱系列文章](https://www.cnblogs.com/shanxihualu/p/17391082.html)
这是一个系列文章,目前包含 31 篇文章,最近介绍的几个工具是数据库相关的:Neo4j(一个 NoSQL 图数据库,使用 Py2neo 操作)、PostgreSQL
[trogon:为 CLI 程序生成友好的GUI](https://github.com/Textualize/trogon)
[当在终端输入“ls”后会发生什么?](https://www.warp.dev/blog/what-happens-when-you-open-a-terminal-and-enter-ls)(英文)
有一道很类似的常见的面试题:“当在浏览器输入 google.com 后会发生什么?”
[solara:一个纯 python、React-风格的ipywidget框架](https://github.com/widgetti/solara)
[用tkinter、PySimpleGUI 和 Jupyter Notebook 播放 GIF?](https://www.blog.pythonlibrary.org/2023/12/05/viewing-an-animated-gif-with-python/)
https://toga.readthedocs.io/en/stable/tutorial/tutorial-0.html#:~:text=()%0A%0A%20%20%20%20button%20%3D-,toga.Button,-(%22Hello%20world
Toga是跨平台的pyGUI
kanban-python:终端中的看板应用程序,和Vue TUI 一样
https://t.me/NewlearnerChannel/12060
https://t.me/NewlearnerChannel/12097
https://www.kdnuggets.com/why-you-should-not-overuse-list-comprehensions-in-python
#code
primes =lambda upper_limit: [x for x in range(2, upper_limit + 1) if x > 1 and all(x % i != 0 for i in range(2, int(math.sqrt(x)) + 1))]后面
primes(50)
#拆分后
is_prime=lambda num: num > 1 and all(num % i != 0 for i in range(2, int(math.sqrt(num)) + 1))
primes = [x
for x in range(2, 50 + 1)
if is_prime(x)
]
def flatten_matrix(matrix):求和排序的我不想写,因为明显可以用 yield和np.vectorize
def find_prime_indices(matrix, flattened_matrix):
# Parse&flatten the JSON string with deep"inner_key" into a Python dictionary
这个也不想,因为用match和递归更常见吧,elif isinstance 是什么py2地狱绘图
https://bernsteinbear.com//blog/simple-python-repl/#:~:text=readline%20API
https://www.skywind.me/blog/archives/2761
如何利用RegExp/创建REPL
出自 https://docs.python.org/3.11/library/re.html
#js #code 当输入 "3 hello 1world" 时展开缩写,并且补齐出现过的词
Lexer=kv=>{
let re=Object.keys(kv).map(x=>`(${x})`).join('|'), mf=Object.values(kv),m,i,j=0
re=RegExp(re, 'gy')
return (s,ontok)=>{
for(m of re[Symbol.matchAll](s)) ontok(
mf[(j=m.findIndex((x,i)=>null!=x &&i!=0))-1](m[j]), (i=m.index), i+m[0].length
)
}
}
f=Lexer({
'\\d+':parseInt,
'[a-zA-Z]+':s=>s,
'\\s+'(){}
})
rep=(txt,on, n=null)=>f(txt,x=> (x==null)?on(' '):
(x.substr)? (on(x.repeat(n)),n=null) :
(n=x)
)
buildAry=(f,a=[])=>(f(x=>a.push(x)), a)
buildAry(rep.bind(0,"3hi 1end")).join('')
因为JS部分都这么长,还是懒得移植到PyExecJS了,总之分词器、括号配对啥的可以靠正则,提供补齐列表也不难就用 <body ContentEditable>+CSS.hilights 示例吧?
https://jsbin.com/kamufijomu/edit?js,output 😅
参考^回复,这样就有分词和括号配对高亮了?
—续周刊
https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
十多项 REST API 的最佳实践规则,解释了规则的含义及实现
作者嘲笑了几家公司被广泛使用的 API,将它们作为规则的反例。
[Django 5.0 发布了!](https://docs.djangoproject.com/en/5.0/releases/5.0)
新增`Field.db_default` 参数,可设置由数据库计算的日期等默认值;`GeneratedField` 可以创建由数据库计算的列,简化了表单字段相关元素的呈现
FastAPI 已经支持
python-dependency-injector 实现依赖注入的方法。[kolo VSCode 插件:查看 Django 应用的执行过程](https://github.com/kolofordjango/kolo)
具有帧可视化、漂亮的火焰图、显示执行了 SQL 查询的代码行
[autometrics-py:函数级的指标监测工具](https://github.com/autometrics-dev/autometrics-py)
只加一个装饰器,可检测函数的请求率、错误率和延迟,开箱即用仪表板、自定义告警、运行开销小
https://dev.to/taipy/new-open-source-vs-old-open-source-33k7
10 组在 Python 社区很知名的库的替代库,这里最没争议的估计是 Ruff 替代 Pylint,
其它则还有:Taipy/Streamlit、Polars/Pandas、Dask/PySpark、PyTorch/TensorFlow ……
[Python 借助 Gopy 库实现调用 Go.whl 包](https://last9.io/blog/using-golang-package-in-python-using-gopy/)
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/#:~:text=also%20at%20the-,core%20of%20Django,-%2C%20which%20speaks%20to
[对比 Python 与 Rust 的编程习惯用法](https://programming-idioms.org/cheatsheet/Python/Rust) 有意思的网站,可比较不同编程语言在 300 多项习惯用法上的区别
就像 https://component-party.dev/
https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
从 Rust 中学到的一些编程习惯:使用类型提示、使用数据类代替元组或字典、使用代数数据类型、使用“newtype”、使用构造函数、使用互斥锁等
[Python 工具箱系列文章](https://www.cnblogs.com/shanxihualu/p/17391082.html)
这是一个系列文章,目前包含 31 篇文章,最近介绍的几个工具是数据库相关的:Neo4j(一个 NoSQL 图数据库,使用 Py2neo 操作)、PostgreSQL
[trogon:为 CLI 程序生成友好的GUI](https://github.com/Textualize/trogon)
[当在终端输入“ls”后会发生什么?](https://www.warp.dev/blog/what-happens-when-you-open-a-terminal-and-enter-ls)(英文)
有一道很类似的常见的面试题:“当在浏览器输入 google.com 后会发生什么?”
[solara:一个纯 python、React-风格的ipywidget框架](https://github.com/widgetti/solara)
[用tkinter、PySimpleGUI 和 Jupyter Notebook 播放 GIF?](https://www.blog.pythonlibrary.org/2023/12/05/viewing-an-animated-gif-with-python/)
https://toga.readthedocs.io/en/stable/tutorial/tutorial-0.html#:~:text=()%0A%0A%20%20%20%20button%20%3D-,toga.Button,-(%22Hello%20world
Toga是跨平台的pyGUI
kanban-python:终端中的看板应用程序,和Vue TUI 一样
Telegram
Newlearnerの自留地
#Python潮流周刊
Python 潮流周刊#27:应该如何处理程序的错误?
🦄文章&教程
1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式
2、调试 Django 中的 CSRF 失败/403 禁止错误
3、对 Python 环境和包管理工具的公正分析
4、让我们一起创建一个 Python 调试器
5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?
6、Python 的哈希表指南
7、运行不可信的 Python 代码
8、了解 Linux cp 命令并用…
Python 潮流周刊#27:应该如何处理程序的错误?
🦄文章&教程
1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式
2、调试 Django 中的 CSRF 失败/403 禁止错误
3、对 Python 环境和包管理工具的公正分析
4、让我们一起创建一个 Python 调试器
5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?
6、Python 的哈希表指南
7、运行不可信的 Python 代码
8、了解 Linux cp 命令并用…
duangsuse::Echo
#py 周刊阅读笔记 https://t.me/NewlearnerChannel/12060 https://t.me/NewlearnerChannel/12097 https://www.kdnuggets.com/why-you-should-not-overuse-list-comprehensions-in-python #code primes =lambda upper_limit: [x for x in range(2, upper_limit + 1) if x > 1 and…
😅 因为 [] ()? a:b 压行歧义和缓存 e.firstChild 的原因调了半小时
有点感慨, 现在我的代码居然表达式、弱类型化得「理直气壮」了,而且还很喜欢函数作为参返,其实,这些完全都是不符合规范的
而且……
JS算是我目前最用得来的语言,因为()=> 很方便, ?: 也算一种match case
说到底,过度自由的语法, 也是因为「只重视最终接口」这一信条。 只有API是不可改变的,要调用什么,乃至类型签名都可以简化
就像GPT那样,我编程是自顶向下的,一句话就可以代表40多行具体代码
程序员还是要当「漫画家」,而不是画匠
有点感慨, 现在我的代码居然表达式、弱类型化得「理直气壮」了,而且还很喜欢函数作为参返,其实,这些完全都是不符合规范的
而且……
Lexer({ '\\d+': parse }) (str) 居然是我认为唯一能手写的写法,即便它空有组合性;大概是我反感不缓存数据了,甚至在用赋值表达式?JS算是我目前最用得来的语言,因为()=> 很方便, ?: 也算一种match case
说到底,过度自由的语法, 也是因为「只重视最终接口」这一信条。 只有API是不可改变的,要调用什么,乃至类型签名都可以简化
就像GPT那样,我编程是自顶向下的,一句话就可以代表40多行具体代码
> 当输入 "3 hello 1world" 时展开缩写,并且补齐出现过的词 程序员还是要当「漫画家」,而不是画匠
duangsuse::Echo
#py 周刊阅读笔记 https://t.me/NewlearnerChannel/12060 https://t.me/NewlearnerChannel/12097 https://www.kdnuggets.com/why-you-should-not-overuse-list-comprehensions-in-python #code primes =lambda upper_limit: [x for x in range(2, upper_limit + 1) if x > 1 and…
#py 周刊
[DSAlgo:数据结构和算法的面试题集锦](https://github.com/SamirPaulb/DSAlgo)
大公司的面试题与计算机类学习笔记等资料。(star 1.7K)
[“SQLite 源码有 15 多万行,但测试代码和脚本竟有九千多万行”](https://www.bmpi.dev/dev/renaissance-sqlite)
[如何系统地自学Python?](https://www.zhihu.com/question/29138020)
知乎上的一个热门问题,已有 7.4 万人关注和 1200+ 回答。
[你用 Python 做过最酷的事情是什么?](https://www.reddit.com/r/Python/comments/17upt2f/whats_the_coolest_things_youve_done_with_python/)
Reddit 上的热门讨论帖,也有近 700 条评论,需要刷很久才能看完。。。
[Python 多线程编程的终极指南](https://programmingeeksclub.com/ultimate-python-multithreading-guide) (英文)
[鹅厂程序员的 9 个生存法则](https://segmentfault.com/a/1190000043833549)
https://lucumr.pocoo.org/2023/12/1/the-python-that-was/
https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/
“所有反对动态语言、不让弱化类型签名的论点存在很久了!今天他们也没有任何新的发明,也没有任何进步的改变。 但我们集体说:管它呢。 发挥自己的优势吧
曾经有这样一个世界,系统固有的复杂性,大得绝对需要 IDE、代码生成和编译时工具。相比之下,我的世界里有 Vim 以及一个基本的 Linux 盒子
我们,不应该再那么信任开发人员,并重新引入与软件语意对抗的复杂性。现代 Python 对于JavaEE人来说是不可能理解的。
(按:点名批评langchain 太不Pythonic 。今天强类型还是有进步的,Go的类型推导和ts的渐强类型 比Java好多了)
https://tonybaloney.github.io/posts/sub-interpreter-web-workers.html
- (可爱封面图) 用子解释器运行 Python 并行程序,比multiprocessing(fork)快100倍
PEP: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-pattern.html
模式匹配语法是 3.10 版本的重大特性,但是 Sullivan 认为它的能力相当有限,因此提出了模式匹配的后续发展方向
[允许在 for 循环的循环头中使用推导式语法](https://discuss.python.org/t/allow-comprehension-syntax-in-loop-header-of-for-loop/25864)(英文)
这个帖子提出了一个想法:让 Python 的 for 循环支持推导式语法“for i in x if i % 2 == 0:”。
[解密 CPython:当执行 a+b 时,int与float如何被区分?](https://codeconfessions.substack.com/p/cpython-dynamic-dispatch-internals)
[深入理解 Python 虚拟机:描述器实现原理与源码分析](https://github.com/Chang-LeHung/dive-into-cpython/blob/master/obsy/03decriptor.md)
动态分发(Dynamic Dispatch)指的是在程序运行时(而不是在编译时)确定调用哪个方法或函数的过程。
彩蛋:
[Python 装饰器:用包装巫术增强你的代码](https://hackthedeveloper.com/python-decorator/)
[Python 元类教程(带示例)](https://coderslegacy.com/python-metaclass-tutorial/)(英文)
[DSAlgo:数据结构和算法的面试题集锦](https://github.com/SamirPaulb/DSAlgo)
大公司的面试题与计算机类学习笔记等资料。(star 1.7K)
[“SQLite 源码有 15 多万行,但测试代码和脚本竟有九千多万行”](https://www.bmpi.dev/dev/renaissance-sqlite)
[如何系统地自学Python?](https://www.zhihu.com/question/29138020)
知乎上的一个热门问题,已有 7.4 万人关注和 1200+ 回答。
[你用 Python 做过最酷的事情是什么?](https://www.reddit.com/r/Python/comments/17upt2f/whats_the_coolest_things_youve_done_with_python/)
Reddit 上的热门讨论帖,也有近 700 条评论,需要刷很久才能看完。。。
[Python 多线程编程的终极指南](https://programmingeeksclub.com/ultimate-python-multithreading-guide) (英文)
[鹅厂程序员的 9 个生存法则](https://segmentfault.com/a/1190000043833549)
https://lucumr.pocoo.org/2023/12/1/the-python-that-was/
https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/
“所有反对动态语言、不让弱化类型签名的论点存在很久了!今天他们也没有任何新的发明,也没有任何进步的改变。 但我们集体说:管它呢。 发挥自己的优势吧
曾经有这样一个世界,系统固有的复杂性,大得绝对需要 IDE、代码生成和编译时工具。相比之下,我的世界里有 Vim 以及一个基本的 Linux 盒子
我们,不应该再那么信任开发人员,并重新引入与软件语意对抗的复杂性。现代 Python 对于JavaEE人来说是不可能理解的。
(按:点名批评langchain 太不Pythonic 。今天强类型还是有进步的,Go的类型推导和ts的渐强类型 比Java好多了)
https://tonybaloney.github.io/posts/sub-interpreter-web-workers.html
- (可爱封面图) 用子解释器运行 Python 并行程序,比multiprocessing(fork)快100倍
PEP: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-pattern.html
模式匹配语法是 3.10 版本的重大特性,但是 Sullivan 认为它的能力相当有限,因此提出了模式匹配的后续发展方向
[允许在 for 循环的循环头中使用推导式语法](https://discuss.python.org/t/allow-comprehension-syntax-in-loop-header-of-for-loop/25864)(英文)
这个帖子提出了一个想法:让 Python 的 for 循环支持推导式语法“for i in x if i % 2 == 0:”。
[解密 CPython:当执行 a+b 时,int与float如何被区分?](https://codeconfessions.substack.com/p/cpython-dynamic-dispatch-internals)
[深入理解 Python 虚拟机:描述器实现原理与源码分析](https://github.com/Chang-LeHung/dive-into-cpython/blob/master/obsy/03decriptor.md)
动态分发(Dynamic Dispatch)指的是在程序运行时(而不是在编译时)确定调用哪个方法或函数的过程。
彩蛋:
import this,antigravity[Python修饰器的函数式编程](http://coolshell.cn/articles/11265.html):左耳朵耗子唯一以 Python 为话题的文章,而且写得详细到位。
import keyword,strings
>>> keyword.softkwlist #'match' in it
[Python 装饰器:用包装巫术增强你的代码](https://hackthedeveloper.com/python-decorator/)
[Python 元类教程(带示例)](https://coderslegacy.com/python-metaclass-tutorial/)(英文)
GitHub
GitHub - SamirPaulb/DSAlgo: 📚A repository that contains all the Data Structures and Algorithms concepts and solutions to various…
📚A repository that contains all the Data Structures and Algorithms concepts and solutions to various problems in Python3 stored in a structured manner.👨💻🎯 - SamirPaulb/DSAlgo
duangsuse::Echo
#py 周刊 [DSAlgo:数据结构和算法的面试题集锦](https://github.com/SamirPaulb/DSAlgo) 大公司的面试题与计算机类学习笔记等资料。(star 1.7K) [“SQLite 源码有 15 多万行,但测试代码和脚本竟有九千多万行”](https://www.bmpi.dev/dev/renaissance-sqlite) [如何系统地自学Python?](https://www.zhihu.com/question/29138020) 知乎上的一个热门问题,已有 7.4…
[人工智能 AI 孙燕姿模型应用实践](https://v3u.cn/a_id_310)
最近 AI 孙燕姿太火了!文章基于 Python3.10 和开源库 so-vits-svc(高表现力的语音合成模型)、Spleeter(人声和伴奏分离)
[clone-voice: 一个带 web 界面的声线转换工具](https://github.com/jianchang512/clone-voice)
支持中文、英文、日语、韩语 4 种语言,也支持文字转语音(star 1.3K)
[八十行代码实现开源的 Midjourney、Stable Diffusion “咒语”作图工具](https://soulteary.com/2023/04/05/eighty-lines-of-code-to-implement-the-open-source-midjourney-and-stable-diffusion-spell-drawing-tool.html)
分别支持 CPU 和 GPU 推理使用。
[pandas-ai:支持 AI 功能的 Pandas](https://github.com/gventuri/pandas-ai) 类似有AI生成SQL, DB-GPT
[self-operating-computer:使多模态模型能够操作计算机](https://github.com/OthersideAI/self-operating-computer)
这是近期基于 GPT-4v 的最火项目之一。GPT-4v 在鼠标点击位置方面的错误率很高。(star 5.1K)
[GirlfriendGPT:你的人工智能伴侣](https://github.com/EniasCailliau/GirlfriendGPT)
类似talkGPT4All,使用 ChatGPT 构建一个 AI 伴侣, 拥有个性化的人格、声音以及自拍照!
[WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档](https://github.com/LC044/WeChatMsg)
本周火爆朋友圈的项目,作者是一名在校大学生,支持生成年度聊天报告。“我的数据我做主”。可以导出数据用于训练个人 AI!(star 12.5K)
[Depix:还原打了马赛克的截图文本](https://github.com/spipm/Depix)
在截图上打了马赛克就安全了么?不!这个库能以较高的准确度还原图片中的纯文本信息。仓库中有技术原理解释,以及对使用缺陷的说明。(star 24.7K)
'
最近 AI 孙燕姿太火了!文章基于 Python3.10 和开源库 so-vits-svc(高表现力的语音合成模型)、Spleeter(人声和伴奏分离)
[clone-voice: 一个带 web 界面的声线转换工具](https://github.com/jianchang512/clone-voice)
支持中文、英文、日语、韩语 4 种语言,也支持文字转语音(star 1.3K)
[八十行代码实现开源的 Midjourney、Stable Diffusion “咒语”作图工具](https://soulteary.com/2023/04/05/eighty-lines-of-code-to-implement-the-open-source-midjourney-and-stable-diffusion-spell-drawing-tool.html)
分别支持 CPU 和 GPU 推理使用。
[pandas-ai:支持 AI 功能的 Pandas](https://github.com/gventuri/pandas-ai) 类似有AI生成SQL, DB-GPT
[self-operating-computer:使多模态模型能够操作计算机](https://github.com/OthersideAI/self-operating-computer)
这是近期基于 GPT-4v 的最火项目之一。GPT-4v 在鼠标点击位置方面的错误率很高。(star 5.1K)
[GirlfriendGPT:你的人工智能伴侣](https://github.com/EniasCailliau/GirlfriendGPT)
类似talkGPT4All,使用 ChatGPT 构建一个 AI 伴侣, 拥有个性化的人格、声音以及自拍照!
[WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档](https://github.com/LC044/WeChatMsg)
本周火爆朋友圈的项目,作者是一名在校大学生,支持生成年度聊天报告。“我的数据我做主”。可以导出数据用于训练个人 AI!(star 12.5K)
[Depix:还原打了马赛克的截图文本](https://github.com/spipm/Depix)
在截图上打了马赛克就安全了么?不!这个库能以较高的准确度还原图片中的纯文本信息。仓库中有技术原理解释,以及对使用缺陷的说明。(star 24.7K)
'
v3u.cn
AI天后,在线飙歌,人工智能AI孙燕姿模型应用实践,复刻《遥远的歌》,原唱晴子(Python3.10)-刘悦
忽如一夜春风来,亚洲天后孙燕姿独特而柔美的音色再度响彻华语乐坛,只不过这一次,不是因为她出了新专辑,而是人工智能AI技术对于孙燕姿音色的完美复刻,以大江灌浪之势对华语歌坛诸多经典作品进行了翻唱,还原度令人咋舌,如何做到的?本次我们借助基于Python3.10的开源库so-vits-svc,让亚洲天后孙燕姿帮我们免费演唱喜欢的歌曲,实现点歌自由。so-vits-svc是基于VITS的开源
duangsuse::Echo
昨天提到的头疼点,现在修好了,希望以后能实现吧 顺便读篇#zhihu 文吧 https://www.zhihu.com/question/40675600/answer/3310038891 >代数数据类型是所有高级特性的基础, 比如 0 = never, 1 = unit, 2 = bool.. NaN=void >定义和类型以及积类型(sum prod), 所有类型就都可以组合出来。相同的 ADT 编码意味着这两个类型本质上相同 首先,你想用实例的个数表达「类型」? SQL Table 就是如此啊,但是有啥用…
#design #java 🥰 我的编程范式,目前由2类的重载重写构成
# 行列式多态 tabular polymorphism
class,dict,struct 等类型的本质是“电子表格”,而方法只是有特殊前缀的全局函数
因此,类型就是行和列(=定长字典和键)
C(但是行可以=1.0)
枚举则表明,类型也是数据
error(): NO类型, voidFn(): over类型
构造vs简造器
构造器constructor= 由变量组合成的struct
简造器lit= 由字面等价出的enum等type,必须属于既有表格
# 转为式多态 too polymorphism
加参器instructor、加构器costructor、段造器OOstructor 「3种三段论」
默认值+值=值
给定值+值=对象
默认函+值=对象
在不同的(??)语境下,-函数调用有由参数确定的“声调tone”,俗称多态或 类型判断/自动转换
有3种词支持新增声调: 类型(??-) 多方法函数(??) 单方法函数(-)
比起抛开constructor 而使用
右链左表括歪嘴(rchain lswitch wheezynul)
那些总是在
解决了一个心腹大患,开心,现在和Kotlin加那一堆data seal enum 修饰词的完全不一样了,而且类型上既Rust又Go 🦀,值上既YAML又JSON ,而且可能让Haskell GADT和Monadic链吃瘪了
然后,还有比GraphQL都好看的免术语区间和filtermap 🥭 ,无需open()的文件保存/另存为抽象, 总之,这个范式绝对不是单纯的面向函数。 不仅仅是强类型+DSL,它比py更擅长处理数据
我最喜欢这样看着土,实际从各个角度都博采众长的东西。 和任何编程语言都不必比较,因为它不需要门槛,会Excel和bash都能懂, 有序自然+简洁+文化中立
但我必须做一个前端框架,吃上饭才有时间写编译器啊 😅
https://t.me/kotlin_cn/110933
# 行列式多态 tabular polymorphism
class,dict,struct 等类型的本质是“电子表格”,而方法只是有特殊前缀的全局函数
因此,类型就是行和列(=定长字典和键)
?? Animal
- name Str //<> 列方向共有的,叫接口
Cat(name)
Dog(name, owner:Str) //^v 行方向新增的,叫构造器
其形式为 C=A+B :?? C A
- b1 Str
- b2 [Int sets] //可变量
?? A-exists B //Animal 表已穷举,不可继承
//- A已存,无法添加新的列C(但是行可以=1.0)
枚举则表明,类型也是数据
?? Food now Rows(): //简造器: [Str Enum KV]
Apple; Tomato; Beef
因此,Pair(Col2) 继承自Columns ,Maybe(may2) 继承自Rowerror(): NO类型, voidFn(): over类型
构造vs简造器
构造器constructor= 由变量组合成的struct
简造器lit= 由字面等价出的enum等type,必须属于既有表格
# 转为式多态 too polymorphism
加参器instructor、加构器costructor、段造器OOstructor 「3种三段论」
默认值+值=值
给定值+值=对象
默认函+值=对象
z counter(0) :
me(1)==1 me(2)==3
//z==$Yes
Dog("Hachi").[Movy too].move(0)
??- counter(x:Int, ac=0) //加参器可以避免class的滥用,或为监听等闭包 声明可变量
ac =:+ x
over ac
??- Animal.Dog(owner="Jack") //加构器可以避免继承得没有主次
??- Dog.too() Movy //且允许从impl{}扩充函数 平滑过渡到方法或参数更多的类型
- move(dxy) $N !:"躺平了"
??- Activity AbstractMain
now: aField 0
- onCreate as:
main()
Name.asSuper
- onDestroy ‘TODO’
^??
- main() // 段造器是能作为参数的函数字典,它直接与OOP对应
- fetch(:URL) "STUB!"
- openVal sets(0)
对人脑而言,模拟执行代码,也需要发音。在不同的(??)语境下,-函数调用有由参数确定的“声调tone”,俗称多态或 类型判断/自动转换
有3种词支持新增声调: 类型(??-) 多方法函数(??) 单方法函数(-)
??- [Activity 函确定]() Main() //无/有构造器的类型,默认确定性为 funcs / funcs! ,因此无需trait{}。只需去掉^?? 就默认final
^name
- statics也可以有元类接口
??- Main
- 同文件的扩充可以mark private
??- 这是个函数() 0
.:
- 它不该有局部fun
??- 或匿名()Object()
↘️ 为了方便跨平台或mock,应该在编译期依赖注入, 称为 os-依协议工厂比起抛开constructor 而使用
Factory.createXX() ,应当允许 ext fun 按作用域选择性内联,类似于导入并覆盖os.exec("echo 1") //返回动态类型"NO"
??- os-droid()
- exec(:Str) "install busybox!"
# 运算链右链左表括歪嘴(rchain lswitch wheezynul)
y 1 .:
Vec2(me+1).x //sin
-2+3
3==(counter .: -ac 3).ac
//右下链,是Rust允许{let}遮盖同变量名的理由 🙄
//那根本不现代,和C的int a=(b=1), “now 1: a;b” 一样是瞎猫吃死耗子,祈祷不被[有心人]滥用呗
除了可多行的bash式参数,还有「类型即表格」—class可以随处创建那些总是在
fn(a=a,b=b) 的def 也可以消停了,让人用得上才叫OOP嘛yNew y :.
<0: -1
>0: 1 ; or: 0
//左下表,单行缩写为 (y rem- 0).{0"平" 1"剩" -1"负"},支持bool函数和匹配解构
(1==1) \: // 这个\: 替换为.{$Y 1 $N 0} 就是ifelse了
say:'CPU有毛病'
ada User(NO) // 非常可爱的、文化中立的表情,取代了让人头痛的异常、弱类型||、null ?.let ?:
ada.age ("UNK") : "☹️{me+1}"
(ada.age🫤 \: 17)+1
may{u.age.orThrow} !: "😬need be checked"
?? Row
User(age\:Int) //val age:Int? 不应该出现在结构体以外,除非写为 - age [Int mayNO]
🦄解决了一个心腹大患,开心,现在和Kotlin加那一堆data seal enum 修饰词的完全不一样了,而且类型上既Rust又Go 🦀,值上既YAML又JSON ,而且可能让Haskell GADT和Monadic链吃瘪了
然后,还有比GraphQL都好看的免术语区间和filtermap 🥭 ,无需open()的文件保存/另存为抽象, 总之,这个范式绝对不是单纯的面向函数。 不仅仅是强类型+DSL,它比py更擅长处理数据
我最喜欢这样看着土,实际从各个角度都博采众长的东西。 和任何编程语言都不必比较,因为它不需要门槛,会Excel和bash都能懂, 有序自然+简洁+文化中立
但我必须做一个前端框架,吃上饭才有时间写编译器啊 😅
https://t.me/kotlin_cn/110933
Telegram
duangsuse in Kotlin CN
https://t.me/dsuse/19184 这个内存对象范式叫行列算数(Rowcol typis),认为类型的本质是电子表格里 column set 间的混合, fn? 标记的表格可自由扩充新的列。
只要函数要求的列的Set能被变数或常数满足,调用就合法
赋值、 if for 只是普通调用,但含编译期计算
( - plus(An:Int, k:Int)Int 则是方法)
自带对序列化器(类型单实例的接口) 的支持,例如 typeof<Column2<Int,Str>>(JSON).loads()…
只要函数要求的列的Set能被变数或常数满足,调用就合法
赋值、 if for 只是普通调用,但含编译期计算
( - plus(An:Int, k:Int)Int 则是方法)
自带对序列化器(类型单实例的接口) 的支持,例如 typeof<Column2<Int,Str>>(JSON).loads()…
duangsuse::Echo pinned «#design #java 🥰 我的编程范式,目前由2类的重载重写构成 # 行列式多态 tabular polymorphism class,dict,struct 等类型的本质是“电子表格”,而方法只是有特殊前缀的全局函数 因此,类型就是行和列(=定长字典和键) ?? Animal - name Str //<> 列方向共有的,叫接口 Cat(name) Dog(name, owner:Str) //^v 行方向新增的,叫构造器 其形式为 C=A+B : ?? C A - b1…»
duangsuse::Echo
但,创作一种种新方法真的很难。“守恒的解法”考验设计者永恒的积淀。 且不说不同的人对“定义式编程”的理解偏差可能比Vue和Elm 还大, 往往就是一些简单的思考会卡你六七天 🤪 对未知的恐惧,在失去新鲜感后拔地而出,从0到1是与知识与资本都无关的。 你也可以一直当一个“练习生”,做些不涉模型的重命名创作, 但我见过CS人“重新定义XXX” 真的太多了。我懒得加入这种边解题边造坑的狂欢。 我追求的就是绝对的真理(因此上图的代码,我权当没写过),这样我对代码的评价两极分化;但我是真不相信 ffmpeg;…
🤣 博客的slogan想好了…… 虽然也不知该何时重开 #statement
《跳转回填 backpatcher》
“编程是什么?” “规范记录自己想过的解法呗”?但无论规范出的是对象还是函数,或是什么了不起的代数,社区里都有 How < What < Why 三种等级
How 只关心眼前的脚本或算法,即便它的API或亮点一句话就能说清,或者干脆照古猫画今虎, 好比热衷笔法的画匠
What 清楚一个领域的惯用法,能总结出你没想过的框架模板,保持对新知罕知的扩充性, 会是乐于自顶向下、拆解选型的好老师
Why 只关心造成问题的问题,对奇技淫巧的潮流轮回、对“跨端复制”的数据与解法代码视若无睹—删到只留下自己还爱的功能
从搜罗how的称职码农,变成懂what的框架工程师,仍期待你加上敢问 what if 的「主见」、再乘上爱... pipeline的尽头才会组合出优秀的、不被教条绑架的无前缀创作者
到已能回答出WHY的地步,代码便从该“积栈的”法术,化作写字念书的母语,只会因创作与设计而产生!
好比漫画家。穷其变,悟不穷,以明我志。
但奇怪的是,这反而和技术菜鸟、和傻瓜用户没什么区别?
不如学院派:知其变,守其恒,为天下式。
元编程和体操说到底还是编程。编程也还是调细节的“查询与创作”。 作为专业知识和八股文,只有越来越不值钱,才会像Pythonic那样启发值钱的事物
已跳出这段易问难解的过程式,才能看清它对你的价值吧?
— 然后,还有我设计的两个范式的Zen:
《跳转回填 backpatcher》
“编程是什么?” “规范记录自己想过的解法呗”?但无论规范出的是对象还是函数,或是什么了不起的代数,社区里都有 How < What < Why 三种等级
How 只关心眼前的脚本或算法,即便它的API或亮点一句话就能说清,或者干脆照古猫画今虎, 好比热衷笔法的画匠
What 清楚一个领域的惯用法,能总结出你没想过的框架模板,保持对新知罕知的扩充性, 会是乐于自顶向下、拆解选型的好老师
Why 只关心造成问题的问题,对奇技淫巧的潮流轮回、对“跨端复制”的数据与解法代码视若无睹—删到只留下自己还爱的功能
从搜罗how的称职码农,变成懂what的框架工程师,仍期待你加上敢问 what if 的「主见」、再乘上爱... pipeline的尽头才会组合出优秀的、不被教条绑架的无前缀创作者
到已能回答出WHY的地步,代码便从该“积栈的”法术,化作写字念书的母语,只会因创作与设计而产生!
好比漫画家。穷其变,悟不穷,以明我志。
但奇怪的是,这反而和技术菜鸟、和傻瓜用户没什么区别?
不如学院派:知其变,守其恒,为天下式。
元编程和体操说到底还是编程。编程也还是调细节的“查询与创作”。 作为专业知识和八股文,只有越来越不值钱,才会像Pythonic那样启发值钱的事物
已跳出这段易问难解的过程式,才能看清它对你的价值吧?
— 然后,还有我设计的两个范式的Zen:
- 程序员“开销”>CPU开销, 让numpy变快>让gcc -O3 变快分别是这些原则:
- 用户耗时>脚本耗时,好记的手势和快捷键>完善的类型签名
- 编程只是快乐的涂鸦,电脑和“专业”社区只有权让涂鸦等效于生产。职责划分是,app代码简明趋短、信达趋俗
- 不要作为框架说explicit优于implicit。负起穷举用法模型的责任
- 不要作为人说复杂性不能拆解换名。可读性不朽!
- 不要怀念ifelse链和单例class命名空间。“小”聪明难久
- 不要在模型前,怀念学到的特例;即便需求皆不纯,错误不能被糊弄,API也无模棱两可的定价权
- 只能有一个……至少只封装出一种API,那么写明的提问就是最佳答案
- 哪怕你搜到的一开始还不够Pythonic。快速原型很实干,但并非不选型就蛮干
- 讲不清文档的代码,一定是缺乏模型的拼凑品
- 简单自然的代码,不一定是缺乏功能的入门品
- 链式访问和加减只是调用,class只是共变量函数。编程语言们还有更棒的灵感!
算法才是开销 UX最为耗时 职责预划分 语境优于明确 组合优于列清
正确归类语法 意外=错误 单一职责 自顶向下 防面条代码 防过度工程 元编程是编程
duangsuse::Echo
昨天提到的头疼点,现在修好了,希望以后能实现吧 顺便读篇#zhihu 文吧 https://www.zhihu.com/question/40675600/answer/3310038891 >代数数据类型是所有高级特性的基础, 比如 0 = never, 1 = unit, 2 = bool.. NaN=void >定义和类型以及积类型(sum prod), 所有类型就都可以组合出来。相同的 ADT 编码意味着这两个类型本质上相同 首先,你想用实例的个数表达「类型」? SQL Table 就是如此啊,但是有啥用…
https://www.zhihu.com/question/31034164/answer/553533545 #plt #dalao #statement
再顺便读(因为调歌搁了几天)文章,补充自己的观点
>0:可以完全理解一问题,并且给出对应的代码就是acm在培养的东西。
这就是上条我说的How, 也就是GPT和Copilot负责的部分
看起来,不用调包不找轮子,不用学API是种精英式的进步:你能修改算法更细则的部分,而别人连调用都吃力
但这也只是所谓「拼凑尸块」。
对大部分算法来说,只要可视化「最简的」边界情况、示例输入,它们不算是门槛。三四行已经学到精髓了,对于用两次filter充当partition来写qsort、用reduce查Trie/AC/KMP、用模式匹配写RBT_balance 的人来说
反而,许多人没举出几个示例,没有和原作站在同一立场上,就去默写脚本或test乃至新lib,那叫做拼凑尸块。
让GPT去改效果也一样的算法,那些70年不变的东西,剪枝什么的,不能算CS
知道P=NP 问题是怎么定义的吗? 必须先让所有NP复杂度的函数,都能等价为数独或旅行商求解:抹消问题之间的术语差异。
这种复用性,只有自顶向下的编程范式能做到吧,那么「是否能理解函数体」的门槛,只会变成暴露语言模型本身的突兀和贫瘠
因此“能列出How”不是CS的专利,更不算真正的编程,只是在当同声翻译,译的还是百年来再生..遗忘..无数遍的“诗歌” --如果这叫诗人,我想写一辈子“庸俗小说”
>1:能在0之上加上工程方法。
What, “能说清How”,就是工程上的「定义式编程」了。 尽管许多函数式框架重复度依然不低,它们造成的行数困扰相对更小
SICP还会列举assumption啊,Lisp可是连统一的is-type都没有(CLOS够吗),冗长、赋值和嵌套混乱、反链式逻辑,反ADT-弱类型dict的优势也发挥不出来
圆括号作为WASM的tree/vargraph document 刚好够呢! Lisp应该和PostScript和XML那种机翻语言归为同类吧?
一个VB式密封化的链表语言谈“抽象” 确实是很抽象 ,唯一就是闭包和ret地址闭包(CPS,async),when-cond,符号和宏等特殊调用模式(x'&&'printx)好像牛逼了,自解释力更强了
但配不上自己语言的好特性。哪怕换不够函数式的py 它们都会夯到被写进八股里。作为一种文本连排版都做不好,只能说((+))比Scratch和Blender拖拽编程还低效
py里倒是有种“闭包”:变量的LEGB(loc. 类于this的nonlocal global builtins)原则,还真挺土的,不把“自由变量”附庸除号的风雅也配称lambda吗?
技术选型,能像GPT一样问了再回答,不给人造成问题+突兀的术语就够了。不想被掉坑什么的 也是奢望
>2:对整个计算机stack有认识,能把各种技能混着耍
WHY, “能反对How”,照顾到主观+客观的取舍,就是所谓真正的编程能力。
这当然需要了解不同领域的概念,让算法对应到现实,因此是CS乃至计算机的专利。
代码能从导入的许多小领域,产生更大更新的领域,看似“一眼能望到头”,但这也是一种文学创作啊!
……DeepCoder的 seq2seq端到端infer 和程序综合-降低搜索空间 没啥关系吧。Synthesis的逻辑就是函数回归或树状图的DFS,连loss都难指定,哪能像AGI“理解”语言
在LSTM这些序列推理前,TTS的主流还是Markov链呢,HMM的优化器基于图算法。 高端到除了sklearn就一个包可调,所以它是失败了 还是太SOTA了呢
至于多线程加速,GPU支持的向量计算已用于GL的sdf,AI TPU则对比16bit还窄的浮点很青睐,说到底板子还是被垄断的。
本就该分块平行计算的,渲染、文件传输和翻译,已经普遍到像BT那样走向集群了,甚至JSON都用SIMD跳空格,pwsh有 For-Each -Parallel,哪里还是未来。
嵌入式概念上和UI编程差异不大,甚至能混入的算法更窄。 专业App到什么程度才会使用到FPGA呢? RPi.py不够吧
……Docker进一步划分chroot 用overlayfs+cgroup 来模仿单exe式安装
确实,像FUSE那样免root擦/dev/sda 能省掉线程切到OS栈的时间,而Unikernel,JikesRVM能在内核态提供app要的libc,jvm等环境
--就像WASM+VFS ,那就是你说的免OS新全栈。如果抛掉H5 API 或禁用js我看不出有啥爽的,甚至 Lunatik,CE修改器的dbvm 都没strace,proxychains这些hook香
也不能说Docker无需linux就足够虚拟化,或者把app和kmod都放在Ring1,关闭内存段隔离VMA是合理的。
Unikernel比WASM难测试10倍,况且,即便是jvm+jni也有可能因溢出产生RCE,在linux下黑客至少不能删除数据备份或渗透内网,此外,这种“单功能机换2倍加速”是逆着LVM或RAID集群的
比起开机快和0开销,不如先把JSON换成BSON? 是吧,跨版本适配性有那么重要吗?
……与其说js们是「一阶逻辑」嘛,不如说只是命题:它们连响应式都不支持、要注册流控函数,何谈exists T. '+'(T,str)=T 这些查询
btw. 0~2阶命题: 1=1 ; IsOdd集的(x) x=1 ; findeach q. q(1)=1 ,因此2阶能因(常量)参数的不同,导出其他性质(比如纯fx=fx, 证明'f'存在要俩fx类型相等)
形式化验证,如. x+y=y+x 不仅繁琐,还错判了重点(C-H同构是褒义词吗? 代码重复!)
代码被人的认知和范式所局限,而DFS助手不能帮人提高智商,甚至它自己也在加强符号nerd的刻板印象。
> 我所认为的不会随着时间而失效,也不能被体力劳动+调包取代的是:对自己的tool或多或少有本质上的理解
>对不同复杂度的问题(领域级/系统级/问题级),采用相对应工具降低复杂度,最后击破"的能力吧。
IT和Math人,总是傲慢地认为自家那几个数据或问题模型,验收了,就是垄断真实世界的至理名言。 但最终,产生价值和取向的是人 不是"神纸"。
什么才算是真正的编程能力:真正..本质.. 利用工具.. 除了说同义词,为啥不把上文的观点「混着耍」呢?这就是全文的总结吗
对我来说,“领域级/系统级/问题级 的本质” 依然只是从how 归纳出了what,那和CAD一样,不是真正的CS能力。
从搜罗how的称职码农,变成懂what的框架工程师,还需要加上敢问WHY的「主见」、再乘上爱,才会变成优秀的、不被教条绑架的无前缀创作者
TF,Pytorch,Keras 里面T应该慢慢被K取代了吧。「为什么会」呢?这就叫复杂所以全的“不会随着时间而失效”系统吗
这些DNN和Scratch的Flow图拖拽编程没啥区别,ONNX就能被netron.js可视化,早晚也要被0代码掉吧
但偏偏就是这些因为需要自动微分而 def forward(x) 的同质化计算图,直接让py变成了缩进地狱
谁关心微分和SGD是怎么实现的,像 np.einsum('ji' 实现的横纵转置就应该能自动补齐偏导吧
能手工调的够少才叫ML,所以那些本质和理解.. 魔法..是编程能力吗? 新技术,确实在医治「智慧」这种疾病啊
再顺便读(因为调歌搁了几天)文章,补充自己的观点
>0:可以完全理解一问题,并且给出对应的代码就是acm在培养的东西。
这就是上条我说的How, 也就是GPT和Copilot负责的部分
看起来,不用调包不找轮子,不用学API是种精英式的进步:你能修改算法更细则的部分,而别人连调用都吃力
但这也只是所谓「拼凑尸块」。
对大部分算法来说,只要可视化「最简的」边界情况、示例输入,它们不算是门槛。三四行已经学到精髓了,对于用两次filter充当partition来写qsort、用reduce查Trie/AC/KMP、用模式匹配写RBT_balance 的人来说
反而,许多人没举出几个示例,没有和原作站在同一立场上,就去默写脚本或test乃至新lib,那叫做拼凑尸块。
让GPT去改效果也一样的算法,那些70年不变的东西,剪枝什么的,不能算CS
知道P=NP 问题是怎么定义的吗? 必须先让所有NP复杂度的函数,都能等价为数独或旅行商求解:抹消问题之间的术语差异。
这种复用性,只有自顶向下的编程范式能做到吧,那么「是否能理解函数体」的门槛,只会变成暴露语言模型本身的突兀和贫瘠
因此“能列出How”不是CS的专利,更不算真正的编程,只是在当同声翻译,译的还是百年来再生..遗忘..无数遍的“诗歌” --如果这叫诗人,我想写一辈子“庸俗小说”
>1:能在0之上加上工程方法。
What, “能说清How”,就是工程上的「定义式编程」了。 尽管许多函数式框架重复度依然不低,它们造成的行数困扰相对更小
SICP还会列举assumption啊,Lisp可是连统一的is-type都没有(CLOS够吗),冗长、赋值和嵌套混乱、反链式逻辑,反ADT-弱类型dict的优势也发挥不出来
圆括号作为WASM的tree/vargraph document 刚好够呢! Lisp应该和PostScript和XML那种机翻语言归为同类吧?
一个VB式密封化的链表语言谈“抽象” 确实是很抽象 ,唯一就是闭包和ret地址闭包(CPS,async),when-cond,符号和宏等特殊调用模式(x'&&'printx)好像牛逼了,自解释力更强了
但配不上自己语言的好特性。哪怕换不够函数式的py 它们都会夯到被写进八股里。作为一种文本连排版都做不好,只能说((+))比Scratch和Blender拖拽编程还低效
py里倒是有种“闭包”:变量的LEGB(loc. 类于this的nonlocal global builtins)原则,还真挺土的,不把“自由变量”附庸除号的风雅也配称lambda吗?
技术选型,能像GPT一样问了再回答,不给人造成问题+突兀的术语就够了。不想被掉坑什么的 也是奢望
>2:对整个计算机stack有认识,能把各种技能混着耍
WHY, “能反对How”,照顾到主观+客观的取舍,就是所谓真正的编程能力。
这当然需要了解不同领域的概念,让算法对应到现实,因此是CS乃至计算机的专利。
代码能从导入的许多小领域,产生更大更新的领域,看似“一眼能望到头”,但这也是一种文学创作啊!
……DeepCoder的 seq2seq端到端infer 和程序综合-降低搜索空间 没啥关系吧。Synthesis的逻辑就是函数回归或树状图的DFS,连loss都难指定,哪能像AGI“理解”语言
在LSTM这些序列推理前,TTS的主流还是Markov链呢,HMM的优化器基于图算法。 高端到除了sklearn就一个包可调,所以它是失败了 还是太SOTA了呢
至于多线程加速,GPU支持的向量计算已用于GL的sdf,AI TPU则对比16bit还窄的浮点很青睐,说到底板子还是被垄断的。
本就该分块平行计算的,渲染、文件传输和翻译,已经普遍到像BT那样走向集群了,甚至JSON都用SIMD跳空格,pwsh有 For-Each -Parallel,哪里还是未来。
嵌入式概念上和UI编程差异不大,甚至能混入的算法更窄。 专业App到什么程度才会使用到FPGA呢? RPi.py不够吧
……Docker进一步划分chroot 用overlayfs+cgroup 来模仿单exe式安装
确实,像FUSE那样免root擦/dev/sda 能省掉线程切到OS栈的时间,而Unikernel,JikesRVM能在内核态提供app要的libc,jvm等环境
--就像WASM+VFS ,那就是你说的免OS新全栈。如果抛掉H5 API 或禁用js我看不出有啥爽的,甚至 Lunatik,CE修改器的dbvm 都没strace,proxychains这些hook香
也不能说Docker无需linux就足够虚拟化,或者把app和kmod都放在Ring1,关闭内存段隔离VMA是合理的。
Unikernel比WASM难测试10倍,况且,即便是jvm+jni也有可能因溢出产生RCE,在linux下黑客至少不能删除数据备份或渗透内网,此外,这种“单功能机换2倍加速”是逆着LVM或RAID集群的
比起开机快和0开销,不如先把JSON换成BSON? 是吧,跨版本适配性有那么重要吗?
……与其说js们是「一阶逻辑」嘛,不如说只是命题:它们连响应式都不支持、要注册流控函数,何谈exists T. '+'(T,str)=T 这些查询
btw. 0~2阶命题: 1=1 ; IsOdd集的(x) x=1 ; findeach q. q(1)=1 ,因此2阶能因(常量)参数的不同,导出其他性质(比如纯fx=fx, 证明'f'存在要俩fx类型相等)
形式化验证,如. x+y=y+x 不仅繁琐,还错判了重点(C-H同构是褒义词吗? 代码重复!)
代码被人的认知和范式所局限,而DFS助手不能帮人提高智商,甚至它自己也在加强符号nerd的刻板印象。
> 我所认为的不会随着时间而失效,也不能被体力劳动+调包取代的是:对自己的tool或多或少有本质上的理解
>对不同复杂度的问题(领域级/系统级/问题级),采用相对应工具降低复杂度,最后击破"的能力吧。
IT和Math人,总是傲慢地认为自家那几个数据或问题模型,验收了,就是垄断真实世界的至理名言。 但最终,产生价值和取向的是人 不是"神纸"。
什么才算是真正的编程能力:真正..本质.. 利用工具.. 除了说同义词,为啥不把上文的观点「混着耍」呢?这就是全文的总结吗
对我来说,“领域级/系统级/问题级 的本质” 依然只是从how 归纳出了what,那和CAD一样,不是真正的CS能力。
从搜罗how的称职码农,变成懂what的框架工程师,还需要加上敢问WHY的「主见」、再乘上爱,才会变成优秀的、不被教条绑架的无前缀创作者
TF,Pytorch,Keras 里面T应该慢慢被K取代了吧。「为什么会」呢?这就叫复杂所以全的“不会随着时间而失效”系统吗
这些DNN和Scratch的Flow图拖拽编程没啥区别,ONNX就能被netron.js可视化,早晚也要被0代码掉吧
但偏偏就是这些因为需要自动微分而 def forward(x) 的同质化计算图,直接让py变成了缩进地狱
谁关心微分和SGD是怎么实现的,像 np.einsum('ji' 实现的横纵转置就应该能自动补齐偏导吧
能手工调的够少才叫ML,所以那些本质和理解.. 魔法..是编程能力吗? 新技术,确实在医治「智慧」这种疾病啊
Forwarded from 螺莉莉的黑板报
X (formerly Twitter)
Julian Garnier (@JulianGarnier) on X
Just on time to celebrate reaching 50 monthly @GitHub sponsors:
🚀Introducing draggables to anime.js V4!
✅ Inertia with spring animation
✅ Snap to grid
✅ Axis lock
✅ Container autoscroll
✅ Transformed container
✅ Quick swipe gestures
✅ onSnap callback
And…
🚀Introducing draggables to anime.js V4!
✅ Inertia with spring animation
✅ Snap to grid
✅ Axis lock
✅ Container autoscroll
✅ Transformed container
✅ Quick swipe gestures
✅ onSnap callback
And…
Forwarded from 层叠 - The Cascading
OpenAI 停用 ByteDance 所用账户,称后者用其 GPT 训练自家 AI。
theverge.com/~
seealso: HackerNews:38662160
#OpenAI #ByteDance
theverge.com/~
seealso: HackerNews:38662160
#OpenAI #ByteDance
The Verge
OpenAI suspends ByteDance’s account after it used GPT to train its own AI model.
[Link: ByteDance is secretly using OpenAI’s tech to build a competitor | https://www.theverge.com/2023/12/15/24003151/bytedance-china-openai-microsoft-competitor-llm | The Verge]
In today’s issue of Command Line, I reported that ByteDance has been violating…
In today’s issue of Command Line, I reported that ByteDance has been violating…
duangsuse::Echo
[人工智能 AI 孙燕姿模型应用实践](https://v3u.cn/a_id_310) 最近 AI 孙燕姿太火了!文章基于 Python3.10 和开源库 so-vits-svc(高表现力的语音合成模型)、Spleeter(人声和伴奏分离) [clone-voice: 一个带 web 界面的声线转换工具](https://github.com/jianchang512/clone-voice) 支持中文、英文、日语、韩语 4 种语言,也支持文字转语音(star 1.3K) [八十行代码实现开源的 Midjourney、Stable…
#py 周刊
https://coderslegacy.com/python-init-py-best-practices/
PEP: 在PyVM实现Null可空链 ?? ?. ?[]
这个修改非常复杂,但因为py不支持内联lambda ?.run{} ?: 什么的,恐怕没啥意义
btw. []"" 0 None or 已被用于null替换
https://augierpi.gricad-pages.univ-grenoble-alpes.fr/mojo-the-point-of-view-of-a-researcher-using-python.html#tiobe
mojo: 正在进步的py科学计算超集
msgspec: 支持BSON,toml,yml ; 比 pydantic 快10x
#ai #tool https://github.com/Coframe/coffee?tab=readme-ov-file#related
继 v0.dev , 外包围 <Coffee> 标签Ctrl+S就能让AI修改试运行, 完成后 < pour="" > 即合并代码
https://coderslegacy.com/python-init-py-best-practices/
from a import *https://nedbatchelder.com/blog/202312/realworld_matchcase.html
# 代表了 a.py
import a.b as b
# 代表 a/b.py
# 但是,你可以利用b.py imports 和 __all__=[] 对导出进行平铺化
PEP: 在PyVM实现Null可空链 ?? ?. ?[]
这个修改非常复杂,但因为py不支持内联lambda ?.run{} ?: 什么的,恐怕没啥意义
btw. []"" 0 None or 已被用于null替换
https://augierpi.gricad-pages.univ-grenoble-alpes.fr/mojo-the-point-of-view-of-a-researcher-using-python.html#tiobe
mojo: 正在进步的py科学计算超集
msgspec: 支持BSON,toml,yml ; 比 pydantic 快10x
import msgspecpydantic/FastUI : ASP# table再现
msgspec.json.encode(User("alice", groups={"admin", "engineering"}))
class User(msgspec.Struct):
"""A new type describing a User"""
name: str
groups: set[str] = set()
email: str | None = None
#ai #tool https://github.com/Coframe/coffee?tab=readme-ov-file#related
继 v0.dev , 外包围 <Coffee> 标签Ctrl+S就能让AI修改试运行, 完成后 < pour="" > 即合并代码
Telegram
Newlearnerの自留地
#Python潮流周刊
🐬🐬第 31 期
🦄文章&教程
- PEP-738:将 Android 添加为第 3 层支持的平台
- 深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读
- 现实世界的 match/case
- pytest 守护进程:提升 10 倍本地测试迭代速度
- 使用 Python 88 行代码写一个简易的 Android AI 程序
- 在 Python 中不需要这些无谓的操作
- 为什么要用“if TYPECHECKING”?
- 对比 SQLALchemy…
🐬🐬第 31 期
🦄文章&教程
- PEP-738:将 Android 添加为第 3 层支持的平台
- 深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读
- 现实世界的 match/case
- pytest 守护进程:提升 10 倍本地测试迭代速度
- 使用 Python 88 行代码写一个简易的 Android AI 程序
- 在 Python 中不需要这些无谓的操作
- 为什么要用“if TYPECHECKING”?
- 对比 SQLALchemy…