-
读《软件开发的201个原则》有感
在之前关于软件工程能力的系列文章中,笔者参考了百度章淼老师在工程能力方面的思考。并且老师也是推荐了《软件开发的201个原则》作为参考辅导资料。刚好在2024程序猿节之前章老师预告的译作终于出版了,笔者也是立马订购抢先阅读起来。不过讲句实在的,本书并没有给我眼前一亮的感觉,可能是因为大多数原则其实笔者在 ...
阅读全文-
软件工程能力之思:华为工程能力之道
在上一篇文章《软件工程能力之思:工程能力实践》中笔者讲到了百度公司在工程能力积累的实践经验。本篇文章笔者将借华为任正非在2019年签发的第一份关于《全面提升软件工程能力与实践,打造可信的高质量产品》的全员内部信谈谈华为在工程能力的总结实践之“道”。全文如下(如有侵权请联系删除!): 总 裁 办 电 子 邮 ...
-
软件工程能力之思:工程能力实践
在上一篇文章《软件工程能力之思:工程能力漫谈》 中,笔者介绍了什么是工程师思维,以及讲到工程师应该具备的工程能力的定义。本篇文章将结合章淼老师在QCon2021上的技术分享,淡淡工程能力在日常开发实现中,需要关注的9条核心实践总结。 一、质量第一 在当前几乎所有中国互联网企业都996.ICU加班的情况 ...
-
软件工程能力之思:工程能力漫谈
本文是《软件工程能力之思》这个系列中的第二篇文章,将谈谈对工程能力的理解。作为一个安全研发工程师,不仅要懂网络安全原理与技术,更要懂软件研发的工程能力。但是非常遗憾的是,国内安全产品的工程质量、工程能力都还有待提升。很多安全工程师在写代码、做程序方面,基本都是“demo”型选手。这主要还是因为,搞安 ...
-
软件工程能力之思:什么是软件工程
本文是《软件工程能力之思》这个系列中的第一篇文章,将介绍什么是软件工程。在此我想着重讲三个方面,即:软件工程的定义、为什么软件工程如此重要,以及软件工程对个人发展的作用。当然,笔者也是通过学习前辈们的经验以及一些大公司的方法论,结合自己的学习理解和思考,难免有不足之处,也期望有看见此博文的同道 ...
-
Go语言错误处理在业务中的应用实践
在前文《Go语言开发规范》一文中,笔者最后简单提到了错误处理error,但受篇幅限制,讲的还是过于简单。这篇文章将从error设计细节和业务开发这两个角度深入讲讲Go语言中对错误处理的工程实践。 讲起Go语言的error,想必网上可以搜索到一大堆相关的技术文章。但笔者细节阅读了一些文章发现,有些文章侧重 ...
-
基于Linux PAM的SSH认证企业级实践
在上一篇文章《基于Pam-Python模块Linux SSH双因子认证的实际应用》中我讲到了使用Linux PAM模块实现了对ssh登录进行的扩展认证模块。其中对PAM模块的认证机制做了详细的介绍并做了个简单的Demo实现,但考虑到工程化(项目规范程度以及对接企业内部统一认证平台等)以及安全性(如审计、python源码保护等)考虑,之前 ...
-
Linux下检测漏洞软件包
前言 随着开源软件热潮的进一步发展和在互联网上的广泛应用,目前因开源软件存在漏洞而造成的影响变得巨大。如Bash漏洞、Openssl心脏出血漏洞、ImageMagick命令执行漏洞、ffmpeg文件读取漏洞等等。此类软件漏洞往往没能及时修复,主要有以下原因: 1.因为此类漏洞已影响线上业务运行,而往往容易被系统运维管理 ...
-
深入学习Go语言标准库sync
一、前言 最近在阅读Go Web框架echo的源码时,有看到在Echo结构体中有定义了一个sync.Pool类型的pool,处于好奇,加上之前在编写多goroutine并发程序时只使用到了sync包的WaitGroup方法。处于好奇就跟踪进去看了下sync这个包的源码。不看不知道,一看吓一跳,这个包可是非常的强大,它提供了在高并发编程时遇到的各 ...
-
Go语言之Channels实际应用
正如Golang社区中常说的:“不要通过共享内存来通信,要通过通信来共享内存”。在Go语言中,要传递某个数据给另一个goroutine(协程),可以把这个数据封装成一个对象,然后把这个对象的指针传入某个channel中,另外一个goroutine从这个channel中读出这个指针,并处理其指向的内存对象。Golang从语言层面保证同一个时间只 ...
-
深入理解Go语言中的方法
Go语言中是没有类对象的,所以也就没有继承、虚函数、构造函数和析构函数、隐藏的this指针等诸多OOP方面的东西。与之相似的是结构体struct。所以 struct接收器的功能是实现go方法的方法。那么struct到底是一种怎样的存在呢? 什么是方法 Go 语言中同时有函数和方法。方法(method)就是一个包含了接受者(receiv ...
-
-
-
-
-
-
-
-
-
-
当前位置: 首页 >
编程开发