V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 46 页 / 共 139 页
回复总数  2773
1 ... 42  43  44  45  46  47  48  49  50  51 ... 139  
2022-04-10 02:28:22 +08:00
回复了 lsk569937453 创建的主题 程序员 如何快速向文件中写入 1 亿个 ip?
@levelworm 好多都是学校里的了,因为学校里你有时间,可以很纯粹地为了学习而学习。你可以 TCP/IP 详解一二三卷硬看,虽然最后可能没记住多少,但看过了哪些目录一定是有印象的,这跟从目的出发一点一点零碎地搜就完全不一样了。

在学校你也有机会看一整本自制 OS 教程,一整本 Linux 教程,一整本 windows 核心编程,你如果说「系统地」怎么学的,那就是书籍目录,没有比这个更系统的了。

有了这些印象作为框架,即便是搜索新东西也会更有头绪一些。比方说 OP 这个例子,假设他其实想解决的问题其实是「要对大量 IP 进行匹配」,你就能想到协议栈,想到 win 和 nix 的内核,就会联想能不能手写逻辑简化数据结构的处理,以及联想到能不能别用内核的协议栈——复制数据和切换内核态都很耗时间。然后你就能用 high performance 「 USER SPACE 」 tcp 「 STACK 」搜到 DPDK (虽然我是从前公司项目知道它的),而搜 high performance tcp 就很难找到这种方案



我想大多数人都不缺书单,缺的是时间和精力真的去看一遍…… 工作之后自己都有点开始对「为了学习而学习」不屑一顾了
几乎所有的工具型服务都可以 serverless

我个人很期望的一点是,能有个在线版的文档搜索,取代掉 dash 。这东西最大的缺点是不跨平台而且要手动管理文档集,要能做个 IDE 插件写什么项目就查什么就好了

然后就是些计算密集型的东西,视频压制什么的。用 PC 压片真的蠢,高参数压片一压就一晚上,母片数据也就几个 G (粗压一遍),再不济一两小时也能传完了,让我的 PC cpu 满载几小时不能响应,显然是不经济的

专家们在说「是未来」的时候,我猜他们的期望是以后别再用本地机子跑机器学习了,随时租一个短期高性能炼丹炉肯定要香很多
2022-04-10 00:57:43 +08:00
回复了 echojoy 创建的主题 问与答 大家的主语言都是什么啊,为什么选择他(她)
最近看到不少 golang 的抱怨帖

但我想给 golang 正一下名。
众所周知没有任何语言或套件能解决一切问题。如果语言能解决一部分问题,那么在这部分问题上就是个好选择。

golang 解决了什么问题:

1. 没有菜逼能把程序性能写崩,也不会有 pro 写出你要看很久才能弄清楚妙处在哪的魔法,逻辑很直观
2. bootstrap 一个项目足够简单,有现代的好用的,yet keep it simple 的包管理
3. 对接 ABI 没有什么痛苦,一切可以在 C interface 上完成


这意味着 golang 保持着极低维护成本的前提下还能提供不错的开发效率。

在过去, 能达到 1 效果的语言都因为先天不足非常难以管理构建环境和依赖,看看 C 就知道了。上手一个 5w 行不到的 C 项目,可能都得先研究半个月构建脚本在写什么,甚至怎么往项目里加一个新文件都要试错很久,单元测试也是噩梦,写一个「自动收集某目录下的文件并生成单测 executable 」的「构建脚本」就得花掉不少时间,更别说试图引入一个新依赖包的时候 —— 我 tm 不如想办法复制粘贴一小部分要用的代码得了。


而这一切在 golang 上只需要 go get 和 go test


可以说 golang 的项目我是有自信无论最后写成了一坨什么样的屎,后面接手的人都是能吃得进去的()



golang 粉在吹什么大道至简是吹歪了。简陋得承认,error code 就是冗长。但比起 c++ 能在异常处理里因为捕获的异常对象指针莫名其妙空了而 crash 的这种「异常」(这是我遇到的 ANTLR 生成的 c++代码的一个真实 bug )—— return error code 你一目了然它不可能搞崩 GC 。这种「从简」还相对有道理一点,但表达不出 golang 的优点。




