V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 100 页 / 共 148 页
回复总数  2943
1 ... 96  97  98  99  100  101  102  103  104  105 ... 148  
2020-05-22 20:03:26 +08:00
回复了 YahuiAn 创建的主题 问与答 各路大佬们!单 IP, IP 段, CIDR 之间如果做集合运算。
还有一种方式是直接把 ip 地址算成线性空间,每个区间有左右界,合并的时候先按左界排序,然后判断
下一个区间的左界有没有落在前一个区间中,如果在,那么区间右界设成下一个区间右界,如果否,那么第一个区间已处理完毕,可以处理 23 区间
2020-05-22 19:57:53 +08:00
回复了 YahuiAn 创建的主题 问与答 各路大佬们!单 IP, IP 段, CIDR 之间如果做集合运算。
首先不考虑域名和 url

我当时的实现大概这样

一个 - 指定的范围可以解析成若干个 cidr 或 ip

那现在只需要考虑 cidr 一种情况( ip 可以看做 /32 )
用二叉 trie 来存这些 cidr,在深度为 N 的节点有一个 cidr 对象表示这个 cidr 是 /N

如果某个节点左右子树都存在则递归向上合并节点

插入过程中途遇到某个节点说明这节点已经包含了待插入地址,跳过

然后就没有去重这一说了,匹配就是走这个 trie 跟插入流程几乎一样的

当时没有去重合并完还要导出合并结果的需求
2020-05-22 12:32:36 +08:00
回复了 li24361 创建的主题 程序员 话说, it 行业你们见过周围同事退休吗?
退休的没见过,财务自由早就可以退休了的见过不少
2020-05-20 14:38:11 +08:00
回复了 312ybj 创建的主题 问与答 同事离职了,留下了屎一样的代码给我改
hhhh 之前有个同事比你这个聪明一点:

Button **btn = new ...
for(...)btn[...]= new ...

btn[0]->setText();
btn[0]->move(x,y)
...


btn[1]->...


问他为啥写屎他说这才是灵活的好代码,这样界面布局改了改坐标数字就行了,而且能随时加按钮

“这代码你看得出哪个是哪个吗”
“看 text 啊,你没用 ide 吗,看一下引用就知道是哪个了啊”

卧槽好像很有道理!
我昨天刚在笑话有人把监听当真,今天就又看到一个讨论监听的帖子
现在我信了,lz 监听我
2020-05-12 21:30:59 +08:00
回复了 alexkhh 创建的主题 问与答 有没有这样的数字生成器?
random.shuffle

连 C++标准库都有类似的函数
从官方回复和其它网游经验来推测

你是不是买到了工作室出的钱或者装备什么的
2020-05-08 20:25:24 +08:00
回复了 zycpp 创建的主题 C++ 封装接口好枯燥好无聊
我也面对过类似的重复工作。。 几十万行源码,几千个字符串,要从静态的改成可动态返回的


然后我
写了一个扫描特定格式字符串的脚本,把所有要替换的静态文本都收集了起来

写了一个扫描翻译文件(预先翻译好的文本对照)的脚本,把上一个脚本扫出来的东西转化成结构化的对{原文:翻译}格式,然后有些漏掉的手动修复

写了一段自动机描述程序(将被自动机生成器编译成 c 代码),这段程序能确保以 On 的效率搜索到原文对应的翻译结构

写了一堆宏和 wrapper 确保上面这个函数的调用能正确嵌入到原来字符串在的位置

还有一段脚本把原文件里的字符串换成上面的宏





最后这一大坨代码全部合在了一起变成了一个 translate.py 确保没有第二个人能看得懂怎么做到的 XD

虽然还是修了半天原文件里的字符串以让它变成能被脚本识别的特殊格式

但并不很枯燥无聊不是吗
2020-05-06 10:44:45 +08:00
回复了 JustSong 创建的主题 分享创造 用 C++ 写了个 JavaScript 解释器
emmmm 本来想 star 的,看了眼代码又关掉了

暴力匹配关键字 lexer
强行手写并不知道会不会符合语法定义的 parser

这个程度的 project 私以为随便做点现成语言的子集或者玩具语言就够了,意义不是很大
我觉得搞懂 bison 怎么写都比这个有成就感。。



