首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何探索大型开源软件

注:本指南是我们在 2020 年秋为 MLH 研究员制定开源软件指南一部分。但是我坚信,这对任何探索大型代码库新人都会有所帮助。如果你对这个指南有什么建议,请联系我。...研究规范是理解大型代码库另一个具体步骤。...故事背景是围绕工厂里一台发生故障大型机器,迷惑不解工程师,以及一个来拯救世界超级天才。故事是这样:福特工厂一台大型蒸汽机开始出现故障,福特工程师都不知道发生了什么。...在大多数情况,理解每一行代码是不可能,你应该试着策略性地处理这个问题。 大多数优秀开源项目结构都非常好,文件夹层次结构和文件名大多都一目了然。...Peterson 回答很好地描述了这一观点: 我发现,对于纯粹软件问题,思考问题并测试系统,了解关于这个问题更多信息比逐行执行代码要有用得多。

34710

阅读大型开源软件四个技巧

它们并不是互相独立,往往是结合一起使用。 借鉴他人 这种模式,可以实现快速地学习。它存在一些明显缺点是: 学到东西是二手加工过。 部分代码可能与真实情形脱节。...MBP 配置,对于大型系统来说编译根本不够用。...因为别人用 Java、Groovy、Kotlin 编写应用,如果你用 Rust、Go 再写一遍的话,那么你就能一次学到两个东西了:一个是新编程语言,一个是这个开源项目的代码。...相关文档资料 相似的开源项目 过程中内容产出 代码简要说明 …… 这样一来,其他/她人在学习过程中还能 GET 到相似的思路。...阅读源码学习 高 低 理解思想 fork 主流程 高 低 理解、模仿 借助测试调试 较高 中 理解、模仿 一些结合模式: 阅读二手资料,根据二手资料理解主脉络 编写主流程调用链,理解架构设计理想 借助开源软件测试调试

53820
您找到你想要的搜索结果了吗?
是的
没有找到

Linux开源监控软件

cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,这几款监控软件均有web操作界面。...open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。...---- zabbix 监控介绍: C/S架构(被监控server需要安装监控软件,既可以主动连接客户端,也可以被动让客户端推送自己状态),基于C++开发,监控中心支持web界面配置和管理。...web界面 也叫web UI,在web界面下操作配置是zabbix简单易用主要原因。 zabbix-proxy 可选组件,它可以代替zabbix-server功能,减轻server压力。...zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报。 zabbix监控流程图 image.png

5.9K90

linux安装软件

业界软件标准安装有三步:configure,make,make install,下面是它们定义: ./configure是用来检测你安装平台目标特征。...make是用来编译,它从Makefile中读取指令,然后编译。 make install是用来安装,它也从Makefile中读取指令,安装到指定位置。.../configure --prefix=/usr/bin/gdb-7.10,意思是将gdb软件安装到/usr/bin/gdb-7.10面,如果后续要卸载,可以使用make uninstall或者直接将.../usr/bin/gdb-7.10删除即可;同时如果其他机器也需要该软件,只要简单拷贝过去改下环境配置就可以用,而无需再次安装。...建议将添加路径命令添加到/etc/profile中,以上为例,export PATH=$PATH:/usr/bin/gdb-7.10/bin

8.6K10

Linux软件依赖问题

Linux软件依赖关系是非常复杂,通常Linux都是依靠软件包管理工具来自动解决依赖关系。...最典型莫过于卸载系统自带Python。百度一就会发现,非常多年轻人,胆子大很。这个行为和我当年升级Glibc差不多。 ? Linux上这个问题其实是发行版开发者在软件包上做了二次封装。...感触颇深,确实,就目前情况来看,主流Linux发行版系统主要还是在服务器领域,专事专用也确实可以。 如何解决Linux如此复杂以来问题?...然后我看了一哪几个CVE,参考了网上更改配置文件就基本解决了安全问题。 最后,还想说是有的人系统里既有deb包,也有rpm包。...snap是目前Ubuntu大力推广方式,但是这个东西看起来是Ubuntu一个阴谋。Ubuntu和Redhat的确推动了开源软件发展,但是他们现在渐行渐远,快成了开源敌人。

3.2K00

Linux 10 个 PDF 软件

本文[1]是我们正在进行有关 Linux 顶级工具系列延续,在本系列中,我们将向您介绍最著名 Linux 系统开源工具。...Okular Okular 是一个通用文档查看器,也是由 KDE 开发免费软件,可以运行在 Linux、Windows、Mac OSX 和许多其他类 Unix 系统上。...Firefox (PDF.js) PDF.js 是一个使用 HTML5 构建通用、基于 Web PDF 查看器,它是一个由 Mozilla Labs 支持开源、社区驱动项目。...XpdfReader XpdfReader 是一款适用于 X Windows 系统旧式开源 PDF 查看器,受 Linux 和其他类 Unix 操作系统支持。...Poppler Poppler 是一个开源 PDF 查看器,主要用于渲染 PDF。它源自 Xpdf 项目,已成为许多 Linux 应用程序首选库,提供高效性能、广泛格式支持以及社区持续开发。

