V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lujjjh  ›  全部回复第 3 页 / 共 12 页
回复总数  232
1  2  3  4  5  6  7  8  9  10 ... 12  
2021-09-20 21:53:46 +08:00
回复了 lujjjh 创建的主题 分享创造 Lito Music - 一个轻量级的 Windows Apple Music 客户端
@tanhui2333 是整个系统卡死?能否提供下系统版本,我尝试重现一下。
2021-09-18 21:24:34 +08:00
回复了 lanyi96 创建的主题 Go 编程语言 idea 写 golang 的前导条目怎么关闭?
https://golang.org/doc/effective_go#commentary

Effective Go 里解释了有什么用,简单说就是为了方便 go doc | grep 一眼看出名字。
很早之前研究过,据我所知需要注入到目标进程,hook 掉 D3D 的 API,用 D3D 的接口画,现在不知道有没有其他技术方案
“Angular 是怎么区分哪一部分的 JS 在浏览器端执行,哪一部分在 Server 端执行的?”

我觉得你想要问的是一段代码比如 t = Date.now(),Angular 怎么确定它应该在服务端执行,还是交给浏览器执行。(远古时期的“SSR”是在 <script> 上标明 [runat="server"] :doge )

SSR 一般只渲染初始状态,所以可以认为服务端只执行渲染初始状态所必须执行的代码。至于 Angular 具体是什么策略,我没有写过 Angular,所以没法回答,但肯定是只要按照 Angular 的约定写代码,Angular 会自动帮你处理好 SSR 。

在服务端执行和在浏览器端执行也不是相交的,一段代码可能在首次渲染和后续渲染的时候都需要执行,所以 SSR 的代码需要同构(既能在服务端跑,又能在浏览器跑),除了一些常规的 HTTP 库,看起来 Angular 还在服务端实现了一套 document 和 location 的接口。
2021-08-28 20:44:16 +08:00
回复了 dcsuibian 创建的主题 Java 想在 Json 请求中传单个原始值,应该怎么做?
鉴于上面还在争论 JSON 的问题

