网站首页 > 技术教程 正文
每个有追求的程序员都希望自己的代码写的优雅,有高级感。但是现实很多程序员只是砌墙,堆业务代码,堆着堆着几年后会发现变得毫无兴趣,工资也不会上涨。
如何改变?
其实很多人已经讲过,看经典代码,这里以nginx为例。
相信在你年轻的时候,初入代码门槛的时候,你去看linux,ngnix,apache等源码会一头雾水,根本看不懂。即使觉得看懂了,也是似懂非懂,一个知识点牵引出无数个未知知识点,你困惑吗?
以我自己的经验来讲,你只需要做到以下三点,就能看懂优秀的源码。
第一;带着一个问题来看,以Nginx为例,当你想nginx是一个http服务器,那么它是怎样处理浏览器一个http请求的呢?接下来你就可以按照这个主线从头到尾看完。注意,在看这个主线的过程中,一定要屏蔽跟主线无关的代码,不要在与主线无关的细节上纠缠。
第二;以点带面,在看问题的时候记录你在看源码过程中的疑问点。上面你看完一个问题后,在这个过程中你一定会遇到无数个其他问题,比如:nginx进程是如何管理的?进程间是如何通信的?如何优雅地不停服的重启ngnix?为何要使用epoll处理http请求?epoll在nginx中是如何使用的?什么是惊群效应?惊群效应是如何产生的?如何处理惊群效应?这时候你就可以像第一个方面那样,每个作为一个问题来继续,不停的重复这个过程。
第三;一定要把官方文档仔细读一遍,这是需要耐心,毅力,坚持,只要你肯付出时间和努力,一定会有收获。官方文档不但可以为你答疑解惑,更重要的是,给你一种全局观,整体上去把握整个代码结构,代码设计。
程序设计是一门艺术,一门设计的艺术,一门动手实践的艺术,你只有乐在其中,才能体会这种快乐。
猜你喜欢
- 2024-10-15 这篇文章教你看明白 nginx-ingress 控制器
- 2024-10-03 CentOS 7.5 编译安装 Nginx 1.15.3
- 2024-10-03 如何在kubernetes1.12.1 上部署Ingress-nginx
- 2024-10-03 Nginx专题(1):Nginx之反向代理及配置
- 2024-10-03 Zabbix4.0企业级搭建实战(1)LNMP之Nginx服务器编译安装
- 2024-10-03 nginx 1.19.5 主线版发布(nginx/1.19.2)
- 2024-10-03 nginxWebUI 1.2.9 发布,nginx 图形化管理工具
- 2024-10-03 在 Ubuntu 或 Debian 系统上安装以及配置 nginx-1.20.1.tar.gz
- 2024-10-03 「开源资讯」nginxWebUI 1.1.7 发布,nginx 可视化网页配置工具
- 2024-10-03 Nginx 1.25.0发布,正式开启HTTP 3的潘多拉宝盒
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)