41410

linux office软件推荐

linux最好office解决办法 其实因为我是不怎么使用office,我也不知道不同office有什么不一样,直到有一次写奖学金申请表格时候我才发现,原来不同office保存文件,打印出来都是不一样...说道最好解决方法我不认为是用wine去安装office,因为我个人是很不喜欢wine这种东西,我觉得最好解决方法就是虚拟机安装win7然后安装office 介绍几款office 我觉得linux...wps是最好,其次是libreoffice,总之我认为wps是最接近于微软office,之后我推荐一个office软件就是softmaker-office,虽然你可能没有听说过这款office软件,...但是据说它是最接近微软office,现在还是beta版本,在ubuntu安装完成之后中文字体会有乱码,总体来说安装还算简单,而且界面和微软office很像,是商业软件可以免费使用30填貌似 其他Ubuntu...常用PC软件 推荐完毕, 下面是我经常使用软件列表,放出来和大家共享,为是在系统出问题重新安装时候方便点 chrome shadowsocks 网易云音乐 nodejs hexo python

4.4K30

linux系统安装软件命令(在linux安装win系统)

大家好,又见面了,我是你们朋友全栈君。...RabbitMQ是用erlang分布式语言开发,故需先安装erlang 下载erlangtar包 : erlang下载 下载rabbitmq包 : rabbitmq下载 下图为erlang下载界面...下图为RabbitMQ下载界面 首先连接到linux,切换至root用户,并cd至usr/local目录下,在该目录下使用如下命令新建erlang和rabbitmq文件夹 cd /usr...1、相关命令 :/usr/lib/rabbitmq/bin/ 2、相关日志:/var/log/rabbitmq/ 3、相关配置 : /etc/rabbitmq/ 4、 设置用户权限等元数据信息...页面,如下图所示则成功,并使用新创建用户访问 至此linux系统安装rabbitmq结束 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128379

6.6K30

收集网络上大型开源图像处理软件代码(提供下载链接)

1、 最著名开源图像软件:GIMP。 开发语言:C GIMP号称LinuxPhotoShop,总观其工程,确实达到了PhotoShop早期版本功能。...缺点就是界面不美观,用户体验差,执行速度在Windows慢(Linux下不清楚)。...3、一个响当当图像开源软件:ImageEditor 开发语言:JAVA 一个用JAVA开发图像处理软件,具有图层、选区、滤镜以及其他一些工具。...8、图像编码解码利器:FreeImage、ImageMagick 开发语言:C FreeImage 是一款免费开源、跨平台(Windows 、Linux 和Mac OS X ),...9、其他一些开源软件: (1) PhotoSprite:一个国产用C#开发类似PHOTOSHOP软件(太抬举他了),用到了很多图形算法,新手可以参考。

3.9K30

Ubuntu Linux安装软件方法

Linux系统中,软件通常以源代码或者预编译包形式提供。...1、deb包安装方式 deb是debian系Linux包管理方式,Ubuntu是属于debian系Linux发行版,所以默认支持这种软件安装方式,当下载到一个deb格式软件后,在终端输入这个命令就能安装...2、编译安装方式 (小贴士:使用编译安装前,需要先建立编译环境,使用以下命令建立基本编译环境:sudo apt-get install build-essential ) 在linux...世界,有很多软件只提供了源代码给你,需要你自己进行编译安装,一般开源软件都会使用tar.gz压缩档来进行发布,当然也有其他形式。...5、二进制包安装方式 有不少不开源商业软件都会采用这种方式发布Linux软件,例如google earth,拿到二进制软件后,把它放到/tmp目录,在终端下进入安装目录,在安装目录下执行

3.1K00

Linux包过滤软件:iptables剖析

