Python教程:从头开始学习Python

Python教程,学习Python
本系列的Python教程将帮助您学习Python。本教程包括Python的所有基本和高级概念。我们的Python教程专为初学者和专业人士设计。

我们的Python教程系列包括Python编程的所有重要主题,例如 下载和安装,控制语句,字符串,列表,字典,模块,异常,日期和时间,文件I / O,程序等。我们还包括最重要的Python面试问题,以使您更好地了解Python。

什么是Python?

Python是一种流行的通用解释型,动态,交互式,高级且面向对象的编程语言。它是由 吉多·范·罗苏姆(Guido van Rossum),并于1991年发布。


Python被称为多用途编程语言,它是脚本编写和快速应用程序开发的理想语言。

它用于:
Web开发(服务器端)
软件开发
数学
系统脚本

为什么要学习Python?

Python是学生和在职专业人员成为优秀软件工程师的绝佳平台,尤其是当他们与Web开发领域联系在一起时。

学习Python的一些关键优势可以定义如下:

Python可以在Windows,Mac,Linux,Raspberry Pi等多种平台上运行。

Python在运行时由解释器处理。我们不需要在执行之前编译程序,这与PERL和PHP类似。这也意味着原型制作在Python中非常快。

Python具有简单的语法,几乎与英语相同。



我们可以直接与解释器进行交互以编写Python程序。

与其他一些编程语言相比,Python的语法允许我们用更少的行编写程序。

Python提供了一种面向对象的编程机制,该机制将代码封装在对象内。

Python也可以在过程上或功能上进行处理。

Python是适合初学者的优秀编程语言,它为从简单文本处理到WWW浏览器再到游戏的各种应用程序的开发提供支持。

Python更新从2到3:差异

准备本教程时,最新版本是Python 3,我们将在整个教程中使用它。但是,Python 2 尽管除了安全更新之外没有进行其他任何更新,但它仍然非常流行。

先决条件

学习Python没有特别要求。您只需要一些编程概念的基础知识。我们有一系列精心组织的教程,可以帮助您从头开始学习Python编程。

在此Python编程教程中,我们将使用文本编辑器编写代码。请注意,您还可以在IDE(集成开发环境)中编写Python,例如 Thonny,Pycharm,Netbeans或Eclipse, 这些IDE对于管理较大的Python文件集合特别有用。


听众

教程伴侣 上的教程旨在帮助初学者和专业人士。我们的Python教程将帮助初学者掌握Python。

问题

我们的教程是由专业人士设计的,我们向您保证不会发现任何问题。如果有任何错误,我们要求您使用联系表格提交问题,或直接发送电子邮件至 教程伴侣 .

指数

Python教程 Python功能
Python历史 Python应用程序

下一个 →



阅读更多

SEO:面向初学者的完整SEO教程

 SEO教程
本教程涵盖了SEO的所有核心和高级概念。阅读本SEO教程后,您将对SEO以及如何使您的内容在搜索引擎中获得较高排名有一个清晰的了解。

什么是SEO /搜索引擎优化?

搜索引擎优化(SEO) 是一个技术,分析和创新过程,可帮助提高网站在搜索引擎中的知名度。一切都是关于为搜索引擎优化网站。 SEO的主要目的是从搜索结果中吸引免费的自然流量到网站。


所有主要搜索引擎(Google,Yahoo,Bing等)提供定制的搜索结果,其中根据搜索引擎发现与用户最相关的内容显示搜索内容并对其进行排名。

搜索引擎如何工作?

搜索引擎使用以下技术来提供搜索结果:

爬行

搜寻是由搜索引擎机器人(通常称为搜寻器或蜘蛛)执行的过程,用于获取链接到网站的所有网页。首先,蜘蛛从一个网页开始。他们进一步获取该网页的所有其他链接,然后获取下一页,然后获取下一个。他们最终以这种方式在网上获取所有内容。它们还包括图像,视频,PDF等,但与文件格式无关。在SEO中,搜索引擎从您的网站获取所有更新的内容非常重要。

索引编制

从网页获取数据后,蜘蛛程序会将其添加到索引中。可以将其描述为一个庞大的发现URL数据库,当搜索者正在寻找信息时,可以从该数据库中对其进行检索。

蜘蛛不会像人类那样看到网页。建立索引的过程是识别有助于爬网程序了解网页并分配相关关键字的文本,单词和表达式。网页一旦被抓取,就会在队列中显示为相关关键字或查询的搜索结果。确保您的网页已正确爬网。

