支撑起整个互联网时代的 7 款开源软件

开源软件现在成为整个互联网时代的支撑技术,你可能已经无法离开由开源软件构建起来的网络世界了。下面我们就来看看一些最重要的开源技术。

为互联网而生的操作系统linux

Linux是一款免费的操作系统,诞生于1991年,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。

它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳 定的多用户网络操作系统。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。

Linux可以说是已经无处不在,像Android手机就是以Linux为基础开发的,世界上大多的超级计算机也都采用的Linux系统,大多数的 数据中心使用Linux作为其支撑操作系统。谷歌、百度、淘宝等都通过Linuxt提供了我们每天用的互联网服务。Linux在航空控制系统中也扮演着重 要角色。

加密互联网的安全协议OpenSSL

OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议。OpenSSL可以说是一个基于密码学的安全开发包,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

也可以说OpenSSL是网络通信提供安全及数据完整性的一种安全协议,SSL可以在Internet上提供秘密性传输,能使用户/服务器应用之间的通信不被攻击者窃听。OpenSSL被网银、在线支付、电商网站、门户网站、电子邮件等重要网站广泛使用。

去年OpenSSL爆出安全漏洞,因为其应用如此之广,该漏洞爆出让整个互联网都为之震颤。

互联网的记忆——MySQL

MySQL是一个开源的小型的数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,甲骨文公司(Oracle)收购Sun公司,MySQL成为Oracle旗下产品。

很多信息都是存在数据库里面的,很多工程师在开发一些的小型项目时都会采用这个MySQL数据库。MySQL为C、C++、JAVA、PHP等多重 编程语言提供了API接口。而且支持windows、Mac、Linux等多种系统。这种广泛的支持使其得到更多开发者的青睐,MySQL是开发者需要掌 握的数据库之一。

Mysql最初为小型应用而开发,但现在的Mysql已经不是一个小型数据库了。基本上所有的互联网公司都会使用这个数据库系统,一些金融交易也会 采用Mysql作为数据库引擎。Mysql通过相应的调优既可以支撑大规模的访问,又可以保证数据安全性,已经成为威胁传统商业数据库系统的重要力量。

万能开发工具Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。目前由 IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括 Borland、Rational Software、Red Hat及Sybase等。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。很多Java编程软件都是在Eclipse平台开发的,还有包括 Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即 可。

Eclipse并不是一个直接服务于消费者的产品,它更像一个工匠手中万用工具,用Eclipse开发者可以打造出各种充满创造性的服务来满足最终用户的需求。

互联网的门卫Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛 使用,也是最流行的Web服务器端软件之一,市场占有率达60%左右。它快速、可靠并且可通过简单的API扩展,它可以和各种解释器配合使用,包括 PHP/Perl/Python等。

Apache就像一个负责的门卫,管理着服务器数据的进出。每当你在你的地址栏里输入http://XXX.com的时候,在遥远的远端,很有可能正是一台跑着Apache的服务器,将你需要的信息传输给浏览器。

大数据的心脏Hadoop

Hadoop 是一个能够对大量数据进行分布式处理的软件框架,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。Hadoop 一 直帮助解决各种问题,包括超大型数据集的排序和大文件的搜索。它还是各种搜索引擎的核心,比如 Amazon 的 A9 和用于查找酒信息 的 Able Grape 垂直搜索引擎。阿里巴巴集团在商品推荐、用户行为分析、信用计算领域也都有hadoop的应用。

在”大数据”已经成为潮流的当下,Hadoop已经成为最主要的一项技术。可以毫不夸张的说,没有Hadoop,就没有大多数的大数据应用。可以说对一个不知道Hadoop的程序员而言,你已经out了。

互联网的”排版引擎”WebKit

说是浏览器内核,其实”排版引擎”更容易理解一些。通过服务器传输给浏览器的信息只是一串乱糟糟的文本。要看到我们平时看到精美的网友,需要浏览器内核对这些文本进行解析,将枯燥的描述”画”成美丽的浏览界面。