1. JSON value 当然可以是 primitive value ( https://www.json.org)
2. Content-Type 标明了 JSON,一个上层的 HTTP 库当然可以自动对 data 做 stringify,即便 data 是 primitive value ; axios 没有对 primitive value 自动 stringify 是设计缺陷,并且已经被修复 ( https://github.com/axios/axios/pull/3688),但还没有发版
3. 如果你用 stringify 来 workaround,当 2 中的修改被发版之后,会产生 stringify 两次的问题,到时候 payload 就变成 "\"a single string\"" 了
2021-08-28 01:22:23 +08:00
回复了 dcsuibian 创建的主题 Java 想在 Json 请求中传单个原始值,应该怎么做?
因此如果用 axios,尽量避免手动 stringify,而是重写掉默认的 transformRequest 来修复这个 BUG,否则未来升级 axios 会遇到重复 stringify 两次的问题
2021-08-28 01:14:55 +08:00
回复了 dcsuibian 创建的主题 Java 想在 Json 请求中传单个原始值,应该怎么做?
https://github.com/axios/axios/pull/3688/files#diff-b34f2f53ab94368c86775969fb604e8375abe03b6a378bdd09896fd91ac0a0d2R59-R64

看了下 axios 最新的实现,已经会检测当请求 Content-Type 是 application/json 的时候自动 JSON.stringify 了(感觉是个 breaking change
2021-08-24 16:53:08 +08:00
回复了 id7368 创建的主题 Edge 两种方法屏蔽 Microsoft Edge 启动页广告
Microsoft Edge 论坛炸了,微软的回应:
《「突发 & 紧急」关于 “Microsoft Edge 浏览器新标签页底部出现无法关闭的广告” 问题的说明》
https://answers.microsoft.com/zh-hans/microsoftedge/forum/all/%e7%aa%81%e5%8f%91/7324bc7c-58ec-4ee5-b01b-7bca795ca7a8
2021-08-16 10:48:52 +08:00
回复了 kinboy 创建的主题 程序员 Regular Expression 为何会翻译成正则表达式,而不是规则表达式
很多词数学里也有,像函数( function )、正则( regular ),虽然 CS 领域的意思不太一样,但是翻译借鉴过来了。

不同地区的翻译也有区别,比如台湾就是把 regular expression 翻译成规则运算式。
2021-08-15 21:11:14 +08:00
回复了 lujjjh 创建的主题 分享发现 Apple Music (iTunes) Windows 桌面歌词
@yyyyyyyhb 是的,有很多想法还没实现,计划慢慢搞
2021-08-15 10:18:55 +08:00
回复了 lujjjh 创建的主题 分享发现 Apple Music (iTunes) Windows 桌面歌词
@924244687 网页版 Apple Music 连静态歌词都没有,一些第三方的客户端也没有歌词,可能是因为 Apple Music API 没有提供获取歌词的接口
2021-08-15 10:16:45 +08:00
回复了 lujjjh 创建的主题 分享发现 Apple Music (iTunes) Windows 桌面歌词
@Mountain 搜了下,MiniLyrics 似乎是自己维护了一个歌词数据库,比较好奇数据来源是哪里?
2021-08-08 15:04:03 +08:00
回复了 xuantedev 创建的主题 Go 编程语言 吐槽一下 golang 的 select 模型,居然不自带超时机制
@xuantedev 这段代码是有问题的,可以对比一下我上面提供的代码。并不是 f 没有调用,而是这段代码逻辑里,超时的时候消费了两次 t.C ( case <-t.C: 和下一次循环 if 分支里的 <-t.C ),修复方式也很简单,把 if !t.Stop() { <-t.C } 挪到第一个 case 里就行了。
2021-08-08 11:36:26 +08:00
回复了 xuantedev 创建的主题 Go 编程语言 吐槽一下 golang 的 select 模型,居然不自带超时机制
常见的超时处理 pattern 下(操作 timer 和消费 t.C 的是同一个 goroutine )应该没有你说的这种 race condition 。

写了个例子:

https://gist.github.com/lujjjh/8f9c4b257654465ed2585dcd4d193a29

可以论证的是,runOneTimer 执行 N 次,f 就会执行 N 次,从而 t.C 里会产生 N 个需要消费的东西。只要确保 runOneTimer 的执行次数(对 Timer 来说要么是 0,要么是 1 )跟 t.C 的消费次数一致即可。

正向看,只要 runOneTimer 被执行了,f 产生的 t.C 要么在 A 处被消费,如果进入了 B,t.Stop() 一定会返回 false,从而 t.C 在 C 处被消费。你说的 f 一直没有被调度的情况,消费 t.C 的 goroutine 也会被阻塞,要么阻塞在 A 处,要么阻塞在 C 处。

反向看,如果 runOneTimer 还没有被执行,就走到了 B,那么 Stop 会阻止 timer 进入 timerRunning 并且返回 true 。此时 runOneTimer 不会被执行,f 也就一定不会被执行。
2021-08-07 19:54:45 +08:00
回复了 xuantedev 创建的主题 Go 编程语言 吐槽一下 golang 的 select 模型,居然不自带超时机制
如果没理解错你的意思,文档里就有正确的解法:先 Stop(),然后消费 channel (如果需要),最后 Reset:
https://pkg.go.dev/time#Timer.Reset
2021-08-07 18:57:57 +08:00
回复了 yitalin 创建的主题 PHP ICP 备案信息查询 API 接口开源
有很多可以优化的地方,比如缓存 token 和查询结果配合 stale-while-revalidate 的缓存策略。

比较适合 Serverless,直接运行在边缘节点上。我用 Cloudflare Workers 实现了你的逻辑,加上了缓存策略,可以看 https://github.com/lujjjh/icp-query

查询 g.cn 备案的请求例子:
https://icp-query.lujjjh.workers.dev/g.cn

当然,这个仅以学习为目的,不提供 SLA 。
2021-08-05 22:19:09 +08:00
回复了 PrilgrimLi 创建的主题 MacBook Pro MBP 16 的风扇声音真的太大了!
试过很多办法,包括把电源插在右边这种比较玄乎的,最有效的是用 Turbo Boost Switcher[1] 禁用睿频。

[1]: https://github.com/rugarciap/Turbo-Boost-Switcher
@AllenHua 咖啡就不必了,一行代码的事😜
2021-07-29 15:15:56 +08:00
回复了 wunonglin 创建的主题 程序员 Angular HttpClient 取消请求原理?
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2517 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 15:59 · PVG 23:59 · LAX 08:59 · JFK 11:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.