V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  henix  ›  全部回复第 3 页 / 共 8 页
回复总数  144
1  2  3  4  5  6  7  8  
2025 年 5 月 12 日
回复了 wencan 创建的主题 Linux Linux 下有没有很方便的图片拼接软件?
拼接用 ImageMagick 命令行 montage 工具
抠图用 GIMP 相似像素选择,跟 PS 类似,要手动操作一下
2025 年 5 月 3 日
回复了 liangkang1436 创建的主题 程序员 Java 开发开始学习 C++开发的一点体会
个人也学过这两种语言,感觉除了你说的这些,还有一个代码组织上的重要区别:
C++ 有编译单元( translation unit )的概念,每个 C++ 源文件跟其他 C++ 源文件之间存在隔离(比如 static 函数是属于单个编译单元私有的),因为每个 C++ 源文件都是单独编译成目标文件的
而 Java 只是将各种类组织成 package ,通过 private / public 关键字控制访问,但实际上即使是私有方法也可以通过反射访问,没有编译单元的概念
2025 年 4 月 28 日
回复了 zzhirong 创建的主题 Go 编程语言 探讨一下错误处理策略, 关于 if err != nil {
我比较喜欢 Go 这种错误处理方式,它的问题在于代码啰嗦,而且没有宏,而且按照 Go 语言的设计哲学,基本上不可能加入宏的
我自己的 C 语言基础库的错误处理就参考了 Go ,而且通过宏来减少重复代码,例如:

#define E(s) { err_t err = s; if (err != NULL) return err; } (void)0

使用:

E(do_some_thing(a));
2025 年 4 月 27 日
回复了 cnfans 创建的主题 Python 关于 Python 学习问题
试试 https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/mitweb/ ?
2025 年 4 月 27 日
回复了 est 创建的主题 Windows 有没有能在 NAS / SMB 解压 zip 遇到网络中断能自动重试的
unzip 有个 -u 选项: https://man.archlinux.org/man/unzip.1#u

> update existing files and create new ones if needed.
> extracting (with query) files that are newer than those with the same name on disk, and in addition it extracts those files that do not already exist on disk.

相当于带断点续传的解压

但如果遇到网络报错的时候,有文件写入了一半的话最好把写入了一半的文件删除,然后再重试 unzip -u
2025 年 4 月 26 日
回复了 Yux0 创建的主题 程序员 2025 年了,应该如何选择 web 开发路线?
前端最简单的:在电脑里创建一个 html 文件,然后用浏览器打开,你就能在里面写各种东西,先把 html 、css 、js 的基础学好,再学 vue 、react 之类的框架

后端的入门案例就是用户登录系统:用户名密码登录、邮箱注册、密码重置这一类功能,这里面不仅涉及数据库,还涉及网络安全的内容

框架还是看你用什么后端语言,就选最主流的。前端后交互核心是 http 协议,理解协议了不管你用什么框架都差不多
2025 年 4 月 25 日
回复了 chambered 创建的主题 程序员 大家有没有看过之后大呼过瘾的技术书籍推荐
推荐一本:Neal Ford 《卓有成效的程序员》
2025 年 4 月 24 日
回复了 henix 创建的主题 C 分享一个用 AI 学习 C 语言的例子
我本来是想发出来看看有没有人能发散一下这种写法的历史,或者在其他知名项目中看到过之类的……因为这么底层(常用)的,而且又很漂亮的写法,我之前竟然完全不知道……

我又找了一下,只在 stackoverflow 上找到两个帖子提到:

* https://stackoverflow.com/questions/49663753/qsort-function-compare-confused-me
* https://stackoverflow.com/questions/3886446/problem-trying-to-use-the-c-qsort-function

外国人都说是“common idiom”,说明这种写法确实是一种惯用法,但他们没有指出是谁最先这么用。如果是惯用法,个人认为并不会对可读性造成较大伤害

而且我观察到 gcc 和 msvc 这两种编译器默认都无法将我的第一个比较函数优化成第三种,只有 clang 可以,可见这种写法确实能产生更优的编译结果,我认为还是很有意义的

P.S. 发散一下:上面的第一个链接指出如果是比较两个 int 也不能直接相减,而且这种直接相减的写法出自《 The C Programming Language 》第五章
用的 gopls 吗,我用 gopls 的时候,开一个 1w 多行的项目,需要花很多时间预热。我以为是启动了 vscode 之后立即就能用,但并不是。出现的问题跟你这个差不多
你这种情况看起来像是在等待插件,感觉可以先等上 30 分钟再说
怀疑你可能光看书而缺少实践
自己写点实用的小工具,多写代码(最好是生活中遇到的问题),遇到不知道怎么处理、设计的情况,再去看书
为什么要用面向对象或设计模式,这些都是抽象的方法,但是也并不是所有情况都适用的。个人认为要说有什么代码设计中的核心原则的话,那就是 DRY ( Don't Repeat Yourself ),很多东西都是为了避免重复的,比如多个地方出现的重复的逻辑,就想办法把它们抽象成函数或类。
那为什么要避免重复呢,这是为了方便修改,未来可能出现新的需求,要改的话只改一处地方就好了。
2025 年 4 月 16 日
回复了 SOSdanOffical 创建的主题 Python 使用 pandas 读取 csv 遇到了一些问题,求教
假设最后一列的双引号一定是成对出现的,可以自己写个 csv 解析,特殊处理最后一列
nginx? 应该用编程语言的库或框架吧,比如 java 的 netty 或 Python 的 twisted
推荐用 zeromq 的 request-reply 模式,把底层的 TCP 封装了
2025 年 4 月 4 日
回复了 darkway 创建的主题 生活 人生求教 老爸掏光家底炒股亏损 30 年 该不该帮老爸?
这不是炒股技术问题,而是人品问题了
有理由怀疑你爸是 NPD ,即自恋型人格,可以网上搜一下这类人的特点
你自己立规矩吧,比如之前没还的钱,之后就不借了
看看相关法律法规,收集证据,如果你父母离婚,你爸应该属于过错方,犯了错就该让他自己负责
2025 年 3 月 28 日
回复了 luck2023 创建的主题 生活 30 多了,负债百来万,还有机会翻身嘛?
看看戒社,有跟你差不多情况的人
2025 年 3 月 19 日
回复了 yjsp1919 创建的主题 职场话题 非 CS 专业想当程序员,应该如何开始?
先想清楚这几个问题:

1. 想做什么行业的程序员(比如电商、游戏、物联网机车、银行、AI...)不同行业的工作状态差别挺大的,比如游戏疯狂加班、银行到点下班,但有利也有弊,都是取舍。而且不同行业要求的编程语言和框架也不一样
2. 想去大公司还是小公司,能力要求和职业发展也不一样。根据你的条件,可以考虑先找个小公司干着,积累工作经验,以后再跳槽去大公司。翻翻 boss 直聘吧

想让简历好看,github 上创建点自己做的项目,且能讲清楚你做的过程中有哪些思考,解决了哪些问题。刷题也算是个加分项
看看 https://www.v2ex.com/t/1063354 C++ 连一个简单的接口都要考虑内存释放问题,Java 就没这么多事
2025 年 2 月 25 日
回复了 shujuliuer 创建的主题 Windows 可能是全球最快捷的修改 hosts 文件方式
有意思,但怎么没显示需要管理员权限的提示?
在 gcc 14 上修改之后会输出这些:

···
test.c: In function 'main':
test.c:21:51: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
21 | char checkSizeOfInt[sizeof(x)] = {checker((int)&checkSizeOfInt)}; \
| ^
test.c:26:5: note: in expansion of macro 'TEST'
26 | TEST(struct X);
| ^~~~
test.c:22:9: note: '#pragma message: Value: struct X'
22 | _Pragma(TOSTRING(message("Value: " #x))) \
| ^~~~~~~
test.c:26:5: note: in expansion of macro 'TEST'
26 | TEST(struct X);
| ^~~~
···

没看到什么结构体大小啊
2025 年 2 月 9 日
回复了 henix 创建的主题 程序员 有哪些时间戳比较准确的语音转字幕服务?
@Nosub 确实,我今天又看了下,有精确到词的 api 参数,之前只是在控制台网页上试了一下
2025 年 1 月 19 日
回复了 xhwdy26 创建的主题 程序员 从微服务走向单体化
我理解单体应用 vs 微服务只是部署运维的差别,跟 git 和代码怎么管理没关系
至于开发环境,可能是每个人自己电脑上 wsl2 或虚拟机?
1  2  3  4  5  6  7  8  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2908 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 06:24 · PVG 14:24 · LAX 23:24 · JFK 02:24
♥ Do have faith in what you're doing.