已有 404 人访问
许祥 ID.17128
阅读(368)
博客(0)
许祥的阅读

学术研究中的 DevOps
我想分享我在一个传染病流行病学团队担任“DevOps专家”的18个月中学到和完成的一些事情。在这份工作之前,我有四年的网站开发经历,日常工作对我来说已经变得非常常规。Web开发是一个成熟的领域,大部分难题都已解决。为了寻找新的东西,我于2020年初在当地一所大学开始了一份新工作。我的同事在编写了大约20k行Python代码后,发现维持一个中等规模的代码库是一件痛苦的事情,所以产生了我现在的这个职位
249°/ 2022-02-22/2494 人阅读 / 5 人点赞 / 0 条评论

一次脚本语言的性能比拼(下)--C++, C, Unix Shell
简介:文章描述了一个统计不同单词出现次数的常见面试题目,并使用了不同的语言实现并且比较它们之间的性能。对于每一种语言,均包含实现的简单版本与优化版本。上篇:一次脚本语言的性能比拼(上)—Python,GoC++我已经很久没有使用C++去编程了:显然C++14,17,以及20增加了许多新的特性,而且更简洁,但是错误提示仍然还是一团糟。C++实现如下:simple.cppintmain(){std::
273°/ 2022-02-21/2734 人阅读 / 0 人点赞 / 0 条评论

一次脚本语言的性能比拼(上)--Python, Go
简介:文章描述了一个统计不同单词出现次数的常见面试题目,并使用了不同的语言实现并且比较它们之间的性能。对于每一种语言,均包含实现的简单版本与优化版本。在担任面试官的许多年中,我最喜欢提问的问题之一就是:统计标准输入不同单词的数量,并按照单词出现的频次排序后输出单词与统计频次。例如,有以下输入:Thefoothefoothedefenestrationthe程序执行后应输出以下结果:the4foo2
249°/ 2022-02-21/2494 人阅读 / 0 人点赞 / 0 条评论

不再要求高级工程师有特定的技术经验
在我们的行业中我曾多次进行过这样一种对话:你:“我想聘请一名高级工程师。有推荐的人吗?”我:“哦那正巧,我正好认识一些!$A怎么样?”你:“哎不行啊。我们需要一个在$TECHNOLOGY技术上至少有$X年经验的人。”我:“为什么?”你:“他们需要能快速融入开发节奏。”我:☹️这里有许多假设可能适用也可能不适用于您的组织:使用$TECHNOLOGY技术$X年,意味着新员工将能够使用$TECHNOLO
236°/ 2022-02-14/2366 人阅读 / 0 人点赞 / 0 条评论

一个出自新手程序员设计的糟糕库表
在第一次解决事情的时候,我们都有可能会犯许多错误。这篇文章介绍了某人忘记在某些数据库上配置索引并最终导致全表扫描(或类似)的事情。其导致的问题并不仅仅是速度慢,而且还花费了相当多额外的金钱,因为某些供应商是按查询行或类似的方式收费。很多文章也在讨论这种情况,这里我想描述一下我遇到的一个非常糟糕的数据库模式,然后告诉你它对系统性能的影响。该系统旨在延缓发送或阻止发送当时(2002年底)大量传播的“开
235°/ 2022-02-14/2358 人阅读 / 0 人点赞 / 0 条评论

什么时候该减少质量投入?
不需要高质量虽然有点危言耸听,但其实大部分产品并不需要很高的质量,只需要够用的质量。而不同产品“够用的”标准是不同的,这取决于软件的质量需求。软件的质量需求是软件需求的一部分,根据《系统与软件质量模型GB/T25000.10》(阅读原文中的文字链接可下载这个标准),软件产品质量需求的完整描述,包括内部质量的评估准则、外部质量的评估准则、使用质量的评估准则,以满足开发者、维护者、需求方以及最终用户的
231°/ 2022-02-14/2319 人阅读 / 2 人点赞 / 0 条评论

什么是软件质量管理的底层逻辑?
整个软件行业发展很快,追求快速迭代、快速发布,但速度也不能无限放大,而且当竞争到一定程度时,相同的产品或类似的服务充满了整个世界,人类一定是选最好的产品/服务,我们终归要回到原点。当一个机会来临的时候,我们常常研究如何用一套策略比别人更快的抓住机会,如何比别人跑得快去抢占市场。但是,最终我们还是要靠产品的品质取胜。我还是乐意再用一次雷军的一张slide,从而进一步说明有必要讨论:什么是质量管理的底
335°/ 2021-12-14/3356 人阅读 / 0 人点赞 / 0 条评论

从0到1搭建自动化测试框架
“一个人到底要走多少弯路,才能成为一名合格的测试开发工程师?”近年来,随着敏捷开发、微服务架构、DevOps逐渐深入人心,软件行业发生了翻天覆地的变化。相应地,软件测试行业也洗牌加剧:软件测试的准入门槛,也从以前的是个人就行,逐渐变成了“科班出身”、“技能傍身”。从各个大厂最近几年的招聘数据来看,应聘成功的软件测试人员,一般都有两个特征:“有至少一个拿的出手的项目”,“看起来不错的学历背景”。当技
530°/ 2021-12-10/5307 人阅读 / 57 人点赞 / 0 条评论

高效沟通先从倾听开始|做一个会倾听的人
前段时间看到一句话大意是,一个不会倾听的人,沟通能力一般都不会太好。一直以来觉得我的沟通能力还行,但在最近遇到几件事烦心事的反思中,发现我的倾听能力欠缺。有一天媳妇点评我的文章说:“你的文章和你说话一样,喜欢给人讲大道理。”还有之前有一次和媳妇聊天中,媳妇给我说了她的一件烦心事,还没说完,我就噼里啪啦说了一通,你这样不对……应该……。然后媳妇幽幽的说了一句,你这人真无趣,就是想给你倾诉下,你却给讲
347°/ 2021-12-06/3473 人阅读 / 6 人点赞 / 0 条评论

2021年软件测试工具总结——单元测试工具
在应用程序中,单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元测试是一种测试软件代码单元的方法,通常包括一个或两个输入,产生一个输出。单元测试主要关注独立模块的功能正确性,目的是确保每个单元都按照预期的方式运行。要进行单元测试,开发人员需要编写测试代码。单元测试有手动和自动化测试两种类型,自动化通常是首选的方法,可以为开发人员节省大量的时间和精力。单元测试是自动化测试金字塔模型中占比
608°/ 2021-12-04/6080 人阅读 / 6 人点赞 / 0 条评论