duangsuse: #kt #book 元编程
http://www.bilibili.com/video/BV1XH4y1w7mT
https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf
https://weread.qq.com/web/reader/f7632a00813ab82d6g017b14ke4d32d5015e4da3b7fbb1fa
可以一起读
虽然我不觉得这点值65😊
如果numpy那种API/DSL都设计不出来
修改class的结构也只是给开发者们徒增烦恼罢了
举个例子,此章节的 gh/user/_name
如果只是把它当成URL路径,需要绑定,显然造成代码重复,与元编程的本意违背
而如果像 import fire 那样,知道URL的本质是class路径与def GET,POST等,也就是另一种CLI调用
就不需要写什么注解和函数名
甚至模块化都省了,一个文件足矣
不过是修理servlet.xml繁琐和不支持argbind和的“弱类型”问题
但何必要制造那么多问题呢?sql,http,那么简单的工具还用学
#parser #learn
说起来,AST也就是多方法的 ()->Any 而已
你甚至可以把方法名enum化,从而完全避免使用class
例如 sum(L(1), L(2)) ()==3 只需要两个fun
Object Algebra.. 嘛,用虚表override取代if,稍微快点,只是要parse两次
至于在js里,我一般用 [[JSON ',' +] '()' /] 这样的模式写ast
描述 (1, 2, 3) 这种正则
甚至连函数式都没用到。 数据结构本身就蕴含了for if流控,运算符重载本身就是编程语言
不需要任何范式来实现他们,“数据结构与程序语意直观对应”,这就是CS。
这……应该是一件很难听懂的东西吗? 为什么DSL都设计得那么刻意和拉垮?
甚至,构造函数也应该取代class{} 或tuple才对,为什么把参数传递到堆而不是栈里,就需要写所谓的struct? 它们都是把args打包复用而已
为什么把yield 外提为语句,变成
let then=回调=()=>switch{} 里的编号,就需要学什么func*和async,堆和栈,难道不是天生一体的么? 分页数组、“缓冲区”,难道不应该是跨语言的?
然而支持kwarg的python 却需要Namespace来实现这种等量代换😒 反而是Haskell可以这么写
然而它是真正的笨蛋美女😅
#oop
元编程,首先就要明白obj的本质是通过enum分派逻辑的(vararg Any)->Any ,也就是一个when(x)in constMap+super..
这样才方便添加和绑定方法签名
这样在语法上也就能理解为什么是{}包裹,以及filter{}为什么优于lambda和匿名override
py可以通过vars(o)实现静转动态
typing.Namespace(kw)反向
除了小写类型不能扩充,哪怕是Ruby元编程在直观上也无法和它相比了
duangsuse:
oop和rust go就是pp的扩充
不算重新学习过过程试
编程语言只不过就一张加减乘除节点图,问题是领域和API
看这本书的“层次结构”,就想到拿identifier叫name,拿classifier叫tag,拿些辞藻和皮毛当本质,哎
无聊
好像早点拿到电脑,多写代码
http://www.bilibili.com/video/BV1XH4y1w7mT
https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf
https://weread.qq.com/web/reader/f7632a00813ab82d6g017b14ke4d32d5015e4da3b7fbb1fa
可以一起读
虽然我不觉得这点值65😊
如果numpy那种API/DSL都设计不出来
修改class的结构也只是给开发者们徒增烦恼罢了
举个例子,此章节的 gh/user/_name
如果只是把它当成URL路径,需要绑定,显然造成代码重复,与元编程的本意违背
而如果像 import fire 那样,知道URL的本质是class路径与def GET,POST等,也就是另一种CLI调用
就不需要写什么注解和函数名
甚至模块化都省了,一个文件足矣
不过是修理servlet.xml繁琐和不支持argbind和的“弱类型”问题
但何必要制造那么多问题呢?sql,http,那么简单的工具还用学
#parser #learn
说起来,AST也就是多方法的 ()->Any 而已
你甚至可以把方法名enum化,从而完全避免使用class
例如 sum(L(1), L(2)) ()==3 只需要两个fun
Object Algebra.. 嘛,用虚表override取代if,稍微快点,只是要parse两次
至于在js里,我一般用 [[JSON ',' +] '()' /] 这样的模式写ast
描述 (1, 2, 3) 这种正则
甚至连函数式都没用到。 数据结构本身就蕴含了for if流控,运算符重载本身就是编程语言
不需要任何范式来实现他们,“数据结构与程序语意直观对应”,这就是CS。
这……应该是一件很难听懂的东西吗? 为什么DSL都设计得那么刻意和拉垮?
甚至,构造函数也应该取代class{} 或tuple才对,为什么把参数传递到堆而不是栈里,就需要写所谓的struct? 它们都是把args打包复用而已
为什么把yield 外提为语句,变成
let then=回调=()=>switch{} 里的编号,就需要学什么func*和async,堆和栈,难道不是天生一体的么? 分页数组、“缓冲区”,难道不应该是跨语言的?
然而支持kwarg的python 却需要Namespace来实现这种等量代换😒 反而是Haskell可以这么写
然而它是真正的笨蛋美女😅
#oop
元编程,首先就要明白obj的本质是通过enum分派逻辑的(vararg Any)->Any ,也就是一个when(x)in constMap+super..
这样才方便添加和绑定方法签名
这样在语法上也就能理解为什么是{}包裹,以及filter{}为什么优于lambda和匿名override
py可以通过vars(o)实现静转动态
typing.Namespace(kw)反向
除了小写类型不能扩充,哪怕是Ruby元编程在直观上也无法和它相比了
duangsuse:
oop和rust go就是pp的扩充
不算重新学习过过程试
编程语言只不过就一张加减乘除节点图,问题是领域和API
看这本书的“层次结构”,就想到拿identifier叫name,拿classifier叫tag,拿些辞藻和皮毛当本质,哎
无聊
好像早点拿到电脑,多写代码
Bilibili
1. 元编程概述_哔哩哔哩_bilibili
本章主要介绍元编程的需求背景、基本概念和学习方法,这是本书后续内容的重要基础。同时,由于元编程与 Java 和 Kotlin 的编译器、IntelliJ 平台的关系非常紧密,因此本章也会介绍相关项目的环境配置,这将对读者深入理解并掌握元编程的方法和技巧有着非常大的帮助。, 视频播放量 4121、弹幕量 0、点赞数 99、投硬币枚数 32、收藏人数 121、转发人数 4, 视频作者 霍丙乾bennyhuo, 作者简介 恢复更新了,相关视频:拜登:"一切非Rust项目均为非法" ???????,混写Rust…
Forwarded from 螺莉莉的黑板报
【本报讯】首个超越 GPT-4o 的开源模型!Llama 3.1 泄露:4050 亿参数即将登场!
近日,Meta 的新一代大模型 Llama 3.1 在 Reddit 上被泄露,引发广泛关注。Llama 3.1 包含 8B、70B 和 405B 参数版本,基准测试显示其性能在多个领域超过了 OpenAI 的 GPT-4o 和 Claude Sonnet 3.5 等闭源模型。模型卡泄露的信息显示,Llama 3.1 使用了 15T+ tokens 进行训练,支持多语言,并进行了指令微调和合成数据训练。尽管泄露的下载链接已失效,但官方发布预计在即。
Source
近日,Meta 的新一代大模型 Llama 3.1 在 Reddit 上被泄露,引发广泛关注。Llama 3.1 包含 8B、70B 和 405B 参数版本,基准测试显示其性能在多个领域超过了 OpenAI 的 GPT-4o 和 Claude Sonnet 3.5 等闭源模型。模型卡泄露的信息显示,Llama 3.1 使用了 15T+ tokens 进行训练,支持多语言,并进行了指令微调和合成数据训练。尽管泄露的下载链接已失效,但官方发布预计在即。
Source
机器之心
首个超越GPT4o级开源模型!Llama 3.1泄密:4050亿参数,下载链接、模型卡都有了
快准备好你的 GPU!
duangsuse::Echo
duangsuse: #kt #book 元编程 http://www.bilibili.com/video/BV1XH4y1w7mT https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf https://weread.qq.com/web/reader/f7632a00…
duangsuse:
草,虽然技术不怎么但例子还是值得一看
正好在外地就买来读
很久没读过纸质书,视力下降很大
https://www.bennyhuo.com/book/kotlin-coroutines/ 协程那本我就懒得买了,再说一个把yield 外提为语句,变成
let then=回调=()=>switch{} 里的编号这样简单的堆栈互换特性
也不值得学习
问题都是应用层们乱搞api,唉
在一些比较负责的sdk里,例如Lua和Duktape js,Thread是完全不需要await async的,就是把线程转为回调,也没有yield强制你只把then给调用方
和linux的cat|read() 等待另一端write一样
他们是怎么把“允许从触摸或IO事件回调线程” 封装成异步、Looper、Continuation那么复杂的.. 唉,资深技术nerd们🤓
其实,哪有什么协程呢?状态机?含续体回调? 好像C语言里read没有被内核挂起和回调一样,是不是不能while(1) 就比系统线程低一级了呢? vscode只用1个js线程,难道安卓架构比它还大?呵呵。。 Dispatcher就是个 (Runnable)->Unit 也能被封装成💩,Job.then搞成ctx链表就更逆天
丝毫不会怀疑这群万年魔法师的杰作
>简单来说就是,协程是一种非抢占式或者说协作式的计算机程序并发调度的实现,程序可以主动挂起或者恢复执行。这里还是需要有点儿操作系统的知识的,我们在 Java 虚拟机上所认识到的线程大多数的实现是映射到内核的线程的,也就是说线程当中的代码逻辑在线程抢到 CPU 的时间片的时候才可以执行,否则就得歇着,当然这对于我们开发者来说是透明的;而经常听到所谓的协程更轻量的意思是,协程并不会映射成内核线程或者其他这么重的资源,它的调度在用户态就可以搞定,任务之间的调度并非抢占式,而是协作式的。
tldr
看不清异步为何物可以理解,Web的Promise都不会对标可就搞笑了🌚
再想想编译原理状态机大switch都会,递归下降不懂,非要pushpop,哎😊
据我目前的认知, React甚至Vue3 使用自以为比 Webkit.org 聪明的“DOM diff” evpoll定时任务,今天终于全部转向"Hook" "Signal" 的push是js人不懂C++,不知道DOM是懒更新的
jvm人也这么普信?
草,虽然技术不怎么但例子还是值得一看
正好在外地就买来读
很久没读过纸质书,视力下降很大
https://www.bennyhuo.com/book/kotlin-coroutines/ 协程那本我就懒得买了,再说一个把yield 外提为语句,变成
let then=回调=()=>switch{} 里的编号这样简单的堆栈互换特性
也不值得学习
问题都是应用层们乱搞api,唉
在一些比较负责的sdk里,例如Lua和Duktape js,Thread是完全不需要await async的,就是把线程转为回调,也没有yield强制你只把then给调用方
和linux的cat|read() 等待另一端write一样
他们是怎么把“允许从触摸或IO事件回调线程” 封装成异步、Looper、Continuation那么复杂的.. 唉,资深技术nerd们🤓
其实,哪有什么协程呢?状态机?含续体回调? 好像C语言里read没有被内核挂起和回调一样,是不是不能while(1) 就比系统线程低一级了呢? vscode只用1个js线程,难道安卓架构比它还大?呵呵。。 Dispatcher就是个 (Runnable)->Unit 也能被封装成💩,Job.then搞成ctx链表就更逆天
丝毫不会怀疑这群万年魔法师的杰作
>简单来说就是,协程是一种非抢占式或者说协作式的计算机程序并发调度的实现,程序可以主动挂起或者恢复执行。这里还是需要有点儿操作系统的知识的,我们在 Java 虚拟机上所认识到的线程大多数的实现是映射到内核的线程的,也就是说线程当中的代码逻辑在线程抢到 CPU 的时间片的时候才可以执行,否则就得歇着,当然这对于我们开发者来说是透明的;而经常听到所谓的协程更轻量的意思是,协程并不会映射成内核线程或者其他这么重的资源,它的调度在用户态就可以搞定,任务之间的调度并非抢占式,而是协作式的。
tldr
看不清异步为何物可以理解,Web的Promise都不会对标可就搞笑了🌚
再想想编译原理状态机大switch都会,递归下降不懂,非要pushpop,哎😊
据我目前的认知, React甚至Vue3 使用自以为比 Webkit.org 聪明的“DOM diff” evpoll定时任务,今天终于全部转向"Hook" "Signal" 的push是js人不懂C++,不知道DOM是懒更新的
jvm人也这么普信?
duangsuse::Echo
duangsuse: #kt #book 元编程 http://www.bilibili.com/video/BV1XH4y1w7mT https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf https://weread.qq.com/web/reader/f7632a00…
“你用过 RxJava 类似的框架吗?”
学协程,需要知道rx扭曲的函数集吧?
😅艹,还好这是作者的初稿,不然我怕60块钱买亏了呢
魔法师一般是不会自称魔法的, 现在我听到魔法就想逃
好好的CS,AI整成Math那样。 那个几百年固步自封的希腊语学科?
并行是指while(1)们同时跑,对共享内存会产生数据竞争,即读/写了一半被对方访问。AtomicInt和锁不会产生竞争、SIMD和GPU不会有竞争
一些 #py 人不知道为啥有GIL(这个锁会让py以为你的CPU是单核,只是分时复用 就不会有竞争),这就是因为C里没有“回调”,py的IO实现v1.0就被单线绑死了,多核跑容易报错。
并发就是异步了,也就是IO快点。因为read()会卡死1个C线程,并发通过只接受回调,能允许同时等待多路IO(evpoll死循环)。因此理论上,Web的单线异步&伪服务Worker&GPU不会比其他sdk慢
import select,inotify 是一些较老的多路IO
numpy和 taichi-lang.cn 是真正的平行计算:从计算图API就是向量化。谁需要for while编译优化?🤓
总而言之,“并发”就是无需操心lock join(改为在函数'之间'await)的并行,说简单点就是Kotlin自己实现了Linux进程调度器,并且比后者更大聪明,完全不提Thread就能多线程IO
要是最终版也是这个“并发magic”的表述,我。。。🌝退钱
Cat:
我是挺赞成你的。我觉得并发真不 magic 只是大家曾经或者现在都对它抱有幻觉(
duangsuse:
就像曾经对xml(笑
然后compose来了
人们真的不需要一个“强大的框架”
只需要 import 一次,就不再给人惹麻烦的东西
「强大」是领域带来的,例如界面和算法。 语言的任务,应该是把问题变简单、变好记。
学协程,需要知道rx扭曲的函数集吧?
😅艹,还好这是作者的初稿,不然我怕60块钱买亏了呢
魔法师一般是不会自称魔法的, 现在我听到魔法就想逃
好好的CS,AI整成Math那样。 那个几百年固步自封的希腊语学科?
并行是指while(1)们同时跑,对共享内存会产生数据竞争,即读/写了一半被对方访问。AtomicInt和锁不会产生竞争、SIMD和GPU不会有竞争
一些 #py 人不知道为啥有GIL(这个锁会让py以为你的CPU是单核,只是分时复用 就不会有竞争),这就是因为C里没有“回调”,py的IO实现v1.0就被单线绑死了,多核跑容易报错。
并发就是异步了,也就是IO快点。因为read()会卡死1个C线程,并发通过只接受回调,能允许同时等待多路IO(evpoll死循环)。因此理论上,Web的单线异步&伪服务Worker&GPU不会比其他sdk慢
import select,inotify 是一些较老的多路IO
numpy和 taichi-lang.cn 是真正的平行计算:从计算图API就是向量化。谁需要for while编译优化?🤓
总而言之,“并发”就是无需操心lock join(改为在函数'之间'await)的并行,说简单点就是Kotlin自己实现了Linux进程调度器,并且比后者更大聪明,完全不提Thread就能多线程IO
要是最终版也是这个“并发magic”的表述,我。。。🌝退钱
Cat:
我是挺赞成你的。我觉得并发真不 magic 只是大家曾经或者现在都对它抱有幻觉(
duangsuse:
就像曾经对xml(笑
然后compose来了
人们真的不需要一个“强大的框架”
只需要 import 一次,就不再给人惹麻烦的东西
「强大」是领域带来的,例如界面和算法。 语言的任务,应该是把问题变简单、变好记。
👍1
Forwarded from dnaugsuz
#statement 以前我喜欢搞编译器,玩元编程
但那只是沉溺在算数、跳转、字节之间,是大同小异的文字游戏
而且还会和丝毫不重视书写体验的函数式、类型体操人混淆不清
魔法对生涯是没有帮助的。 或许利于求职,但那魔法起源于八股。
现在我深刻认识到,程序员和其他人的唯一差别,就是爱用「心智模型」来对比和解决问题。「模型」能跨越语言,只和范式有关,而最高效的范式就是基于表格的OOP
编程语言的唯一价值,就是提供语意明确、博采众长的模型和API,作为软件设计生态里的导游和期刊
其他任何与问题无关的术语、故意搞特殊的框架,我们不封装不科普也会被AI替代
相信未来的编程语言与kotlin相比,能和java与C相比差异那样大。 比如说,面向逻辑关系编程
但那只是沉溺在算数、跳转、字节之间,是大同小异的文字游戏
而且还会和丝毫不重视书写体验的函数式、类型体操人混淆不清
魔法对生涯是没有帮助的。 或许利于求职,但那魔法起源于八股。
现在我深刻认识到,程序员和其他人的唯一差别,就是爱用「心智模型」来对比和解决问题。「模型」能跨越语言,只和范式有关,而最高效的范式就是基于表格的OOP
编程语言的唯一价值,就是提供语意明确、博采众长的模型和API,作为软件设计生态里的导游和期刊
其他任何与问题无关的术语、故意搞特殊的框架,我们不封装不科普也会被AI替代
相信未来的编程语言与kotlin相比,能和java与C相比差异那样大。 比如说,面向逻辑关系编程
duangsuse::Echo
duangsuse: #kt #book 元编程 http://www.bilibili.com/video/BV1XH4y1w7mT https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf https://weread.qq.com/web/reader/f7632a00…
#java #plt Science Yuan:
静态和动态的元编程是完全不同的
duangsuse:
并不是,只是类型信息在不在javac -cp 里而已。 如果在,例如for(const getMethods..) 生成/加载元组是可行的
你说的「完全不一样」,无非是jdk区分了 lang.reflect vs APT lang.model,后者能访问的信息更少,至少不能对某个参数getset() ,更不能获取返回值,因为 @Marker()很难写在语句级,更不能作为表达式
但编译和eval()并不存在所谓的鸿沟,就连未知变量,例如 int[] a 吧,从里面生成静态slice(用于vararg强转&传参?),或者解构赋值,也只是loop unroll(见Zig)而已
无非是编译器弱智到只能检查类型解析个方法签名, a[i] 就只能生成 aload ,不能把i的值粘贴进去(二段求值), {x,y}就只能是anew,不能作为编译期的list生成 x=a[0]; y=..
--基本这只需要往str内联常量,也就是说 (unquote x[i] {i:1})
甚至x不知道,i:1编译期也算不出,unquote=eval 就能完美容错!
apt和XXpoet的弱智显然是不可理喻的,因为解释器、解析器更好实现 https://t.me/kotlin_cn/105813
py不像js,它还是强检查的,js里甚至没有dataclass一说 一切皆字典
但这也有些坏处,就是元编程有些开销不完全与手写相等,这点我的 https://github.com/duangsuse-valid-projects/tkgui 通过缓存化eval很好解决了
这进一步说明,过程宏绝对不是rust! 那样的魔法,整个安卓所需的一切仅仅是 for(const x: T.vars) 的apt而已
lang.reflect 和Proxy都会在运行时生成字节码,更别说lang.invoke了,它会被查找并替换为具体的invoke字节码(例如被动态编译的 LambdaMetafactory(this,"methSig").invoke 方法)
这也是为什么Android重新实现了它们,要不然就要携带一个dx.jar作为类加载器动态翻译
静态和动态的元编程是完全不同的
duangsuse:
并不是,只是类型信息在不在javac -cp 里而已。 如果在,例如for(const getMethods..) 生成/加载元组是可行的
你说的「完全不一样」,无非是jdk区分了 lang.reflect vs APT lang.model,后者能访问的信息更少,至少不能对某个参数getset() ,更不能获取返回值,因为 @Marker()很难写在语句级,更不能作为表达式
但编译和eval()并不存在所谓的鸿沟,就连未知变量,例如 int[] a 吧,从里面生成静态slice(用于vararg强转&传参?),或者解构赋值,也只是loop unroll(见Zig)而已
无非是编译器弱智到只能检查类型解析个方法签名, a[i] 就只能生成 aload ,不能把i的值粘贴进去(二段求值), {x,y}就只能是anew,不能作为编译期的list生成 x=a[0]; y=..
--基本这只需要往str内联常量,也就是说 (unquote x[i] {i:1})
甚至x不知道,i:1编译期也算不出,unquote=eval 就能完美容错!
apt和XXpoet的弱智显然是不可理喻的,因为解释器、解析器更好实现 https://t.me/kotlin_cn/105813
py不像js,它还是强检查的,js里甚至没有dataclass一说 一切皆字典
但这也有些坏处,就是元编程有些开销不完全与手写相等,这点我的 https://github.com/duangsuse-valid-projects/tkgui 通过缓存化eval很好解决了
这进一步说明,过程宏绝对不是rust! 那样的魔法,整个安卓所需的一切仅仅是 for(const x: T.vars) 的apt而已
lang.reflect 和Proxy都会在运行时生成字节码,更别说lang.invoke了,它会被查找并替换为具体的invoke字节码(例如被动态编译的 LambdaMetafactory(this,"methSig").invoke 方法)
这也是为什么Android重新实现了它们,要不然就要携带一个dx.jar作为类加载器动态翻译
Telegram
duangsuse in Kotlin CN
你是说data class.copy() 方法签名不兼容的问题
还是想AOT化 callWithDefaults
想起来了,是 undefined=默认参数, ksp的问题上面是这样 https://t.me/kotlin_cn/104488
目前没人看
jspy可以用kwarg解构实现
还是想AOT化 callWithDefaults
想起来了,是 undefined=默认参数, ksp的问题上面是这样 https://t.me/kotlin_cn/104488
目前没人看
jspy可以用kwarg解构实现
螺莉莉的黑板报
【本报讯】首个超越 GPT-4o 的开源模型!Llama 3.1 泄露:4050 亿参数即将登场! 近日,Meta 的新一代大模型 Llama 3.1 在 Reddit 上被泄露,引发广泛关注。Llama 3.1 包含 8B、70B 和 405B 参数版本,基准测试显示其性能在多个领域超过了 OpenAI 的 GPT-4o 和 Claude Sonnet 3.5 等闭源模型。模型卡泄露的信息显示,Llama 3.1 使用了 15T+ tokens 进行训练,支持多语言,并进行了指令微调和合成数据训练。尽…
https://t.me/danteslimbo/3368
duangsuse: #谈政事 UBI红利
这个普法现金是资本主义版的,收支透明,加上有新的AI奴隶, 结果会不一样
大跃进主要的问题不是大锅饭,而是完全禁止多劳多得,zz挂帅瞎指挥、浮夸风、高税收
UBI不是的,只是一种提升消费的福利,中国目前基本上还是负福利
某党普遍有一种错觉,饥荒都是福利陷阱导致的
那完全是错误归因,因为他们发的福利,是伴随政治经济翻天覆地变化来的。波波没有给人发福利,为什么也代来灾难? 美团讲师每天蹭吃蹭喝捡鸡腿,为啥没影响其他润人奋斗?
其实只要留一点点小产权,不要打鸡血瞎指挥,哪怕继续吃大锅饭、继续充胖子还鹅爹的粮,灾害情况都会好一半
那三年末,某些人要求「宁要核子不要裤子」,又说抗美援朝之流是「大仁政」,对农B救亡图存只是小的,它就是为了核子剥光衣服的🤡
多少地方农民吃观音土第二天就要撑死了,这核弹,保护的是他们的生命么? 幸好它抗美援朝,不然中国就是西朝鲜
duangsuse: #谈政事 UBI红利
这个普法现金是资本主义版的,收支透明,加上有新的AI奴隶, 结果会不一样
大跃进主要的问题不是大锅饭,而是完全禁止多劳多得,zz挂帅瞎指挥、浮夸风、高税收
UBI不是的,只是一种提升消费的福利,中国目前基本上还是负福利
某党普遍有一种错觉,饥荒都是福利陷阱导致的
那完全是错误归因,因为他们发的福利,是伴随政治经济翻天覆地变化来的。波波没有给人发福利,为什么也代来灾难? 美团讲师每天蹭吃蹭喝捡鸡腿,为啥没影响其他润人奋斗?
其实只要留一点点小产权,不要打鸡血瞎指挥,哪怕继续吃大锅饭、继续充胖子还鹅爹的粮,灾害情况都会好一半
那三年末,某些人要求「宁要核子不要裤子」,又说抗美援朝之流是「大仁政」,对农B救亡图存只是小的,它就是为了核子剥光衣服的🤡
多少地方农民吃观音土第二天就要撑死了,这核弹,保护的是他们的生命么? 幸好它抗美援朝,不然中国就是西朝鲜
Telegram
Dante's Limbo
#吐槽 #暴论
当然,更大规模更深入的 UBI 其实是有做过实验的,这个实验的结果,惨不忍睹。所有中国人都知道——大跃进。
之所以吐这个槽,是因为我在读萧冬连的 #筚路维艰
https://weibo.com/1560906700/OoUkbgQRs
当然,更大规模更深入的 UBI 其实是有做过实验的,这个实验的结果,惨不忍睹。所有中国人都知道——大跃进。
之所以吐这个槽,是因为我在读萧冬连的 #筚路维艰
https://weibo.com/1560906700/OoUkbgQRs
duangsuse::Echo pinned «duangsuse: #kt #book 元编程 http://www.bilibili.com/video/BV1XH4y1w7mT https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf https://weread.qq.com/web/reader/f7632a00…»
#kt #code 😊之前,v8 blog说Promise就是Continuation(含续体的回调),我还觉得多此一举
和Kotlin“强大”的API一比,我却要变成ES6吹了。Web的先驱者们简直是先知啊! 代码越复杂,成品功能越简陋。这就是为什么安卓app体积不断膨胀,功能却越来越卡。
😊顺带把阿K没有统一的err/null错处也搞了,还要什么 o?.x?.y ?: 1
https://www.bennyhuo.com/book/kotlin-coroutines/12-why-so-called-lightweight-thread.html
上面说协程=Thread.asCallback() 只是一种go/lua的罕见情况,好理解嘛。
kt里协程是通过retAddr()作为参数,实现的链表化调用栈,其第0项一般是 runBlocking{}或thisCPU.nextJob
这样可以在主循环注册任意个delay()或flow{}的回调,优化 Promise.all。这是虚拟线程所不擅长的
https://www.bennyhuo.com/book/kotlin-coroutines/13-implementations.html
和Kotlin“强大”的API一比,我却要变成ES6吹了。Web的先驱者们简直是先知啊! 代码越复杂,成品功能越简陋。这就是为什么安卓app体积不断膨胀,功能却越来越卡。
interface Promise_<R,T> {
fun then(ret:OrErr<R>) //delay() 后应该这么做,那之前只需调用它并return。它通过cpu{}排队,另一种排法是yield Promise
//launch(ctx=Main+CoroName("val")) Map状链表DSL。Job等元素
var cpu:(Runnable)->Unit; name=""
fun go(:T?):R
fun stop(:ErrStop)
stdState=0,1完成,2取消
//不要使用截获器和Key环境变量。组合优于继承,go 的WaitGroup比不伦鸡肋的scope明确多了,Android的curl比js的fetch流更复杂吗?
}
type OrErr<R>=Or<R,Err>, Err=Exception
val OrErr<R>.!!: R
sealed Or<out A,B> {
data A(:A) data B(:B)
fun as(A->R?, B->R?={null}): R?
val A:A? val B:B?
}
fun T?.as(R, T->R):R
fun T?.as(T->R):R?
😊顺带把阿K没有统一的err/null错处也搞了,还要什么 o?.x?.y ?: 1
https://www.bennyhuo.com/book/kotlin-coroutines/12-why-so-called-lightweight-thread.html
上面说协程=Thread.asCallback() 只是一种go/lua的罕见情况,好理解嘛。
kt里协程是通过retAddr()作为参数,实现的链表化调用栈,其第0项一般是 runBlocking{}或thisCPU.nextJob
这样可以在主循环注册任意个delay()或flow{}的回调,优化 Promise.all。这是虚拟线程所不擅长的
https://www.bennyhuo.com/book/kotlin-coroutines/13-implementations.html
Benny Huo 的专栏
12. 协程为什么被称为『轻量级线程』?
接触新概念,最好的办法就是先整体看个大概,再回过头来细细品味。 文中如果没有特别说明,协程指编程语言级别的协程,线程则特指操作系统内核线程。 1. 协程到底是啥? Kotlin 的协程从 v1.1 开始公测(Experimental) 到现在,已经算是非常成熟了,但大家对它的看法却一直存在各种疑问,为什么呢?因为即便我们把 Kotlin 丢掉,单纯协程...
duangsuse::Echo
duangsuse: #kt #book 元编程 http://www.bilibili.com/video/BV1XH4y1w7mT https://drive.bennyhuo.com/zh-CN/talks/2018.11.17-%E4%BC%98%E9%9B%85%E5%9C%B0%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B_final.pdf https://weread.qq.com/web/reader/f7632a00…
duangsuse:
此callback非彼回调
这个cb是编译器自动生成的class
web apis从一开始就线程无关
有什么平台和语言敢说自己的异步API比Promise经受更多用户考验?
那个是动态语言所必须的,kt有编译期,完全可以不染色
然而只有suspend fun是和正常函数完全相同的,业务上完全没有比js优秀
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
algebra effect https://t.me/dsuse/19174
coroutine这个词不需要存在,即便是在脚本里,最多需要await和numpy的真正并发并行计算
而且即便存在,霍老也不应该说什么magic
不过就是把return()变成值,通过callLater{delay.then(me)}构成链表,要么就简单到 Thread.asCallback
可以知道,Coroutine(而非Closure), Dispatcher/awaiter 都只是为确保函数return后能正常复活的东西,和调用栈完全一致
强调它们不同的,不是蠢就是坏
堆栈互转的玩意,说的跟迷因似的术语一大堆,严重被高估了。OOP构造函数同理
还有元编程、xml ,完全是语法太复杂导致的无效学习。你看 compose DSL需不需要拖拽设计器
coroutine是在搞特殊,因为linux的read() write()就是自己的await和yield,linux没有说协程
多线程是为了IO多路(evpull)和分块计算之类的,linux没法掩藏这些细节,但语言不掩藏就是语言愚蠢了
反倒是lua以后那么多年没有语言跟进,都在回调地狱,这是问题。
lisper 在把 @Adder(x=2) 生成为 (unquote '(+ 1 x)) 时可不会觉得是魔法
他们写 (let '([x y] ary)) 时也很清楚,这不过是一种list(str) 的循环处理
kt写inline也不会觉得很难理解
也罢,毕竟字符串模板目前还是ES6的专利,php都还在sql注入呢
所以java语法比嵌套的括号还低端吗
我是说无缝RPC其他语言脚本的这回事
sql``select ${1} 是不会注入,那为啥sql里有个 ?参数的概念呢?
PHP通过ORM和prepare语句确实不会注入,那么php跨语言调用js脚本呢?
只能用reflect.invoke那种API吧?
ES6可以随便调用任何py js rb JSON接口而无惧注入
不仅如此,js还可以靠eval('var ..') 自己注入自己,顺带实现codegen
想不想注入,都是开发者说了算😊🤓
#statement 我一开始就说了啊,讨厌magic
作者在后面的章节明明有更大体的理解,却不懂知识重构
反而把这些含语言设计者私心的API拿来讲课
两句话说明白的东西,何必浪费读者时间。后面讲Channel,sequence,flow 时读者懵是不是还要复习一遍?
最讨厌与语言、与CS术语耦合的私货了。 谈算法不离编程语言的,两句话不离语意模糊的术语的,可能是称职的程序员,但绝对没有准备好设计优秀的框架
这让我怀念 coolshell.cn 的耗子,虽然他过劳死了,但不到50不写书的工匠精神确实值得钦佩,因为知识布道者确实要这样谨慎。
要是编译原理/元编程界的多数人都这么有格局,lua zig的这些优点也不会雪藏那么多年, http连双端绑定都做不到的框架也不会活那么久
duangsuse:
#kt coroutine 和现在js async func* 的情况一样,一开始没有flow,后来加进去就是。。一言难尽
我不觉得把分页数组和Reactive混为一谈是好的
就像现在flow也需要buffered()或只留最后一项
这不太能统一化缓冲区
🌚flow模仿数组好像也说得过去,但总觉得有点像C数组或指针,是在搞混淆
flow如果和sequence{}统一就更好了,使用可调的默认bufsize而不是yield一次一个值。
这样和linux的iostream就合体了,而且也能实现vue ref()的效果,两个不耽误
太过重视调度线程是在模糊要点
此callback非彼回调
这个cb是编译器自动生成的class
web apis从一开始就线程无关
有什么平台和语言敢说自己的异步API比Promise经受更多用户考验?
那个是动态语言所必须的,kt有编译期,完全可以不染色
然而只有suspend fun是和正常函数完全相同的,业务上完全没有比js优秀
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
algebra effect https://t.me/dsuse/19174
coroutine这个词不需要存在,即便是在脚本里,最多需要await和numpy的真正并发并行计算
而且即便存在,霍老也不应该说什么magic
不过就是把return()变成值,通过callLater{delay.then(me)}构成链表,要么就简单到 Thread.asCallback
可以知道,Coroutine(而非Closure), Dispatcher/awaiter 都只是为确保函数return后能正常复活的东西,和调用栈完全一致
强调它们不同的,不是蠢就是坏
堆栈互转的玩意,说的跟迷因似的术语一大堆,严重被高估了。OOP构造函数同理
还有元编程、xml ,完全是语法太复杂导致的无效学习。你看 compose DSL需不需要拖拽设计器
coroutine是在搞特殊,因为linux的read() write()就是自己的await和yield,linux没有说协程
多线程是为了IO多路(evpull)和分块计算之类的,linux没法掩藏这些细节,但语言不掩藏就是语言愚蠢了
反倒是lua以后那么多年没有语言跟进,都在回调地狱,这是问题。
lisper 在把 @Adder(x=2) 生成为 (unquote '(+ 1 x)) 时可不会觉得是魔法
他们写 (let '([x y] ary)) 时也很清楚,这不过是一种list(str) 的循环处理
kt写inline也不会觉得很难理解
也罢,毕竟字符串模板目前还是ES6的专利,php都还在sql注入呢
所以java语法比嵌套的括号还低端吗
我是说无缝RPC其他语言脚本的这回事
sql``select ${1} 是不会注入,那为啥sql里有个 ?参数的概念呢?
PHP通过ORM和prepare语句确实不会注入,那么php跨语言调用js脚本呢?
只能用reflect.invoke那种API吧?
ES6可以随便调用任何py js rb JSON接口而无惧注入
不仅如此,js还可以靠eval('var ..') 自己注入自己,顺带实现codegen
想不想注入,都是开发者说了算😊🤓
#statement 我一开始就说了啊,讨厌magic
作者在后面的章节明明有更大体的理解,却不懂知识重构
反而把这些含语言设计者私心的API拿来讲课
两句话说明白的东西,何必浪费读者时间。后面讲Channel,sequence,flow 时读者懵是不是还要复习一遍?
最讨厌与语言、与CS术语耦合的私货了。 谈算法不离编程语言的,两句话不离语意模糊的术语的,可能是称职的程序员,但绝对没有准备好设计优秀的框架
这让我怀念 coolshell.cn 的耗子,虽然他过劳死了,但不到50不写书的工匠精神确实值得钦佩,因为知识布道者确实要这样谨慎。
要是编译原理/元编程界的多数人都这么有格局,lua zig的这些优点也不会雪藏那么多年, http连双端绑定都做不到的框架也不会活那么久
duangsuse:
#kt coroutine 和现在js async func* 的情况一样,一开始没有flow,后来加进去就是。。一言难尽
我不觉得把分页数组和Reactive混为一谈是好的
就像现在flow也需要buffered()或只留最后一项
这不太能统一化缓冲区
🌚flow模仿数组好像也说得过去,但总觉得有点像C数组或指针,是在搞混淆
flow如果和sequence{}统一就更好了,使用可调的默认bufsize而不是yield一次一个值。
这样和linux的iostream就合体了,而且也能实现vue ref()的效果,两个不耽误
太过重视调度线程是在模糊要点
https://coolshell.cn/articles/22320.html #linux #learn 内核/libc AOP 技术介绍
#ai 生成结果不错,晚点 #todo
分别举例用 strace;stap 监控文件打开
分别举例用 strace;stap 监控htop进程的文件打开
分别举例用 frida;ebpf 监控htop进程的文件打开
使用 criu 休眠和恢复 htop进程,进程状态存储为 a.zip
重新把 /proc/$pid 的标准流对接到一个虚拟终端,就像fg job
编写脚本,使用overlayfs和chroot模拟fakeroot,在退出时将更改保存到 a.tar.xz 且允许再次打开
用Luanitik 编写文件系统驱动 nullfs.lua,返回空目录
#ai 生成结果不错,晚点 #todo
分别举例用 strace;stap 监控文件打开
分别举例用 strace;stap 监控htop进程的文件打开
分别举例用 frida;ebpf 监控htop进程的文件打开
使用 criu 休眠和恢复 htop进程,进程状态存储为 a.zip
重新把 /proc/$pid 的标准流对接到一个虚拟终端,就像fg job
编写脚本,使用overlayfs和chroot模拟fakeroot,在退出时将更改保存到 a.tar.xz 且允许再次打开
用Luanitik 编写文件系统驱动 nullfs.lua,返回空目录
酷 壳 - CoolShell
eBPF 介绍 | 酷 壳 - CoolShell
#design #tool https://fixupx.com/stammy/status/1815800758199361629?s=46
https://www.freefaces.gallery/
https://motherfuckingwebsite.com/
https://keyboardsimulator.xyz/
http://interface.watch
https://www.elmo.chat/ #ai
https://github.com/bugbakery/audapolis tts
https://github.com/trholding/llama2.c/blob/master/runq.c
拒绝一切 neofetch #linux
拒绝 NV显卡,非炼丹术士,用不上
拒绝一切 lib32 ( 禁用 multilib ),所以咱和 wine 八字不合
拒绝一切 拖家带口的软件,相比直接安装 shellcheck 会带上一大堆 haskell ,我更喜欢直接去 GitHub 拿二进制文件来用
话说 AUR 源和 homebrew 类似,提供的是食谱,是 midi,不是 wav,不是 bin
所以清华 TUNA 放弃 AUR 没啥问题,反正真正阻止你用 AUR 的是开盲盒般的 GitHub 访问体验
Arch 实际上体验成本不高,archinstall 已经非常可用了,不过在愉快地设置安装前推荐去 /etc/pacman.d/mirrorlist 里把国外源都干掉,国内源留一两个 https 的就足够
pacman 一开始接触会觉得非常反人类
常用的首字母就俩 :
S 从网上
Q 从本地
后面就可以开始叠 buff 了 :
i 列出包信息
y 更新缓存
l 列出包文件
s 找包
还有俩特殊的 :
Rs 删 Rd 忽略依赖地删
F 通过文件找包 Fy 前文 + 更新缓存
炸 grub 不怕,因为压根不用 grub
systemd 的魔爪已经
用 systemd-boot 取代了 grub
用 systemd-networkd 取代了 NetworkManager
grub 引导挂了从启动盘启动,按 gentoo 方法把系统挂上,重新 grub-install 一下问题就解决了
https://t.me/kotlin_cn/110568 #故事会
https://www.freefaces.gallery/
https://motherfuckingwebsite.com/
https://keyboardsimulator.xyz/
http://interface.watch
https://www.elmo.chat/ #ai
https://github.com/bugbakery/audapolis tts
https://github.com/trholding/llama2.c/blob/master/runq.c
拒绝一切 neofetch #linux
拒绝 NV显卡,非炼丹术士,用不上
拒绝一切 lib32 ( 禁用 multilib ),所以咱和 wine 八字不合
拒绝一切 拖家带口的软件,相比直接安装 shellcheck 会带上一大堆 haskell ,我更喜欢直接去 GitHub 拿二进制文件来用
话说 AUR 源和 homebrew 类似,提供的是食谱,是 midi,不是 wav,不是 bin
所以清华 TUNA 放弃 AUR 没啥问题,反正真正阻止你用 AUR 的是开盲盒般的 GitHub 访问体验
Arch 实际上体验成本不高,archinstall 已经非常可用了,不过在愉快地设置安装前推荐去 /etc/pacman.d/mirrorlist 里把国外源都干掉,国内源留一两个 https 的就足够
pacman 一开始接触会觉得非常反人类
常用的首字母就俩 :
S 从网上
Q 从本地
后面就可以开始叠 buff 了 :
i 列出包信息
y 更新缓存
l 列出包文件
s 找包
还有俩特殊的 :
Rs 删 Rd 忽略依赖地删
F 通过文件找包 Fy 前文 + 更新缓存
炸 grub 不怕,因为压根不用 grub
systemd 的魔爪已经
用 systemd-boot 取代了 grub
用 systemd-networkd 取代了 NetworkManager
grub 引导挂了从启动盘启动,按 gentoo 方法把系统挂上,重新 grub-install 一下问题就解决了
https://t.me/kotlin_cn/110568 #故事会
FxTwitter / FixupX
Stammy (@Stammy)
now this is a side project
Forwarded from dnaugsuz
#java oop 面试题 https://www.bennyhuo.com/2023/08/29/new-book-metaprogramming/#more
哈哈😄,这个好玩
1.(final T)在Gradle里是开发规范,但和final var一样对性能无影响 凑字数
final class是常用法,有些人在使用了虚方法(=构造期传函数)时会对其他项打final,幸好kt里是非open var即封闭、不可变
2final的类名上变量支持常量折叠如 if(DEBUG)
3 JVM.utf16文本相当于动态创建的enum,也就是低速拼接换高速equals,它的值不可替换,就像List.of().add()在运行时不可变,因此final不像rust,管不着Object函数内的重赋值
4lang.reflect.Field,Unsafe,Xposed可以
5直接共享,避免转移所有权
6可以装箱到堆上,例如AtomicInt,这样就能被非局部赋值了。 但更应该使用inline fun
py里 for 0~9: timer(it, lambda: say it) 只打印9,是它必须手写的原因
哈哈😄,这个好玩
1.(final T)在Gradle里是开发规范,但和final var一样对性能无影响 凑字数
final class是常用法,有些人在使用了虚方法(=构造期传函数)时会对其他项打final,幸好kt里是非open var即封闭、不可变
2final的类名上变量支持常量折叠如 if(DEBUG)
3 JVM.utf16文本相当于动态创建的enum,也就是低速拼接换高速equals,它的值不可替换,就像List.of().add()在运行时不可变,因此final不像rust,管不着Object函数内的重赋值
4lang.reflect.Field,Unsafe,Xposed可以
5直接共享,避免转移所有权
6可以装箱到堆上,例如AtomicInt,这样就能被非局部赋值了。 但更应该使用inline fun
py里 for 0~9: timer(it, lambda: say it) 只打印9,是它必须手写的原因
Forwarded from Hacker News
Audapolis: Edit audio files by transcript, not waveform (Score: 151+ in 5 hours)
Link: https://readhacker.news/s/6bFxR
Comments: https://readhacker.news/c/6bFxR
Link: https://readhacker.news/s/6bFxR
Comments: https://readhacker.news/c/6bFxR
GitHub
GitHub - bugbakery/audapolis: an editor for spoken-word audio with automatic transcription
an editor for spoken-word audio with automatic transcription - bugbakery/audapolis
Forwarded from Bardos News
🕊 InfoQ 讯
将AI部署成本降低8倍!Yandex 发布LLM极限压缩方法:Llama 2 只需1个GPU 即可运行
🦜📖:近日,Yandex Research、IST Austria、KAUST和Neural Magic研究团队开发出两种压缩大型语言模型(LLM)的新方法:加性量化语言模型(AQLM)和PV-Tuning。这两种方法可在不影响模型性能的前提下实现极限压缩,并在零样本任务中表现优异。PV-Tuning框架解决了模型压缩过程中可能出现的误差问题。结合使用这两种方法,可实现最佳效果,即使模型被压缩至12.5%,答案质量仍保持在95%。这些方法已得到开源模型如LLama 2、Mistral和Mixtral的验证。新方法为开发和部署专有语言模型和开源LLM的公司节省资源,并使离线部署模型成为可能,为智能手机、智能音箱等设备开辟新使用场景。
将AI部署成本降低8倍!Yandex 发布LLM极限压缩方法:Llama 2 只需1个GPU 即可运行
🦜📖:近日,Yandex Research、IST Austria、KAUST和Neural Magic研究团队开发出两种压缩大型语言模型(LLM)的新方法:加性量化语言模型(AQLM)和PV-Tuning。这两种方法可在不影响模型性能的前提下实现极限压缩,并在零样本任务中表现优异。PV-Tuning框架解决了模型压缩过程中可能出现的误差问题。结合使用这两种方法,可实现最佳效果,即使模型被压缩至12.5%,答案质量仍保持在95%。这些方法已得到开源模型如LLama 2、Mistral和Mixtral的验证。新方法为开发和部署专有语言模型和开源LLM的公司节省资源,并使离线部署模型成为可能,为智能手机、智能音箱等设备开辟新使用场景。
dnaugsuz
#java oop 面试题 https://www.bennyhuo.com/2023/08/29/new-book-metaprogramming/#more 哈哈😄,这个好玩 1.(final T)在Gradle里是开发规范,但和final var一样对性能无影响 凑字数 final class是常用法,有些人在使用了虚方法(=构造期传函数)时会对其他项打final,幸好kt里是非open var即封闭、不可变 2final的类名上变量支持常量折叠如 if(DEBUG) 3 JVM.utf16文本…
duangsuse:
nonlocal x=的那条? 总比在C++里到处[]() 或move||要好
大家都不知道闭包捕获引用这些,这首先就要把那些XXer 的SAM类变成函数,然后才有非局部赋值问题
java虽然总八股值和引用,但大家总是不重赋值或深拷贝
我举那个py的例子算是好的,因为py这个畜生是直接把局部创建的cell()给捕获了。。
for a[0] in range 是有效的,许多人搞不明白
duangsuse:
orm就是把class 带上where sort 绑定到sql TABLE
基本上还应该带pager
Spring负责把http路径转到类路径,绑定个函数签名
理论上,pgsql 应该直接回应http请求的😂
90%的代码不过是做鉴权这样的中间件AOP
这一切,都是从PHP和XMLHttpRequest开始
唉,万能http
所以说AOP啊,pre post一加
你看有多少不是纯CRUD
不少小公司和C#的都是直接调用sql函数,不用后端
结果最后还是让程序员充当aigc了是吧。。
那些代码看一眼都算码农啊。。
怎么能容忍90%都是跨端复制的逻辑呢?
你不写,他们也会以合规为由要求写
jpa难道不能和sql模板打配合?
graphql.io 好,百度也有个json ql叫啥 https://baidu.github.io/amis/zh-CN/components/crud?page=1
凑字数能力很强
#sql 可垃圾着呢,我还写过生成sql的查询语言 https://t.me/dsuse/17740
读着自然?都是骗人的, SQsu 都比它更“人类”
select id from 狗 where (月龄>6 and 高>40);
aka 取狗(月龄>6 and 高>40)
正宗的关系式写法是:
狗(id,高,月龄), 月龄>6, 高>40
区区filterSort的模板不值得从ORM,CMS,低代码 这些里面分出个后端开发来
http路径就是类路径,类结构就是方便转码和校验sql数据
绝大部分的app并不需要后端框架,只要pg支持http风格的sql语句和json化,加个鉴权分页什么的。
如果不是pg存储过程的语法垃圾没类库,它就登顶了
#haha #bilibili
pg的存储函数没有类库,也不好 json io, java 才充当了这个协议转换垫片
因此许多SaaS对象存储都是NoSQL的,因为这种RPC架构冗余代码太多🌚
然而在EE程序员逆天才的智锐随变下,无论是生成xml或暴露路由表对象的服务器,绑定函数的方法都非常冗余, demo的匮乏程度更是让人叹为观止
甚至连五星逼格的rust都不禁这样评价:
它们好像连classpath就是URL模板的这回事都搞不清楚,方法签名绑定也做不好,还@什么原神数据来codegen😋
很牛逼吗?fastapi,django, 正常语言到处都在用,放javakt就是高手了,这是🐮逼还是装嫩?
完全无法理解MyBatis为什么比jpa流行,还煞有介事的搞面试题
一个 sql``${} 调用模板罢了
一个被专门做来AI生成的语言,那肯定是垃圾
甚至,ORM都是一种浪费,因为70%的字段根本不会被访问,只是复制到数据库,又复制回js或php式模板侧
连最基本的程数同构都没学过,compose 后才开始搞DSL,更谈何避免Header绑定和分页参数的重复、PUT DELETED POST三方法的多态融合,更别说理解http调用与sql、与bash命令行的同质了。
人家import fire可是0代码就能提供命令行,甚至colab UI。
java元编程能吗?逆天 才EE程序员没那个心智模型!🌝
nonlocal x=的那条? 总比在C++里到处[]() 或move||要好
大家都不知道闭包捕获引用这些,这首先就要把那些XXer 的SAM类变成函数,然后才有非局部赋值问题
java虽然总八股值和引用,但大家总是不重赋值或深拷贝
我举那个py的例子算是好的,因为py这个畜生是直接把局部创建的cell()给捕获了。。
for a[0] in range 是有效的,许多人搞不明白
duangsuse:
orm就是把class 带上where sort 绑定到sql TABLE
基本上还应该带pager
Spring负责把http路径转到类路径,绑定个函数签名
理论上,pgsql 应该直接回应http请求的😂
90%的代码不过是做鉴权这样的中间件AOP
这一切,都是从PHP和XMLHttpRequest开始
唉,万能http
所以说AOP啊,pre post一加
你看有多少不是纯CRUD
不少小公司和C#的都是直接调用sql函数,不用后端
结果最后还是让程序员充当aigc了是吧。。
那些代码看一眼都算码农啊。。
怎么能容忍90%都是跨端复制的逻辑呢?
你不写,他们也会以合规为由要求写
jpa难道不能和sql模板打配合?
graphql.io 好,百度也有个json ql叫啥 https://baidu.github.io/amis/zh-CN/components/crud?page=1
凑字数能力很强
#sql 可垃圾着呢,我还写过生成sql的查询语言 https://t.me/dsuse/17740
读着自然?都是骗人的, SQsu 都比它更“人类”
select id from 狗 where (月龄>6 and 高>40);
aka 取狗(月龄>6 and 高>40)
正宗的关系式写法是:
狗(id,高,月龄), 月龄>6, 高>40
区区filterSort的模板不值得从ORM,CMS,低代码 这些里面分出个后端开发来
http路径就是类路径,类结构就是方便转码和校验sql数据
绝大部分的app并不需要后端框架,只要pg支持http风格的sql语句和json化,加个鉴权分页什么的。
如果不是pg存储过程的语法垃圾没类库,它就登顶了
#haha #bilibili
pg的存储函数没有类库,也不好 json io, java 才充当了这个协议转换垫片
因此许多SaaS对象存储都是NoSQL的,因为这种RPC架构冗余代码太多🌚
然而在EE程序员逆天才的智锐随变下,无论是生成xml或暴露路由表对象的服务器,绑定函数的方法都非常冗余, demo的匮乏程度更是让人叹为观止
甚至连五星逼格的rust都不禁这样评价:
它们好像连classpath就是URL模板的这回事都搞不清楚,方法签名绑定也做不好,还@什么原神数据来codegen😋
很牛逼吗?fastapi,django, 正常语言到处都在用,放javakt就是高手了,这是🐮逼还是装嫩?
完全无法理解MyBatis为什么比jpa流行,还煞有介事的搞面试题
一个 sql``${} 调用模板罢了
一个被专门做来AI生成的语言,那肯定是垃圾
甚至,ORM都是一种浪费,因为70%的字段根本不会被访问,只是复制到数据库,又复制回js或php式模板侧
连最基本的程数同构都没学过,compose 后才开始搞DSL,更谈何避免Header绑定和分页参数的重复、PUT DELETED POST三方法的多态融合,更别说理解http调用与sql、与bash命令行的同质了。
人家import fire可是0代码就能提供命令行,甚至colab UI。
java元编程能吗?逆天 才EE程序员没那个心智模型!🌝
Telegram
duangsuse::Echo
#plt #sql #java 嗯 我前两个月有几天做了一个中文的SQL,并不是机翻,这几周可能会重置给到代码生成和DBA UI的功能,大家可以来学学SQL的写法:
https://duangsuse.github.io/tv/%E9%BB%91%E4%BA%86/db.htm
https://duangsuse.github.io/tv/%E9%BB%91%E4%BA%86/db.htm
Forwarded from Milkice's 我是高仿号我根本不懂中文
iOS 18.0 beta 4 附带的中国电信 58.6.0 版本的运营商配置文件支持 VoWiFi 了
与此同时大部分国产 Android 厂商当初支持了几个机型后,到现在都还未全面推送电信 VoWiFi 支持,不知道在干什么
与此同时大部分国产 Android 厂商当初支持了几个机型后,到现在都还未全面推送电信 VoWiFi 支持,不知道在干什么
#cs #asm 一个极小的2byte指令和数据RISC(int=i8)
GP寄存器: R0~RE
mov RF, setInterval
smem 0x800, 输出
lmem 0x802, 输入
地址总线u16 通过RD:RE访问
#book Computer Science: An Overview http://v8cpu.qinyue.world/instruction-set.html
https://github.com/chyyuu/v8-cpu/tree/master/examples
https://github.com/vsergeev/v8cpu/blob/master/v8cpu_isa.txt
汇编期计算:
brElse: fn ;if{}else{fn} then..
addI R0,0xFA,R0 ;+=250
jumpL R0,'A' ;if(ch==0x41)
rodata_XX: db "Hello" ;常量池指针
ALU(fn Ra Rb Rw):
addi .+
addf d+
and .&
or .|
xor .^
MCU(fn Ra lit):
jumpl b.lt
jump b.eq
move .= Ra Rw
halt b.thread
rot .>>
ldst内存读写指令,在x86上从来都是mov多写法
loadm lconst "wtf"
loadb lconst_0
loadp larg, aload 0
GP寄存器: R0~RE
mov RF, setInterval
smem 0x800, 输出
lmem 0x802, 输入
地址总线u16 通过RD:RE访问
#book Computer Science: An Overview http://v8cpu.qinyue.world/instruction-set.html
https://github.com/chyyuu/v8-cpu/tree/master/examples
https://github.com/vsergeev/v8cpu/blob/master/v8cpu_isa.txt
汇编期计算:
brElse: fn ;if{}else{fn} then..
addI R0,0xFA,R0 ;+=250
jumpL R0,'A' ;if(ch==0x41)
rodata_XX: db "Hello" ;常量池指针
ALU(fn Ra Rb Rw):
addi .+
addf d+
and .&
or .|
xor .^
MCU(fn Ra lit):
jumpl b.lt
jump b.eq
move .= Ra Rw
halt b.thread
rot .>>
ldst内存读写指令,在x86上从来都是mov多写法
loadm lconst "wtf"
loadb lconst_0
loadp larg, aload 0
GitHub
v8-cpu/examples at master · chyyuu/v8-cpu
Simple 8-bit v8-CPU with Compiler+Assembler+Simulator. Try it--> - chyyuu/v8-cpu
❤1
Forwarded from 螺莉莉的黑板报
【本报讯】瑞士要求所有政府软件开源
瑞士通过了《履行政府任务使用电子手段的联邦法》(EMBAG),要求公部门使用开源软件(OSS),并公开其开发的软件源代码,除非涉及第三方权益或安全问题。此举旨在提高政府运作的透明度、安全性和效率,并减少供应商锁定,降低IT成本。
法案的实施历经十多年,始于2011年瑞士联邦最高法院发布开源法律应用程序Open Justitia。尽管面临法律和政治上的挑战,EMBAG最终于2023年通过。
除了开源软件,EMBAG还要求公开非个人和非安全敏感的政府数据,推动数字主权和创新。瑞士联邦统计局(BFS)负责法案的实施,具体的组织和财务细节仍需明确。
欧洲其他国家也在支持开源,例如法国和欧盟,而美国在这方面的支持力度相对较弱。瑞士的这一立法举措为全球开源运动树立了榜样。
Source
瑞士通过了《履行政府任务使用电子手段的联邦法》(EMBAG),要求公部门使用开源软件(OSS),并公开其开发的软件源代码,除非涉及第三方权益或安全问题。此举旨在提高政府运作的透明度、安全性和效率,并减少供应商锁定,降低IT成本。
法案的实施历经十多年,始于2011年瑞士联邦最高法院发布开源法律应用程序Open Justitia。尽管面临法律和政治上的挑战,EMBAG最终于2023年通过。
除了开源软件,EMBAG还要求公开非个人和非安全敏感的政府数据,推动数字主权和创新。瑞士联邦统计局(BFS)负责法案的实施,具体的组织和财务细节仍需明确。
欧洲其他国家也在支持开源,例如法国和欧盟,而美国在这方面的支持力度相对较弱。瑞士的这一立法举措为全球开源运动树立了榜样。
Source
ZDNET
Switzerland federal government requires releasing its software as open source
The United States remains reluctant to work with open source, but European countries are bolder.