WebKit 是一个开源的浏览器引擎,与之相应的引擎有Gecko(Mozilla Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。根据StatCounter的浏览器市场份额调查,于2012年11月,Webkit市占超过了40%,它已经成为拥有最大市场份额的 排版引擎,超越了Internet Explorer所使用的Trident及Firefox所使用的Gecko引擎,并且WebKit份额正在逐年增加。

目前几乎所有网站和网银已经逐渐支持WebKit。WebKit 内核在手机上的应用也十分广泛,例如苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。

很多人可能尚未意识到,我们使用的电脑中运行有开源软件,手机中运行有开源软件,家里的电视也运行有开源软件,甚至小小的数码产品中也运行有开源软件,尤其是互联网服务器端软件,几乎全部是开源软件。毫不夸张地说,开源软件已经渗透到了我们日常生活的方方面面。

Original: https://www.cnblogs.com/hnrainll/p/4280952.html
Author: Leo Chin
Title: 支撑起整个互联网时代的 7 款开源软件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547047/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 四元数Quaternion的基本运算

    在前面一篇文章中我们介绍了欧拉角死锁问题的一些产生背景,还有基于四元数的求解方案。四元数这个概念虽然重要,但是很少会在通识教育课程中涉及到,更多的是一些图形学或者是工程学当中才会进…

    技术杂谈 2023年7月25日
    0111
  • OS第四章错题补充

    OS第四章错题补充 ​ 虚拟内存有三种实现方式:请求分页存储管理、请求分段存储管理、请求段页式存储管理。不管哪种方式,都需要有一定的硬件支持以下几个方面: 一定容量的内存和外存 页…

    技术杂谈 2023年7月11日
    092
  • 基于STC51单片机的风扇

    基于STC51单片机的风扇 设计要求: 利用直流电机充当风扇 键盘可以调整风扇的转速 设计概述: ​ 按照设计要求,风扇的开与关需要用到独立键盘,转速控制需要用到PWM技术。所需要…

    技术杂谈 2023年7月25日
    075
  • docker学习:docker三要素

    镜像 docker 镜像(image)就是一个 只读的模板。镜像可以用来创建docker容器,一个镜像可以创建很多容器 容器 docker 利用容器(Container)独立运行的…

    技术杂谈 2023年7月10日
    087
  • JAXB java类与xml互转

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了…

    技术杂谈 2023年7月11日
    085
  • 应用程序现代化权威指南

    什么是应用程序现代化 简单来说,软件现代化、老旧系统现代化或老旧应用现代化都是指替换或升级旧软件的过程。根据系统的情况和公司的情况,对软件进行现代化改造的方案从轻微修改到完全更换都…

    技术杂谈 2023年6月21日
    099
  • test2

    test2 posted on2017-04-09 12:27 gcczhongduan 阅读(141 ) 评论() 编辑 Original: https://www.cnblog…

    技术杂谈 2023年5月31日
    084
  • chromium 绘制 paint 与 合成

    关于paint的文档有两个。一个是下面的平台相关的 Paint artifact,即绘制指令执行完的生成品;另一个是core内核生成paint。 这个目录包含 display li…

    技术杂谈 2023年5月31日
    0100
  • 《Windows核心编程》学习笔记(9)– 在win7或者vista系统下提升一个进程的运行权限

    BOOL ShellExecuteEx(LPSHELLEXECUTEINFO pExecInfo); typedef struct _SHELLEXECUTEINFO { DWOR…

    技术杂谈 2023年5月31日
    0108
  • 新博客评论使用方式介绍

    新博客终于上线了,与旧博客不同的是,我在评论方面花了许多精力,希望可以提供一个优秀的评论方法。我对优秀的定义是”格式丰富,使用简单”,再加上由于是技术博客,…

    技术杂谈 2023年5月31日
    0118
  • pip 安装报错 error in anyjson setup command: use_2to3 is invalid.

    pip 安装 anyjson==0.3.3 版本时报错 error in anyjson setup command: use_2to3 is invalid. 当然在安装其他版本…

    技术杂谈 2023年5月31日
    075
  • 初识Python系列(三)

    对于Python selenium操作的总结(三) —— 利用本地储存cookies自动化登录任意网站(在此以b站为示例) 一、思路 自动化登录网站的方式有三种: 与人机识别硬刚,…

    技术杂谈 2023年7月23日
    065
  • SpringBoot学习笔记

    前置要求:spring、springMVC、maven spring5升级:响应式编程,基于Java8新特性,如接口默认实现,重新设计内部源码架构 SpringBoot的优点: 创…

    技术杂谈 2023年7月11日
    094
  • Xshell、winscp连不上Linux虚拟机

    1.环境本地机器WIN7环境,使用VMware Workstation Pro安装的CentOS7,系统镜像CentOS-6.1-x86_64-netinstall.iso 2.问…

    技术杂谈 2023年7月25日
    071
  • 二维数组及滚动数组

    二维数组及滚动数组总结 在二维数组 num[i][j]中,每个元素都是一个数组。有时候,二维数组中的某些元素在整个运算过程中都需要用到;但是有的时候我们只需要用到前一个或者两个数组…

    技术杂谈 2023年6月21日
    0105
  • []验证需求(需求三角)总结提炼

    [原创]验证需求(需求三角)总结提炼 1、所谓缺乏感,也就是我们常说的痛点或者刚需,来源于用户的心理落差,这种落差可以从五个维度去分析,分别是任务、时间、关系、群体和角色。 2、所…

    技术杂谈 2023年5月30日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球