就像 yin 神说的,写出来一个 parser 并不能完成什么里程碑

撸一撸自动机生成器或者接一下 llvm 实现一个编译型语言挑战大得多
jira.

不要忘了项目管理工具是为项目服务的

如果你们项目并不符合敏捷迭代的软件生命周期模型,那显然用不起来。我指的就那种做外包的、做传统软件的、一个项目大包解决方案先写几百页的瀑布流开发,那咋敏捷?连迭代都不需要,所有任务一个大表一块一块往小切,切不动花钱买,计划到头项目结束,完结了。这谁跟你看看板开站会哦

敏捷模型的典型场景是:
1. 你们小组经常需要交叉帮忙,没有固定 component 以及对应负责人
2. 需求池永远在增加,从不减少
3. 定期滚动发布,甚至每修一个 bug 就会发布一次
2020-04-26 09:58:13 +08:00
回复了 regicide 创建的主题 程序员 [有偿]求指导一下如何给视频加上盲水印?
盲水印不都得在频域上做文章?。。但媒体分发用的视频编码都是有损的,都会破坏原有频域特征,盲水印咋搞的……这就跟要在 jpg 上打盲水印还要求重新压缩后信息不丢失一样难。。


再而且视频编码帧间压缩占绝大比例,跟图片很不一样,用图片逐帧合成估很可能没用
2020-04-23 19:50:12 +08:00
回复了 Chase2E 创建的主题 问与答 为什么国内技术面试的范围和星辰大海一般广泛
#3 说的很对,他们只想要一颗螺丝钉

“他们” 指的是国外的公司。


国内特别是小型团队招人,一定是想找个人解决某个方向上的问题。比如缺前端,公司前端用的 vue,那面试肯定最好能找到写过 vue 写得很熟练的人。这个时候考算法题有啥用?你给我讲讲你当初的项目都做了哪些东西我不就能判断你编码能力如何了吗,如果你吹得太虚那再做几道题不迟

框架的实现原理真真真就不是经验问题。因为是个人都知道写业务代码永远不需要搞清楚框架原理。只有特意去研究才能搞得清楚,而你去研究了,第一说明你读大型复杂代码的能力很强,第二你很可能遇到过框架不合理的地方,你在某些方面能力可以超过框架作者。

其实我感觉国内大多数大厂里的码农知识储备都是完全超出胜任他自己岗位的程度的。所以他要招人自然也会期望一个能超出仅仅够用标准的人,导致大家都面试造火箭入职拧螺丝。招你进去的那个人虽然也在拧螺丝但他也会造火箭,你猜他想不想让你帮他造火箭?
2020-04-23 19:33:52 +08:00
回复了 toboy 创建的主题 问与答 中年男人的心态,你对了几条?? zz
革这玩秋秋空间的害是你们这一群
2020-04-23 19:33:08 +08:00
回复了 toboy 创建的主题 问与答 中年男人的心态,你对了几条?? zz
“长大了的标志,你对了几条?太准了”
2020-04-17 10:31:23 +08:00
回复了 linxy19957 创建的主题 Windows Win 上的程序有可能不使用 msvcrt 吗?
完全可以,google 搜一搜就知道

至于为啥还要 C 库,最简单的回答:因为你要用 malloc
2020-04-13 13:09:15 +08:00
回复了 x97bgt 创建的主题 问与答 和人刻意保持疏离感是不是一种人格缺陷
> 好失落啊,这是不是一种人格缺陷


2020-03-28 15:38:26 +08:00
回复了 rizon 创建的主题 问与答 新手想学钢琴 手卷钢琴可以吗
不可以。
那还不如平板音游
2020-03-28 14:51:53 +08:00
回复了 22yune 创建的主题 程序员 计算机中 为何可以时间换空间或空间换时间?
@22yune

难到你认为计算的时间量是 0 ?
或者你没意识到所有方案的总“功耗”其实是一样的?


预计算替换掉耗时只是把时间消耗提到关注的时间窗口外而已
1 ... 96  97  98  99  100  101  102  103  104  105 ... 148  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 02:26 · PVG 10:26 · LAX 18:26 · JFK 21:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.