V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  codehz  ›  全部回复第 8 页 / 共 126 页
回复总数  2504
1 ... 4  5  6  7  8  9  10  11  12  13 ... 126  
144 天前
回复了 tool2d 创建的主题 分享创造 做了一个 unicode 方块字体显示工具
对一些 emoji 支持不行
比如 🐦‍⬛ 会变成三个字符
感觉就是把 arc 浏览器的一个主要功能点实现了()
@yph007595 不是观测不到,最终肯定是能观测到的
主要的问题是过程中,可能会出现另一个线程观察到的修改顺序和你在源代码里看到的顺序不一致
也就是一个线程你明明先改 a 再改 b ,但另一个线程可能会先看的 b 被改,然后 a 才改,你去检测 b 来确保同步的话就会出现问题
这时候才需要引入所谓的内存序和读写屏障的概念
一方面阻止了编译器调换顺序(编译器默认只需要保证在一个线程里的“执行效果”一致,调换顺序不影响结果的话就可以换)
另一方面也阻止了 cpu 的一些优化(和编译器类似,但不可由开发者直接控制,你写汇编也没用),这方面 x86 不做类似优化
java 和 msvc (仅限编译到 x86 )里的 volatile 关键字除了能保证修改一定反映到内存上以外,也会防止编译器调换前后的读写顺序,以及放置内存栅栏
但其他平台和编译器就没做这个了
然后如果用了锁,不管什么平台还是语言,都会放内存屏障,所以肯定是能保证顺序的
go 里 channel 也起到类似作用,写入 channel 时会保证所有之前发生的副作用都确实已经发生了;同理从 channel 中取值也会保证所有后续操作和副作用都不会在之前运行
这里和缓存毫无关系,事实上 mesi 协议就是为了确保缓存对开发者不可见,而实际上也确实做到了这个目标(除了性能上的差异外无法观测到影响)
在多线程问题上讨论 mesi 根本毫无意义
channel 这里就用作读写屏障了
144 天前
回复了 conanskyforce 创建的主题 数据库 有没有适合个人开发者的数据库推荐
正经数据库哪有跑单机上的
要么你就用 sqlite 吧()
147 天前
回复了 scalaer 创建的主题 程序员 next.js ssr 好难, 各位是怎么学的?
@NessajCN next 新版不用 getServerSideProps 了
app router 改了好多东西
这边建议用 swr 来处理,它有对 ssr 的蜜汁优化
@zhwithsweet HTMLRewriter 处理文本节点的时候稍微有点问题,
可以参考我这个写法去一次性提取全部文本(考虑到你这里只需要提取数据,因此可以省略替换内容的部分,不需要 remove 了)
https://github.com/codehz/hertz.moe/blob/main/src/TextHandler.ts
然后提取出 script 字符串之后,只要稍作裁剪,就可以用 JSON.parse 来读取(注意到 cf worker 不让 eval )
不过我觉得这里甚至可以直接用 regex 来匹配__INITIAL_STATE__=到</script>之间的内容,这样也许更快。
祖传问题了,devtools 点开直接打印的对象的时候会当场求值,如果那时候引用被改了就凉了,我记得 chrome 甚至会给一个警告
你说的对,图片确实不是直接 ssr ,但是提供了 window.__INITIAL_STATE__在末尾
也就是说你只要提取__INITIAL_STATE__里的数据就可以
( curl 之后获取到的信息)
用 HTMLRewriter 去直接 new HTMLRewriter().on("script")即可获取信息
节选一段如下
"imageList":[{"urlDefault":"http:\u002F\u002Fsns-webpic-qc.xhscdn.com\u002F202312081052\u002F640610f27499f2c0de31b46e2cb87443\u002F1040g00830p861vr1k6005n0uvm7haceq0rtl90o!nd_whgt34_nwebp_wm_1","fileId":"","height":1920,"width":1440,"url":"","traceId":"","infoList":
话说去水印真的需要用 workers browser render API 吗,如果是静态/ssr 的话,用 HTMLRewriter 应该也可以吧
152 天前
回复了 gransh 创建的主题 信息安全 求问一些关于密码管理的问题
@tool2d 主要问题是不能让用户打开浏览器就输入一次密码,这个体验会劝退大多数人
说起 xml ,我本来以为可以用 cloudflare worker 自带的 HTMLRewriter 去解析 xml 的(因为那真的很快,可以压缩解析时间),结果试了半天发现那玩意真的只能给 html 用,xml 里很多机制诸如 CDATA ,还有 rss 里的 link 都会解析不出正确的值。。。
然后用第三方 xml 解析工具之后,解析时间“顺利”来到 100ms+,超过了免费套餐的范畴十倍多()
155 天前
回复了 ixdeal 创建的主题 HTML 帮忙改善下 Html
自动播放音乐现在不是会被浏览器拦截吗,起码得用户点击一下页面
你说的这一点正是大模型取代传统模型/软件的原因
163 天前
回复了 hcbb 创建的主题 Android 请教读取用户正在运行的进程的方法
没啥漏洞的话应该是读取不到了,谷歌默认开了/proc“隐私模式”,虽然用 kill 0 的方法能确定有哪些 pid 存活,但是应该是得不到其他信息
165 天前
回复了 csznet2023 创建的主题 Go 编程语言 再推广一下自己的开源项目
说起来其实可以在 cloudflare worker 上跑 mtproto 来调用 tg api 的
不过我目前没有解决如何在不使用 durable object (这个要钱),同时不触发 tg 风控的前提下做到这一点(不知道 bot 账号在异地登陆会不会触发)
怎么看着整个都是 ai 生成的,完全不在说人话
厂商:懂了,这就在设置 app 里用 webview ()
169 天前
回复了 realpg 创建的主题 程序员 一次 github 跟开源大佬的抬杠经历
没看具体争论内容,不过我就按你的文字来说说我的看法

默认的值无论是什么都有可能在某个场景下是不合理的。

这句话,确实没啥毛病,只不过,也确实不是很恰当,因为几乎所有问题都可以这样回答,显然是属于消极的回复,肯定带点情绪,不过那毕竟是别人
不过你也可以改一改回复的形式,可以避免类似这样无谓的争论。
例如当你说 “这是个 z-index 合不合理的问题”的时候,虽然没有明确,你自己也可能没有意识到,但这某种意义上就是在批判作者当初做的这个决定是否是不好的(这是合不合理的问题 -> 这个决定不合理 -> “你”做出的这个决定不好 -> “你不好”),也许对方比较敏感,被否定的时候下意识的就开始维护自己,那自然就容易引发对抗心理。
如果改一下提法,比如说换一种弱化的语气,“我们可以探讨一下这个 z-index 的设计在当初是否有别的考虑”,这样既能保留讨论问题的空间,也不会把问题直接指向对对方具体的人或者决策的否定,而是引导对方重新思考当初的设计,这样就可以得到更有建设性的讨论了
@vuevue 偏移量也不一定准,你考虑下夏时令,还有其实各国也可能随时更新它的时区,因此需要一个动态的数据
1 ... 4  5  6  7  8  9  10  11  12  13 ... 126  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   760 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 21:52 · PVG 05:52 · LAX 14:52 · JFK 17:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.