V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  crclz  ›  全部回复第 2 页 / 共 35 页
回复总数  684
1  2  3  4  5  6  7  8  9  10 ... 35  
2021-08-09 22:50:19 +08:00
回复了 weimo383 创建的主题 程序员 为何前端构建工具这么麻烦
angular 从来都没这种鸟问题
我不知道首影响的行数是否与 change buffer 有关(之前不知道 changebuffer 这个概念)。

但是抛开 change buffer 不谈,可以使用 ROW_COUNT()获取上一条语句( update or delete )影响的行数。
https://www.cnblogs.com/langtianya/p/4776531.html

至于具体的代码...你可以让你的连接执行 2 次查询,第一次执行 update 或者 delete,第二次获取 ROW_COUNT()。如果想要一次性拿到,可以看看特定 ORM 的文档。

例如.net 的 dapper,就可以执行多个 sql,拿到多个结果。https://github.com/DapperLib/Dapper#multiple-results
2021-08-08 21:53:32 +08:00
回复了 8e47e42 创建的主题 Google 被静默推送了臭名昭著的 Chrome Privacy Sandbox,大家都关了吗?
火狐不会被优先适配,一些前端比较重的网站会出点小问题,例如在线文档类、视频类。
edge 全平台都有,并且内核和 chrome 一样,兼容性更好。

所以为了防止垄断,我们消费者应该 Firefox (主)+edge (辅)。现在难受点,以后好受点。
2021-08-07 23:24:55 +08:00
回复了 kyrieou 创建的主题 Apple 几个月前在官网上买的 macbook 不小心洒入了几滴豆浆到键盘里了
我的小新 15 寸洒过水、碘伏,现在屁事没有。
2021-08-07 16:17:35 +08:00
回复了 EscYezi 创建的主题 Java 关于 Java 类加载和 Springboot Bean 动态加载的一点想法
你用这么 hack 的东西,还不如把正式环境暴露给你的开发机呢。
2021-08-07 09:57:08 +08:00
回复了 bingyiyu 创建的主题 程序员 组里 40 老大哥有错不改还注释他人代码怎么解
@360511404 其实小团队可以采用 trunk-based,即大家都在 master 上面写代码,优势是保证持续集成(集成=代码合并+单元测试+xx 测试),利于防止那种几周都不合并的代码。
2021-08-07 09:38:08 +08:00
回复了 bingyiyu 创建的主题 程序员 组里 40 老大哥有错不改还注释他人代码怎么解
@bingyiyu 那你就让他在 master 写好了,估计他也不会使用除了 commit 和 push 以外的功能。你把发布分支换为另一个分支,例如 release 。
2021-08-07 09:35:41 +08:00
回复了 polyang 创建的主题 程序员 提交代码时 git commit message 是不是写的详细点比较好?
commit message 至少要能够保证:你自己过一周看到 commit message 的时候能知道这个 commit 里面干了什么。
2021-08-06 00:31:20 +08:00
回复了 xoxo419 创建的主题 程序员 假如你是一名面试官、对于秒杀系统你会问哪些问题?
使用 redis 只能保证不超卖——这个答案是网上随便查得到的。

完美答案是:
假设有 N 个库存,那么就得分配 N 个 token (例如 GUID ),token 放在 redis 上面以供获取。token 作为 mongo 的_id 就可以将压力平均分散到各个 shard 。shard 越多,压力越小。如果有 100 个 shard,那么压力就变为 1/100 。再用 mongo 的_id 做幂等,保证一个 token 只用一次,保证不超卖。最后通过订阅 binlog or 业务代码 将用过的 token 同步到 redis 进行标记。并且根据数据库的压力的不同可以在 redis 中对同一个 token 使用分布式锁来缓解压力,类似于避免惊群 /击穿的方案。
本方案既能保证先来后到公平性,又能保证不超卖 /少卖,还可以支持临时加库存的情况下依然能保证上述特性。

这个方案我之前面试的时候用过了,面试官挑不出刺。当然一次别说完了,不然面试官可能理解不了,挑“token+幂等”这个重点就行了。
JPA for write/transaction
SQL for query

=================

“来自”微软官方的答案。


——引号是因为微软在.net 世界给出了一个类似的解决方案。
https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads

查询( read )用的是 micro orm Dapper,命令( write )用的是宇宙最强 orm Entity Framework 。

虽然 ef 的表达能力几乎覆盖 sql,但是微软却告诉你:没必要全程用 ef 哦!

