Recent posts
Page 11 of 12 · 139 posts
Posted Feb 4
Base58 Base58 是一种二进制编码方法,类似于 Base64。Base64 本质是六十四进制,所以能轻易编码二进制内容,符号有 0~9、A~Z、a~z、+ 和 /。(还有 = 作为填充字符) Base58 移除了 Base64 中的 0、O、I 和 l,这些容易看错的字符,并且移除了 + 与 / 符号。对此,Base58 的创造者:中本聪在程序 base58.h 的注释中给出了原因。 1. 阻止潜在的同形异意攻击(Homoglyph Attack)。 2. 纯数字内容不容易被接受。 3. 防止换行。(指移除 + 与 / 符号,因为这些符号可能会导致电子邮件、网页的排版自动换行。) 4. 能够双击全选。(与上面相同,都与软件的排版有关。) 这么看来,中本聪为比特币设计的 Base58 编码,或者字符集合确实有许多优点。之后的确有人使用了 Base58 编码或来方便用户(比特币领域之外),比如 Flickr 的短链接服务,哔哩哔哩的 BV 号。不过他们都调整了编码集合的顺序,也许需要称作 flickr-Base58 与 bilibili-Base58,属于变体。 Base58 很适合作为 CD-Key 的字符集,因为竖线只有 1,碍事的 I 和 l 都不在。圆圈只有 o,很好分辨。但是常见的 CD-Key 没有这么做,比如 Windows 激活码的字符集是缺少了 015AEIOULNSZ 的 0~9、A~Z 。Steam CD-Key 的字符集是缺少了 1OSU 的 0~9、A~Z。感觉都不太合理。 附言:上述 Base58 的字符集: btc: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz flic:123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ bili:fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF #杂谈
Hashtags
Posted Jan 31
#工具推荐 Atuin 使用 SQLite 数据库取代了现有的 shell 历史,还可通过服务器,在机器之间提供可选的、完全加密的历史记录同步功能。 https://github.com/atuinsh/atuin
Hashtags
Posted Jan 21
https://xata.io/blog/postgres-full-text-search-postgres-vs-elasticsearch
Posted Jan 20
https://fengyuanchen.github.io/chinese-programmer-wrong-pronunciation/
Posted Jan 15
[#PSA] Telegram 官方 macOS Swift 客户端会对随机的、不属于 Telegram 的 IP 的 443 端口进行 TCP 握手。随机 IP 没有规律、有时甚至会尝试向不存在的 IP(如图中的 0.36.205.8 )发起 TCP 握手。 https://github.com/overtake/TelegramSwift/issues/1060 建议使用防火墙拦截上述的随机 TCP 连接,Surge for Mac 用户可以使用下述规则拦截: # Telegram 域名 RULE-SET,https://ruleset.skk.moe/List/non_ip/telegram.conf,[replace with your policy name],extended-matching # Telegram 官方在 https://core.telegram.org/resources/cidr.txt 列出的 Telegram IP 段 RULE-SET,https://ruleset.skk.moe/List/ip/telegram.conf,[replace with your policy name] # 非官方收集的 Telegram ASN 列表 RULE-SET,https://ruleset.skk.moe/List/ip/telegram_asn.conf,[replace with your policy name] # 静默丢弃 Telegram 客户端发起的、目标非 Telegram 域名和 IP 的其他连接 PROCESS-NAME,Telegram,REJECT-DROP
Hashtags
Posted Jan 14
贴一下个人学习的前端React系的最佳实践: JavaScript: zh.javascript.info HTML, CSS:developer.mozilla.org TypeScript 类型体操:type-challenges 框架 React: F(Data) = UI Next.js: 一个 React 的全栈框架 tRPC: 增强全栈框架端到端类型安全 样式与UI TailwindCSS: 原子化CSS HeadlessUI: Tailwind配套的无样式组件库 Radix: 开箱即用的无样式组件库 shadcn/ui: 可移植的组件库 状态管理 jotai: 从下往上 zustand: 从顶自下 数据获取 swr: 用于数据请求的 React Hooks 库 实用Hook封装 foxact: React Hooks/Utils done right.
Posted Dec 21
DevUtils v0.0.1-beta+1 写了个玩具,欢迎使用。 跨平台,支持Web, Windows, MacOS和Linux. 在浏览器端,使用 JavaScript 和 WASM 实现工具功能,在客户端使用 Rust 实现工具功能。 https://utils.sku.moe 源码短链:https://git.kg/devutils Github #开发者工具
Posted Dec 19
PairSum Leap 水群看到的 ADHD 疗法,用于提高认知。 Web: https://psl.sku.moe Github: https://git.kg/psl
Posted Dec 17
Gemini-Web Gemini Pro 的 API 在欧洲等地区不可用,所以随手写了一个套壳 Gemini Web 通过 Vercel 转发。 https://ai.xjt.lu 源码短链:https://git.kg/gw Github #AI
Hashtags
Posted Dec 17
DevUtils v0.0.1-beta+1 写了个玩具,欢迎使用。 跨平台,支持Web, Windows, MacOS和Linux. 在浏览器端,使用 JavaScript 和 WASM 实现工具功能,在客户端使用 Rust 实现工具功能。 https://utils.sku.moe 源码短链:https://git.kg/devutils Github #开发者工具
Hashtags
Posted Dec 15
https://the-guild.dev/blog/nextra-3
Posted Oct 31
一个非常有意思的 #独立开发产品,通过背单词打怪升级。会觉得有意思是因为高三下学期也曾有策划过一个文字 PRG 游戏,苦于没有能够结合的创新点而流产。虽然有意思但是看了下数据,上线四个月的流水并没有超过五位数。独立开发就是从调研、设计、开发、运维包括运营、宣传甚至售后,本来每一项都需要有一个人负责的工作全部由一个人承担,产品不但要能够打,宣发也要处处考虑到位,每一个环节都需要如履薄冰,因为每一个差池、每一个失误造成的影响都会由你传导到每一个环节,像是一节节多米诺骨牌,一个人需要承受的未必比本来五个、十个人来的少。 https://cn.denopark.com/ #独立开发者