V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PTLin  ›  全部回复第 1 页 / 共 20 页
回复总数  397
1  2  3  4  5  6  7  8  9  10 ... 20  
毕竟那个文章作者冯若航就是靠 PostgreSQL 赚钱的,可以看看他之前的文章,他说出什么话我都感觉不奇怪。
2 天前
回复了 Lcode01 创建的主题 程序员 真不错,写的文章被掘金官方转载了
我都不用点开就知道是前端的文章 :)
一旦套上了“业务开发”,“业务经常变化”的 buff 之后,多丑的代码都可以接受了。
3 天前
回复了 ericcen 创建的主题 Go 编程语言 go 编程方式
3 天前
回复了 dumbbell5kg 创建的主题 程序员 进程有自己的栈吗
3 天前
回复了 dumbbell5kg 创建的主题 程序员 进程有自己的栈吗
@dumbbell5kg 你要想搞明白建议买一本好点的内核书籍,详细学习一下 switch_to ,switch_mm 都代表着什么,为什么需要内核栈,中断和 syscall 是怎样切换到内核栈的,内核栈所在的地址空间和用户地址的关系。
Linux 内核设计与实现这书是教不会人的,讲的太笼统。
@murmur 这是 rustc 的问题,项目的一些信息会存在在二进制中,被吐槽好久了,前几个月还说要改来着。
那就加载到本机然后前缀树匹配不行吗,我试了下 6800h 单线程匹配也就 1 毫秒
f2fs 这种带日志的说实话真彻底挂掉的概率是很小的,随时断电的场景下 100%没问题是不可能的,但就迭代了这么多年,加上个人的经验,99%没问题倒是可以。
3 天前
回复了 dumbbell5kg 创建的主题 程序员 进程有自己的栈吗
@dumbbell5kg 不要进程线程这些被名词所困扰。
对于 Linux 来讲,可以理解为只有调度单位 task_struct ,每一个调度单位都有自己的内核栈,以供系统调用以及中断处理过程使用。
假如某几个调度单位共享了:地址空间,打开的文件,信号处理 handle ,等资源,那这一组调度单位的集合就是一个进程,集合中每一个都是一个线程。例如 pthread_create 的实现就是调用了 clone 设置了些共享资源。
学 c 的时候是指针。
学 python 的时候是 generator 和 async await 。
学 rust 的时候是所有权和生命周期。
学 Haskell 的时候是 reader applicative/monad/,monad transformer 。
4 天前
回复了 zedpass 创建的主题 Go 编程语言 关于 Go 递归性能的疑问
你这一个自顶而下的 dp 算法和一个自底而上的版本比性能,你居然还会对速度有疑问,你这完全就是 dp 没学好。
@bfdh 暴涨内存倒是真的,我在 wsl 下用这个,操作一复杂 wsl 整体直接被 kill
说点奇怪的事吧,之前我学习 Linux kernel ,一开始用 vscode ,也是各种问题,下面转圈加上跳转不动。
后来网上一搜全是推荐使用 clangd+compile_commands.json ,并且内核里也有脚本可以生成 compile_commands.json ,就试了下 clangd ,但是还是有问题,跳转很容易卡死。
最后我用了 nvim ,并且配合 lazyvim ,虽然都是用 clangd ,但是 nvim 真就是一点问题都没有了,推荐你也试一下 nvim 。
那就 rust ,web 那块直接用 loco.rs
14 天前
回复了 AN130 创建的主题 程序员 往 C#方向发展是否可行
@zuosiruan 你才是没调查就乱说,知乎上有人解包分析了,黑神话用的魔改的 USharp ( ue 里写 c#的插件)
以前因为 cargo 构建项目太大也写了一个简单的,后来想改成多线程支持不同项目的,写一写就放弃了,没想到 op 做到了
```rust
fn walk(p: impl AsRef<Path>) -> anyhow::Result<()> {
let save = std::env::current_dir()?;
std::env::set_current_dir(&p)?;
for entry in std::fs::read_dir(".")? {
let entry = entry?;
let path = entry.path();
let file_name = path.file_name().unwrap().to_str().unwrap();
if file_name.contains("Cargo.toml") {
println!("{}", p.as_ref().display());
std::process::Command::new("cargo.exe")
.arg("clean")
.spawn()
.unwrap();
break;
}
if path.is_dir() {
walk(&path)?;
}
}
std::env::set_current_dir(save)?;
Ok(())
}
```
Notion 还巨无霸可还行,我都是那 Notion 当笔记本用的,也不像 obsidian 需要安装各种插件。
1  2  3  4  5  6  7  8  9  10 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1813 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 00:39 · PVG 08:39 · LAX 17:39 · JFK 20:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.