TIL
🆕

TIL

Tags
Jul 18, 2022
Apr 25, 2022
K8S resource manifest校验工具
Infra as Code
将运行中的进程输出重定向到新的终端
Apr 24, 2022
Apr 22, 2022
Apr 21, 2022
在线SVG编辑器
手绘风格技术图
Python程序内存分析工具
支持UDP, TCP, DoT, DoH, DoQ, ODoH的DNS查询命令行
Apr 20, 2022
tRPC: typesafe APIs for your Next, React, and Node applications
faster e2e test with firecraker
Apr 19, 2022
Apr 17, 2022
Apr 12, 2022
Go Module鲜为人知的feature
自托管的heroku/netify替代方案
CI/CD workflow开源共享平台
使用WASM在浏览器中运行全功能的classic 68K Mac操作系统
Apr 11, 2022
图解TLS请求全过程
内容农场终结者
一个IP与CIDR的快速检测实现
Apr 10, 2022
把安卓手机变成机器人,实现人体追踪和自主导航
从0开始学习时间复杂度计算
提升微服务开发过程中的可观测性
Rust的精简版git实现
Apr 8, 2022
Apr 6, 2022
Apr 4, 2022
Apr 3, 2022
针对blog的搜索引擎
Python3.11使用WASM可在浏览器中运行
多人协同日历
通过ARP进行在线聊天
基于GPT-3自然语言处理的命令行提示工具
自动将GitHub issues打印出来的开发工作流
基于Cue(一种数据约束性语言)的可移植CI/CD工具包
Apr 2, 2022
Apr 1, 2022
Mar 31, 2022
Mar 30, 2022
container registry工具
事件驱动自动化框架
基于AI的图片元素擦除工具
在MacOS开发调试eBPF
Mar 28, 2022
Mar 27, 2022
Data Mesh架构
文章编辑分享工具
通过加粗关键字母提升英语阅读效率
基于Rust的高性能terminal
antfu的VSCode配置
Mar 26, 2022
Mar 25, 2022
SSH Server框架
使用SSH Server作为git仓库命令行浏览器,该组织致力于SSH Server应用的开发
SSH版本的Wordle
开源软件部署托管服务,平台会将收入的10%与开源作者分享
google发布的Go程序容器化&发布&部署命令行工具
Mar 24, 2022
容器操作系统编译打包工具
基于Fig的shell命令解释实现
使用Dockerfile构建OCI兼容的镜像
Rust实现的跨平台原生Spotify客户端
系统守护进程Golang开发库
Mar 22, 2022
代码及命令常用使用速查
Tailscale发布的NAT技术原理解析,介绍了Tailscale如何工作
[译] NAT 穿透是如何工作的:技术原理及企业级实践(Tailscale, 2020)
本文翻译自 2020 年的一篇英文博客: How NAT traversal works 。 既然二者都能访问公网,那最简单的方式当然是在公网上架设一个中继服务器: 两台机器分别连接到中继服务,后者完成双向转发。这种方式显然有很大的性能开销,而 且中继服务器很容易成为瓶颈。 有没有办法不用中继,让两台机器直接通信 呢? 由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。 以下是译文。 在前一篇文章 How Tailscale Works 中, 我们已经用较长篇幅介绍了 Tailscale 是如何工作的。但其中并没有详细描述我们是如何穿透 NAT 设备,从而实现终端设备直连的 -- 不管这些终端之间 有什么设备(防火墙、NAT 等),以及有多少设备。本文试图补足这一内容。 全球 IPv4 地址早已不够用,因此人们发明了 NAT(网络地址转换)来缓解这个问题。 简单来说,大部分机器都使用私有 IP 地址 ,如果它们需要访问公网服务,那么, 出向流量:需要经过一台 NAT 设备,它会对流量进行 SNAT,将私有 srcIP+Port 转 换成 NAT 设备的公网 IP+Port(这样应答包才能回来),然后再将包发出去; 应答流量(入向):到达 NAT 设备后进行相反的转换,然后再转发给客户端。
[译] NAT 穿透是如何工作的:技术原理及企业级实践(Tailscale, 2020)
欧洲航天局员工开源的Tailscale控制服务实现Headscale
Mar 21, 2022
Mar 20, 2022
Mar 19, 2022
Mar 18, 2022
Mar 17, 2022
使用JIT在Node.js上执行TypeScript代码,无需编译
一个Vim IDE配置
基于React的头像生成器
类Wordle的Python编程每日挑战
Mar 16, 2022
WASM包管理工具
编程技巧打磨网站
  1. hackerrank
  1. codewars
  1. codechef
  1. geeksforgeeks
  1. coderbytes
  1. leetcode
  1. freecodecamp
  1. project euler
  1. topcoder
  1. codingame