一句话来说,一个语法跟 C 一样简单,且无缝对接 C Interface 和 os native 的,能编译成 standalone 的性能不错的静态类型语言,还能像 nodejs 一样随意下载任何依赖包,着足够现代的生态支持,我认为足以成为任何想要开发面向服务器应用的小开发团队的第一选择。

找不到会写代码的人=>不需要,随便写写不崩
简陋语法写起来很慢=>不用造轮子,你能很快地搜索并一键引入全球的轮子

小公司福音。
2022-04-09 16:17:13 +08:00
回复了 lsk569937453 创建的主题 程序员 如何快速向文件中写入 1 亿个 ip?
不知道 OP 能不能意识到这问题背后有多少坑……

1. 多线程读写同一个 io 很蠢且不会起作用。因为文件系统 api 的作用仅仅是给内核发个通知,让内核去 copy 数据。多线程和单线程调用同一个 file descriptor 上的读写不会有什么区别
2. 1 亿个 ip 不应该放在一个普通文件里,这么大规模的数据为什么不用数据库管理?
3. ipv4 原本仅仅只是一个 4 字节的整数,ipv6 也只有 16 字节,不知道 OP 准备存的是什么,不会是字符串吧
4. 这种规律排布的数据压缩比本来可以非常大的,考虑压缩了吗



最快的方法是开一个 file map (mmap) ,然后在 mmap 给你提供的「内存」里存数据。你往里写的时候写的是内存,然后 OS 内核会自动帮你把内存页交换到文件系统上。

但这个映射也还是可以继续优化的,因为默认内存页很小且物理内存不连续。如果你想,用上巨型页和手撸的 dma 驱动可以更快
@gam2046 golang 没有 exception ,没有「异常」。

它只有「错误码」

而且错误码是个字符串 hhhhh
2022-04-08 16:36:29 +08:00
回复了 TWorldIsNButThis 创建的主题 问与答 一个编程语言的语法哪些是真语法哪些是语法糖?
循环是 goto 的语法糖( doge
2022-04-08 14:11:57 +08:00
回复了 rophie123 创建的主题 问与答 网约车手机推荐
…… 啊?

干这行的老师傅哪个会用好手机啊,不都是 2k 以内的便宜东西或者旧手机


红米 Note 不够用是怎么的?
@cyannnna 业余爱好不能带来收入。




否则我现在还写代码干啥呢?
2022-04-07 17:15:15 +08:00
回复了 thinkershare 创建的主题 机器学习 使用机器学习数鱼苗的可行性?
@thinkershare 哦那我想象的场景有偏差,我以为是育苗的过程大范围估算种群的数量。

你想找的是投放时精确计量一小部分,总量可数的方案

那应该还是比较可行的,分散度和背景都还比较可控
2022-04-07 17:09:58 +08:00
回复了 thinkershare 创建的主题 机器学习 使用机器学习数鱼苗的可行性?
为啥我直接跳过了「能不能机器学习」这个过程

—— 因为不知道大家见没见过鱼苗,都只有拇指那么大点,一池子就是一坨黑糊糊的玩意,然后还有水流光照环境影响,根本就不是拍张照片能数清的,视频游动的就更不显示了,除非你说的是那种一缸子只有三五只的红色锦鲤,对比度大数量少。那还有希望用视觉算法「玩一下」


鱼苗?

……
2022-04-07 17:05:43 +08:00
回复了 thinkershare 创建的主题 机器学习 使用机器学习数鱼苗的可行性?


高中没听说过标记重捕法?


投放 100 只假鱼,让其均匀分散,然后重新捕捞采样计数假鱼和真鱼的数量,假设捞回来 2 假 30 真,那么鱼池中约有 30 *(100/2) 条鱼



这种问题为啥要机器学习
1 ... 42  43  44  45  46  47  48  49  50  51 ... 139  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   865 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 23:06 · PVG 07:06 · LAX 16:06 · JFK 19:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.