ysmood's repos on GitHub
Go · 269 人关注
got
An enjoyable golang test framework.
Go · 90 人关注
leakless
Thou shalt not stay
Go · 61 人关注
goob
A lightweight buffered event lib
Go · 57 人关注
digto
A service to expose HTTP service to the public network
CoffeeScript · 55 人关注
notell
A presentation server that works with your handheld device.
JavaScript · 50 人关注
nokit
A light weight set of handy tools for real world program.
Go · 47 人关注
kit
A collection of often-used IO related methods
JavaScript · 47 人关注
nobone-sync
A simple remote file sync tool for development.
Go · 42 人关注
goe
A simple lib to load, parse and share environment variables.
JavaScript · 40 人关注
febone
MX FE project scaffolding helper
Go · 39 人关注
gotrace
A lib for monitoring runtime goroutine stack
TypeScript · 36 人关注
nisp
A language for building cross-language DSL
TypeScript · 29 人关注
noflow
A minimal server middleware composer for the future.
JavaScript · 17 人关注
nofs
Promise to make a better fs lib.
Go · 16 人关注
gson
A tiny JSON lib to read and alter a JSON value.
JavaScript · 13 人关注
nisper
A composable RPC lib based on websocket protocol
CoffeeScript · 10 人关注
flee
A cross platform flee game, works both on desktop and mobile.
Go · 10 人关注
gop
Make a random Go value human readable
CoffeeScript · 10 人关注
jhash
A fast algorithm to hash string or binary file inspired by the JSW hash.
JavaScript · 9 人关注
junit
A simple promise based function for unit tests.
Go · 8 人关注
gisp
A language that for you to easily build cross-language language
Go · 8 人关注
golangci-lint
A lib to automate golangci-lint, such as auto-download the executable of golangci-lint.
CoffeeScript · 7 人关注
jdb
A database that hacks.
JavaScript · 5 人关注
nopack
Go · 4 人关注
byframe
Low overhead length header format with dynamic header length
C# · 4 人关注
Comisor
An image viewer for my personal usage.
Go · 4 人关注
fetchup
A lib to fetch the target file from remote
CoffeeScript · 4 人关注
heater
Feel cold? Try it.
Go · 3 人关注
clip64
A tiny cross-platform CLI tool to encode or decode base64 string in clipboard
Go · 3 人关注
gosize
Recursively calculate the memory size of any thing in Go.
Go · 3 人关注
myip
Go pkg to reliably get the public ip address
Go · 2 人关注
dehub
A lightweight debugging tool for remote process.
JavaScript · 2 人关注
jpack
Serialization for Json, faster, smaller and securer
Go · 2 人关注
kafka-image
Properly start and stop the process of kafka and zookeeper as a single node for deveopment use
Go · 2 人关注
nc
A simple netcat tool
C# · 1 人关注
Archer
A desktop tool to speed up your daily operation.
Go · 1 人关注
aria2-done
Go · 1 人关注
awesome-go
A curated list of awesome Go frameworks, libraries and software
HTML · 1 人关注
broadlink-panel
JavaScript · 1 人关注
core-js
Standard Library
Go · 1 人关注
ddns
Shell · 1 人关注
github-install
A script to help download and install github executable release
Go · 1 人关注
goapi
A lightweight opinionated router to bridge function call and http api.
C# · 1 人关注
ImageResizer
A multi-thread image batch resize tool.
Go · 1 人关注
jschema
A lib to convert existing golang struct into json schema list.
CoffeeScript · 1 人关注
ladmin
A node based Linux web admin tool.
JavaScript · 1 人关注
mx-deployer
a auto deployer client & server
JavaScript · 1 人关注
nodns
A DNS Server
JavaScript · 1 人关注
notroy
A tool for remote control of webpages
JavaScript · 0 人关注
amd-modules
JavaScript · 0 人关注
babel
Babel is a compiler for writing next generation JavaScript.
JavaScript · 0 人关注
babel-loader
Webpack plugin for Babel
JavaScript · 0 人关注
babel-preset-es2016-node4
babel-preset-es2016-node4
JavaScript · 0 人关注
babel-preset-mx-fe-bone
TypeScript · 0 人关注
blueprint
A React UI toolkit for the web
JavaScript · 0 人关注
cheerio
Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
PHP · 0 人关注
CodeIgniter
EllisLab's Open Source PHP Framework
0 人关注
coeditor
A cooperative online code editor.
CoffeeScript · 0 人关注
coffee-script
Unfancy JavaScript
C# · 0 人关注
ColorCatcher
A simple dual-colored lottery analyzer.
JavaScript · 0 人关注
colors.js
get colors in your node.js console
JavaScript · 0 人关注
commander.js
node.js command-line interfaces made easy
JavaScript · 0 人关注
dnspod-ddns
Go · 0 人关注
echo
High performance, minimalist Go web framework
Go · 0 人关注
enumer
A Go tool to auto generate methods for your enums
JavaScript · 0 人关注
express
Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple
Python · 0 人关注
FakeDns
A regular-expression based python MITM DNS server with correct DNS request passthrough and "Not Found" responses.
Go · 0 人关注
fzf
:cherry_blossom: A command-line fuzzy finder
Go · 0 人关注
gate
A high performance and lightweight gateway to automatically reverse proxy TLS/TCP requests.
0 人关注
git-submodule
For other project to test git submodule
JavaScript · 0 人关注
git-temp
0 人关注
gjson
Get JSON values quickly - JSON parser for Go
Go · 0 人关注
go
The Go programming language
Go · 0 人关注
go-envparse
Minimal environment variable parser for Go
Dockerfile · 0 人关注
go-node-image
Use multi-stage to create a docker image for golang and nodejs
0 人关注
go-rod-aws-lambda
JavaScript · 0 人关注
goagent
a gae proxy forked from gappproxy/wallproxy
Go · 0 人关注
grpc-tools
A suite of gRPC debugging tools. Like Fiddler/Charles but for gRPC.
Ruby · 0 人关注
Haji
Haji Ubuntu Server Helper
0 人关注
impl
impl generates method stubs for implementing an interface.
PHP · 0 人关注
Incutio-PHP-HTTP-Client
This repository supports the continued development of the long moribund Incutio PHP HTTP Client Class.
0 人关注
jdiff
a diff patch lib for text
JavaScript · 0 人关注
jsm-client
Client for jam, a javascript snippet manager
Go · 0 人关注
kafka-notifier
JavaScript · 0 人关注
keymaster
A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
JavaScript · 0 人关注
lodash
A modern JavaScript utility library delivering modularity, performance, & extras.
Go · 0 人关注
lookpath
CoffeeScript · 0 人关注
machine-watcher
A tool for watching the state of a remote machine
JavaScript · 0 人关注
minimatch
a glob matcher in javascript
0 人关注
msgpack
MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.
0 人关注
n-queens-visualizer
Visualizes solutions to the N-Queens problem, written in React & Flux
JavaScript · 0 人关注
noarchr
Archr
CoffeeScript · 0 人关注
noblog
A simple personal blog.
0 人关注
nobone-shell
A web shell tool for linux.
CoffeeScript · 0 人关注
nobot
A tiny extandable node web bot service platform.
JavaScript · 0 人关注
node-coffee-cache
Caches the contents of required CoffeeScript files so that they are not recompiled to help improve startup time
JavaScript · 0 人关注
node-formidable
A node.js module for parsing form data, especially file uploads.
JavaScript · 0 人关注
node-glob
glob functionality for node.js
CoffeeScript · 0 人关注
nopac
A proxy auto-configuration server.
JavaScript · 0 人关注
not
binary builder for not
ysmood

