V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  SHF  ›  全部回复第 5 页 / 共 9 页
回复总数  166
1  2  3  4  5  6  7  8  9  
AutoHotkey 很强大
244 天前
回复了 selfmaking 创建的主题 RSS 求 微信公众号 RSS
之前用过 rsshub, 不知道现在还能不能用了
244 天前
回复了 MakinoharaShoko 创建的主题 程序员 看书和文档学习,还是视频教程?
视频还是书本身的质量很重要,有些视频确实做得好或者讲得好,比如线性代数的本质那个系列的视频,比看书生动多了,( https://www.bilibili.com/video/av6731067/) ,还有最近看了 Carbon Langauge 的视频,https://www.youtube.com/watch?v=omrY53kbVoA 有很多重要的特性比较生动的讲出来。
还有个问题,就是 MemoryKV 里面 map 里存了 key 对应的 value. 在 init 的时候添加进 map ,但是在所有使用这个 key 的组件都 unmount 时,应该删除 map 中的 key, 否则就会内存泄漏。map 除了要维护 value ,还要维护使用这个 key 的组件有多少,当使用的组件为 0 时做清理。但这个方法其实在 react 18 里面,如果启用了 strict 模式,组件会被模拟挂载两次,也不好搞,参考 https://stackoverflow.com/questions/72238175/why-useeffect-running-twice-and-how-to-handle-it-well-in-react
```ts
export function useValueWithKey<T> (initialState: T, key: string) {
const [_, setValue] = useState<T>(initialState)

useEffect(() => {
// init value(if not set by another component)
mkv.init(key, initialState)
const handleChange = () => {
setValue(mkv.get(key))
}
eb.on(`__CHANGED__${key}`, handleChange)
handleChange()
return () => {
eb.off(`__CHANGED__${key}`, handleChange)
}
}, [ ])

return {
set value (newValue: T) {
mkv.set(key, newValue)
eb.emit(`__CHANGED__${key}`)
setValue(newValue)
},
get value (): T {
return mkv.get(key) ?? initialState
}
}
}
```

useEffect 里面直接调用了 handleChange, 里面执行 setValue 会导致组件挂载之后因为 state 变了又重新 render ,不太好
你试试在组件里面 console.log('render') 看看渲染了几次
https://github.com/ShenHongFei/react-object-model

我这个状态管理库也很简单,在组件里通过

const { name, age } = user.use(['name', 'age'])

订阅对象的属性,在属性改变时 diff, 重新渲染
248 天前
回复了 Simcentric 创建的主题 推广 折腾了个新界面,大家看下,一手资源哈
导航栏从顶上悬下来一截好难受
248 天前
回复了 NoobNoob030 创建的主题 程序员 内网穿透被网警打电话了
@proxytoworld 学到了,tls 确实有指纹,把 SSLVersion,Cipher,SSLExtension,EllipticCurve,EllipticCurvePointFormat 按顺序排列然后计算 hash 值,便可得到一个客户端的 TLS FingerPrint ( https://ares-x.com/2021/04/18/SSL-%E6%8C%87%E7%BA%B9%E8%AF%86%E5%88%AB%E5%92%8C%E7%BB%95%E8%BF%87/)

但是这种指纹应该是 go 语言编写的应用程序的通用的指纹吧,很难精准定位是 frp 的

另外一个方案是改一下协议,用 quic 会不会好一点,没有 tls 层,而且协议比较新,有可能指纹探测还没开发出来?
249 天前
回复了 NoobNoob030 创建的主题 程序员 内网穿透被网警打电话了
看来需要升级下 frp 版本并修改配置

https://github.com/fatedier/frp/issues/3439
https://github.com/fatedier/frp/issues/3193

先 tls 连接,加密,然后再干别的,你又如何嗅探?
250 天前
回复了 bjzhou1990 创建的主题 Windows 因为一个文件夹名字,电脑死机了
这是什么历史遗留问题吗?
头铁,目前还不开,再观望观望,我觉得还是密码比较香
250 天前
回复了 justicelove 创建的主题 Windows 快捷键求助
autohotkey 你值得拥有,我一般把 CapsLock & j,k,h,l 设置为 上下左右,充分利用 CapsLock 键
其实自己用 vscode 提供的 api 去实现一些小功能,比如按某个快捷键做一些操作,能更好的理解插件的工作原理也更有意思。还能实现一些符合你自己的需求,有成就感。
推荐我自己用的红米 K60 Pro, 2K 分辨率直屏,120W 有线充电,30W 无线充电,12G + 256G 4000 左右,太香了
273 天前
回复了 besscroft 创建的主题 分享创造 DiyFile 一款好看的在线文件列表程序
我也写了一个网盘,主要用来分享平时打羽毛球录的视频 @Zenyet @besscroft
https://shenhongfei.com/files/
同一局域网下面电脑是没问题的,确实是手机问题,得研究研究路由表
可能是 VPN 把系统路由表搞坏了
我也遇到过,开一下飞行模式再关掉就好了,我感觉可能和 clash 的那个 VPN 有点关系
275 天前
回复了 aquman888 创建的主题 iPhone 大家拍摄的照片用什么工具同步到电脑里?
android root 之后直接 rsync
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   841 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 18:59 · PVG 02:59 · LAX 11:59 · JFK 14:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.