#web #dev #recommended #GitHub 仓库 VSCode 、 YouTube 视频下载工具 https://github.com/justjavac/1s (不是原作者, #moha 玩梗)
直接在二级域名 github 后面 +1s 即可 https://github1s.com/
直接在二级域名 github 后面 +1s 即可 https://github1s.com/
GitHub
GitHub - justjavac/1s: 天若有情天亦老,我为网站加一秒
天若有情天亦老,我为网站加一秒. Contribute to justjavac/1s development by creating an account on GitHub.
#info #design #web #lib #ali #security 据悉今天阿里 Antd #GitHub 账号被盗
https://t.me/im_RORIRI/870
上频道言,相关事件:
https://github.com/alibaba/nacos/issues/4593
https://t.me/im_RORIRI/870
上频道言,相关事件:
https://github.com/alibaba/nacos/issues/4593
Telegram
螺莉莉的黑板报
【本报讯】阿里员工因未开 2FA 造成账号失窃,仓库 ownership 被转移,Ant Design 仓库失联一上午。
我再强调一遍,综合 HoHoHo 事件,Antd 是一个完全不可信任的 UI 库,无论是工程质量还是开发人员的基本素质都达不到一般开源产品的水平,我们不推荐您在自己的项目中使用任何阿里开源产品。
我再强调一遍,综合 HoHoHo 事件,Antd 是一个完全不可信任的 UI 库,无论是工程质量还是开发人员的基本素质都达不到一般开源产品的水平,我们不推荐您在自己的项目中使用任何阿里开源产品。
Forwarded from 「VoP」維尼之聲 - Voice of Pooh🔊
#js #code [doge] 哈!手机上一次就写对了
好耶!是元编程
妈耶…… 看来还是包装下比较好😓 这个代码不可能短
#GitHub 上找了半天最终发现 https://github.com/bnoguchi/hooks-js 和 https://github.com/buddyspike/easy-intercept 是可以用的,另外还有三四个标准研究性的 intercept 和一大堆只能针对 XHR API 的🌚👍
https://github.com/search?p=4&q=JS+intercept&type=Repositories
你前端还是你前端,复用都懒得做🌝🤔
"JavaScript 能表达的程序最终都会被写出来"
前端娱乐圈✅
const swap=(k,a,b)=>{ let va=a[k]; a[k]=b[k]; b[k]=va; },
hook=(o,op_tab)=>{
let old={};
for (let k in op_tab) { swap(k, old, o); let f=op_tab[k]; o[k]=function hooked(...args) {args.push(old); return f.apply(this, args)}; }
let attrs = Object.keys(op_tab);
function undo() { this.attrs.forEach(k => swap(k, old, o)); }
return {attrs, undo};
}
function add(a,b) {return a+b}
h=hook(window, {add: (a,b,old)=>{console.log(a);return old.add(a,b)}})
不过有个问题, 不能同时兼容 prototype ,没 bound好耶!是元编程
const
swap=(k,a,b)=>{ let va=a[k]; a[k]=b[k]; b[k]=va; },
boundCopy=(!!Proxy)? (o,ks)=>self=>new Proxy({}, {get: (o1,k)=>o[k].bind(self)}) : (o,ks)=>self=>{ let bound={}; for (let k of ks) Object.defineProperty(bound, k, {get: ()=>o[k].bind(self)}); return bound; },
hook=(o,op_tab)=>{
let old={}, attrs = Object.keys(op_tab);
for (let k of attrs) { swap(k, old, o); let f=op_tab[k]; o[k]=function hooked(...args) {args.push(boundCopy(old, attrs)); return f.apply(this, args)}; }
function undo() { this.attrs.forEach(k => swap(k, old, o)); }
return {attrs, undo};
}
orig(this).fn
这样用:let hooky = {
log(...ho) { hookAll(...ho, (...args,orig)=>{ console.log(args); let res=orig(this)[ho[1]](...args); console.log(res); return res; }); },
breakIf(p, ...ho) {},
stopIf(p, ...ho) {},
onValues(op, ...ho) {},
insts: {},
saveInstances(...ho) {}
}
妈耶…… 看来还是包装下比较好😓 这个代码不可能短
#GitHub 上找了半天最终发现 https://github.com/bnoguchi/hooks-js 和 https://github.com/buddyspike/easy-intercept 是可以用的,另外还有三四个标准研究性的 intercept 和一大堆只能针对 XHR API 的🌚👍
https://github.com/search?p=4&q=JS+intercept&type=Repositories
你前端还是你前端,复用都懒得做🌝🤔
"JavaScript 能表达的程序最终都会被写出来"
前端娱乐圈✅
GitHub
GitHub - bnoguchi/hooks-js: Augment your methods with pre and post hooks
Augment your methods with pre and post hooks. Contribute to bnoguchi/hooks-js development by creating an account on GitHub.
#php #js #web 双重傻逼就是傻逼两次。 第一次混淆 sql 代码和数据已经够弱智,第二次是暴露 http 不管传输层在应用层做脑残防护,三秒给你监听代码扬了。
https://github.com/w2sft/BrowserWAF #github #china #haha
“ 防自动化攻击: 如动画中,浏览器下方,开始时候密码输入框的id和name都为空,也就意味着通过识别元素id和name属性的方式,是无法被定位到的,那么也就无法进行自动赋值,也就无法进行暴力破解、撞库等攻击(burp嗅探重放式的除外)。
同时,注意有一个属性为hidden的input框。它是被随机插入在页面中的,这样也就可以防止使用xpath方式定位的攻击。
🌚???你还知道 xpath 啊,那你知不知道随机一个 <input hidden> 也能被自动过滤?
https://github.com/w2sft/BrowserWAF #github #china #haha
“ 防自动化攻击: 如动画中,浏览器下方,开始时候密码输入框的id和name都为空,也就意味着通过识别元素id和name属性的方式,是无法被定位到的,那么也就无法进行自动赋值,也就无法进行暴力破解、撞库等攻击(burp嗅探重放式的除外)。
同时,注意有一个属性为hidden的input框。它是被随机插入在页面中的,这样也就可以防止使用xpath方式定位的攻击。
🌚???你还知道 xpath 啊,那你知不知道随机一个 <input hidden> 也能被自动过滤?
GitHub
GitHub - w2sft/BrowserWAF: Browser side waf
Browser side waf. Contribute to w2sft/BrowserWAF development by creating an account on GitHub.
#Haha 十步口一人……千里不留行
2. #reveng N64 Fast3D 移植到OGL和DX3D
3. #opensource #github 🤔 封禁发行权…… 他是作者,但发行好像是社区问题……看到大佬就用的不在少数
2. #reveng N64 Fast3D 移植到OGL和DX3D
3. #opensource #github 🤔 封禁发行权…… 他是作者,但发行好像是社区问题……看到大佬就用的不在少数
Forwarded from 层叠 - The Cascading
GitHub 宣布停止 Atom 项目。Atom 组织下 repo 将于今年 12/15 转为归档模式。
https://github.blog/2022-06-08-sunsetting-atom/
#GitHub #Atom #Deprecation
https://github.blog/2022-06-08-sunsetting-atom/
#GitHub #Atom #Deprecation
The GitHub Blog
Sunsetting Atom
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
#security #github #ai
1Password TOTP 网页右键-保留登录信息,再打开菜单,扫描二维码 就可添加2fa登录
OpenAI 有可能屏蔽或锁区 梯子 https://t.me/rynif/30302
lamda, palm, llama 架构里使用 SwiGLU,你会看到他的论文没解释为什么他非常适合&好用,因为作者也不清楚,反正发布了大家一起用
1Password TOTP 网页右键-保留登录信息,再打开菜单,扫描二维码 就可添加2fa登录
OpenAI 有可能屏蔽或锁区 梯子 https://t.me/rynif/30302
lamda, palm, llama 架构里使用 SwiGLU,你会看到他的论文没解释为什么他非常适合&好用,因为作者也不清楚,反正发布了大家一起用
1Password
Use 1Password as an authenticator for sites with two-factor authentication
Learn how to use 1Password to store and quickly access your one-time passwords when you turn on two-step verification for a website.
duangsuse::Echo
#py 周刊 #ts Mypy: 1.5 Mypy 是 Python 的静态类型检查工具,1.5 版本主要功能有: @overrride 、更灵活的 TypedDict(字面创建的 dataclass) 创建和更新、可显示错误代码的文档、改进了泛型函数的类型推断、__slots__ 的优化、步进 Python 3.12 #ai 整理和预处理pdf文件,让GPT访问 from bot import Retriever, llm_reply #backend 用 numpy, 线程池 优化数学区间求和函数…
#cpp #bilibili std::lists 谈恋爱, BV1ak4y137vf 音源
#github #ai bot Sweep: 用提issue的方式让AI生成项目文件、添加功能
#web #security Dashy 的作者开源 🕵️ Web Check:网站信息收集器 官网
#life Little Big World, 壮观的无人机延时摄影、移轴摄影(边缘模糊)「小人国大世界」的视频网站
将地球上最美丽、最有趣的地方变成了可爱的微型模型,里面有大量的国外不同城市的这种微型模型视频,很适合欣赏。
#tool Mac: “ • 三等奖(8 名):赤友数据恢复 Mac 一年版 / 赤友右键超人 一年版 / 熊猫吃短信 2 一年版 / 优效日历 一年版 / Air Explorer Pro 一年版 / Manico 专业版
#apple 作品🏆 SixD (SwiftUI & Interaction Design)的作者开发这款App来源于他自己的一个愿景:「创造一个设计师与开发者之间的桥梁」。
1️⃣ 通过交互式指南学习 UI 设计基础:
你能扮演一个 UI 设计师,帮助开发者 Nina 来完善论坛 App。这样,也能学习到很多 UI 相关的知识,如改变背景颜色、强调颜色,如何对齐元素,改变图标,改变字体设置、层级、间距,圆角、边距。
2️⃣ 在 SwiftUI Lab 中学习每个元素(例如颜色、字体、组建布局、导航、选择器等内容)的使用和 SwiftUI 代码,
除此之外,App 还支持学习 Apple 的一些偏门 API 们的使用,例如 AR Quick Look,MapKit,PencilKit 等内容。
#github #ai bot Sweep: 用提issue的方式让AI生成项目文件、添加功能
#web #security Dashy 的作者开源 🕵️ Web Check:网站信息收集器 官网
#life Little Big World, 壮观的无人机延时摄影、移轴摄影(边缘模糊)「小人国大世界」的视频网站
将地球上最美丽、最有趣的地方变成了可爱的微型模型,里面有大量的国外不同城市的这种微型模型视频,很适合欣赏。
#tool Mac: “ • 三等奖(8 名):赤友数据恢复 Mac 一年版 / 赤友右键超人 一年版 / 熊猫吃短信 2 一年版 / 优效日历 一年版 / Air Explorer Pro 一年版 / Manico 专业版
#apple 作品🏆 SixD (SwiftUI & Interaction Design)的作者开发这款App来源于他自己的一个愿景:「创造一个设计师与开发者之间的桥梁」。
1️⃣ 通过交互式指南学习 UI 设计基础:
你能扮演一个 UI 设计师,帮助开发者 Nina 来完善论坛 App。这样,也能学习到很多 UI 相关的知识,如改变背景颜色、强调颜色,如何对齐元素,改变图标,改变字体设置、层级、间距,圆角、边距。
2️⃣ 在 SwiftUI Lab 中学习每个元素(例如颜色、字体、组建布局、导航、选择器等内容)的使用和 SwiftUI 代码,
除此之外,App 还支持学习 Apple 的一些偏门 API 们的使用,例如 AR Quick Look,MapKit,PencilKit 等内容。
YouTube
ちょっかい問題という曲を作りました。#shorts #ボカロ #音源素材
#github #js #news Babel 所用下载量平齐JQ的 CoreJS (用于解决 cani.use) 的全职维护者 zloirock.ru 收入腰斩很穷了,只有700刀每月还要养家
.非常好笑的是 fetch() 这单个的 polyfill 都比它的star多,而 NPM, Tidelift 自己都在使用CoreJS,但他们对全职工作视若无睹
呃,我看了一下他的 btoa(bytes) 实现 ,他的代码质量超过GPT3了 ;但是除了许多大企业的员工看到 npm install 上求捐款的消息('Also, ..is looking for a good job -) ' )赶来骂他,就连向polyfills提需求的 TC39 也在排挤他
他悲剧的缘由和 fakerjs 一样是突发事故,他开车撞到了醉酒爬在街上的行人,因此不得不努力挣钱
成千上万的开发人员侮辱他,以强调作者无权向他们寻求任何钱或精力上的帮助。
他真的好敬业,literally 每天都在交代码(尽管文章是今年2月发的,现在也没撤下)
可因为写的东西是标准库,在供应链上太早了, 又被 babel-polyfill 抢了名字,被人当作最不负责任的捣蛋鬼🤓和勒索者 😅
“(质量越高,支持越少) 错误不都会立即得到修复吗?那就是一个小库”
“polyfill 并不会影响到ESNext提案,TC39不知道为啥要关注它们”
“放弃你的开源,你这是纵容自己,请回到正常的工作。谁谁谁只做了一年程序员,他对开源几乎一无所知,他每天只工作几个小时,已经赚的是你的好几倍。”
“我不会以每小时2美元的价格为项目工作。我愿意继续以每小时至少80美元的价格,这正是eslint团队成员的收费标准。”
.非常好笑的是 fetch() 这单个的 polyfill 都比它的star多,而 NPM, Tidelift 自己都在使用CoreJS,但他们对全职工作视若无睹
呃,我看了一下他的 btoa(bytes) 实现 ,他的代码质量超过GPT3了 ;但是除了许多大企业的员工看到 npm install 上求捐款的消息('Also, ..is looking for a good job -) ' )赶来骂他,就连向polyfills提需求的 TC39 也在排挤他
他悲剧的缘由和 fakerjs 一样是突发事故,他开车撞到了醉酒爬在街上的行人,因此不得不努力挣钱
成千上万的开发人员侮辱他,以强调作者无权向他们寻求任何钱或精力上的帮助。
他真的好敬业,literally 每天都在交代码(尽管文章是今年2月发的,现在也没撤下)
可因为写的东西是标准库,在供应链上太早了, 又被 babel-polyfill 抢了名字,被人当作最不负责任的捣蛋鬼🤓和勒索者 😅
“(质量越高,支持越少) 错误不都会立即得到修复吗?那就是一个小库”
“polyfill 并不会影响到ESNext提案,TC39不知道为啥要关注它们”
“放弃你的开源,你这是纵容自己,请回到正常的工作。谁谁谁只做了一年程序员,他对开源几乎一无所知,他每天只工作几个小时,已经赚的是你的好几倍。”
“我不会以每小时2美元的价格为项目工作。我愿意继续以每小时至少80美元的价格,这正是eslint团队成员的收费标准。”
GitHub
GitHub - zloirock/core-js: Standard Library
Standard Library. Contribute to zloirock/core-js development by creating an account on GitHub.
duangsuse::Echo
#sysadmin Arch #linux 一次滚挂历程(差一点) *原因:很久没滚,GNOME mutter wm莫名有了键盘焦点的bug。 未使用 -Syu 以至于为一些旧的包 --ignore icu 的升级,谁知xml依赖它呢?另外还 --overwrite'jupyterlab/*' *差点滚挂: 不能 systemctl restart display-manager ; pacman -S 启动不了!而且我的tty1开的是支持中文的 cage kitty (虽然不会bootloop 🙉 并非btrfs…
#sysadmin Arch #linux 一次莫名其妙的boot卡第一屏
ps. #tool #github https://chromewebstore.google.com/detail/webdevauthn 比那些付费垃圾TOTP(sha1 6b) 厉害多了 😅
经过PE验证,
没法直接从其他发行版iso照搬
一看Arch liveCD 都1G多了 😅就选择Alpine,但手里的U盘不方便直接dd,需要 isolinux 启动(应该使用 https://www.ventoy.net/cn/index.html 的)
众所周知, GRUB 采用 1vm+2init 执行Linux,第一次init在内存盘,第二次明明也可以让grub传指针进来(squashfs,iso9660) 却莫名其妙要指定/proc/cmdline 去 find .iso 以便
Ubuntu 的是
因此最终你要对.iso 敲两次代码……
然后在毫无文档的init fallback 上挂载
然后OpenRC依然会挂,而且连bash都没有(不能用 arch-chroot https://wiki.archlinuxcn.org/wiki/Chroot ) 😅😅
替换一下 $esp/init*,这样就不卡第一屏
gnome-control-center 也坏了,草,是我的 nm-iwd 导致的
靠这些垃圾发行版还不如USB cdc上网
最后说个冷知识: /dev 树并不是在内核里定义好的
而是由init脚本(udev)创建,在切到第二个init(systemd) 后,看起来就像内核搞的一样 😄
devtmpfs 只是 -o size=固定的 tmpfs
/dev/null 这些统称为内存设备: https://github.com/torvalds/linux/blob/master/drivers/char/mem.c#L696
完整列表见 device.rst
Linux内核的启动参数,主要是 root=/dev/ram0 ,通过pivot_root的新方式都是在可脚本环境下挂载/的
initrd由多个 .cpio.gz 构成,真希望能把.iso 与挂载脚本也加进内存去啊😅😅 为啥非要从u盘
https://run.tournament.org.il/extracting-multi-layered-initramfs/
https://github.com/owenson/tiny-linux-bootloader/blob/master/bsect.asm#L112
http://boot.ipxe.org/ 网络启动
#learn
https://wiki.archlinuxcn.org/wiki/Arch_的启动流程#Getty https://wiki.archlinuxcn.org/wiki/块设备持久化命名
https://mickyching.github.io/kernel/linux-vfs-introduction.html
https://kernel-tour.org/fs/devtmpfs.html
https://github.com/0voice/linux_kernel_wiki/blob/main/文章/设备驱动/Linux操作系统学习之字符设备.md#三-字符设备基本构成
魔数解析 https://ty-chen.github.io/linux-kernel-0x400000/
https://uniondong.github.io/docs/linux/linux_driver_develop_basic/一文秒懂linux字符设备驱动/#21-cdev
https://github.com/torvalds/linux/blob/master/fs/binfmt_script.c
手写fs https://linux-kernel-labs.github.io/refs/heads/master/labs/device_drivers.html
ps. #rust 😅 macro 是教你这么玩的么,简直是对元编程的侮辱
一个KV表写成这B样,唉 https://github.com/torvalds/linux/blob/master/net/9p/error.c 都不好意思了
ps. #tool #github https://chromewebstore.google.com/detail/webdevauthn 比那些付费垃圾TOTP(sha1 6b) 厉害多了 😅
经过PE验证,
$esp/boot/initramfs-linux.img #约40M
莫名其妙成了空文件,必须重新 https://wiki.archlinuxcn.org/wiki/Mkinitcpio -g initr.img没法直接从其他发行版iso照搬
一看Arch liveCD 都1G多了 😅就选择Alpine,但手里的U盘不方便直接dd,需要 isolinux 启动(应该使用 https://www.ventoy.net/cn/index.html 的)
众所周知, GRUB 采用 1vm+2init 执行Linux,第一次init在内存盘,第二次明明也可以让grub传指针进来(squashfs,iso9660) 却莫名其妙要指定/proc/cmdline 去 find .iso 以便
mount /media/cdrom
Ubuntu 的是
boot=casper iso-scan/filename=/a.iso
但Alpine不吃这一套因此最终你要对.iso 敲两次代码……
#grub.cfg
menuentry "find iso" {
find --set=iso a.iso
}
menuentry "boot $iso" {
loopback l0 $iso
linux (l0)/boot/vm*
initrd (l0)/boot/initr*
}
然后在毫无文档的init fallback 上挂载
mount /dev/sda2 /tmp #反正不能直接从GRUB里传/dev号,不通用,也不能直接 find -d1 /media ,需要逐个mount..
mount -t iso9660 -o loop /tmp/a.iso /media/cdrom #不能自动探测loop0/cdfs,全默认fat
fdisk -l #输出是正常的,然而mount不是!
然后OpenRC依然会挂,而且连bash都没有(不能用 arch-chroot https://wiki.archlinuxcn.org/wiki/Chroot ) 😅😅
for p in sys dev; do mount --bind /$p /mnt/$p; done
chroot /mnt /bin/bash <<OK
mkinitcpio -g a.img
OK
替换一下 $esp/init*,这样就不卡第一屏
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.lookingGlass.toggle();'
gnome-control-center 也坏了,草,是我的 nm-iwd 导致的
靠这些垃圾发行版还不如USB cdc上网
最后说个冷知识: /dev 树并不是在内核里定义好的
而是由init脚本(udev)创建,在切到第二个init(systemd) 后,看起来就像内核搞的一样 😄
devtmpfs 只是 -o size=固定的 tmpfs
/dev/null 这些统称为内存设备: https://github.com/torvalds/linux/blob/master/drivers/char/mem.c#L696
完整列表见 device.rst
Linux内核的启动参数,主要是 root=/dev/ram0 ,通过pivot_root的新方式都是在可脚本环境下挂载/的
initrd由多个 .cpio.gz 构成,真希望能把.iso 与挂载脚本也加进内存去啊😅😅 为啥非要从u盘
https://run.tournament.org.il/extracting-multi-layered-initramfs/
https://github.com/owenson/tiny-linux-bootloader/blob/master/bsect.asm#L112
http://boot.ipxe.org/ 网络启动
#learn
https://wiki.archlinuxcn.org/wiki/Arch_的启动流程#Getty https://wiki.archlinuxcn.org/wiki/块设备持久化命名
https://mickyching.github.io/kernel/linux-vfs-introduction.html
https://kernel-tour.org/fs/devtmpfs.html
https://github.com/0voice/linux_kernel_wiki/blob/main/文章/设备驱动/Linux操作系统学习之字符设备.md#三-字符设备基本构成
魔数解析 https://ty-chen.github.io/linux-kernel-0x400000/
https://uniondong.github.io/docs/linux/linux_driver_develop_basic/一文秒懂linux字符设备驱动/#21-cdev
https://github.com/torvalds/linux/blob/master/fs/binfmt_script.c
#! 的由来
手写fs https://linux-kernel-labs.github.io/refs/heads/master/labs/device_drivers.html
ps. #rust 😅 macro 是教你这么玩的么,简直是对元编程的侮辱
declare_err!(EPERM, "Operation not permitted.");
.. 一个KV表写成这B样,唉 https://github.com/torvalds/linux/blob/master/net/9p/error.c 都不好意思了
Google
Chrome Web Store
Add new features to your browser and personalize your browsing experience.