V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  netty  ›  全部回复第 7 页 / 共 8 页
回复总数  152
1  2  3  4  5  6  7  8  
2020-02-16 12:26:24 +08:00
回复了 calmzhu 创建的主题 程序员 想讨论一下工程能力,比如写大型项目与脚本的思路差别。
抛点想法:

1.点和面
1 )一个需求
一个需求只是一个点,解决某个具体的问题。
2 )项目
一个项目是面,包括了许多需求点,要解决非常多的问题,而且问题之间可能还有关联性。

2.需求分析
1 )一个需求
通常来说,需求已经是明确的,或者说是明显的。
比如说,监控某个进程是否存在。这个需求很明确,当然实现方式有许多种。
2 )一个项目
对于一个大项目来说,通常刚开始需求是相对模糊的,只有一个比较泛的目标。
比如说,要做一个自动化发布系统,能让用户自助配置,自助发布,支持回滚。
这个时候,千万别急着动手。
你以为很简单,写几个脚本,安装到系统变成几个命令,支持动态项目路径、启动关闭等参数。结果被需求方喷都 0202 年了你们这么 low。。。
你以为很复杂,了解了 BAT 的发布系统功能非常强大,自动化强度非常高,我也搞一个。结果一个月过去了,设计才搞定。结果被需求方喷一个月过去了,连个界面都没有。。。

需求方具体要的是什么?要多沟通,需求文档化,流程化。经过多次沟通迭代,最终形成一致的需求文档。

3.设计、实现
1 )一个需求
基本不需求考虑设计的问题,简单的梳理一下思路就可以 coding 了。
2 )项目
需要考虑系统的整体架构,包含哪些功能模板,涉及哪些系统,系统的部署方案等。
需要考虑开发与维护成本,涉及到技术选型,自己开发还是使用第三方,后续改造维护是否方便等。
需要考虑用户体验,傻瓜一点用户才肯用才会用。
2020-02-10 11:07:23 +08:00
回复了 lynn0977 创建的主题 Python 怎么阅读学习源代码
@qiumaoyuan
最后还要尝试去对关键逻辑自己实现一下
2020-02-10 11:06:25 +08:00
回复了 lynn0977 创建的主题 Python 怎么阅读学习源代码
@secondwtq
王老师提到的,洞察到最关键的东西,最近刚好写了一篇文章,我觉得有点类似,分享一下:
《掌握这些,你也能徒手实现 ArrayList、Vector 和 Stack 》
https://mp.weixin.qq.com/s/zhDLb3vpbb70abXyFfucww

不想看文章的,就看里面这段总结吧:
写到这里,我们来总结一下掌握本篇内容的核心步骤:
1.学会数组的基本操作,重点是插入、删除和扩容;
2.基于数组的基本操作,完善并实现 ArrayList ;
3.在 ArrayList 的基础之上,对所有方法加上同步原语 synchronized,实现 Vector ;
4.继承 Vector,利用的几个基本方法,实现 Stack 的入栈出栈操作。
通过以上几个步骤,能够更加高效的学习,更好的理解 ArrayList、Vector 和 Stack 这几个类的实现原理。
2020-02-10 10:57:38 +08:00
回复了 lynn0977 创建的主题 Python 怎么阅读学习源代码
1.了解一下整体架构,相应的组成部分,以及各模板的大概作用。
2.明确你阅读源码是为了目的?
不要回答说就是为了学习,学习啥?太泛通常落实不了。容易失败,没有成就感,还受打击。

