V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  CLMan  ›  全部回复第 2 页 / 共 9 页
回复总数  165
1  2  3  4  5  6  7  8  9  
2024 年 12 月 8 日
回复了 qclown 创建的主题 Java Java 大佬进!实在弄不明白这个问题了
@qclown 是的,理解为 list 更恰当一点。
2024 年 12 月 8 日
回复了 qclown 创建的主题 Java Java 大佬进!实在弄不明白这个问题了
@CLMan `java -classpath /home/a`修正为`java -classpath /home/root/a`
2024 年 12 月 8 日
回复了 qclown 创建的主题 Java Java 大佬进!实在弄不明白这个问题了
因为 classpath 有两种格式:文件夹、jar 包,换句话说:

比如`java -classpath /home/root/a.jar`等价于`java -classpath /home/a`,`a`是`a.jar`解压后的根目录。

也就是当你 classpath 指定 jar 包时,等价于 jar 包内的内容位于`classpath:/`下。
自己写一个吧,工作负载就是做一些无效运算,占用控制就借鉴下控制理论的相关算法,比如 PID 算法。
虽然很多人答非所问,但是也侧面说明了:楼主为啥会问这么奇怪的问题,感觉就像熟读技术书籍但没写过一天代码的怪人。
2024 年 11 月 28 日
回复了 YunFun 创建的主题 程序员 Go 面试 —— Go Map 的并发安全问题
或许没有一个编程语言能逃过八股文。
2024 年 11 月 17 日
回复了 zwgf 创建的主题 移动开发 开发的 APP 接口总是会被封,怎么处理?
我之前开发需要与后端通信的 Chrome 插件也遇到类似的问题,我的解决办法是买的阿里云 99 一年云服务器,在应用里面写死 IP 实现的。
2024 年 11 月 16 日
回复了 passer9527 创建的主题 程序员 原来 JavaScript 设计之初就是作为 Java 弟弟来的
犀牛书给我的观感就是太厚了,很多内容也就是科普水平,不如《高级程序设计》信噪比高,Google 了下,新版厚度减少了许多,但内在还是一样,也就是读的时候要分清哪些是干货,哪些是水,对于 JS 新手而言是个问题。

前面的批评也不是没有道理,JS 并非轻量级 Java ,虽然 JS 受到了 Java 很大影响(或者说蹭热度),比如语法风格,比如基于 UTF16 的字符串类型,对写 Java 的人来说上手很快,但原型链就足以证明它不是 Java 。

JS 的生态位就不同于 Java ,何来“可惜错过了,地盘也抢不回来了”,你为 JS 搓手顿足、懊恼,有点表演型人格发作了。

从性能来讲,JIT 加持的 JS 程序在单线程接近甚至战平 JIT 加持的 Java ,内存占用两者都比较粗狂,但 Java 是支持多线程的。不考虑生态,单纯从性能和内存占用角度来讲,对于单线程程序,选择 JS/TS 和 Java 没太大区别。
2024 年 11 月 15 日
回复了 pike0002 创建的主题 Go 编程语言 Go 语言中的接口 nil 检查需谨慎
细想一下,接口类型的约定是方法调用,而 null 值是可以作为方法接收者(需要调用方保证),因此接收方只需要检查是否提供了类型(即`==nil`判断)。

你唯一需要进一步检查值是否为 nil 的情况,是进行类型断言,断言成功的结果是一个确定的类型而非接口类型,此时你对断言结果进行`==nil`判断也不会存在什么问题。

所以这个设计看似不合理,但其实很合理,除了面试八股,或者研究茴香豆的写法,这个设计并不会导致写出 BUG 代码。
2024 年 11 月 15 日
回复了 pike0002 创建的主题 Go 编程语言 Go 语言中的接口 nil 检查需谨慎
@CLMan 更正“也不是没有问题”为“也没有问题”
2024 年 11 月 15 日
回复了 pike0002 创建的主题 Go 编程语言 Go 语言中的接口 nil 检查需谨慎
tour of go 和《 TGPL 》都应该重点讲过这个问题,但如果很少使用到接口,确实长期下来会遗忘这个问题,所以说是坑也不是没有问题。

至于为什么这么设计,虽然没去查权威来源,但个人的推测是,Go 中 null 是可以作为方法接收者的,所以需要区分带类型的值为 null ,与不带类型且值为 null 的情况。

Go 的 for i range array ,其中 i 是索引值,省略了值。这对于习惯了 JS 和 Java 语法的我,很久没写 Go 再回去写,也经常犯错误,在迭代整数 slice/数组时,把 i 当作元素。
2024 年 11 月 9 日
回复了 slowlyxixi 创建的主题 Node.js 2024 年了你在用 npm / yarn / pnpm ?以及为什么?
最开始是用 npm ,属于入门阶段。然后尝试了 yarn ,它的特色是`Zero-installs`,但是个人项目用不到。最后尝试了 pnpm ,被它的执行速度和 0 学习成本(对于 npm 的兼容性很好)所吸引,就停在了 pnpm 。

最近尝试了 bun ,主要是用来当作 TS 的解释器来用,也用来写一些脚本类型的项目,因为它提供的 API 比 Node.js 的 API 更加友好,冷启动速度也更快。

测试过 bun 和 node.js 在 Linux 作为自己的一个后端 JS 程序的 Runtime ,两者(JIT 暖机后)性能、内存占用基本一致,没什么差距。
"更多优秀",但是并没有指名道姓的说出来,太敷衍了。
2024 年 11 月 4 日
回复了 RabbitQ 创建的主题 程序员 小白想请教一个跨源 post 的问题
因为 fetch 和 超链接跳转 是两种不同的跨源网络访问,对浏览器而言,会采取不同的跨源安全访问限制策略。前者由脚本触发,后者由用户点击跳转,所以浏览器对于前者会更严。

