安全
Curl高危漏洞(CVE-2023-38545)分析报告及建议 (antiy.cn)
cURL 漏洞。
嵌入式
Bookworm — the new version of Raspberry Pi OS – Raspberry Pi
树莓派发布新系统,使用 Wayland。
Curl高危漏洞(CVE-2023-38545)分析报告及建议 (antiy.cn)
cURL 漏洞。
Bookworm — the new version of Raspberry Pi OS – Raspberry Pi
树莓派发布新系统,使用 Wayland。
左侧栏新建“应用程序”,下面给出可用的 docker-compose.yml
:
version: '3.5'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 0:0
network_mode: 'host'
volumes:
- /share/Container/jellyfin/config:/config
- /share/Container/jellyfin/cache:/cache
- /share/Media:/mnt/media:ro
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
restart: 'unless-stopped'
environment:
- http_proxy=http://<proxy-host>:<proxy-port>
- https_proxy=http://<proxy-host>:<proxy-port>
- HEALTHCHECK_URL=http://<qts/jellyfin-host>:8096/health
extra_hosts:
- "host.docker.internal:host-gateway"
基于 Jellyfin 官方给出的 yml 修改而来,挂载设备以支持硬件解码。由于 QTS 上该设备所有者为 0:0,且权限为 600,无法通过添加 –group-add 参数来让同组不同用户使用该设备,因此只能让这个容器按 root:root 启动了,可能有些许风险。
添加环境变量以加速元数据刷新,修改健康检查地址使之状态正常。
推出 RustRover – JetBrains 出品的独立 Rust IDE (qq.com)
JetBrains 发布 Rust 的独立版本 IDE 预览版,目前免费。
Port forwarding local services with VS Code (visualstudio.com)
获取Tg的用户IP地址 (qq.com)
STUN 打洞泄露出口 IP。
https://support.fortinet.com/Download/VMImages.aspx
虚拟机版本的飞塔。
WireGuard Endpoint Discovery and NAT Traversal using DNS-SD | Jordan Whited
WireGuard 的一种 NAT 穿越方案。
cs.uwaterloo.ca/~csk/slide/
不知道为什么很火的滑动解锁式游戏。
面向插件开发者的语言服务器协议(LSP)| 技术解析 (qq.com)
JetBrains 自 2023.2 大版本开始引入 LSP 支持。
k8s无法删除namespace-腾讯云开发者社区-腾讯云 (tencent.com)
混沌故障演练如何尽可能保障生产环境不被破坏 (qq.com)
Fortinet ZTNA远程办公解决方案全国首发评测_哔哩哔哩_bilibili
飞塔的 ZTNA。
MikroTik CRS310-8G+2S+IN 2.5G交换机 – YuS (irouteros.com)
MikroTik 发了个新的 2.5G 交换机,个人感觉性价比一般。
Github上的高热度嵌入式项目之——开源核辐射检测仪 (qq.com)
从 Istio 在 CNCF 毕业,看服务网格的架构变迁 (qq.com)
Linux 中不适用功能键切换TTY | 《Linux就该这么学》 (linuxprobe.com)
Home (dn42.dev)
一直没有时间学 BGP…
光猫改桥接后速度降低的问题与运营商和厂商的探讨 – V2EX
时间错误导致丢包。
总结142款运营商定制WiFi6 mesh路由的配置,供大家参考(有几款可刷OPENWRT)-无线路由器硬件改造以及故障维修-恩山无线论坛 – Powered by Discuz! (right.com.cn)
运营商定制机是真的便宜。
人类数据,要被 OpenAI 用完了,然后呢? (qq.com)
中文互联网的很多优质内容都被掌握在各大厂手里了。
美的设备怎么进米家联动?教你如何通过易来Pro网关进行跨平台联动_哔哩哔哩_bilibili
那么,在哪里可以买到呢?
GitHub – microsoft/win32-app-isolation: Tools and documentation for Win32 app isolation
thinking-in-se/《人件 原书第3版》.pdf at master · clsaa/thinking-in-se · GitHub
最近发现,如果在 DHCP 服务器上向 openSUSE 下发了 IPv4 地址,在该地址的老化时间内,即使是重新开启网卡接口、重启系统、重新插拔网线等行为,Wicked 也不会重新获取 IP 地址,查看 wickedd-dhcp4.service 的日志可以发现其检查了 IP 的有效时间,有效期内没有再重新获取一次。
先删除 /var/lib/wicked
下的所有文件:
sudo rm -rf /var/lib/wicked/*
或者是只删除 /var/lib/wicked/lease-eth0-dhcp-ipv4.xml
也可以。
然后,重启该网卡接口:
sudo wicked ifdown eth0
sudo wicked ifup eth0
此时应该可以观察到 IP 地址已经刷新。
Wicked keeps DUID on SLES15 even when NIC is replaced | Support | SUSE
看到了以前好多人在折腾 N5105,偶发的重启问题确实很烦人,最后看评论应该是更新微码可以解决。
GNOME 的发音
https://stuff.mit.edu/afs/athena/astaff/project/aui/html/pronunciation.html
在 docker-compose.yml 中的 extra_hosts
字段中加上 host.docker.internal:host-gateway
即可。是的,一个魔法字符串。
这个并非由 Docker Compose 处理,而是传给 Docker Engine 这层来处理,具体见引用链接中的源码。
https://github.com/docker/compose/issues/9768#issuecomment-1570319324
将代码仓库转移到monorepo如果直接将代码复制到大仓中就会丢失原本的代码提交记录。而大多数情况下我们希望保留提交记录以方便后期问题定位等情况。
# 移动文件
git mv -k * projects/{你的项目名}
git mv -k .* projects/{你的项目名}
# 提交仓库
git commit && git push
git remote add -f my-app {原仓库git地址}
git merge my-app/{分支名} --allow-unrelated-histories
git remote remove my-app
git push
parseInt
永远将输入解析为字符串
parseInt({toString: () => 2, valueOf: () => 1}); // -> 2
Number({toString: () => 2, valueOf: () => 1}); // -> 1
一个常见的栗子
parseInt("apple"); // -> NaN
parseInt("apple", 16); // -> 10
上面这个例子是因为parseInt
会一个个解析字符直到解析不了,所以解析十六进制中的a
为10作为结果返回。
parseInt Infinity
parseInt("Infinity", 10); // -> NaN
// ...
parseInt("Infinity", 18); // -> NaN...
parseInt("Infinity", 19); // -> 18
// ...
parseInt("Infinity", 23); // -> 18...
parseInt("Infinity", 24); // -> 151176378
// ...
parseInt("Infinity", 29); // -> 385849803
parseInt("Infinity", 30); // -> 13693557269
// ...
parseInt("Infinity", 34); // -> 28872273981
parseInt("Infinity", 35); // -> 1201203301724
parseInt("Infinity", 36); // -> 1461559270678...
parseInt("Infinity", 37); // -> NaN
parseInt null
parseInt(null, 24); // -> 23
上面的结果都是一样的解析过程,按字母表排序,每个字符对应数字是固定的。比如,I
对应18,在18进制中只能解析0-17,所以parseInt("Infinity", 18); // -> NaN
,在19进制中就能解析出结果:parseInt("Infinity", 19); // -> 18
n
对应23,在23进制中解析不了,只返回18,在24进制中就是18 * (24 ^ 5) + 23 * (24 ^ 4)+ 15 * (24 ^ 3)+ 18 * (24 ^ 2) + 23 * 24 + 18 = 151176378,其他依此类推。
八进制
parseInt("08"); // -> 8, 支持ES5
parseInt("08"); // -> 0, 不支持ES5
以0开头的数字可以被解析为10进制或8进制,ECMAScript 5规定为10进制,但不是所有浏览器都支持它。所以使用parseInt
时指定进制是好习惯,有时可以避免不必要的bug。
浮点数
parseInt(0.000001); // -> 0
parseInt(0.0000001); // -> 1
parseInt(1/1999999); // -> 5
parseInt
接受一个字符串参数并返回一个指定基数的整数。 parseInt
还会去除字符串参数中第一个非数字之后的任何内容。0.000001转换为字符串后是"0.000001",0.0000001转换后是"1e-7",所以返回1,1/1999999转换后是5.00000250000125e-7,返回结果是5。