后端系统开发之懒人思维

2023-12-20 04:10
文章标签 开发 思维 懒人 端系统

本文主要是介绍后端系统开发之懒人思维,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在研究程序运行方式的技术细节,看了一个让程序以daemon方式运行的函数,内部调用了fork、open、dup2等函数,约有20行代码,看完csdn一篇博客后发现,其实这个deamon实现并不严谨,而且可以直接调用unistd.h头文件中的daemon函数,于是忍不住感慨,勤奋的程序员会重复造轮子啊。

开发的时候还是得有"懒人思维",尽量避免重复造轮子,优先考虑使用系统调用、各种公共库函数、第三方工具。人的精力是有限的,节约下来的时间和精力可以花在其他地方,比如为公司干更多的活。《计算广告》作者刘鹏(北冥乘海生)的一句话说的特别对,想要提高自己的薪资待遇,就要努力提升自己的价值,以便公司能剥夺更多的剩余价值。想想是不是这个理?

本周轮到我值班排查客户投诉,在分析问题过程中,忽然意识到80%的问题都是广告无展现,而排查问题的步骤几乎是固定的:先看广告投放单元是否有效,再在调试系统尝试召回广告,然后从大量输出中找到对排查问题有价值的信息,分析广告没有展现的原因,最后写邮件回复。

产品经理问我,能否提供一个更好用的问题排查系统呢?作为本份的开发人员,自然不敢接这样的活儿,我委婉拒绝后,自己也开始思考,如何避免大量重复枯燥的体力劳动,提高问题排查效率?

重新设计一个调试系统吗?除了实现功能外,还得考虑高可靠、高可用,想想都觉得工作量太大,况且最近本来就加班,何必要跟自己身体过不去呢。有没有偷懒一点的代替方案呢?忽然想到只要把广告gateway模块的代码简单修改,就能变成一个简易调试系统,而且gateway基于openresty实现高并发,因此只需要专注lua语言的业务代码开发就可以了。

动手尝试了一下,只改了十几行代码,就实现了根据广告投放单元来过滤特定的广告,结果真是令人兴奋。接下来只需要提取对排查问题有用的字段,并自动输出问题分析结论(以便粘贴到邮件中),就能提高问题排查效率了!

生活在开源时代是幸福的,优秀的开源软件极大简化了构建大型系统的工作,诸如rpc框架、微服务框架、消息队列、日志模块、高效的编译工具等,开发人员大可不必再模仿造轮子,而是可以做"懒人",集中精力在丰富和完善产品功能上,同时也有精力去研究某项感兴趣的技术,做一个能提供更多剩余价值的员工。

底层技术永远有用,但是产品需求变化太快,导致对开发效率要求很高,逼得我们去学习和使用更快、更好、更强大的高级开发语言和技术工具。摩尔定律揭示了硬件的提升规律,而软件方面的开发语言、技术工具的发展规律也一直存在,只是不像硬件那样淘汰的惨烈和彻底而已。

愿天底下程序员加班都不是因为排查问题和重复造轮子,而是在完善产品和提高技术。

金句分享

面试造核弹,工作拧螺丝。

——出自网络流行语。

解读:网友对大公司面试考察很全面深入,但是工作分工很细的一种调侃。

这篇关于后端系统开发之懒人思维的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/514730

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件