Mar 15, 2022
Mar 14, 2022
Mar 13, 2022
《禅与可靠性艺术》
各个平台老游戏的3D地图
模块化电脑Pockit的最新demo
mac耳机音量漂移问题
使用zig作为跨平台 C 工具链
C++20 中的编译时 Wordle
Rust编写的Python解释器
Mar 11, 2022
使用Nebula Graph搭建成语知识图谱解汉兜
图数据库体操:用 Nebula Graph 搭成语图谱解汉兜
我发现用 Nebula Graph 的图查询解 Antfu 的汉兜(最好的中文成语版 wordle 👉🏻 handle.antfu.me)特别有意思,很适合每天写图库语句的体操练习,本文揭示如何用知识图谱 作弊 解汉兜😁 汉兜(https://handle.antfu.me)是由 Vue/Vite 核心团队的 Antfu 的又一个非常酷的作品,一个非常精致的汉字版的 Wordle,他是是一个每日挑战的填字游戏的中文成语版。 每天,汉兜会发起一个猜成语挑战,人们要在十次内才对它才能获胜,每一步之后都会收到相应的文字、声母、韵母、声调的匹配情况的提示,其中:绿色表示这个因素存在并且位置匹配、橘色表示这个元素存在但是位置不对,详细的规则可见如下的网页截图: 汉兜的乐趣就我们在于在有限的尝试过程中,在大脑中搜寻可能的答案,不断去逼近真理,任何试图作弊、讨巧去泄漏结果的行为都是很无趣、倒胃口的(比如从开源的汉兜代码里窃取信息),这个过程就像在做大脑的体操。 说到大脑的成语词汇量体操,我突然想到,为什么我们不能在大脑之外造一个汉语成语知识图谱,然后基于这个图谱去做图数据库查询语法体操呢? 简单来说,知识图谱是一个连接实体之间关联关系的网络,它最初由 Google 提出并用来满足搜索引擎中基于知识推理才可获得(而不是网页倒排索引)的搜索问题,比如:"姚明妻子的年龄?"、"火箭队得过几次总冠军?" 这里边,我们关注的条件。到 2022 年的现在,知识图谱已经被广泛应用在推荐系统、问答系统、安全风控等等更多搜索之外的领域。 原因就是:because I can 实际上,我们在大脑中解决字谜游戏的过程像极了图谱网络中的信息搜寻的过程,汉兜的解谜反馈提示条件天然适合被用图谱的语义来进行表达。在本文后边,你们会发现解谜条件翻译成图语义是非常非常自然的,这个问题就像是一个天然的为图谱而存在的练习一样,我相信这和知识图谱的结构和人脑中的知识结构非常接近有很大的关系。 知识图谱是由实体(顶点)和关系(边)组成的,用图数据库管理系统(Graph Database MS)可以很方便进行知识的入库、更改、查询、甚至可视化探索。 在本文里,我将利用开源的分布式图数据库 Nebula Graph 开实践这个过程,具体图谱系统的搭建我都会放在文末。 在本章,我们只讨论图谱的建模:如何面向汉兜的解谜去设计"实体"与"关系"。 首先,一定存在的实体是: 成语-[包含]->汉字,每个汉字-[读作]->读音。 其次,因为解谜过程中涉及到了声母、韵母以及声调的条件,考虑到图谱本身的量级非常小(千级别),而且字的读音是一对多的关系,我把读音和声母(包涵声母-initial和韵母-final)也作为实体,他们之间的关系则是顺理成章了: 然而,我在后边基于图谱进行查询的时候发现最初的建模会使得(成语)->(字)->(读音)查询过程中丢失了这个字特定的读法的条件,所以我最终的建模是: 这样,纯文字的条件只涉及了(成语)-->(字) 这一跳,而读音、声母、声调的条件则是另一条关系路径,既没有最初版本条件的冗余,又可以在一个路径模式匹配里带上两种条件(后边的例子里会涉及这样的表达)。 有了建模、这么简单的图谱的构建就剩下了数据的收集、清洗和入库。 对于所有成语数据和他们的读音,我一方面直接抽取了汉兜代码内部的 数据、另一方面利用 PyPinyin 这个开源的 Python 库将汉兜数据中没有读音的数据获得读音,同时,我也用到了 PyPinyin 里的很多方便的函数比如获取一个拼音的声母、韵母。 构建工具的代码在这里:https://github.com/wey-gu/chinese-graph 更多信息我也放在文末的附录之中。 至此,我假设咱们都已经有了我帮大家搭建的成语 作弊 知识图谱了,开始我们的图谱查询体操吧! 首先,打开汉兜 👉🏻 https://handle.antfu.me/ 假设我们想从一个成语开始,如果你没有想法的话可以试试这个: 然后我们把它填到汉兜之中,获得第一次尝试的提示条件: 我们运气不错,得到了三个位置上的条件! 有一个非第一个位置的字,拼音是 4 声,韵母是 ai,但不是爱(爱) 有一个一声的字,不在第二个位置(憎) 有一个字韵母是 ing,不在第四个位置(明) 第四个字是二声(明) 下面,我们开始图数据库语句体操! 在图数据库之中运行,得到了 7 个答案: 看起来 惊世骇俗 比较主流,试试! 我们很幸运,借助于成语 作弊 ...
图数据库体操:用 Nebula Graph 搭成语图谱解汉兜
零平台依赖运行WASM
JavaScript EventLoop可视化
Mar 10, 2022
Mar 8, 2022
使用kubectl port-forward作为ssh ProxyCommand
我使用client-go开发的改进版本,不需要在本地进行端口监听转发
Mar 7, 2022
常见数据结构和算法在Go中的实现
Mar 6, 2022

Loading Comments...