【已开源】现代化的高质量 React Hooks 库
@shined/react-use 是一个对 SSR(服务端渲染)友好、全面且高度优化的 React Hooks 库,提供了灵活且高效的钩子解决方案。完全采用 TypeScript 开发,配备了包含丰富示例的交互式文档 🔥。 主要受到 VueUse 的启发,同时也吸取了 r…
Git Submodules 备忘录
这是一份给自己的、简单而又基础的 Git Submodules 备忘录。 因为发现自己一到用的时候就忘了,结果就是一遍又一遍问 GPT...
克隆带有 Git Submodules 的仓库
Copy
# 方法一,一步到位
git clone --recurse…
解决 git/ssh 报错:too many authentication failures
主要是因为 ssh 的 host 规则配置过多,且没有设置精确匹配,加上又存在多个密钥,导致了 ssh 挨个尝试,在没有尝试到成功的匹配之前,因为失败次数过多而被服务器拒绝了。 解决方案:host 匹配规则里加上精确匹配。
Copy
# ~/.ssh/config
Host…
公网访问 TP-LINK 路由管理页绕过 tplogin.cn 跳转
解决方案 先说解决方案,通过 nginx 配置代理并利用其替换功能修改前端页面里写死的判别逻辑即可。
Copy
server {
# 暴露的端口
listen 1234;
location / {
# 管理页地址
proxy_pass http…
Guitar Studio 😍!
🎸 + 🌐 = your all-in-one guitar online toolkit. It's now under developing, give it a try?
Online Link: https://guitar.viki.moe
GitHub: htt…
Object 方法:`freeze` vs `seal` vs `preventExtensions`
当我们涉足 JavaScript 的世界时,我们会遇到 freeze、seal和preventExtensions这三个神秘的伙伴。它们就像保护我们的对象免受外界伤害的护身符,但它们之间可是各有不同! Object.freeze()
这位大爷可是彻头彻尾的冰霜法师!一旦你使用了O…
JavaScript 的函数参数竟然能相互访问到?
是的,别骂了,我很菜,我在大惊小怪 😩。 Copy
const buildFn = (
name = "Viki",
sayHi = () => {
console.log(name);
}
) => {
return sayHi;
};
buildFn…
来试试 node 内置的 "delay" 函数
前言 在实际开发中,经常遇到需要在异步操作里进行 “延时” 操作的情况,通常会编写类似于以下的 util 函数来进行处理。
Copy
const delay = (ms: number) => new Promise((r) => setTimeout(r, ms));
这很好…
让 TS 类型 "cat" | string 支持补全提示
问题描述 考察以下 TS 类型。
Copy
type Animal = "cat" | "dog" | string;
正常情况下,我们可能会按上面的方式来写,但是这在 vscode 上得不到良好的补全提示。
Copy
const animal: Animal…
频繁发布 npm 包时如何确保始终安装最新版本
在一些极端情况下可能需要频繁发布 npm 包,而 npm 默认的缓存时间是 5 分钟。也就是说,在五分钟之内只会请求一次 npm 包的元数据,如果在更新后五分钟之内再次发包,默认情况下是不会检测到新版本的。 这个时候,如果你搭配 ncu(npm-check-updates 包…
什么是 Shebang (或 hashbang)
什么是 Shebang? Shebang,也称为 hashbang 或 sha-bang,是一种在 Unix、Linux 和其他类 Unix 系统上的脚本中使用的特殊字符序列。它的作用是指定脚本应该由哪个解释器来解释执行。
Shebang 由两个字符组成:一个井号(#)和一个惊叹…
如何优雅的畅玩 4399 等 Flash 游戏
Flash 和浏览器现状 据 Adobe 官网描述,Adobe 在 2020 年 12 月 31 日之后不再支持 Flash Player,并从 2021 年 1 月 12 日开始阻止 Flash 内容在 Flash Player 中运行。各大主流浏览器(Chrome, Edge…
JavaScript 正则的高级用法
1. 惰性匹配 如 Hi+? 只会匹配 Hiiiii 中的 Hi
Copy
'Hiii'.replace(/Hi+?/, 'x') // xii
'Hiii'.replace(/Hi+/, 'x') // x
'Hellollo'.replace(/H.*?llo/, 'x')…
记录 Axios 的 `Z_BUF_ERROR` BUG
在 Axios 的 1.2.0 版本,不少人遇到了 Z_BUF_ERROR 的 BUG。 当设置了 Content-Encoding 的请求头,但是返回的内容为空时(如 204 请求、HEAD 请求、或者重定向请求),Axios 仍会调用 zlib 的 BrotliDecoder…
浅谈 HTML 中的字符实体(如 ` `, `<` 等)
在入门学习 HTML 和 CSS 编写简单网页的时候,由于标签内容中的多个空格会被自动将合并为一个空格,我们可能会使用 来实现多个空格的效果。 除此之外,为了实现某些布局而你对 CSS 的 margin 和 padding 等属性又不熟悉的时候,也可能歪打正着了解到…
由 emoji 字符分割问题引发的对 emoji 的重新认识
文章内容较多,如果只是寻找解决方案,请直接划到文末。 谈到 emoji 想必我们都不陌生,它是一种广泛使用在网页和聊天上的表情符号,如 😂, 😄 等。
虽然 emoji 是合法的字符串内容,但由于其反直觉的长度和类型的多样,在分割的时候很可能会产生出乎意料的结果…
GitHub - vikiboss/60s: 60s API,不仅有 60s 看世界,也提供小爱同学、热搜、汇率、bing 壁纸等,欢迎贡献。
60s API,不仅有 60s 看世界,也提供小爱同学、热搜、汇率、bing 壁纸等,欢迎贡献。
GitHub - vikiboss/deno-functions: A set of useful serverless functions powered by Deno and deployed by Deno Deploy. They're fast!
A set of useful serverless functions powered by Deno and deployed by Deno Deploy. They're fast!