ysmood

V2EX 第 39678 号会员,加入于 2013-05-25 17:38:08 +08:00
今日活跃度排名 28661
根据 ysmood 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
ysmood 最近回复了
2025 年 12 月 25 日
回复了 jaydenWang 创建的主题 程序员 React 缺失的“M”层:我开发了 Zenith,重塑完整的 Model
@jaydenWang 我意思就是人家都不想用 mobx 了改用更简单易扩展的 zustand 了,为啥还要退回你这种类似 mobx 的方案呢?

这几个库就是在解决相似的问题,只是设计哲学不一样而已,我觉得放在一起讨论是合适的。状态管理和 react 耦合,这占据这些库 90% 的要解决的问题,其他你说不同的地方的就是解决不到 10% 的问题而已。
2025 年 12 月 24 日
回复了 jaydenWang 创建的主题 程序员 React 缺失的“M”层:我开发了 Zenith,重塑完整的 Model
@jaydenWang redux 很工程化,为什么大家最后大家都宁愿 zustand 呢?因为你是强制要求别人工程化,而不是循序渐进的工程化,好的架构是能让大家能从 0 开始循序渐进的工程化,stalo 就是践行这样的设计,它并不强调只有一个 global state ,而是你可以先从简单的 global state 入手然后逐渐拆分系统,这个 example 里都有。你 provider 就是中心化的表现,只要有持久化的状态就肯定会存在类似 context 的概念,这是 gc 的架构就注定无法逃脱的。只是在于如果合理的引导大家工程化才是重点,而不是上来就 push 一堆大部分时候用不到的概念在框架里。

从我个人经验来讲不符合循序渐进的框架,最终都很难成功。这和乐高为什么能火这么多年是一个道理。
2025 年 12 月 24 日
回复了 jaydenWang 创建的主题 程序员 React 缺失的“M”层:我开发了 Zenith,重塑完整的 Model
@jaydenWang @XCFOX 我写了个更简单易用的 https://github.com/ysmood/stalo

其他的库对于 typescript 的支持比我这个要差很多。尤其是 zustand ,这是我主要开发 stalo 的原因。

这里有和 zustand 还有 valtio 等其他库的对比: https://github.com/ysmood/stalo/issues

甚至开发专用的 devtools 插件,甚至可以玩 time travel ,视频演示性能比 redux 快几个数量级:

可以自己开网页体验: https://stalo-examples.vercel.app/examples/Devtools.tsx