由点到面去学习,每次只选一个点。这样,目标明确了,难度降低了,最后看懂了还能获得成就感,进入下一关。
比如 1 )如何进行初始化 2 )如何监听端口 3 )如何实现单例 4 )如何动态扩容 5 )如何实现哈希
3.写个 demo,调用一下 API,感受一下
4.单步调试
5.总结执行流程和关键代码
2020-02-10 10:41:37 +08:00
回复了 fykang 创建的主题 程序员 企业微信远程开会,大家有出现串频道的情况吗?
今天用了腾讯会议 APP,还可以
2020-02-10 10:41:10 +08:00
回复了 fykang 创建的主题 程序员 企业微信远程开会,大家有出现串频道的情况吗?
不说话人开静音,说的人打开
2020-02-01 22:21:29 +08:00
回复了 pythonee 创建的主题 程序员 2020 年大家计划好点什么技能了吗
打好地基( OS、协议、算法),学好英语,读些课外书
2020-01-30 21:18:13 +08:00
回复了 netty 创建的主题 Java 为什么 Java String 哈希乘数为 31?
@chinvo 不好意思,向大家道歉,回去自我检讨。之前因为发表不了也没有发,现在可以发了,想到有几篇自己还不错的文章就发了一下。
2020-01-30 21:11:59 +08:00
回复了 netty 创建的主题 Java 为什么 Java String 哈希乘数为 31?
@mightofcode
首先要注意的是,这个哈希算法针对的是 "字符串" 哈希码的计算。
其次,偶数的冲突率高针对的是这段算法,对于其他算法不一定适用:
for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
目前据我了解到的,都是通过测试数据来证明。要解释为什么,就要去研究上面这段代码。
如果有同学更了解的,也可以解释一下^_^
2020-01-30 19:20:50 +08:00
回复了 netty 创建的主题 Java 为什么 Java String 哈希乘数为 31?
@mightofcode 哈希的效率,简单的理解取决于冲突:存储的冲突率,以及解决冲突的效率。偶数的哈希冲突率较高,解决冲突耗时,查找数据也耗时,O(1)最好,冲突越高越往 O(n)方向靠
2020-01-30 18:55:11 +08:00
回复了 netty 创建的主题 Java 为什么 Java String 哈希乘数为 31?
@wysnylc 怎么能这么说呢,文章有数据说明,不是乱来的
2020-01-30 18:54:15 +08:00
回复了 netty 创建的主题 Java 为什么 Java String 哈希乘数为 31?
@mejee 另一个词叫:分享。标题本来就是这个啊,觉得有点价值的才分享。
2020-01-30 13:49:45 +08:00
回复了 w2bgopher 创建的主题 程序员 初学编程对递归思想很难理解,求前辈指导一下
然后多实践,徒手写,从最简单的阶乘和斐波那契数列开始
2020-01-30 13:46:55 +08:00
回复了 w2bgopher 创建的主题 程序员 初学编程对递归思想很难理解,求前辈指导一下
极客时间的《数据结构与算法讲得不错》:
1.编写递归代码的关键是,只要遇到递归,我们就把它抽象成一个递推公式,不用想一层层的调用关系,不要试图用人脑去分解递归的每个步骤。
2.写递归代码的关键就是找到如何将大问题分解为小问题的规律,并且基于此写出递推公式,然后再推敲终止条件,最后将递推公式和终止条件翻译成代码。

文档:10_递归:如何用三行代码找到“最终推荐人”? 链接: http://note.youdao.com/noteshare?id=d026fcabe93136f02c95efc449c6624f
2020-01-30 13:13:51 +08:00
回复了 netty 创建的主题 阅读 控制你的命运,否则就会被别人控制
@BingoXuan 1.我倒觉得,书名只能有一个,这样起能更能警醒他人。语义的区分,可以从书的内容上去讲清楚即可。2.体制化,我觉得更多的是人对某种事物习惯之后,不经思考,觉得理所当然了。这里可能有受挫败的影响,也可能是你所在的大环境大众的思维就是如此,你不自觉的打小就受影响了。3.像领导一样思考,而且你可能比领导做得更好。成为团队的精英,成为专业的精英,这些本不会引起敌对、影响团体关系,反而会更受大家认可。我们的思想常常和父母冲突,但往往我们的是更加先进的。父母几十年的经历决定了他们很难全然接受,但我们可以有自己的更前沿的思想,同时能理解父母并和他们友好相处
@wangxiaoaer 了解多点知识有益无害,与民科无关
2020-01-30 11:53:41 +08:00
回复了 netty 创建的主题 推广 一起搞懂 Linux 平均负载
@snuglove 我也在尝试着更好的去理解与表达,它本身就很复杂
@illl 关键是看整体内容的表达有无明显错误,不要误导人
2020-01-30 11:51:20 +08:00
回复了 netty 创建的主题 阅读 控制你的命运,否则就会被别人控制
@charlie21 年轻的时候我相信不可能,现在我更相信很多事儿可以改变,首先要改变的是自己的思维,思考问题的方式。贫穷真会限制一个人的想象力,每天只想着穷的问题
2020-01-30 11:48:59 +08:00
回复了 netty 创建的主题 阅读 控制你的命运,否则就会被别人控制
@sugarsalt 控制自己能掌控的,努力提升自己,尽量去大城市,大环境好,机会多,好公司多,优秀的人才都在那儿。财富自由不那么容易,承认自己是平凡人,有些事儿改变不了,但你有选择如何思考如何做事的自由,比别人比平凡的人好一点还是有可能的。
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   848 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 76ms · UTC 19:54 · PVG 03:54 · LAX 12:54 · JFK 15:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.