V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  henix  ›  全部回复第 3 页 / 共 7 页
回复总数  135
1  2  3  4  5  6  7  
怀疑你可能光看书而缺少实践
自己写点实用的小工具,多写代码(最好是生活中遇到的问题),遇到不知道怎么处理、设计的情况,再去看书
为什么要用面向对象或设计模式,这些都是抽象的方法,但是也并不是所有情况都适用的。个人认为要说有什么代码设计中的核心原则的话,那就是 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 或虚拟机?
2025 年 1 月 6 日
回复了 kuanat 创建的主题 程序员 我转发了一张图到前端群,大周末的群里已经爆炸了
个人最喜欢 https://github.com/hyperhype/hyperscript 纯粹用 js 生成 html
2025 年 1 月 1 日
回复了 Ayanokouji 创建的主题 Go 编程语言 求教: golang error 和 log 的最佳实践思路
我用了 Go 的错误处理后有个感受:调用栈真不是必需的
说起调用栈我就想起网传的这张图: https://www.cnblogs.com/jhj117/p/5627224.html
那么多调用栈全是中间层的,对排查错误也没啥帮助

但题目中的这种情况属于信息过少,也无法很好排错
那怎么办
我认为很多时候我们需要的不是调用栈,而是错误的上下文
比如读写文件错误的时候的文件名、请求上游 API 错误的时候的 url
而这些都不是简单的一个调用栈能自动解决的,都需要程序员在错误发生的附近手动添加
在错误向上传递的过程中,如果哪层有很重要的上下文,就在那一层把相关信息加到 err 里

Error: unexpected '>' at the beginning of value 这种错误,应该把参数名和值都输出出来,并且当 err 传递到 controller 层的时候,附加上请求信息
2024 年 12 月 29 日
回复了 dzdh 创建的主题 Go 编程语言 go 没有异常 怎么判断逻辑以外的错误 全局的处理
我的话这种情况不会使用 panic / recover ,那个是给意料之外的严重异常用的
这种确实需要一路 return nil, err
如果需要中间处理,那在最开始创建 err 的时候选择一个特定类型,中间件用 errors.Is 判断
以上是如果你用网上的常用框架的话就这么做

我个人认为这些框架的错误处理设计得不好,我开发自己的 web 项目的时候不用任何框架,只用 go 标准库
我设计的 controller 会返回:(结果, err1, err2)
其中 err1 代表用户输入错误,比如参数检查错误,要给用户返回 4xx
err2 代表服务器内部错误,要给用户返回 5xx
用这种方法,不需要 errors.Is 判断类型,只需要判断 err2 != nil 即可
可以多从特性的角度比较不同语言,把语言拆分成特性,掌握一种语言之后,再掌握有相同特性的语言就容易了
比如同样是迭代,有些语言是 for 循环,有些是 iterator ,还有些是 generator
比如 js 数组的 filter map ,Python 里有一样的东西
再比如一些多线程数据结构,如果你掌握了 Java 的多线程,在 Python 里也可以用类似的方式思考:
https://stackoverflow.com/questions/10236947/does-python-have-a-similar-control-mechanism-to-javas-countdownlatch
2024 年 12 月 14 日
回复了 nnegier 创建的主题 程序员 算法的“递归”有比较好的学习资源推荐吗?
用 shellcheck 静态检查一下
程序员属于高收入群体,说出去容易遭大伙嫉妒,但如果说秃头,那大伙就哈哈大笑了
2024 年 11 月 22 日
回复了 jqknono 创建的主题 程序员 A 股有交易 API 吗
这种不可能完全开放的,联系券商,申请开通 QMT
2024 年 11 月 21 日
回复了 henix 创建的主题 FFmpeg ffmpeg 处理后视频时长问题
今天研究了一下,确实是最后一步的 concat 用的片段是 trim 之后没加 setpts ,之前有个回复提醒了我。

最后一步修正之后的 filter_complex:

```
"[fv]split[fv1][fv2]",
"[fv1]trim=0:7[fv1t]",
"[fv2]trim=7,setpts=PTS-STARTPTS[fv2t]",
"[fa]asplit[fa1][fa2]",
"[fa1]atrim=0:7[fa1t]",
"[fa2]atrim=7,asetpts=PTS-STARTPTS[fa2t]",
"[fv1t][fa1t][10:v][10:a][fv2t][fa2t]concat=3:1:1",
```

现在已经正常了,感谢各位的讨论
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2471 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
♥ Do have faith in what you're doing.