杂谈
文章平均质量分 72
唐家文
喜欢系统架构、开发流程的研究。
展开
-
敏捷开发的真实体现
现在大部分企业都说自己是【敏捷开发】,站在管理者的角度可能敏捷代表加快软件交付的速度,站在开发者的角度可能敏捷代表一堆执行的方法和规则,更有不少人(心里)认为敏捷是逼迫开发者老实点的方法。无论怎样,各个企业都执行着或多或少的敏捷开发中的元素:迭代,每天站会,复盘等等。形式是有的,但是总觉得哪里不对了,就是没达到敏捷应该有的效果。最近看了一个Dave Farley的一个有关敏捷的YouTube视频,当中指出了一个敏捷开发的几个核心内容:开发软件是一个不可重复的工作:一个需求和另一个需求的开发内容、场景和原创 2021-07-19 17:55:20 · 277 阅读 · 0 评论 -
初探网页应用的自动化测试:Cucumber + Selenium
前言测试同学一般在测试网页应用的时候,都会按着既定的用例描述自行操作一遍,来验证输出结果是否符合预期,这相信也是大部分公司招聘测试员的工作范围之一。这种作业模式,在上线频率不高的前提下,还是可以满足要求的。完整执行一次回归测试,覆盖系统所有功能,实际上也是比较耗费时间的。自动化测试固然可以解决测试效率问题,...原创 2021-03-11 14:20:39 · 886 阅读 · 3 评论 -
依赖关系分析是开发者必须经过的一道坎
依赖关系是什么依赖关系是用来描述一个事情发生的必要条件。如:吃饱才有力气干活。那么干活依赖吃饱这个条件。要表达干活依赖吃饱,通常我们会用一个箭头链接吃饱和干活,如下图:#mermaid-svg-l3iF11rPbbnishmX .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-l3iF11rPbbnishmX原创 2021-02-08 18:48:49 · 1219 阅读 · 0 评论 -
没有这些能力能做好程序员吗?
经常想的一个问题,在我审核代码的时候,一般程序员都或多或少的犯了一些毛病,而这些毛病的根本原因是因为缺少了某些能力导致的,下面我做了一个初步的总结。识别识别包含几个概念: discover,identify,naming。首先你需要在混沌中发现有用的东西,明确识别它,并赋予它一个准确的名字,以区分开不同的概念。识别能力是下面其他能力的开始点。归类当你能在混沌中识别到很多不同的东西以后,你需要把东西归类(classify),作初步简化。什么东西应该放在一起,什么东西绝对不能放在一起,就好像垃圾分类。实原创 2020-09-19 10:49:29 · 280 阅读 · 0 评论 -
关务+物流领域的技术发展路线
跨境物流和关务关系密切,而这两个领域对比国内物流的发展相对滞后。本文尝试以技术的角度分析当中原因,并给出个人见解,作为个人在行业中的一个阶段性小总结。原创 2020-08-31 09:34:42 · 897 阅读 · 2 评论 -
时间的基础知识
时间的基础知识前言时间的本质时间的表达方式运行结构存储方式数据库存储结构JDBC调用的影响传递方式总结前言时间处理是所有程序员都必须面对的难题,如果你遇过以下问题:时间显示时总是差八个小时时差存储在数据库的时间看起来没问题,就是程序读出来的时候差了八个小时时差浏览器传过到后台的时间,差了八个小时时差八个小时时差这个事,好像总是跟程序员过不去,而程序员总是糊里糊涂的把时差补上去完事,...原创 2018-09-30 17:38:22 · 655 阅读 · 0 评论 -
消防员的工作量
作为老板,你肯定希望员工的工作能饱和,不会闲着。如果你要招聘的是消防员,你希望他的工作饱和吗?如果按资源利用率的角度,假如有一天你发现这个消防员闲着没事干,你很有可能把他裁掉,等到一天每一个消防员都非常忙的时候,再招几个来应付一下。天天出去救火的消防员,从资源运用的角度是充分利用了这份人力资源,但这并不是社会的目标。有些角色是要维持一定缓冲量的,你闲放着,是不希望需要用上,但万一有一天...原创 2018-06-19 16:21:26 · 427 阅读 · 0 评论 -
机会
一般做系统开发,很多时候都是在某些基础之上搭建新的功能,或者维护现有的功能。从零开始做起的项目是很少很少遇到的。在有一定基础上建设系统,需要的技能是快速理解现有代码,框架和结构,并按需求加以改造。按这种思维做出来的代码通常不会做大手术(架构调整),因为任何大动作都影响旧的功能导致运行问题。如果幸运的,有测试代码覆盖了旧的功能,需要重构的时候比较安心,如果不幸没有任何测试代码,那结果就是不动为妙...原创 2018-04-09 23:57:57 · 165 阅读 · 0 评论 -
无中生有
很多伙伴做了多年开发,都不太注重【从无到有】这个过程,这里我想展开一下。从无到有,是一个创造过程,基本上整个编程工作都是无中生有的,在你敲第一个字的代码开始,代表了整个创造过程的开始,不过且慢。用什么程序敲你的第一个字?在笔记本Notepad中?当然可以,但一般不会这样。一般需要一个IDE帮助我们开发的,我们第一行代码通常在一个IDE中敲的。所以注明用什么IDE什么版本什么插件等,就是从无...原创 2018-04-02 14:53:34 · 442 阅读 · 0 评论 -
金融才俊
作为面试官,最近面试了一个来自金融行业的人,由于我们公司小,对于一个金融背景的人看得上我们公司,我是绝对质疑的,这是我的偏见。不过既然人事部安排了,尽管见一面吧。第一感觉,整齐端正,头发整理甚是讲究,感觉果然是个金融才俊。初步了解的过程中,她说了较多的行业业务的处理流程,我尝试尽量了解,自认理解能力挺高的自己,都有点似懂非懂了,只有先认输了:「你说的东西,作为外行人,比较难理解,我们换个话题吧...原创 2018-04-01 13:39:17 · 614 阅读 · 0 评论 -
技术行业中的师徒制
很多行业都是师徒制的:做学问的: 教授与其研究生搞艺术的: 二胡大师与其学生形而上的: 禅修大师与其徒弟手把手的: 厨师与其徒弟以上的例子有几个共通点:较高的入行门槛需要一定的意志和追求需要一定时间的经验累积和心得开创性和不确定性较为强烈个人风格和思维方式教育也讲求效率,一班一百多号人,多么有效率。对于普及教育,这种模式是必须的。但是我们甚少看到一个教授公开谈...原创 2018-03-31 13:47:16 · 650 阅读 · 1 评论 -
产品和开发对接
有朋友说不会跟开发打交道,我尝试在这里描述一下开发需要什么东西。但开始之前,我想先说明一下开发是什么。现在的开发,绝大部分都是数据处理。举个例子,假设没有任何系统帮助,只有Excel,如果要记录某客户下了一个单,我们会期望在Excel表格中,用一行数据来记录这个订单。从单纯记录订单的角度,这样已经足够好了。如果我们还想进一步记录订单状态(如发货了没有),按目前表格的结构上看,可能需要发生一些变...原创 2018-03-13 13:16:08 · 2865 阅读 · 0 评论 -
项目中的大改动
关于项目改动的一些分层分析:包括界面、逻辑、模型、框架上的改动原创 2017-06-09 17:26:38 · 372 阅读 · 0 评论 -
项目中的一些轶事
项目落地原创 2016-04-03 10:57:33 · 647 阅读 · 0 评论 -
职业规划
以前一位同事正在疑惑有关他未来的职业发展,以下我给他的回复:说实话,要给出适当的意见,需要对你的性格有一定了解才行。不过有几点意见是通用的:第一:如果你的兴趣能为你赚取你的生活所需,这个是最好的。有人跑去开自行车店,因为自己喜欢自行车;有人喜欢吃,跑出做大厨。而我喜欢偷懒,所以尝试用计算机帮我做一些繁琐的工作,和帮忙其他人解决他们繁琐的问题,同时赚取生活所需。从兴趣出发来选择职原创 2014-09-25 11:05:40 · 1143 阅读 · 1 评论 -
系统安全领域的人员是否真的供不应求?
想非正式地调查一下,大家在企业里有没有这样的需求没有被满足的?原创 2014-09-26 18:12:37 · 930 阅读 · 0 评论 -
一代的成长
刚和我的一位就伙伴交流了原创 2014-08-15 17:33:39 · 849 阅读 · 2 评论 -
企业领导层对技术该有的态度
技术对好多老板级的人说,就如买个手机一样,看的是付出的成本和得到的利益。无可厚非,老板付出金钱购买服务,技术人员提供专业服务,这种关系本质上说是平等的,你可以买我的服务,我也可以不卖给你。不过双方一旦发生关系后,这种平等性就会被打破。举个例子:你买了一套金蝶,你的数据都在里面跑了,要逆转的话,恐怕要付出比较多的成本。又例如:你找了一个朋友帮你做了一个系统,慢慢地这位朋友开始没有时间帮你调整和更原创 2014-09-06 15:51:12 · 1151 阅读 · 1 评论