注意: 要查看索引页面,只需打开Goog​​le并输入“网站:yourdomain.com”显示在搜索栏中。它将为您显示指定域的所有索引链接。我们可以使用一些工具来对链接进行正确索引。我们将在接下来的文章中介绍这些工具。


排行

当某人在搜索引擎中输入搜索查询时,它开始在其数据库中查找与查询更相关的网页,并将这些网页显示为搜索结果。搜索结果按搜索引擎自动从最相关到​​最不相关的顺序排序。

SEO重要吗?

许多人想知道SEO是否真的是一个重要因素-答案是肯定的。但是,这可能是一项艰巨的任务,需要付出很多努力,但仍然很重要。SEO是促进任何在线业务发展的最强大,最相关的在线营销策略。这是在网站上增加自然流量的最佳方法,可提高在线知名度并吸引客户。这可以为任何业务产生更多的收入。

先决条件

学习SEO的概念没有特殊要求。您只需要具备使用计算机和互联网的基本知识。我们在“ SEO教程 ”,以帮助您从头开始学习SEO。


听众

教程伴侣 上的教程旨在帮助初学者和专业人士。我们的“ SEO教程”将帮助初学者掌握搜索引擎优化。

问题

关于“的教程 教程伴侣 “是由专业人员设计的,我们向您保证不会发现任何问题。如果有任何错误,我们要求您使用 联系表 .

指数

SEO教程 SEO:策略与方法
SEO:什么是域名? SEO:什么是WWW?
SEO:搜索引擎与门户 SEO:类型



阅读更多

重击 脚本教程:Bash脚本指南

 重击 脚本教程
这个 series of 重击 脚本教程 将以一种非常简单的方式帮助您学习Bash脚本。本教程涵盖了Bash Shell脚本编写的所有核心和高级概念。我们的Bash脚本教程系列旨在帮助初学者和专业人士。

我们的Bash Shell教程的以下页面包括bash脚本编写的所有重要主题,例如 bash脚本编写,hello world bash,bash变量,bash算术,bash条件语句,循环,字符串,数组, 等。我们还包括最重要的Bash脚本面试问题,以使您更好地了解bash shell脚本。



重击 快速概述

重击 (再次伯恩壳) 是基于命令行语言的shell程序。它由系统管理员,程序员和网络工程师等使用。 布莱恩·福克斯 作为Bourne Shell程序“ sh”的增强版本和开发版本。它是GNU开发下的一个开源项目。它包括Bourne Shell上的功能开发,用于编程和交互使用。

默认情况下,Bash是大多数Linux版本和Apple的macOS(也称为OS X)上的内置外壳。最近,它已针对Windows 10发布。

为什么要使用Bash脚本?

重击 脚本允许开发人员通过应用与手动键入命令时使用的相同语言来自动执行命令行任务。开发人员可以直接使用Bash脚本中的所有可能工具,该工具可在命令行上使用。在某些情况下,由于Shell脚本与OS紧密集成,因此其性能要好得多。 bash是用于编写快速内容的出色工具。

先决条件

学习Bash脚本的概念没有特殊要求。您只需要具备一些编程概念的基础知识。但是,我们在bash教程下有一系列精心组织的主题,可以帮助您从头开始学习bash脚本。


在本Bash Shell脚本教程中,我们将使用Linux(Ubuntu)平台编写和运行脚本。 重击 脚本几乎类似于Linux命令行。

听众

教程伴侣 上的教程旨在帮助初学者和专业人士。我们的Bash Shell教程将帮助初学者掌握Bash脚本。

问题

我们的教程是由专业人士设计的,我们向您保证不会发现任何问题。如果有任何错误,我们要求您使用联系表格提交问题,或直接发送电子邮件至 教程伴侣 .

指数

重击 脚本教程 什么是Bash Shell脚本?
重击的历史 重击的特点
重击 脚本基础 重击 脚本Shebang


阅读更多

阿帕奇螺旋 教程

 阿帕奇螺旋 教程
我们的Apache Helix教程将帮助您对Helix有所了解。我们已经介绍了Helix的所有基本概念和高级概念。我们设计本教程的方式可以为初学者和专业人士提供帮助。

本教程将帮助您了解Helix的所有核心概念以及各种相关主题,例如 什么是Helix,Helix的功能,Helix体系结构,Helix组件,为什么使用Helix , 和更多。

先决条件

学习Helix的概念没有特殊要求。您只需要对使用终端和应用程序有一些基本的了解。但是,我们在Apache Helix教程下有一系列精心组织的主题,可以帮助您从头开始学习Helix概念。

听众

教程伴侣 上的教程旨在帮助初学者和专业人士。我们的Helix教程将帮助初学者掌握Helix。