更细节的需要爬文档: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS 。以及多做测试,CORS 涉及到安全,不同品牌的浏览器在一些细节上存在差异,需要自己整理。
2024 年 11 月 4 日
回复了 JackHong 创建的主题 Windows 拯救者清完灰自动重启
我自己修过(指替换零件、毕竟修主板还是得专业人士)、清理过几个笔记本,倒是总结出一些经验。

相变片没用过,硅脂不是越厚越好,硅脂的作用在于填补铜片与 CPU/GPU 接触面的缝隙,你只需要表面保证完全覆盖薄薄的一层,拧紧螺丝就行了。

拧散热器螺丝要讲究技巧,按照 X 的交叉方式先拧几圈固定螺丝,然后循环这样的方式,直至把所有螺丝拧紧,这样是避免硅脂不均匀分布。

现代笔记本的散热模组都是一体化的,可能散热模组老化或者你清灰过程中造成了物理破坏,最好的方式是淘宝买 2 个新的,一个替换,一个备用。

拆机前最好看下视频和教程,避免遇到坑,别自己蛮干。
2024 年 11 月 2 日
回复了 yujianwjj 创建的主题 Go 编程语言 go 程序结构的探讨
模式 1 ,定义了一堆 interface ,模块执行逻辑在 New 里面,间接在 run 里面。
模式 2 ,定义了一个通用的 Module 接口,模块实现 Module 接口,模块执行逻辑在 Run ,由 Manager 在 run 里面调用。
模式 3 ,定义了一个通用接口 Stage ,以及定义了一堆 interface ,模块实现 Stage 接口以及自身的接口,模块执行逻辑在 Run ,由 Manager 在 run 里面调用。

所以你这 3 种模式,无非就是抽取了一堆接口,有点 Java 了,代码的可读性没有任何区别。

首先,模式 1 的将模块执行触发丢在 New 里面,通常是不建议的,因为多模块系统是由模块组装得到的,最后再走启动的流程,模块提前执行是不合适的。

其次,除非真有必要,Go 是很少上来就抽取一堆 interface ,建议先写下原型,根据实际需要再抽取接口。
至少 Google 一下 Flutter 和 Dart 的历史吧。

是 Chrome 团队先发明了 Dart ,试图取代 JS 用于 Web 开发,但是由于市场接受度不高,因此暂时沉寂。

但是代码/编程语言对于 Google 来讲就是资产,只要有合适的场景就会翻出来拿来使用,毕竟都是真金白银换来的积累。

随后,Google 与 Oracle 陷入了关于 Andorid 使用 Java 的官司,Google 一方面和 Oracle 在法院扯皮,一方面在软件层面准备了 JB 的 Kotlin 和 Chrome 团队的 Flutter 方案,因为 Chrome 团队正好在 UI 上积累了很多经验,之前开发的 Dart 也很适合来干这件事情。

对于 Google 这种大公司,给自己操作系统(Android)编写 GUI ,其使用的语言必然是自己的,苹果为啥要发明 Swift ,微软为啥要发明 C#这个和 Java 同生态位(至少早期如此)的语言,因为自主才能掌控全局不然处处受制于人,不是很简单的道理。
2024 年 10 月 26 日
回复了 ota 创建的主题 Python 求 Python 初学者书籍推荐
"Python 初学者",错,“编程初学者”,对。

其实你是基本对编程没有什么概念,因为对于有编程经验/思维的人来说,Python 入门也就一个下午的事情。因为你也不用来写什么复杂东西,Python 看个语法部分就算入门了。

用 math adventures 来入门是你想多了,里面的 Python 内容不成体系,里面的数学内容也不成体系,你不是数学专业出生的,哪来的背景知识看,看天书吗?

我读大学的时候,大一基础课之一就是 C 语言编程,这种教育依然是灌输式的教育,典中典的谭浩强 C89 ,坑害了多少人。不知道现在大学的培养方案变更没,这类课程的目的,其实就是要教会学生编程思维。

如果要推荐,CS61A 应该是合适的,包括视频,基于 Python ,讲解编程思维。
2024 年 10 月 25 日
回复了 vyuai 创建的主题 Java 大佬们, 关于 Java 后端空判断
因为前面已经过滤 null 了,后续就不需要再检查 null ,所以你改得没啥问题。其次这代码本身就怪怪的,分页查询返回的 List 包括 null 元素(难道是返回固定长度的 List?)

感觉你应该没有太多编程经验,去看这种后台管理项目,去扣它的业务逻辑细节,实际上是走入了误区,想得太多写的太少。这种项目就是用来二次开发的,你自学根本没有实际的需求,看这种只有皮而无肉的空架子代码,那自然会陷入“这里要不要检查 null”,“这里为啥用 Throwable 而不是 Exception”等基本上没啥意义的实现细节。

我的看法是,真正能够有所收获,建立信心的是写自己的项目。你去找一个自己感兴趣且熟悉的领域,找到切入点,写一个至少能用的应用,不需要功能多丰富,实现多完美,至少其是自洽的,麻雀虽小,五脏俱全。比如你的求职目标是 Java 后端,那就去仿一个网站,从需求分析、数据库设计、后端实现、前端实现、应用部署一步步做起,并且去相关垂直领域宣传,给别人使用。
@xxss0903 你这涉及到字体等资源文件了,我只用 TypeScript 写过传统的逻辑库和 web 应用,没写过 web 组件库。

你可以参考与你项目类似的 pdf.js: https://www.npmjs.com/package/pdfjs-dist ,看它是怎么打包资源文件的。
1  2  3  4  5  6  7  8  9  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3113 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 13:36 · PVG 21:36 · LAX 06:36 · JFK 09:36
♥ Do have faith in what you're doing.