V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  w568w  ›  全部回复第 2 页 / 共 22 页
回复总数  428
1  2  3  4  5  6  7  8  9  10 ... 22  
> 在我看来 go 的协程实现是分割原本线程的资源,做到更轻量化和更灵活的资源调度

没什么问题。更具体地说,很重要的一个原因是 userspace thread 完全省略了操作系统调度线程和内核态切换的开销。

有一个类似的例子:为什么 C 语言里用 malloc() 分配内存,而不是直接调操作系统提供的 sbrk()?你让面试官想去吧。

> 他还有第二个问题,既然协程这套理论这么牛逼,那么 c++ 为什么没有呢

没更新过知识的愚昧认知。当今几乎所有现代语言里都有「协程」,只是具体含义和实现不同。我随便抓一把:Python 、JS/TS 、C++、Rust 、C#、Java/Kotlin 、Lua 、Dart…
@w568w 个人设备( NAS 、路由器、个人电脑)正相反,如果要用 Linux ,一定要坚决追最新内核,装 rc 、master 都很正常。

原因很简单,第一是折腾坏了也无所谓,第二是这些设备在 Linux 家族属于边缘支持,驱动更新非常缓慢,经常硬件发布了几个月,Linux 那边才堪堪进主线。这种时候还抱着老内核不升级,纯受罪不讨好(例如 https://www.v2ex.com/t/1119960 )。
> 最新 LTS 已经是 6.1 了

最新 LTS 是 6.12 。这是几年没更新消息了?

---

我们一直是追发行版提供的最新版内核。刚看了一下,现在服务器是 Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-54-generic x86_64)。

至于说从来不更新内核的,也可以理解。服务器都是专用硬件,很多时候升级/换内核会让部分硬件不兼容,自己瞎更新属于纯手贱行为。

我目前接触过的其他机器,更新到最新 LTS 百分百出问题,不是网卡报错、硬盘识别不到,就是 IOMMU 日志开始刷红字。硬件运维叫你用什么版本就用什么版本,不要自作聪明折腾。
13 天前
回复了 lixcc 创建的主题 NAS 飞牛 OS N150 虚拟化核显不工作
内核版本太老了,我升级到 6.13 解决的
13 天前
回复了 guoguobaba 创建的主题 NAS 最近玩 stun 上瘾了
关于动态端口的问题,都用 CF 了,其实不用这么麻烦:本来就有免费的 redirect 服务: https://developers.cloudflare.com/rules/url-forwarding/single-redirects/

我一般是用 307 跳转到指定的动态端口
ChromeOS 软件生态太差了,基本没法用。

Manjaro 自己加了很多佐料,我觉得可以优先试试 https://endeavouros.com/ 。不要用 Wayland ,X11 应该会流畅一些。
歪个楼:言及 AI 必提未来之光,必提取代生物,必提毁灭人类 + 加最近新学到的高大上名词,本质是一种对自己不了解的领域浅尝辄止、思想贫瘠的表现。这种发言只会招笑。

就像有的人说钓鱼只会嚷「空军」,提轿车就是「新能源狗都不开」,提健身就是「打药 / 科技」,你让 Ta 详细说说,多半回应就是 朋友说的 / 网上看的 / 抖音刷到的 / …
15 天前
回复了 wjx0912 创建的主题 TypeScript typescript 达人乱入
因为 string 是指字符串。字符串就是字符串,TypeScript 的类型系统不像 Java 那样,会容忍「 null 或 undefined 也可以是字符串」。let xxx: string 你定义了变量类型但不赋值,所以报错。

补充一下楼上说的,基本所有现代语言的类型系统都或多或少引入了代数类型(和类型又称联合类型,积类型又称元组)、泛型参数、空安全类型这些概念,学习 Typescript 的时候可以顺便学习一下。
@riceball Rust 又成出头鸟了?

看了一下你大概是写过 JS 的,JS 里也是推荐优先使用 const (等价于这里的 let )吧。明明可以用 const 的地方写 let ,ESLint 也要报错的吧。
我对 Post-mortem debugging 了解不多,之前尝试过几次,最大的感受就是 dump 文件太太太大了,多个几秒掐断程序,文件都要上 60GB+ https://i.imgur.com/XKj1Tkx.png
17 天前
回复了 letv 创建的主题 职场话题 面试官说我面对算法题只会套模板
@lixiaolin123 #6

@Livid AI 回复
在 Linux 支持的文件系统中:

- Windows 也原生支持的:NTFS 、FAT32/16/12

- Windows 需要额外装驱动的:btrfs ( Winbtrfs )、ZFS ( OpenZFS )

- Windows 是原生支持,但 U 盘和移动硬盘用不上的:UDF 、CDFS
18 天前
回复了 timwu 创建的主题 分享创造 撸了一个三门问题的实验网站
直觉的解法 B 站特别多,把这个问题延伸到 10000 门就好了:

你任选一个门,主持人打开其他 9998 个门,全是羊,只留下一个门。现在问你换不换成他留下的那个门?

傻子来了也知道要换了。
@LeeReamond 因人而异吧,我是从 Rust 接触后端开发的,所以没有思想包袱。反而是 Django 、Springboot 那些重型框架,我是一点都玩不转,啃几十页的文档纯属折磨自己。这个角度上来说,actix-web 才是「简单」的那一个。

其他语言的后端框架我只用过 Python 的 sanic 和 fastapi ,不好点评。

至于折不折磨,我只能说,一个人会了自然就觉得不折磨,不会自然写什么都觉得折磨… 抱着一个老后端的眼光看新框架,不适应是正常的。
@LeeReamond 是的,全部用 Rust 。我们的技术栈是 SeaORM (数据库访问)+ actix-web ( HTTP 服务器)+ utoipa ( Swagger 文档自动生成)+ Tokio (异步运行时)。非常爽的开发体验。

虽然代码不便公开,但我以前给本科课程写的大作业示例的技术栈是一样,可以看一下 https://github.com/w568w/IntroDB-2023Spring-Backend/
最重要的特性其实就是生态,因为生态好能说明以下几点:

1. 语言流行,人人都愿意学

2. 包管理简单,容易发布自己的包、安装别人的包

3. 支持的平台多,和 C 互交互能力强(因为很多平台都要依赖 C/C++ 库实现)

4. 有人愿意用它完成实际的生产应用需求

目前满足这些的,我知道的也就只有 Python 和 Java 了。后起之秀还有 Rust 。
@liuliuliuliu 我们生产服务器有一些接口是用的 actix-web ,实用性很高,写起来很爽,实际统计出异常的次数比其他语言( Python 、Go )低一个数量级

@aloxaf 第二名的 xitca-web 其实就是 actix-web 前主要维护者 Nikolay 重写的,算是精神继承。他之前对 actix-web 里 unsafe 代码太多大为恼火,和其他成员沟通无效后离开项目,重写了他号称「 100% 安全 Rust 」的 xitca-web 。
19 天前
回复了 wysnxzm 创建的主题 程序员 请问这是在说哪一个?
我是老实人,这应该是说 Go
1  2  3  4  5  6  7  8  9  10 ... 22  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 20:23 · PVG 04:23 · LAX 13:23 · JFK 16:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.