V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  henix  ›  全部回复第 2 页 / 共 7 页
回复总数  121
1  2  3  4  5  6  7  
151 天前
回复了 cnfans 创建的主题 Python 关于 Python 学习问题
试试 https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/mitweb/ ?
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
152 天前
回复了 Yux0 创建的主题 程序员 2025 年了,应该如何选择 web 开发路线?
前端最简单的:在电脑里创建一个 html 文件,然后用浏览器打开,你就能在里面写各种东西,先把 html 、css 、js 的基础学好,再学 vue 、react 之类的框架

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

框架还是看你用什么后端语言,就选最主流的。前端后交互核心是 http 协议,理解协议了不管你用什么框架都差不多
推荐一本:Neal Ford 《卓有成效的程序员》
154 天前
回复了 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 ),很多东西都是为了避免重复的,比如多个地方出现的重复的逻辑,就想办法把它们抽象成函数或类。
那为什么要避免重复呢,这是为了方便修改,未来可能出现新的需求,要改的话只改一处地方就好了。
162 天前
回复了 SOSdanOffical 创建的主题 Python 使用 pandas 读取 csv 遇到了一些问题,求教
假设最后一列的双引号一定是成对出现的,可以自己写个 csv 解析,特殊处理最后一列
nginx? 应该用编程语言的库或框架吧,比如 java 的 netty 或 Python 的 twisted
推荐用 zeromq 的 request-reply 模式,把底层的 TCP 封装了
这不是炒股技术问题,而是人品问题了
有理由怀疑你爸是 NPD ,即自恋型人格,可以网上搜一下这类人的特点
你自己立规矩吧,比如之前没还的钱,之后就不借了
看看相关法律法规,收集证据,如果你父母离婚,你爸应该属于过错方,犯了错就该让他自己负责
181 天前
回复了 luck2023 创建的主题 生活 30 多了,负债百来万,还有机会翻身嘛?
看看戒社,有跟你差不多情况的人
190 天前
回复了 yjsp1919 创建的主题 职场话题 非 CS 专业想当程序员,应该如何开始?
先想清楚这几个问题:

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

想让简历好看,github 上创建点自己做的项目,且能讲清楚你做的过程中有哪些思考,解决了哪些问题。刷题也算是个加分项
看看 https://ex.noerr.eu.org/t/1063354 C++ 连一个简单的接口都要考虑内存释放问题,Java 就没这么多事
212 天前
回复了 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);
| ^~~~
···

没看到什么结构体大小啊
228 天前
回复了 henix 创建的主题 程序员 有哪些时间戳比较准确的语音转字幕服务?
@Nosub 确实,我今天又看了下,有精确到词的 api 参数,之前只是在控制台网页上试了一下
249 天前
回复了 xhwdy26 创建的主题 程序员 从微服务走向单体化
我理解单体应用 vs 微服务只是部署运维的差别,跟 git 和代码怎么管理没关系
至于开发环境,可能是每个人自己电脑上 wsl2 或虚拟机?
个人最喜欢 https://github.com/hyperhype/hyperscript 纯粹用 js 生成 html
我用了 Go 的错误处理后有个感受:调用栈真不是必需的
说起调用栈我就想起网传的这张图: https://www.cnblogs.com/jhj117/p/5627224.html
那么多调用栈全是中间层的,对排查错误也没啥帮助

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

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

我个人认为这些框架的错误处理设计得不好,我开发自己的 web 项目的时候不用任何框架,只用 go 标准库
我设计的 controller 会返回:(结果, err1, err2)
其中 err1 代表用户输入错误,比如参数检查错误,要给用户返回 4xx
err2 代表服务器内部错误,要给用户返回 5xx
用这种方法,不需要 errors.Is 判断类型,只需要判断 err2 != nil 即可
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1231 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 17:32 · PVG 01:32 · LAX 10:32 · JFK 13:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.