关键词:cqrs
2021-07-22 23:13:19 +08:00
回复了 gzhjj 创建的主题 Android 哪个 app 可以实现扫码只识别网址但不去访问?
断网任意浏览器扫码
在自己的工程中,叫依赖注入。注意子类要能够里氏替换。
2021-07-13 19:20:37 +08:00
回复了 0x0208v0 创建的主题 程序员 2021 年了,数据存时间是用 utc 还是本地时间?
首先,存到数据库里面的东西都要标准化,所以统一使用 UTC 时间。

建议统一使用 int64 UTC milliseconds. 当然 int64 UTC seconds 也行,只不过都是 int64,不会省空间的。

还有就是要注意,避免在 ORM 的实体上面使用语言自带的日期类型,例如 C#的 DateTime 、DateTimeOffset,例如 Java 的 Datetime 。虽然看起来方便,但是最终会付出额外的成本。

keep it simple and stupid. 这虽然笨了点,但是却能够避免很多问题,并且别人也更加容易看懂你的代码。
2021-07-09 08:20:46 +08:00
回复了 ChrisFreeMan 创建的主题 Vim 终于完美解决了在 Vim 下写 C#的难题, Vim 永远的神
你想一想一个是社区开源推动的产品,一个是商业公司的产品,就知道那个好用了。
2021-07-09 02:41:13 +08:00
回复了 raaaaaar 创建的主题 程序员 请问平时使用什么工具来进行简单的数学计算的?
简单四则运算:powershell
更多函数例如 log:powershell - python,或者 F12
更加复杂的计算:powershell - jupyter notebook
另外 excel 功能也挺强大的
2021-07-09 02:37:25 +08:00
回复了 nijjba 创建的主题 PWA 利用 PWA 或者说 Service Worker 有没有可能做到完全离线的体验?
谷歌能这么做是因为 Angular 强大的工程化能力允许它这么做,不是因为用了什么黑科技。
不存在什么黑科技。离线的用户体验都是用业务逻辑代码写出来的。不存在哪一种技术可以减轻业务逻辑的负担。

至于具体的业务逻辑,应该是和 git 一样的流程:本地 commit,然后再异步 push 到云端。如果发生冲突,则覆盖,或者强制用户保存到一个新的文档。我没用过 Google Docs,但是 Google Colab 就是这样设计的。

“那么像那些每次操作都依赖网络请求的系统, 如大部分业务系统、表格表单类的管理系统, 能否做到类似 Google Docs 的离线体验呢?”

回答:可以这么做,但是不推荐。如果你按照一般方法进行开发,那么 UI 就是给 api 套一层壳。如果按照能够离线使用的标准进行设计,那么还涉及到 push 的逻辑、并发修改问题、解决冲突的逻辑。既然网络不成问题,那么合并给自己额外的开发任务呢?
2021-07-05 22:57:55 +08:00
回复了 guoshim 创建的主题 程序员 如何利用开发过程中的碎片时间
运动防止衰老
2021-07-02 23:46:10 +08:00
回复了 Kawnnor 创建的主题 Windows Firefox 染山霞主题
我的 Firefox 最近突然会假死,不知道是不是 ss 的锅。
2021-06-28 14:00:25 +08:00
回复了 eccentric579 创建的主题 汽车 大西北自驾,两个司机出现的一点争执
被超是过程,晚到终点是结果。
超车是过程,早到天堂是结果。
2021-06-25 20:51:42 +08:00
回复了 wowbaby 创建的主题 Go 编程语言 都说 go 挺好使的,准备用 go 写几个接口
go 确实是缺胳膊少腿。

你说 go 可以防止菜鸟乱写,这没有错。但是 java 、C#可以通过代码分析、代码检查限制菜鸟的自由度,一样好使。对于 C#,微软已经提供了语法树结构的 api,普通人都可以写一个代码检查工具,并集成到 visual studio,或者在编译时触发不同的 warning/error 等级。

我认为 go 最恶心的地方有两处:
1. 错误处理。go 标准库的错误处理的设计其实是在挑衅 C#、java 、kotlin 、python 的标准库的错误处理设计。毫无疑问,go 的设计是错误的。Go 语言的错误处理机制是一个优秀的设计吗? - Crucialize 的回答 - 知乎
https://www.zhihu.com/question/27158146/answer/1938195485
2. 指针需要加“*”号。在面向对象语言中,传递指针是常见的应用场景,copy 对象是鲜有的情况。但是 go 里面却默认 copy 对象,纯粹恶心人。对于需要性能的场景可以理解,但是 C#也有 struct,所以 go 完败。
1  2  3  4  5  6  7  8  9  10 ... 35  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5724 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 49ms · UTC 02:15 · PVG 10:15 · LAX 19:15 · JFK 22:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.