Viki

Viki 写东西的地方

努力上进且优秀
github
email
x
steam
bilibili
douban
cover
cover

【已开源】现代化的高质量 React Hooks 库

@shined/react-use 是一个对 SSR(服务端渲染)友好、全面且高度优化的 React Hooks 库,提供了灵活且高效的钩子解决方案。完全采用 TypeScript 开发,配备了包含丰富示例的交互式文档 🔥。 主要受到 VueUse 的启发,同时也吸取了 r…
解决 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…
cover

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…
cover

JavaScript 的函数参数竟然能相互访问到?

是的,别骂了,我很菜,我在大惊小怪 😩。 Copy const buildFn = ( name = "Viki", sayHi = () => { console.log(name); } ) => { return sayHi; }; buildFn…
cover

来试试 node 内置的 "delay" 函数

前言 在实际开发中,经常遇到需要在异步操作里进行 “延时” 操作的情况,通常会编写类似于以下的 util 函数来进行处理。 Copy const delay = (ms: number) => new Promise((r) => setTimeout(r, ms)); 这很好…
cover
cover
cover
cover

让 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 由两个字符组成:一个井号(#)和一个惊叹…
cover
cover
cover

如何优雅的畅玩 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 是合法的字符串内容,但由于其反直觉的长度和类型的多样,在分割的时候很可能会产生出乎意料的结果…
cover

GitHub - vikiboss/60s: 60s API,不仅有 60s 看世界,也提供小爱同学、热搜、汇率、bing 壁纸等,欢迎贡献。

60s API,不仅有 60s 看世界,也提供小爱同学、热搜、汇率、bing 壁纸等,欢迎贡献。
cover

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!
每天 60 秒读懂世界 API
前阵子挺热衷玩 QQ 机器人,经常会找一些第三方的 API 对接数据,实现简单功能,乐呵乐呵群友。 一个比较有代表性的例子,就是 “每天 60 秒读懂世界”。 十来条简短的每日新闻和一条人生微语,功能虽简单,但内容却挺有意义,质量也还不错,特别是对于我们这种从来不看新闻的来说。…
Ownership of this blog data is guaranteed by blockchain and smart contracts to the creator alone.