V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lmshl  ›  全部回复第 8 页 / 共 24 页
回复总数  479
1 ... 4  5  6  7  8  9  10  11  12  13 ... 24  
不应该是行级锁么?
2022-10-10 20:48:19 +08:00
回复了 tool2d 创建的主题 编程 创建一个无法被破解的 zip 压缩包
我愿称你为教科书般的密码学民科😏
2022-10-10 15:01:39 +08:00
回复了 hepin1989 创建的主题 程序员 gRPC 跑分分享(2022-10-02 bench results)
箱神牛逼,品神牛逼
2022-10-09 18:02:46 +08:00
回复了 frank1256 创建的主题 程序员 如果文件直接用 base64 编码传,会怎么样
form-data 里的文件可都是暂存文件系统的,你不主动调用不会全部读进内存。
但一个 JSON 字符串大概率你很难做流式解析(很复杂),严格解析完了可就全在内存里了。

参考:
The file contents are either stored in memory or temporarily on disk. In either case, the user is responsible for copying file contents to a session-level or persistent store as and if desired. The temporary storage will be cleared at the end of request processing.
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/multipart/MultipartFile.html
2022-10-09 13:57:12 +08:00
回复了 jiobanma 创建的主题 Java Java 程序内存不足问题求解
既然已经 dump heap 了,直接丢进 eclipse memory analyzer 看原因咯
@tool2d JS 的 JIT 也够用了,或者还可以用 WASM ,甚至 GraalVM 那种 polyglot 支持。
没什么高深技术,而且不建议自创语言,大部分场景下都可以内嵌一个 JavaScript 解释器来做

参考:
https://www.yinwang.org/blog-cn/2017/05/25/dsl
2022-10-08 15:27:45 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
简单来说,把普通 Dictionary 给 Pin 到一个线程上,建一个接收命令的并发队列,持续消费它。

设计两个函数:

Task<TakeResult> Take(...) { 将指令和 TaskCompletionSource 写入队列,返回 Task }
Task<SetResult> Set(...) { 将指令和 TaskCompletionSource 写入队列,返回 Task }

单线程持续消费并发队列,消费成功后 TaskCompletionSource::SetResult 告知调用者已经获取到



但是实际上你需要占有的是背后的服务,而不是这个 Dictionary 数据结构,那你没必要用线程安全的数据结构,直接把 lock/semaphore 加在 Dict Value 上不好么?
2022-10-08 15:06:32 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
其实是可以做到的,你还没想明白。

看你描述完了整个流程以后,这不就是资源池么?要不你去看看(数据库,HTTP 链接池)资源池是怎么保证独占的?
2022-10-08 15:03:45 +08:00
回复了 babyfishct 创建的主题 程序员 Jimmer: 一个面向 Java 和 Kotlin 的革命性 ORM
泼个冷水

粗略扫了一眼文档,感觉没有比 Ktorm / Exposed 这类 ORM 更强,更不用说和 Slick / Quill 这种真强类型且类型安全的 FRM 了。

甚至在 TS 上玩类型体操的 Prisma 都能做到很大程度的强类型安全,我觉得以目前的理论成分看,”革命性”还有些距离......
2022-10-08 14:55:21 +08:00
回复了 wdc63 创建的主题 程序员 数据结构求助
并行读取从来都不是问题,并行修改在哪里都是问题

建议重新思考读写模型,99%场景下并行修改都是可以避免的。比如把修改请求发送给数据结构持有者,Task<?> 接收修改结果,读取任意并发,写入排队。
2022-10-08 14:03:12 +08:00
回复了 asasas2114823 创建的主题 程序员 24 岁非本专业大专准备自学转行前端,求劝退
@maryshaw 英语口语常用单词家族大约 3000 个,好好背。再加上 2000 多个技术词汇,不太需要单独背。
然后练口语,不管是影子跟读还是报培训班,贵在坚持。一定要用最硬核的学习方法,正襟危坐打起十二分精神的学才行。基本上口语敢开口了就可以去找公司面试检验自己学习成果了,能和鬼佬们聊个 1 个小时,把自己心里所想的表达出来就 OK 了,剩下的可以入职后慢慢再环境中锻炼。


@walkerteng 这个 offer 我没接,因为比现在高不了多少。这个是外企的国内研发中心,同事各个国家的人都有。
2022-10-08 09:44:18 +08:00
回复了 asasas2114823 创建的主题 程序员 24 岁非本专业大专准备自学转行前端,求劝退
毕业十年的带专来说说自己的成长历程:
首先肯定要打基础嘛,我推荐两本书:
1. JS 基础书《 SICP 》🐶。
这本书边看边做课后题,做完前 3 章,说明你入行时没有问题的。如果整本书最后一题都能做出来,说明你将来会在这个行业有一番成就。
2. 数学基础书《具体数学》
配合学堂在线的网课《组合数学》一起看,可以弥补带专的数学弱项。

愿各位人上人都能收获自己心仪的工作
曾经的 offer:
https://i.imgur.com/XPY5Vhn.png
不使用 move 的话,比较简单的原则是谁创建谁销毁
按 c++ move 写不就行了?
2022-10-06 22:42:28 +08:00
回复了 Cify 创建的主题 Kubernetes 多个使用域名的网站如何跑在 K8S 中?
@Cify dns 指向过去不就行了
2022-10-06 21:55:13 +08:00
回复了 Cify 创建的主题 Kubernetes 多个使用域名的网站如何跑在 K8S 中?
ingress 根据 host 路由不就行了么
2022-10-06 19:28:37 +08:00
回复了 chenqh 创建的主题 MySQL 关于 mysql count 太慢的问题
做不到的,实际上现代数据库也没有在精确 count 上做很多努力,你看各大网站的搜索结果,基本上都是给你个估算值( 10000+),因为精确 count 是需要遍历所有 where 命中行并聚合计数的。

我在我公司应用上实现的 count 是这么个逻辑:
先用索引概率分布估算一个值,如果这个值小于 10k ,那么执行精确 select count(*) where ... 返回给前端。
如果这个值大于 10k ,那么将此估算值抹去末尾 N 位,返回给前端,前端显示为“约 53200+ 符合结果”

参考资料:
https://wiki.postgresql.org/wiki/Count_estimate
https://www.datastax.com/blog/counting-keys-cassandra
2022-10-06 14:05:02 +08:00
回复了 annoygaga 创建的主题 程序员 AWS/Azure/GCP Kubernetes 服务性价比比较
只用过 aws 和 aws-cn ,据我观察各家最终价格都差不多。
aws 是 eks 每小时收管理费 0.1 刀,除此之外都是 ec2 ,ebs 和网络费用。所以成本控制最终还是要看你消耗多少虚拟机
2022-10-06 10:56:42 +08:00
回复了 cs3230524 创建的主题 Java JVM、运维大佬过来看看这个问题
理论上来说应该是“ 1 个 tomcat1 个应用”性能最好,线程池会探查操作系统核数的,如果应用是协程开发的话更应该这样了。

实际上部署 2-3 个都是可以接受的,但更多属实没必要
1 ... 4  5  6  7  8  9  10  11  12  13 ... 24  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 08:54 · PVG 16:54 · LAX 00:54 · JFK 03:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.