问题

我们的教程是由专业人士设计的,我们向您保证不会发现任何问题。如果有任何错误,我们要求您使用 联系表 .

您将学到什么


什么是Apache Helix?

阿帕奇螺旋 是由Linkedln公司开发的开源通用集群管理框架。它用于自动管理托管在节点群集上的复制,分区和分布式资源。面对以下情况,Helix会自动提供资源重新分配 节点故障和恢复,集群扩展以及重新配置.

阿帕奇螺旋 的功能

Helix提供以下主要功能:
自动将资源/分区分配给节点
检测和恢复节点故障
动态添加资源
动态将节点添加到集群
可插拔的分布式状态机可通过状态转换来管理资源状态的可用性

阿帕奇螺旋 体系结构

Helix将分布式系统组件分为四个逻辑角色,如下图所示:

 阿帕奇螺旋 体系结构:Helix教程

这些是可以在同一过程中物理并置的逻辑组件。这些逻辑组件中的每一个都有一个嵌入式代理,该代理通过以下方式与其他组件进行交互 动物园管理员 .

组件亮点

控制者

控制器被称为系统的大脑。它充当状态机引擎的发电机。它运行执行算法并针对分布式系统发出转换。

参加者

参与者负责状态转换的执行。每当控制器启动状态转换时,参与者就会触发回调,该回调由分布式系统实现。对于搜索系统,系统会实现回调(offlineToBootstrap,BootstrapToOnline),并在控制器触发相应的转换时调用。在上图中,p1和p2表示资源(数据库,索引和任务)。不同的颜色表示状态(例如,主/从)的分区。

观众

旁观者代表需要观察系统状态的外部实体。通知系统中状态是否更改,以便他们可以与适当的参与者进行交互。例如,代理/路由组件( 旁观者 路由表更改时(例如,群集扩展或节点发生故障时),可以通知)。

动物园管理员

Helix依靠ZooKeeper来满足所有给定的要求:

1. 群集状态/元数据存储。
2. 群集状态更改时自动发出通知。
3. 沟通 组件之间的通道。

通过将所有元数据/群集状态存储在Zookeeper中,控制器本身是无状态的,并且在发生任何故障时易于更换。每当节点启动或停止时,Zookeeper还提供通知机制。 动物园管理员 还用于在控制器和参与者之间构建可靠的通信通道。该通道在Zookeeper中被建模为队列。控制器和参与者在此队列中充当生产者和消费者。

为什么使用Helix?

从很长时间开始,大多数情况下,单节点功能就足够了。大数据出现之后,’根据需求不再足够。大多数应用程序需要在分布式设置中运行。分布式计算将面临许多挑战,例如可伸缩性,分区和容错能力。这种系统的革命可以描述为:
为什么要使用Apache Helix:Helix教程
添加这些功能并非易事,容易出错且耗时。每个功能都充分增加了系统的复杂性,但是这些功能对于预期可大规模运行的生产就绪系统至关重要。大多数系统都试图通过这种演进,但是很少有系统能够达到理想的极限。 

Linkedln建立了许多这样的分布式系统。第一个是NoSQL存储系统Espresso。在进行项目时,他们发现需要支持通用模式,例如对分区的容忍度,硬件和软件故障以及诸如操作问题,负载平衡,自举和扩展之类的任务。所有这些功能都是建立通用框架以开发分布式系统(称为Helix)的动机。将分布式系统开发为具有状态和转换约束的状态机具有以下好处:


作为一个分布式系统,Helix将集群管理与系统的核心功能分开。
它允许从单节点系统到可操作的分布式系统的快速转换。
它增加了简单性。不需要系统组件来管理全局群集。

螺旋如何工作?

要了解Helix,我们必须首先了解 集群管理。分布式系统通常由于以下原因而在多个节点上运行:

可扩展性
容错能力
负载均衡

每个节点都可以执行集群的一个或多个主要功能。这些功能可能包括存储和提供数据,产生和使用数据流等。一旦配置了这些功能,Helix便成为系统的全局大脑。它可以做出不应孤立地做出的决策。有一些此类决策需要全球知识和协调的示例:

它可以安排维护任务,例如备份,文件合并垃圾收集,索引重建
它具有跨集群重新分配数据或资源的能力。
它限制系统任务和更改。
它用于通知依赖系统更改,以便它们可以对集群更改做出适当的反应。

这些功能可以集成到分布式系统中,但是会使编码变得复杂。虽然,Helix具有通用的抽象集群管理任务,这些任务使系统构建者可以使用声明性状态模型对预期的行为进行建模。它提供了可访问性,并让Helix管理协调。从而, 结果是减少了编写新代码的次数,并生成了一个健壮的,高度可操作的系统.