netfilter/iptables 是Linux平台下包过滤防火墙,iptables位于用户空间,通过命令操作 netfilter 来实现网络数据包处理和转发,netfilter位于内核空间,是真正管理网络数据包...同样 chain 优先顺序是 raw -> mangle -> nat -> filter,比如 PREROUTING 链在 raw, mangle 和 nat 都有,其处理顺序是raw(PREROUTING...发往本机数据包通过此链。 OUTPUT,输出链。从本机发出数据包通过此链。 FORWARD,转发链。本机转发数据包通过此链。...其内建两条链: PREROUTING,路由前链 OUTPUT,输出链 命令行参数解说 iptalbes 命令参数讲解: $ iptables -h -t:指定要操纵表,默认条件是filter表;...nat 表; -A PREROUTING 表示添加一个 PREROUTING 规则; -p tcp 表示规则包协议,这里说明适应协议是 tcp 协议; -j REDIRECT 表示指定目标执行规则

1.8K20

Linux 安装ClamAV查毒软件

ClamAV查毒软件配置笔记 说明:只能查毒,杀毒也还需要管理员自己手动进行。...官网下载:http://www.clamav.net/downloads 写本文时候,稳定版是0.99 ClamAV安装 # 先安装zlib yum install zlib -y # 添加账户 groupadd...clamav/sbin:/usr/local/clamav/bin" >/etc/profile.d/clamav.sh source /etc/profile.d/clamav.sh # ClamAV配置...】 # 使用clamav clamscan -h       # 查看帮助命令 #扫描所有用户主目录 使用 clamscan -r /home即可扫描所有用户主目录 扫描您计算机上所有文件并且显示所有的文件扫描结果...,就使用 clamscan -r / 扫描您计算机上所有文件并且显示有问题文件扫描结果,就使用 clamscan-r --bell -i / 执行下面命令扫描根目录下面的所有文件。

2.7K40

开源、轻量级 Linux 软件工具集合!

Busybox 介绍 Busybox是一个开源、轻量级软件工具集合,旨在提供一个精简Unix工具集,适用于嵌入式系统和资源受限环境。...Busybox使用 busybox 编译过程与Linux内核编译类似 busybox使用有三种方式: busybox后直接跟命令,如 busybox ls 直接将busybox重命名,如 cp...Busybox使用方法与传统Unix工具类似,通常语法格式为: busybox [选项] [命令] [参数] 参数 Busybox命令和参数根据具体工具而定,可以通过以下方式获取帮助信息:...灵活性:提供了许多编译选项,可以根据需求选择需要工具,并排除不需要工具。 兼容性:Busybox工具与传统Unix工具具有相似的命令行接口和功能,可以方便地替代传统Unix工具。...配置环境变量 将Busybox可执行文件所在目录添加到系统PATH环境变量中,以便可以直接使用Busybox工具。

14210

HRC拉动大型软件测试

HRC拉动大型软件测试 - 旧文重发,原文发表于行业测试杂志 一、前言 一款已近20年历史、服务全球数万家客户、拥有数千万行代码、由分布全球近千人研发工程团队开发产品,其测试活动如何组织?...笔者将以产品为案例,介绍一个大型测试组织如何通过建立RC,以及通过HRC实现测试工作拉动以及持续改进,供行业同仁参考。...性能(Performance)该类别度量系统在在特定系统压力响应度以及稳定度方面在表现得令人满意。可扩展性(Scalability)该类别度量系统在处理不断增长负载能力。...可靠性(Reliability)该类别度量系统在下列情况下不发生崩溃几率: - 短时间极端压力 - 长时间正常压力安全性(Security)该类别度量系统在设计、开发、部署、升级和维护过程中缺陷...然后再换算成百分制得分。

53430

10 个最佳 Linux 开源笔记软件

您可以在 Linux 系统上安装和使用许多笔记应用程序。 在本文[1]中,我们将回顾可在 Linux 系统上使用 11 个最佳开源笔记应用程序。...Trilium Notes Trilium Notes 是一款免费开源分层笔记应用程序,其设计重点是构建大型个人知识库。...它是免费且开源,适用于 Linux 系统、Windows、MacOS 和 Android。顾名思义,它可以帮助您使用标签和颜色组织文件和文件夹。...CherryTree CherryTree 是另一个免费、开源分层笔记应用程序,可在 Linux 系统、Windows 以及 MacOS 上运行。...Notable Notable 是一款可移植、功能强大、基于 Markdown 免费开源笔记应用程序,可在 Linux 系统上运行(在撰写本文时)。

30210

(应用篇)| 量子计算与开源软件

国内外大厂量子开源软件发展和应用 据波士顿咨询发布报告预测,在不考虑量子纠错算法进展情况,2035年全球量子计算应用市场规模将达到近20亿美元,随后暴涨到2050年2600多亿美元;若量子计算技术迭代速度超出预期...Google还发布了 Cirq 软件工具包,让开发人员在不需要量子物理背景情况也可以创建算法,该计划也意味着任何人都可以访问和修改该软件。...量子计算软件开源意义 2.1 有利于技术普及,以及培养用户习惯 就市场推广而言,量子计算软件开源能够更快地实现用户触达,从而获取用户,同时通过开源,量子计算软件开源有利于培养用户习惯,也有助于推动量子计算技术普及...2.2 打开市场,扩大市场影响力 通过开源,新产品能够能更快地打入市场,开放源代码也更容易获得顾客信任和了解;在市场中既有竞品是闭源软件情况开源基础软件更容易建立上层生态,从而从生态而非软件本身来构建市场壁垒...软件服务最终目的是构建生态圈,开源所依托开源社区天然地形成一个生态链接平台,企业通过构筑开放平台汇聚各环节参与者,形成开源生态。

84220
领券