computed value 就是个伪命题,复杂的项目都会尽量少用,因为 debugging 可能会非常复杂,不复杂的项目就更用不到了。关于重复渲染的问题,通常是简单的 redundant model 反而容易 fine tune 和优化,如果大量使用 computed value ,很可能加大耦合反而难以优化。

你这个库还要依赖 context provider ,用起来非常麻烦,stalo 跨组建之间 share 状态更简单。

你甚至可以基于我这个库开发,这样你就可以直接利用我写的 devtools 了。你这个项目代码连一行测试都没有,一般稍微懂一点的开发者是不敢用的,我这个项目至少测试都是 100% coverage 。
2024 年 10 月 29 日
回复了 NerdHND 创建的主题 React Zustand 的文件组织?
我也是头疼 zustand 的文件组织和冗长代码,于是最近自己写了个库 stalo 。我写了个 todo app 用来演示如何将一个 store 分割成逻辑隔离的多个文件: https://github.com/ysmood/stalo/tree/main/examples/TodoApp

从目前我自己的使用来看,各项指标都由于 zustand ,我甚至用 stalo 写了个 devtools 来 debug stalo 自己: https://stalo-examples.vercel.app/examples/Devtools.tsx
2024 年 6 月 19 日
回复了 0o0O0o0O0o 创建的主题 分享创造 vaultwarden 备份思路之再也不改版
@kuanat 可以试试这个,比 gpg 更简单方便 https://github.com/ysmood/whisper
2024 年 1 月 4 日
回复了 ysmood 创建的主题 分享创造 利用 github id 加密隐私数据(测试送 100 元红包)
@chaoschick 这种工具之所以存在就是因为现有的很多系统功能不全,且不愿意花时间改进,比如 V2EX 就没法私信,这个时候有这种工具就会方便点,你如果不用类似工具,请问 v 站里两个陌生人在不暴露自己隐私的情况下如何交换邮箱互加好友?你可能可以,但是会很麻烦
2024 年 1 月 4 日
回复了 ysmood 创建的主题 分享创造 利用 github id 加密隐私数据(测试送 100 元红包)
@chaoschick 你可以看看 age 这个工具 https://github.com/FiloSottile/age 被非常多的库依赖了,你可能不太能理解它的用途,但事实上用的人非常多。
2024 年 1 月 3 日
回复了 ysmood 创建的主题 分享创造 利用 github id 加密隐私数据(测试送 100 元红包)
> 第二个问题,似乎你没有理解第一个攻击例子的场景:A 要和 B 说话,B 选择去听任何人的话,M 达成的效果是 M 不知道 A 想说什么,但是让 B 以为 M 说了 A 本来要说的话。B 是用 M 的公钥验证的。

你都不在乎谁发给信息了如何防止中间人攻击?

> 通行的做法是归约,你的算法可以看作某种安全性的 KEM 和 CPA 安全的私钥加密和签名的复合,无法推出第一个例子下的安全性。

就和你说的一样,这不是 whisper 想要解决的问题,这更像是 ssl 之类的需要考虑的问题。使用 whisper 的人大大概率不会考虑中间人攻击的问题,所以 sign 是可选的否则我就设置成必选的了。
2024 年 1 月 3 日
回复了 ysmood 创建的主题 分享创造 利用 github id 加密隐私数据(测试送 100 元红包)
@Senorsen #22

> 谢谢回答,不过我的问题在于,只使用“加密”是不需要私钥的,只需要拉取 GitHub 上目标用户的公钥,因此无条件启动 agent 的行为比较怪。

多谢,这是个很好的建议,我把它改成只有需要的时候才启动好了。
加 sign 或者解密的时候都需要 passphrase ,非常常用。我建议是即使是发送的时候也加个 sign ,更安全。
2024 年 1 月 3 日
回复了 ysmood 创建的主题 分享创造 利用 github id 加密隐私数据(测试送 100 元红包)
@geelaw #25

> 但是这会导致没有选择超过 128 位密钥的意义,限制了最大安全性。

openssl 默认用的 128bit ,在 whisper 的使用场景已经够安全了,因为这个 aes key 只会被使用一次就扔了。我加了个选项: https://github.com/ysmood/whisper/blob/86d93ffbb3897d1739664da5597f6b85d1045be4/lib/piper/encodings.go#L74-L75

> 第二个问题,对密文签名只能保证密文“被谁同意”,不能保证明文来自于谁,也不能保证密文在加密结束之后没有被“有意义地修改过”,后者是选择密文安全性的要求。

whisper 没有这个问题,readme 里已经说明了 sign 验证需要显示声明发件人的 github id 用以验证,否则你就不在乎被篡改。你不可能再签名的,验证会失败。

> 除非收信人只收取某个特定的人(以签名所用的公钥识别)的信息(因此 M 重新签名不会被接受),否则上述场景可以成立。

和上一个问题一样。

> 但如果收信人只收取特定的人的信息,则没必要每次通信都用公钥加密。

这也不是安全问题,只是某种大部分人不在乎的性能优化,whisper 的使用场景是单次的无状态通信。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1402 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 17:04 · PVG 01:04 · LAX 09:04 · JFK 12:04
♥ Do have faith in what you're doing.