螺旋在Linkedln生态系统中的用途

自2011年4月起,Helix就已在Linkedln进行开发。现在,它已用于不同系统的生产中:


浓咖啡

浓咖啡 是一个分布式的,可伸缩的,时间轴一致的文档存储,它支持本地二级索引和本地事务。它在几个存储节点服务器上运行,这些服务器存储和索引数据并回答查询。 浓咖啡 数据库在不同节点上水平分区,每个分区由指定数量的副本组成。 浓咖啡 的作用是将每个分区的一个副本指定为主副本,其余副本作为从副本。任何时候每个分区只能有一个主服务器。螺旋线 分区管理,群集范围内的监视和主控权转换 在计划的升级和计划外的故障期间。万一主服务器出现故障,将从属副本将被分配为系统的新主服务器。

数据总线

数据总线是 更改数据捕获(CDC) 系统。它用于提供一个通用管道,用于将事件从Linkedln主数据库传输到缓存,索引和其他应用程序。 数据总线 部署了一个中继集群,该中继从多个数据库接收更改日志,并让使用者订阅更改日志流。数据总线基于每个分区处理一个缓冲区。 数据总线 持续跟踪拓扑中主要数据库的更改并自动生成新的缓冲区。

数据总线消费者

每个Databus的分区都以一种方式随机分配给使用者,即每个使用者一次只接收一个分区。消费者的集合可能会随着时间而变化,并且消费者可能会因断电而离开小组。在这种情况下,必须在保持平衡和每个分区单个消费者不变的同时重新分配分区。诸如数据复制器和搜索索引器节点之类的应用程序都遵循这种模式。

SEAS(即服务搜索)

Seas允许其他应用程序在所选数据集上定义其自定义索引,然后通过服务API使这些索引可搜索。索引分为多个分区,每个分区由配置数量的副本组成。每个新的索引服务都分配给一组随机服务器,并且分区副本必须在这些服务器之间平均分配。每当引导被引导时,搜索功能都会使用数据源的快照来构建新的索引分区。 Helix还负责为系统中的并发引导程序数量设置限制。

黑皮诺

它是一个在线分析引擎,负责任意汇总和深入分析。
 阿帕奇螺旋 组件亮点:Helix教程

安装

这是Helix安装的简短版本,以了解其处理过程:

Step1 

使用以下链接下载Apache Helix发行包:
//helix.apache.org/0.6.2-incubating-docs/download.html

Step 2

转到工具目录。

解压缩软件包,然后使用命令:

cd helix/helix/helix-core/target/helix-core-pkg/bin
滚动 ⇀

Step 3

 使用以下命令运行演示:

cd helix/helix/helix-core/target/helix-core-pkg/bin./quickstart.sh
滚动 ⇀

此命令将使这些组件可以在此演示中协同工作,该演示将执行以下操作:

创建集群
• 将两个节点/参与者添加到集群
• 设置具有六个分区和两个副本的资源:每个节点/分区一个主服务器和一个从属服务器
• 当Helix配置分区时显示集群状态
• 添加第三个节点
• 显示集群状态。重要的是要理解第三个节点已经掌握了两个分区
• 杀死第三个节点(Helix负责故障转移)
• 再次显示集群状态。两个尚存的节点从发生故障的节点接管分区的主控权。

Step 4

在初始设置中,将设置两个节点,并重新分配分区。群集状态如下所示:
Helix安装:Apache Helix教程


注意: 在这里,每个分区只有一个主机和一个从机。

Step 5

添加了第三个音符,并且重新平衡了群集。现在,群集状态如下:
Helix安装:Apache Helix教程

注意: 现在,每个分区有一个主节点和两个从节点,因为有三个节点。

Step 6

最后,杀死一个节点以模拟故障。 Helix确保每个分区都有一个主磁盘。群集状态更改为:
Helix安装:Apache Helix教程

现在,您可以通过此快速指南了解Helix的想法。

概要

从头开始构建分布式系统是不重要的,容易出错且耗时的。重要的是要创建可在不同系统之间利用的适当的构建模块集。在Linkedln,Helix从Espresso开始,并继续构建各种分布式系统,这进一步使我们能够构建可靠且可操作的系统。

参考:  //helix.apache.org/

阅读更多

与我们博客

联系我们

像Facebook上的Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上添加Tutorialsmate 在Facebook上订阅Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上关注Tutorialsmate
Get tutorialsmate on Google Play
© 2020 教程伴侣 。由...设计 教程伴侣