补一句,为什么我那么在乎readXX()
首先,当然是它余缀了,Reader模式、Visitor模式需要加固定前缀是哪群大师教的?? Qt,luaY_parse 都没有这种文明
至少对 enum Op{Add(Op,Op); N(i32)} 写 visitAdd 的人绝对是py ast看多了,overloads不会用。 Java比C最主要的优势就是Type2namespace,居然有人主动添加余缀?
然后,是对编程界毫无进步的无奈。
我最初学编程时(8,9年前吧)改了一些c#小游戏,当时有 https://github.com/K0lb3/UnityPy?tab=readme-ov-file#mesh 的前身和一个闭源软件能解包素材,但只有后者能实现替换材质包的目的……
我就搞不明白,是因为特殊的加密校验方法所以不能重新打包,还是单纯开源版的人不会做。
(btw. 新版当然也是手写,没用construct那样的定义式库啦。 https://github.com/K0lb3/UnityPy/blob/main/UnityPy/files/ObjectReader.py )
难道这种需求很小众吗? 做一个reader的同时支持write应该是举手之劳吧。
但,呵呵,并不是啊! read():T write(:T) 才是新语言里通行的,它们不能向自己的参数写入,甚至向callback也不太会,也就是没法优雅地inout
往大点说,通过 fit(cellvarT) 允许多次dump()很好,但要判定isRd就显得不优雅了,不能体现“IO的方向”,不能“静态检查”-虽然实际上手写2次rw才是最易错、最无法compose的那个
就连我自己,也是从 class{fun r,w} 的组合器+React state 之类的东西开始使用no-return风格的。之前像mmap() 那样只靠设置arr[num],int typeTag; 来parse一个bin简直天方夜谭,虽然它在C/cpp里每天都在发生
简单的说,大部分C dev都知道哪几项构成了某个“数据结构”,而jspy人,并不懂,只是在玩栈转堆的抄袭,甚至连C那瑕不掩瑜的无长数组都没抄到手。
我不是在表扬C,但java取消指针时也遗漏了一些触及灵魂的东西,这令它的async API像个渣,也让Vue的诞生晚了十年。
今天的人用GC太多了,以至于离开new treedata 就无法编程
我讨厌导致这种现况的标准库/design pattern作者!
他们根本不知道用户需要什么功能。 他们只想要别人不明觉厉,这样才有人听他们说话出书
其实并非没有人用 declarative way 做格式化IO,给低内存的 xml-epull 加个参数 s.fitU8((x,onmutX)=>发事件或new并监听)
基于插入位置游标的链表修正,甚至能实现var-length结构的0copy编辑
把函数名变key、装进数组或kv,从而令「程序与所控制的数据结构直观对应」,我觉得这甚至不算FP的专利-它明明是“领域的口语”、“编程语言”、是“工程”师一词的核心价值
然而似乎FP bros也做不好这个,一大堆扭来扭去的符号功能不明,反而让无倾向的Declarative,为它们自以为高明的链表和括号站街,而动键盘的初心、致胜的精髓却被欺骗性极强标点符号埋没、被误解、被遗忘。
大概让人类编程,这个坏毛病是改不掉了吧。😊
--我不喜欢Lisp,但Friedman说的这句很对:好程序就该100%反映它所读写数据的结构。一切不执行的符号、重复的片段都是在凑字数,语言之罪,就让语言api去消灭;只有这样,作者才把精力放在正道上,大家才能用上不让人捉急的App
#statement #dev #fp
首先,当然是它余缀了,Reader模式、Visitor模式需要加固定前缀是哪群大师教的?? Qt,luaY_parse 都没有这种文明
至少对 enum Op{Add(Op,Op); N(i32)} 写 visitAdd 的人绝对是py ast看多了,overloads不会用。 Java比C最主要的优势就是Type2namespace,居然有人主动添加余缀?
然后,是对编程界毫无进步的无奈。
我最初学编程时(8,9年前吧)改了一些c#小游戏,当时有 https://github.com/K0lb3/UnityPy?tab=readme-ov-file#mesh 的前身和一个闭源软件能解包素材,但只有后者能实现替换材质包的目的……
我就搞不明白,是因为特殊的加密校验方法所以不能重新打包,还是单纯开源版的人不会做。
(btw. 新版当然也是手写,没用construct那样的定义式库啦。 https://github.com/K0lb3/UnityPy/blob/main/UnityPy/files/ObjectReader.py )
难道这种需求很小众吗? 做一个reader的同时支持write应该是举手之劳吧。
但,呵呵,并不是啊! read():T write(:T) 才是新语言里通行的,它们不能向自己的参数写入,甚至向callback也不太会,也就是没法优雅地inout
往大点说,通过 fit(cellvarT) 允许多次dump()很好,但要判定isRd就显得不优雅了,不能体现“IO的方向”,不能“静态检查”-虽然实际上手写2次rw才是最易错、最无法compose的那个
就连我自己,也是从 class{fun r,w} 的组合器+React state 之类的东西开始使用no-return风格的。之前像mmap() 那样只靠设置arr[num],int typeTag; 来parse一个bin简直天方夜谭,虽然它在C/cpp里每天都在发生
简单的说,大部分C dev都知道哪几项构成了某个“数据结构”,而jspy人,并不懂,只是在玩栈转堆的抄袭,甚至连C那瑕不掩瑜的无长数组都没抄到手。
我不是在表扬C,但java取消指针时也遗漏了一些触及灵魂的东西,这令它的async API像个渣,也让Vue的诞生晚了十年。
今天的人用GC太多了,以至于离开new treedata 就无法编程
我讨厌导致这种现况的标准库/design pattern作者!
他们根本不知道用户需要什么功能。 他们只想要别人不明觉厉,这样才有人听他们说话出书
其实并非没有人用 declarative way 做格式化IO,给低内存的 xml-epull 加个参数 s.fitU8((x,onmutX)=>发事件或new并监听)
基于插入位置游标的链表修正,甚至能实现var-length结构的0copy编辑
把函数名变key、装进数组或kv,从而令「程序与所控制的数据结构直观对应」,我觉得这甚至不算FP的专利-它明明是“领域的口语”、“编程语言”、是“工程”师一词的核心价值
然而似乎FP bros也做不好这个,一大堆扭来扭去的符号功能不明,反而让无倾向的Declarative,为它们自以为高明的链表和括号站街,而动键盘的初心、致胜的精髓却被欺骗性极强标点符号埋没、被误解、被遗忘。
大概让人类编程,这个坏毛病是改不掉了吧。😊
--我不喜欢Lisp,但Friedman说的这句很对:好程序就该100%反映它所读写数据的结构。一切不执行的符号、重复的片段都是在凑字数,语言之罪,就让语言api去消灭;只有这样,作者才把精力放在正道上,大家才能用上不让人捉急的App
#statement #dev #fp
GitHub
GitHub - K0lb3/UnityPy: UnityPy is python module that makes it possible to extract/unpack and edit Unity assets
UnityPy is python module that makes it possible to extract/unpack and edit Unity assets - K0lb3/UnityPy
#dalao https://www.kxxt.dev/blog/programming-thoughts/2022-04-16/
https://lutaonan.com/blog/code-artists/ #ai #dev 第二次提及了,不符合刻板印象的 #js 人 👍
把 AI 当作是你的员工,就像某一天你突然只需要 $20 一个月就能招无数多愿意帮你打工的人,你很快就会发现,你最终会面临两种局面:
局面1:你将手足无措,你突然发现如果你不是实现函数的那个人,你就不知道你应该做什么了。从前你沾沾自喜的手写快排,手写红黑树突然变得一文不值,无处施展。
局面2:你将如虎添翼,你突然发现你曾经有很多想法没有精力和时间去实现,现在突然有这么多廉价劳动力将不厌其烦地帮你写代码
在这里我要申明,这篇文章我是写给有一定经验的程序员看的。对于没有什么经验的程序员,多写点代码总是好的
就像下面这个例子,我只要说一句 add tanstack query provider 就能让 AI 帮我把 @tanstack/query 加到我的程序里,但如果你没有任何代码经验,你连 query 是什么都不知道
#sql
https://github.com/duckdb/pg_duckdb
https://github.com/asg017/sqlite-vec
#asm C语言的变量符号
https://tttttt.me/kaedeharakazuha17/3548?comment=26435
https://evian-zhang.github.io/learn-assembly-on-Apple-Silicon-Mac/1-底层的整数.html
https://nan-archive.vercel.app/debugger
#bash
https://github.com/kxxt/tracexec?tab=readme-ov-file#origin
可是 stra execve 也可以
https://lutaonan.com/blog/code-artists/ #ai #dev 第二次提及了,不符合刻板印象的 #js 人 👍
把 AI 当作是你的员工,就像某一天你突然只需要 $20 一个月就能招无数多愿意帮你打工的人,你很快就会发现,你最终会面临两种局面:
局面1:你将手足无措,你突然发现如果你不是实现函数的那个人,你就不知道你应该做什么了。从前你沾沾自喜的手写快排,手写红黑树突然变得一文不值,无处施展。
局面2:你将如虎添翼,你突然发现你曾经有很多想法没有精力和时间去实现,现在突然有这么多廉价劳动力将不厌其烦地帮你写代码
在这里我要申明,这篇文章我是写给有一定经验的程序员看的。对于没有什么经验的程序员,多写点代码总是好的
就像下面这个例子,我只要说一句 add tanstack query provider 就能让 AI 帮我把 @tanstack/query 加到我的程序里,但如果你没有任何代码经验,你连 query 是什么都不知道
#sql
https://github.com/duckdb/pg_duckdb
https://github.com/asg017/sqlite-vec
#asm C语言的变量符号
https://tttttt.me/kaedeharakazuha17/3548?comment=26435
https://evian-zhang.github.io/learn-assembly-on-Apple-Silicon-Mac/1-底层的整数.html
https://nan-archive.vercel.app/debugger
#bash
https://github.com/kxxt/tracexec?tab=readme-ov-file#origin
可是 stra execve 也可以
alias stra='strace --quiet=attach,exit -f -e "signal=!chld" -e'
www.kxxt.dev
[编程感想] 2022年4月16日
最近在进行开发的时候, 总有一种感觉, 我感觉编程时很多知识是通过尝试来尝试出来的,而不是通过阅读文档得来的。我并不清楚这是我的个人体验还是很多人的共同感受。但是,经过思考,我发现这种方式存在着一些问题: 通过尝试得来的知识有时是不准确的,甚至会造成非常严重的后果,一些…
#js #dev https://github.com/duo001/evil.js
被公司卸磨杀驴能把代码删除吗? - https://www.zhihu.com/question/572065489/answer/2800508924
当数组长度可以被7整除时,Array.includes 永远返回false。
当周日时,Array.map 方法的结果总是会丢失最后一个元素。
Array.filter 的结果有2%的概率丢失最后一个元素。
setTimeout 总是会比预期时间慢1秒才触发。
Promise.then 在周日时有10%不会注册。
JSON.stringify 会把I(大写字母I)变成l(小写字母L)。
Date.getTime() 的结果总是会慢一个小时。
localStorage.getItem 有5%几率返回空字符串。
被公司卸磨杀驴能把代码删除吗? - https://www.zhihu.com/question/572065489/answer/2800508924
当数组长度可以被7整除时,Array.includes 永远返回false。
当周日时,Array.map 方法的结果总是会丢失最后一个元素。
Array.filter 的结果有2%的概率丢失最后一个元素。
setTimeout 总是会比预期时间慢1秒才触发。
Promise.then 在周日时有10%不会注册。
JSON.stringify 会把I(大写字母I)变成l(小写字母L)。
Date.getTime() 的结果总是会慢一个小时。
localStorage.getItem 有5%几率返回空字符串。
GitHub
GitHub - duo001/evil.js: Use with caution
Use with caution. Contribute to duo001/evil.js development by creating an account on GitHub.
#dev https://zhuanlan.zhihu.com/p/682990647
🤔 作者没有发 pypi.org ,这些程序员的部署repo也没有UI和「App store」
不过,各语言 repo 和包管理的不通用, 也是很大问题。 https://github.com/rami3l/pacaptr 试图缓解这点,但说实话 programmer sucks
🤔 作者没有发 pypi.org ,这些程序员的部署repo也没有UI和「App store」
不过,各语言 repo 和包管理的不通用, 也是很大问题。 https://github.com/rami3l/pacaptr 试图缓解这点,但说实话 programmer sucks
知乎专栏
“我第一次用GitHub,别TM给我代码,我只要安装包”
上面的截图来自 reddit 的 GitHub 子版块。一名自称是 GitHub 新手的用户因没有在仓库找到安装包而破口大骂: 我 TM 不需要什么狗屁代码,我只想下载这个煞笔应用程序。 为什么要提供代码?这些蠢货以为每个人都是…
duangsuse::Echo
#code #cg 今天是3.14 PI 🥧 day !我们用纯 #js+svg在200行以内,完成以下3个特效吧 🦄🌈 - 用WASD操控的网页广告炸弹, websiteasteroids.com 🔘 - 指向你鼠标的emoji 😄 - 可调节内外起伏的,转圈的加载环,多层豪华版 📍 首先,需要引入绝对的主角:表示点xy或速度av的Vec2。有方向,有质量! https://p5.readthedocs.io/en/latest/tutorials/vector.html#vectors-more-algebra…
#bilibili #dev 何同学 日常营销 🤡 👈 🤣 https://www.fxzhihu.com/question/4389622860/answer/35490177930
虽然这种 CG ASCII-art #tool 写起来也蛮傻的 (我也写过视频滤镜, 和支持中文字 PIL canvas 版),不如 GPM 有创意,但科普一下
>用OpenCV写 png2ascii.py ,刷新到ANSI终端,再在单帧的基础上支持播放 mp4
AI都会写,
#code
https://github.com/duangsuse-valid-projects/Share/blob/master/Others/py/apple.py#L125
^我可以再给它加个彩,用kdTree匹配 ANSI color 的功能 ( BashEsc[A_nearest(x)] ),但小何下载的那个 font-size&linear-grident 的功能 cool-retro-term 不支持
(好像只需要 mask-image: asciize(BadApple) 和同步下进度条…… 共享剪贴板程度的码力
跨越黑框框内外我写过 win/linux CLI, webUI 三平台可玩的2048/贪吃蛇PWA ,因为纯 $ cvlc 一类 ASCII字符画这确实烂活啊 😂
和 Oimo.io/about ; offscreenCanvas.com 这些真·视效人差好远 #cg #dalao
但
咱也不期待「何同学」能有啥高论,顶多笑笑“自主研发”的人 git clone 都懒得搞,直球翻墙 ~/下载/zip解压
毕竟国内创客环境、社区文化也就那样 (详见 yt Leonard 关于小米 CyberDog 的视频)
对吧?
虽然这种 CG ASCII-art #tool 写起来也蛮傻的 (我也写过视频滤镜, 和支持中文字 PIL canvas 版),不如 GPM 有创意,但科普一下
>用OpenCV写 png2ascii.py ,刷新到ANSI终端,再在单帧的基础上支持播放 mp4
AI都会写,
#code
import os, cv2, numpy as np
grays = [*" .-:=*+%@#"]
def ascii(img, wh=np.int32(os.popen('stty size', 'r').read().split()[::-1]) ):
g=np.array(grays)
a=cv2.cvtColor(cv2.resize(img, wh) , cv2.COLOR_BGR2GRAY)
b=np.int8(np.interp(a, (0,256), (0,len(g)) ))
return [*
(''.join(y) for y in g[b] )
]
s=os.popen('ls ~/Pictures/Screenshots/*').read()[:-1]
@get_ipython().pt_app.key_bindings.add('c-k')
def f(ev):
print(*ascii(cv2.imread(s)), sep="\n")
https://github.com/duangsuse-valid-projects/Share/blob/master/Others/py/apple.py#L125
^我可以再给它加个彩,用kdTree匹配 ANSI color 的功能 ( BashEsc[A_nearest(x)] ),但小何下载的那个 font-size&linear-grident 的功能 cool-retro-term 不支持
(好像只需要 mask-image: asciize(BadApple) 和同步下进度条…… 共享剪贴板程度的码力
跨越黑框框内外我写过 win/linux CLI, webUI 三平台可玩的2048/贪吃蛇PWA ,因为纯 $ cvlc 一类 ASCII字符画这确实烂活啊 😂
和 Oimo.io/about ; offscreenCanvas.com 这些真·视效人差好远 #cg #dalao
但
nc -T towel.blinkenlights.nl 23; putty telnet:nyancat.dakko.us
的星球大战还可看, 彩虹猫#请自己开个服
telnet stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.telnetd -L <(echo cacademo)
咱也不期待「何同学」能有啥高论,顶多笑笑“自主研发”的人 git clone 都懒得搞,直球翻墙 ~/下载/zip解压
毕竟国内创客环境、社区文化也就那样 (详见 yt Leonard 关于小米 CyberDog 的视频)
对吧?
FxZhihu / Fixup Zhihu
如何看待何同学最新视频“我用36万行备忘录做了个动画”? - @DBinary | FxZhihu
如果非要我评价: 第一是视频做的确实不错。 第二才是开源项目说是自己做的不太厚道。 第三是恰饭麻不寒碜。 但如果这里我们不讨论技术实现之外别的东西,这个项目的技术实现本身还是有点意思的,当然有意思归有意思,难度来说确实挺简单的,当然口说无凭,为此不才特意牺牲了一个中午的午睡时间,来重现这个技术栈,确实只需要一点点时间。 [图片] 在PainterEngine组件市场有组件市场,当中有支持视频解码的ffmpeg组件,这部分直接下载…
duangsuse::Echo
https://offscreencanvas.com/renders/advanced-ascii-rendering/ btw. 随便逛逛引文就会发现伪字符画 0xAA 这种,其实可以做到好的多的效果 不管你用 #js 还是什么,不管你多少岁,只要思想不滑坡,程序员的世界本该是这样的。 所以我不大喜欢何同学的那种,刻板印象 js和c的 4K-intro 可以看 https://www.zhihu.com/question/420656795/answer/1509103813 http://js1k.com/2010…
#china #dev #经济 http://www.bilibili.com/video/BV1dfBHY4EHg
>
现在应该老实了,一大堆人在谴责为什么要抽向弱者
按照社达的理论,干不过汽车大棒刀子的不是活该被淘汰? 🤗
开车过来社达就老实了?筛选出跑得比车还快的人类出来,还得比汽车硬 😡
按照社达的逻辑,人最多活35……婴儿期就度不过。动物世界可是喜欢吃老的和小的
——我教教你怎么爱国。“谁不招35岁以上员工,我们就抵制谁。不买他的产品、不看他的广告、不接他的代言,直到把他抵制到愿意招为止”。
>
我才不怕战争,一听到战争我就兴奋。战争的代价嘛,无非是死亡。咱就是一个普通老百姓,命不值钱。
如果没有战争,一辈子也就那样了,不会有大出息。上战场运气好立个战功,下来后混个官当当就知足了。
早打,大打,打核战争
>
现在应该老实了,一大堆人在谴责为什么要抽向弱者
按照社达的理论,干不过汽车大棒刀子的不是活该被淘汰? 🤗
开车过来社达就老实了?筛选出跑得比车还快的人类出来,还得比汽车硬 😡
按照社达的逻辑,人最多活35……婴儿期就度不过。动物世界可是喜欢吃老的和小的
——我教教你怎么爱国。“谁不招35岁以上员工,我们就抵制谁。不买他的产品、不看他的广告、不接他的代言,直到把他抵制到愿意招为止”。
>
我才不怕战争,一听到战争我就兴奋。战争的代价嘛,无非是死亡。咱就是一个普通老百姓,命不值钱。
如果没有战争,一辈子也就那样了,不会有大出息。上战场运气好立个战功,下来后混个官当当就知足了。
早打,大打,打核战争
Bilibili
视频去哪了呢?_哔哩哔哩_bilibili
undefined, 视频播放量 undefined、弹幕量 undefined、点赞数 undefined、投硬币枚数 undefined、收藏人数 undefined、转发人数 undefined, 视频作者 undefined, 作者简介 undefined,相关视频:
https://github.com/tuteng/Best-websites-a-programmer-should-visit-zh?tab=readme-ov-file#针对那些想开始一个小的项目但是无从下手的人
#tool awesome list
#dev #learn 公案 zen 入门 https://github.com/ts25504/awesome-koans#:~:text=编程语言的学习也有一种公案形式的学习方法,是我见过的最好的学习一门新的编程语言的方式
重构浣熊 🐿收录的10种流行 #OOP Design Pattern 掩盖了哪些语言特性的缺失 ?
https://refactoring.guru/refactoring/when
https://www.ruanyifeng.com/blog/2017/02/fp-tutorial.html
#web #design 推荐 https://component-party.dev/
https://github.com/RimoChan/match-you/blob/slave/mother.kt :偷偷发给同事启动,他电脑上装好的依赖就会被删掉,然后他就得自己配环境了!..
#tool awesome list
#dev #learn 公案 zen 入门 https://github.com/ts25504/awesome-koans#:~:text=编程语言的学习也有一种公案形式的学习方法,是我见过的最好的学习一门新的编程语言的方式
重构浣熊 🐿收录的10种流行 #OOP Design Pattern 掩盖了哪些语言特性的缺失 ?
https://refactoring.guru/refactoring/when
https://www.ruanyifeng.com/blog/2017/02/fp-tutorial.html
#web #design 推荐 https://component-party.dev/
https://github.com/RimoChan/match-you/blob/slave/mother.kt :偷偷发给同事启动,他电脑上装好的依赖就会被删掉,然后他就得自己配环境了!..
GitHub
GitHub - tuteng/Best-websites-a-programmer-should-visit-zh: 程序员应该访问的最佳网站中文版
程序员应该访问的最佳网站中文版. Contribute to tuteng/Best-websites-a-programmer-should-visit-zh development by creating an account on GitHub.
http://www.bilibili.com/video/BV1cFm8YGEKe #china #dev BLM DLM了🥰
https://zhuanlan.fxzhihu.com/p/704798293 Markdown编辑器 Mou
📱国内开发者和用户都是奇葩,一个想着办法不付钱,一个想办法挣快钱,猜猜最后谁受伤? #经济 🤗
btw. #apple 这方面真是闭源丁真,什么都吃,就知道用户够有钱,其实是群靠着开源上游,卖设计,设计上也不求上进的脚本小子。
吃定某款App,比如ytdl或CodeMirrorIDE吧,不是问题, 但巨婴化就是和自己过不去了,软饭还吧唧嘴,又功利又幽默,不够本
iPhone 上默认 Pythonista 都收70,不知道给Guido或相关FFI作者捐了多少?上游出bug苦的还是用户。 实在是吃相难看,Objc也超级饭桶,一群程序员,非常有行为艺术家的范 #bilibili
>https://github.com/MaterialCleaner/MaterialCleaner
两年多时间过去了,我自己的软件终于有了完善的逻辑,也接入了 Google Play 的支付系统。虽然项目收入很低,总收入约 8600 元平均下来连低保水平都不到,
做小众项目更加困难,70 人民币永久的价格还算合理。然而即便如此,当我看到评论区一些用户也说太贵,我决定还是开源并放出一个完全免费的版本。
然而在得罪两百多个付费用户之后,得到的结果是评论区把带节奏的人当做英雄,
他们回复是“既然有能力改变”,有能力说的是我吗?恐怕是在炫耀有能力,轻松地让一个弱小项目破产的你。
😔 可怜啊, 咕狗,苹果,两年时间才能完成一个 🤗式的模组界面, 和Web和PyJS产能根本没法比。
http://xahlee.info/kbd/jp_hiragana_frequency_table.html 超级 何同学
#china #dev https://www.fxzhihu.com/question/617917921/answer/3173907554 不过,别说「独立显卡」、「台式机箱」了, 「独立开发者」都犯法了
https://coolshell.org/articles/8398.html/ xkcd 最火漫画
https://leafletjs.cn/reference.html 🇺🇦 世界地图 map
DEMO: https://xkcd-map.rent-a-geek.de/#10/1.0141/36.1848
https://zhuanlan.fxzhihu.com/p/704798293 Markdown编辑器 Mou
📱国内开发者和用户都是奇葩,一个想着办法不付钱,一个想办法挣快钱,猜猜最后谁受伤? #经济 🤗
btw. #apple 这方面真是闭源丁真,什么都吃,就知道用户够有钱,其实是群靠着开源上游,卖设计,设计上也不求上进的脚本小子。
吃定某款App,比如ytdl或CodeMirrorIDE吧,不是问题, 但巨婴化就是和自己过不去了,软饭还吧唧嘴,又功利又幽默,不够本
iPhone 上默认 Pythonista 都收70,不知道给Guido或相关FFI作者捐了多少?上游出bug苦的还是用户。 实在是吃相难看,Objc也超级饭桶,一群程序员,非常有行为艺术家的范 #bilibili
>https://github.com/MaterialCleaner/MaterialCleaner
两年多时间过去了,我自己的软件终于有了完善的逻辑,也接入了 Google Play 的支付系统。虽然项目收入很低,总收入约 8600 元平均下来连低保水平都不到,
做小众项目更加困难,70 人民币永久的价格还算合理。然而即便如此,当我看到评论区一些用户也说太贵,我决定还是开源并放出一个完全免费的版本。
然而在得罪两百多个付费用户之后,得到的结果是评论区把带节奏的人当做英雄,
他们回复是“既然有能力改变”,有能力说的是我吗?恐怕是在炫耀有能力,轻松地让一个弱小项目破产的你。
😔 可怜啊, 咕狗,苹果,两年时间才能完成一个 🤗式的模组界面, 和Web和PyJS产能根本没法比。
http://xahlee.info/kbd/jp_hiragana_frequency_table.html 超级 何同学
#china #dev https://www.fxzhihu.com/question/617917921/answer/3173907554 不过,别说「独立显卡」、「台式机箱」了, 「独立开发者」都犯法了
https://coolshell.org/articles/8398.html/ xkcd 最火漫画
https://leafletjs.cn/reference.html 🇺🇦 世界地图 map
DEMO: https://xkcd-map.rent-a-geek.de/#10/1.0141/36.1848
Bilibili
卷技术根本不是长久之计,你还不明白吗?_哔哩哔哩_bilibili
-, 视频播放量 290876、弹幕量 270、点赞数 4356、投硬币枚数 440、收藏人数 3286、转发人数 814, 视频作者 鲤加成不磨叽, 作者简介 真实的我,真实的深漂,真实的记录白手起家的每一步…,相关视频:失业的人越来越多了,这样下去,吃饭都成问题了!,35失业后第一次去干日结,干了两天的兼职长了不少见识。,经济一团糟,风向仿佛一夜之间变了,民众也开始觉醒,盘点2024年社会七大变化,时隔51天,我又失去了1.3万底薪的工作,男朋友又工作降薪,啥好人心态能不崩溃,我不是贩卖焦虑,也奉劝…
https://zhuanlan.fxzhihu.com/p/713341244 #os #dev
这个世界上真实存在着很多 10x 的天才,他们以一己之力完成了普通人 10 倍甚至百倍的贡献。比如 Linus Torvalds、Fabrice Bellard、Alan Kay 等等。需要明确的是,这里的 10x,并不是以 10x 速度完成原本的事情(在这方面任何人都不是计算机的对手),
而是有能力解决 10x 复杂度的问题、完成 10 个人也干不成的事情。
为什么穷人大多都很自卑?
>
穷人孩子的耳朵边很少听到:
“自由 艺术 快乐 幸福 享受 平等 爱“这种字眼”
从小到大听到的都是:
“平安 看得起 看不起 努力 老实 听话 笑话 忍耐 吃得苦中苦方为人上人 一分杀千人 抢着上进”
成绩永远都是跟最好的比,物质跟更差的比
这个世界上真实存在着很多 10x 的天才,他们以一己之力完成了普通人 10 倍甚至百倍的贡献。比如 Linus Torvalds、Fabrice Bellard、Alan Kay 等等。需要明确的是,这里的 10x,并不是以 10x 速度完成原本的事情(在这方面任何人都不是计算机的对手),
而是有能力解决 10x 复杂度的问题、完成 10 个人也干不成的事情。
为什么穷人大多都很自卑?
>
穷人孩子的耳朵边很少听到:
“自由 艺术 快乐 幸福 享受 平等 爱“这种字眼”
从小到大听到的都是:
“平安 看得起 看不起 努力 老实 听话 笑话 忍耐 吃得苦中苦方为人上人 一分杀千人 抢着上进”
成绩永远都是跟最好的比,物质跟更差的比
🦄1
>虽然有点不礼貌, 螺丝能不能接受我吐槽下。 你们对玩元编程的minimalist,为何敌意那么大。 #life #dev #statement
@yihong0618 在X上看见几个HR在写1hr 黑客松 json parser ,我去解释了下原理,说了这个: https://tttttt.me/dsuses/5352
我的语气是很普通的,自问没什么,日常技术交流而已,我甚至还编辑了comment里的错漏。
我最后说,难不难取决于多余的工作量,这是因为,在国内 #PLT(编程语言设计) 领域,大量demo都充斥着让你熬个通宵的无效算法,单就json.loads而言,确实不会超过100行。 我希望PLT(大学编译原理)潜在的新人不会重走我的老路,而是能更加自由发挥,不被任何技术栈吓住。
很快他把整个post都删了(幸好在drakeet事件后我已懂得资料备份), 过两分钟,拉黑了。 前者我是能接受的,或许贴太长了—尽管Yi转发 https://tttttt.me/dsuse/19854 时那才叫长
我大概能猜到,Yi对「玩元编程的」已经PTSD到,连我出于善意☺️ 指出一个demo,都觉得是在贬低别人的程度了??
我也知道,Yi并不在乎「我的领域」能创造多大的价值。他是否只是想用「小众的东西eg.BPF,PSQL」装点自己呢? 容我说句,这对真正在本领域用功的人,而非仅仅贴个链接念个术语的人,很不礼貌。
Talk cheap 的话我写代码了,Code tldr 的话我解析了, 难道一言不发,删除,就是您对别人的「修炼」的态度?
国内PLT领域不会比拉丁文、古生物学(◉▽◉) 的情况好很多,我不想说什么宏大叙事,什么虚伪的协作, 但我觉得不该因为自己热爱的编程,而孤立无援。 您要知道,开源协作未必只发生在「确定的Project」甚至「盈利的」「流行的」工具下。
如果这就是Vue的作者、王垠、cloudwindy 在国内遇到的事情:被所认为的同道,像Q群那样「管理」的话, 我觉得Vue尤大不给中文文档,很棒。 我们不配。
我没去拉任何人的投资、没骚扰任何人,只希望墙外的IT圈能给今天尚是「小圈子的研究」最底线的善意。 哪天国内和前沿技术隔离时,请别出声,也别拿不知根底的英文链接和术语造人设:你们根本不尊重他们的同行,这开源环境,已是比10年前更差。
发生这件事后,我看到了 https://github.com/yihong0618/gitblog/issues/193 ,我不明白,一个32+的人,情绪稳定上为何不如23的废青
我是个认真的人,我眼中你们也一样,只是我们的领域不一样。 我不明白,这似乎人设不符啊。
我对Pythoneer yihong 并不了解,可以分享下吗? 🙏
>>你好~ 我是yihong0618,生活工作在大连。 喜爱游戏,跑步,读书,编程和有趣的东西。 项目大多和这些相关。
@yihong0618 在X上看见几个HR在写1hr 黑客松 json parser ,我去解释了下原理,说了这个: https://tttttt.me/dsuses/5352
我的语气是很普通的,自问没什么,日常技术交流而已,我甚至还编辑了comment里的错漏。
我最后说,难不难取决于多余的工作量,这是因为,在国内 #PLT(编程语言设计) 领域,大量demo都充斥着让你熬个通宵的无效算法,单就json.loads而言,确实不会超过100行。 我希望PLT(大学编译原理)潜在的新人不会重走我的老路,而是能更加自由发挥,不被任何技术栈吓住。
很快他把整个post都删了(幸好在drakeet事件后我已懂得资料备份), 过两分钟,拉黑了。 前者我是能接受的,或许贴太长了—尽管Yi转发 https://tttttt.me/dsuse/19854 时那才叫长
我大概能猜到,Yi对「玩元编程的」已经PTSD到,连我出于善意☺️ 指出一个demo,都觉得是在贬低别人的程度了??
我也知道,Yi并不在乎「我的领域」能创造多大的价值。他是否只是想用「小众的东西eg.BPF,PSQL」装点自己呢? 容我说句,这对真正在本领域用功的人,而非仅仅贴个链接念个术语的人,很不礼貌。
Talk cheap 的话我写代码了,Code tldr 的话我解析了, 难道一言不发,删除,就是您对别人的「修炼」的态度?
国内PLT领域不会比拉丁文、古生物学(◉▽◉) 的情况好很多,我不想说什么宏大叙事,什么虚伪的协作, 但我觉得不该因为自己热爱的编程,而孤立无援。 您要知道,开源协作未必只发生在「确定的Project」甚至「盈利的」「流行的」工具下。
如果这就是Vue的作者、王垠、cloudwindy 在国内遇到的事情:被所认为的同道,像Q群那样「管理」的话, 我觉得Vue尤大不给中文文档,很棒。 我们不配。
我没去拉任何人的投资、没骚扰任何人,只希望墙外的IT圈能给今天尚是「小圈子的研究」最底线的善意。 哪天国内和前沿技术隔离时,请别出声,也别拿不知根底的英文链接和术语造人设:你们根本不尊重他们的同行,这开源环境,已是比10年前更差。
发生这件事后,我看到了 https://github.com/yihong0618/gitblog/issues/193 ,我不明白,一个32+的人,情绪稳定上为何不如23的废青
我是个认真的人,我眼中你们也一样,只是我们的领域不一样。 我不明白,这似乎人设不符啊。
我对Pythoneer yihong 并不了解,可以分享下吗? 🙏
>>你好~ 我是yihong0618,生活工作在大连。 喜爱游戏,跑步,读书,编程和有趣的东西。 项目大多和这些相关。
Telegram
duangsues.is_a? SaltedFish
没有很厉害啊…… JSON.org 语法是这样,10行而已 ☺️
变量名基于 sikxfaned久类型: str idx kv any fn ary nItem eTree decimal
JSON X
X (S|D|{S:X ,}|[X ,]|true|false|null)
S '"' ([^\\"]+|\\Esc)* '"' #G-
Esc ["\/nrtfb]|u hex{4} #Gk
D num (.int)? ([eE]int)? #Bn
num '-'? ([1-9]int|[0-9])#Bn…
变量名基于 sikxfaned久类型: str idx kv any fn ary nItem eTree decimal
JSON X
X (S|D|{S:X ,}|[X ,]|true|false|null)
S '"' ([^\\"]+|\\Esc)* '"' #G-
Esc ["\/nrtfb]|u hex{4} #Gk
D num (.int)? ([eE]int)? #Bn
num '-'? ([1-9]int|[0-9])#Bn…
https://www.fxzhihu.com/question/652185870/answer/3458513818
#android 的失败给了「崇文」崇尚八股文的人一个教训: 没有 User Experience 的代码内卷是很蠢的投入,一旦垄断被打破,我们无处可去
认为 #dev 「领域护城河」和医学生一样的想法,是不切实际的。 医学生对照的是 #cs 拉丁文或IT架构师, 开发者就是纯粹的实干网红,应该对自己的产品负责
只有像PyJS这样有缺陷的直白,才有被开发的潜力, 在App的功能点上到处设卡、贩卖焦虑和私货的 android API 没有资格。
#android 的失败给了「崇文」崇尚八股文的人一个教训: 没有 User Experience 的代码内卷是很蠢的投入,一旦垄断被打破,我们无处可去
认为 #dev 「领域护城河」和医学生一样的想法,是不切实际的。 医学生对照的是 #cs 拉丁文或IT架构师, 开发者就是纯粹的实干网红,应该对自己的产品负责
只有像PyJS这样有缺陷的直白,才有被开发的潜力, 在App的功能点上到处设卡、贩卖焦虑和私货的 android API 没有资格。
FxZhihu / Fixup Zhihu
为何如今全网都在唱衰安卓开发? - @agewuliao | FxZhihu
先回答是不是吧。以我所在的杭州为例,打开某联招聘的网页端,直接搜索JAVA后端和安卓的岗位,得到的情况列了个表格。 薪资范围JAVA后端安卓10k-15k15页7页15k-25k19页(参杂1/3其余语言)7页(一半前端开发,一般安卓开发)25k-35k9页(参杂少量架构,主体是开发)2页(一半前端负责人,一半高级安卓开发)35k-50k2页(技术专家)2页前端负责人与高级开发50k+1页(架构与专家)1页大厂前端专家考虑在杭州,且搜寻的是社会招聘,…
#news #dev $USDT 逆天!
GitFish這個協議就像個金融煉金術士,把GitHub倉庫變成了一鍋沸騰的資本濃湯。任何人隨手就能給任意開源項目"貼牌上市",連Linus Torvalds這樣的開源教父都攔不住自家Linux倉庫被掛上$LINUX代幣。
我一直在设想,CEX/DeFAI 有一天能不能盗用别人的名声变现
GitFish 是由Alliance孵化的,Alliance是領先的Web3加速器和創始人社區,主要投資過:B² Network、Pump.fun、XION、Phantom、STEPN等知名項目。
GitFish 聯合創始人Park Yeung,他曾在 Web3 和大型科技公司擔任過各種工程、風險投資和治理職位,包括谷歌、Fabric Ventures、Aave 和 MakerDAO。
GitFish 上面的一個預售項目,就受到了Solana官方、RAY官方的回覆支持。
GitFish要做的事情,類似RWA,就是要將Github項目打包成token,然後讓市場爲這個項目定價。是不是很有趣。
$LINUX 理所应当的开盘即跌停--但是没有这个制度,因此很快归零了
😅😅😅
GitFish這個協議就像個金融煉金術士,把GitHub倉庫變成了一鍋沸騰的資本濃湯。任何人隨手就能給任意開源項目"貼牌上市",連Linus Torvalds這樣的開源教父都攔不住自家Linux倉庫被掛上$LINUX代幣。
我一直在设想,CEX/DeFAI 有一天能不能盗用别人的名声变现
GitFish 是由Alliance孵化的,Alliance是領先的Web3加速器和創始人社區,主要投資過:B² Network、Pump.fun、XION、Phantom、STEPN等知名項目。
GitFish 聯合創始人Park Yeung,他曾在 Web3 和大型科技公司擔任過各種工程、風險投資和治理職位,包括谷歌、Fabric Ventures、Aave 和 MakerDAO。
GitFish 上面的一個預售項目,就受到了Solana官方、RAY官方的回覆支持。
GitFish要做的事情,類似RWA,就是要將Github項目打包成token,然後讓市場爲這個項目定價。是不是很有趣。
$LINUX 理所应当的开盘即跌停--但是没有这个制度,因此很快归零了
😅😅😅
Binance Square
每個程序員都覺得自己寫的代碼值一個億,直到他看到了GitHub的星標數
這個行業笑話正在被一羣加密瘋子改寫成現實——用300萬美元的真金白銀,給Linux內核代碼標上了第一個市場定價。 GitFish這個協議就像個金融煉金術士,把GitHub倉庫變成了一鍋沸騰的資本濃湯。任何人隨手就能給任意開源項目"貼牌上市",連Linus Torvalds這樣的開源教父都攔不住自家Linux倉庫被掛上$LINUX代幣。當老爺子氣得在推特大罵"加密貨幣都是騙局"時,戲劇性的一幕出現
#dev 十年神人建议 b23.tv/BV1W87qzuEzX
1. 你不需要什么都知道
要点:编程不是记忆语言,而是理解模式和查找答案。资深开发者也常谷歌搜索。
重要性:消除“必须全知”的误解,减轻初学者压力,专注学习过程。
建议:用MDN、Stack Overflow查资料,记录常用代码片段。例:搜索“JavaScript get last array element”得array【array.length - 1】。
1. 你不需要什么都知道
要点:编程不是记忆语言,而是理解模式和查找答案。资深开发者也常谷歌搜索。
重要性:消除“必须全知”的误解,减轻初学者压力,专注学习过程。
建议:用MDN、Stack Overflow查资料,记录常用代码片段。例:搜索“JavaScript get last array element”得array【array.length - 1】。
2. 学习如何学习
要点:看教程不等于学会,动手实践是关键。建议1小时教程配4小时独立 coding。
重要性:实践巩固知识,过度依赖教程导致“虚假进步”。
建议:做小项目(如待办事项列表),卡住时分解问题、搜索答案。例:写函数过滤数组偶数,搜索“JavaScript filter”。
3. 完美是一个陷阱
要点:追求完美代码拖慢进度,完成的“丑陋”代码更有价值。资深开发者也写bug。
重要性:避免因不完美而拖延,迭代是提升代码质量的关键。
建议:先实现MVP(如粗糙网页),用Git跟踪改进。例:别花3小时纠结变量名,用data继续写功能。
4. 你永远不会感到准备就绪
要点:自信来自行动,而非等待“准备好”。接受失败是成长的一部分。
重要性:拖延会错失机会,边做边学是正道。
建议:从克隆简单网页开始,勇敢申请工作或项目。例:彼得首个自由职业项目靠谷歌完成。
5. 真正的技能是解决问题
要点:编程核心是分解问题和调试,而非记语法。开发者像侦探,追踪线索。
重要性:调试是工作常态,培养逻辑思维比记代码更重要。
建议:将任务拆成小步,用console.log或调试器检查。例:页面不显示数据,查API、数据格式或渲染逻辑。
6. 没人在乎你的代码,他们关心它能做什么
要点:用户/客户只关心功能(如按钮工作),不在乎代码优雅。
重要性:避免沉迷代码美学,优先交付实用产品。
建议:先确保功能(如表单提交),再优化。例:客户只想要按钮变蓝色,不关心你的React钩子。
7. 倦怠是真实存在的,保护你的能量
要点:编程是马拉松,过度消耗导致倦怠。休息和界限确保可持续性。
重要性:倦怠让人怀疑能力,健康习惯提升效率。
建议:用番茄工作法(25分钟工作+5分钟休息),保证睡眠,散步放松。例:彼得熬夜修bug得不偿失。
Bilibili
【双语视界】编程10年才悟透的真相,8分钟全部告诉你_哔哩哔哩_bilibili
欢迎点赞、投币、收藏一键三连,或点个关注支持我~资深程序员Pete分享的10条核心经验(13年从业心得)🗣️ 无需掌握全部知识程序员不必记住所有语法(如JS数组方法),谷歌基础问题是常态类比烹饪:掌握切菜/调味比背食谱更重要,理解模式 > 死记硬背
2.🚀 先学“如何学习”看教程≠学会编码,被动学习是陷阱(如看10遍教程仍不会独立开发)黄金法则:1小时教程 + 4小时独立实践(允许卡壳, 视频播放量 44333、弹幕量 123、点赞数 2442、投硬币枚数 994、收藏人数 4762、转发人数 337…
2.🚀 先学“如何学习”看教程≠学会编码,被动学习是陷阱(如看10遍教程仍不会独立开发)黄金法则:1小时教程 + 4小时独立实践(允许卡壳, 视频播放量 44333、弹幕量 123、点赞数 2442、投硬币枚数 994、收藏人数 4762、转发人数 337…
https://v2ex.com/t/1137075?p=1 #dev #news
美丽团:无理由踢人,垄断性行业拉黑,内部调剂瞎搞🙉
美丽团:无理由踢人,垄断性行业拉黑,内部调剂瞎搞🙉
虽然我没理解哪里拗口晦涩,但我还是回答一下:
1. 美团的试用期就是足足六个月,并且在很多互联网公司都是六个月,包括我第一家公司滴滴出行。
2. 我上班时间去面试是因为内部转岗的人只会在上班时间面试,并且我在面试前是征求过主管马某华和 hrbp 杨某举同意,二者都不反对我面试转岗,请看文中段落“对方同时表示,如果我觉得自己行,也可以在这几天内争取转岗。”
V2EX
我因为在美团面活水被光速开除 - V2EX
职场话题 - @Prideeeeee - 各位好,我是前美团海外 SaaS 业务组的研发人员。曾经,我是一名客户端开发,如今则是一名全职滴滴快送骑手,穿梭在这座城市的街头巷尾,靠双手和车轮谋生。看到被暴力裁员的前同事,勾起了我无数痛苦
duangsuse::Echo
1.5h
程序员写这样一个简单的逻辑有多难: #dev #cg
[0 0 1 0 2 3 5 ..] -takeFirsts: it==0
->[0 0]
无非就是在y轴上做模式匹配,算个矩形高度
- 没想到吧,视频px<屏幕px
- 没想到吧,你以为顶上算对了,它才是算错的那个。 dpi的bug正好弥补了这一部分……
- 没注意吧,不是因为视频x=某个值时黑色扎进去了,AI写的是横灰度平均
- 而这正是bug的2个根源之一…… 😑
- 搞了一个小时,四个黑边只支持检测俩, 还会被白水印欺骗😅😅
- https://tttttt.me/dsuse/18702 #py 5行烂苹果再次完胜js
我在想,如果我真的对canvas什么都不懂,还要再卡多久。 hf.co 的新AI确实聪明,他也没聪明到提醒我坐标系变换这回事……😅
vibe 个什么啊
[0 0 1 0 2 3 5 ..] -takeFirsts: it==0
->[0 0]
无非就是在y轴上做模式匹配,算个矩形高度
- 没想到吧,视频px<屏幕px
- 没想到吧,你以为顶上算对了,它才是算错的那个。 dpi的bug正好弥补了这一部分……
- 没注意吧,不是因为视频x=某个值时黑色扎进去了,AI写的是横灰度平均
- 而这正是bug的2个根源之一…… 😑
- 搞了一个小时,四个黑边只支持检测俩, 还会被白水印欺骗😅😅
- https://tttttt.me/dsuse/18702 #py 5行烂苹果再次完胜js
我在想,如果我真的对canvas什么都不懂,还要再卡多久。 hf.co 的新AI确实聪明,他也没聪明到提醒我坐标系变换这回事……😅
vibe 个什么啊
duangsuse::Echo
让我觉得匪夷所思的是, FRP 脚本有很多,但基本都是拿到地址就(可以公网)测试了,就像你只是调用了一下curl而已 Linux hostnamectl 这个特性,似乎是可有可无的,存在感比蓝牙设备名还低 这就像一些 http/ftp-server 测试服务,启动后不会 print URL 句柄,要你根据port去猜 当我封装CF的公网tunnel时,理所当然就把此服务封装成 $HOSTNAME 了,回头一看我居然是异类。 😅 twistd -n ftp -r . python -m pyftpdlib…
#web #dev 这个真是懒得喷。 我理解的REST(可表达状态转移, 😅 😅
就是 db.GET PUT json, 加上过滤排序分页, 或许有些 /user/:id/follow 的页面可以手写下,也可能直接套模板生成(哪个平台没有一堆“收藏夹”啊..)
这种RPC当然毫无价值,类似于把本地存储换到线上,只是加个鉴权和双向搜索罢了,查重率100% 我是懒得手写的, GraphQL.org 也封装的明明白白。
我觉得奇怪的是,哪怕是在PyJS的全栈框架里, 我说的这种REST,对 BlogComment, Todos, PetShop 等基础CMS样板也没法做成和Excel一样简单; 那些淘宝上卖的(开源投自制) 也都没有重用重构的价值
这篇文章在替发明REST这个「高端概念」的大佬,抱怨工程师们什么呢? 是 HateoAS (讨厌OpenAPIs?? ) 没人玩。😅
也不是讨厌,是用res.body XML上的nullable函数超链接,表示“用户有没有登录” “用户能不能删贴”,来「方便App跨版本」 等等,比SOAP好一点
这不是废话么?? 这都2025了还有人把活爹.XML(schema)当个宝呢。 你说说Java里怎么生成 OPTIONS / 啊? 有了 HATEOAS 接口,在JS里免client lib 直接调用的DX体验怎么样??
没有TG自己造传输层协议的能力,还抱怨工程上restful的理解了RESTful, 那比你强的就是懒得为REST这种高度自限性的RPC写框架,早自己玩更好的去了; 比你菜的又只会CRUD,最多拿 http/module/:pathArg 优化下可读性,对接下SQL或jsonKV, 你让他区分个 GET/POST 都懒
可不是被滥用和误解嘛, 纯属活该,自己不开发在那边画饼…… 你有没有意识到, api.x.com/OpenAPI.json 就是所谓的REST、免文档、自动发现函数、解耦合?
Java codegen 都没写过是怎么敢设计这种协议范式的? 不对,看他们 content-type 都要改成 vnd.XX.User+json 我就觉得这是 #ts 写上瘾了。 知不知道 fetch() 不能自动判定body类型,还要手动.json()一下……
如果你真能生成并用 OPTIONS /:type/:id 调用动态方法,那要http就没意义了(本质上是js rpc),所谓超文本又体现在哪。
我都可以给REST/HATEOAS重构成工程界可以接受的样子, 但我不会用单请求单响应。🙉
http方法本身也是烂梗, POST就是有body的GET,DELETE就是空body的POST, jQuery 里一直是这样重载的,十年了不见跨语言一点。 POST的“同名时冲突” 也是很脑残的约定,很多人只是为了在body里放文件上传一下, 根本就不该禁止,填写表格时多次检查。
🤡 https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
ps. 我是真的写过API生成的 https://github.com/duangsuse-valid-projects/GeekSpec-GeekApkv1.0b
SOAP砖家: https://coolshell.cn/articles/3585.html
curl https://wtf = count: x=>x+1
) 是什么? 就是 db.GET PUT json, 加上过滤排序分页, 或许有些 /user/:id/follow 的页面可以手写下,也可能直接套模板生成(哪个平台没有一堆“收藏夹”啊..)
这种RPC当然毫无价值,类似于把本地存储换到线上,只是加个鉴权和双向搜索罢了,查重率100% 我是懒得手写的, GraphQL.org 也封装的明明白白。
我觉得奇怪的是,哪怕是在PyJS的全栈框架里, 我说的这种REST,对 BlogComment, Todos, PetShop 等基础CMS样板也没法做成和Excel一样简单; 那些淘宝上卖的(开源投自制) 也都没有重用重构的价值
这篇文章在替发明REST这个「高端概念」的大佬,抱怨工程师们什么呢? 是 HateoAS (讨厌OpenAPIs?? ) 没人玩。
也不是讨厌,是用res.body XML上的nullable函数超链接,表示“用户有没有登录” “用户能不能删贴”,来「方便App跨版本」 等等,比SOAP好一点
这不是废话么?? 这都2025了还有人把活爹.XML(schema)当个宝呢。 你说说Java里怎么生成 OPTIONS / 啊? 有了 HATEOAS 接口,在JS里免client lib 直接调用的DX体验怎么样??
没有TG自己造传输层协议的能力,还抱怨工程上restful的理解了RESTful, 那比你强的就是懒得为REST这种高度自限性的RPC写框架,早自己玩更好的去了; 比你菜的又只会CRUD,最多拿 http/module/:pathArg 优化下可读性,对接下SQL或jsonKV, 你让他区分个 GET/POST 都懒
可不是被滥用和误解嘛, 纯属活该,自己不开发在那边画饼…… 你有没有意识到, api.x.com/OpenAPI.json 就是所谓的REST、免文档、自动发现函数、解耦合?
Java codegen 都没写过是怎么敢设计这种协议范式的? 不对,看他们 content-type 都要改成 vnd.XX.User+json 我就觉得这是 #ts 写上瘾了。 知不知道 fetch() 不能自动判定body类型,还要手动.json()一下……
如果你真能生成并用 OPTIONS /:type/:id 调用动态方法,那要http就没意义了(本质上是js rpc),所谓超文本又体现在哪。
我都可以给REST/HATEOAS重构成工程界可以接受的样子, 但我不会用单请求单响应。🙉
http方法本身也是烂梗, POST就是有body的GET,DELETE就是空body的POST, jQuery 里一直是这样重载的,十年了不见跨语言一点。 POST的“同名时冲突” 也是很脑残的约定,很多人只是为了在body里放文件上传一下, 根本就不该禁止,填写表格时多次检查。
🤡 https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
ps. 我是真的写过API生成的 https://github.com/duangsuse-valid-projects/GeekSpec-GeekApkv1.0b
SOAP砖家: https://coolshell.cn/articles/3585.html
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2