实用的基于网络的深度学习和安全示例

经过 Daisy
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
现在,我们创建了脚本,使其可执行,并准备对其进行编辑。 Nano是一种文本编辑器,可以让您无需单击即可编辑文本,这比使用图形用户界面要容易得多。要使用Nano编辑文件,请使用Nano,然后使用该文件的路径。要制作一个制作脚本的脚本,它与首先制作脚本相似。我们将使用与上述相同的代码,用参数参数代替脚本的“ ASCRIPT”的名称,$ 1。这使我们可以通过简单地键入sudo accript newscript来调用脚本,这时我们可以通过用脚本名称替换“ newscript”来创建任何新脚本。 Nano中的代码应该看起来像:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
为了关闭纳米,我们可以按住控制键并按x,然后y表示我们保存文件,然后点击返回。现在,我们将能够键入SUDO ASCRIPTION再次编辑脚本,而不是键入这三个命令来编辑脚本。这有效!并且任何新脚本都可以通过在外壳中调用。让我们立即保存工作:让我们编写一个备份脚本以保存我们的新脚本,然后在项目目录中备份它,同时还备份备份脚本。
sudo ascript backup
现在,在纳米:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
where/path/to/directory是您使用MKDIR创建的项目的路径。稍后,我们将学习如何使用循环和列表复制这样的重复路径,这是较少的代码,但现在让我们保持简单并有几行。要运行此脚本并备份您的代码,请使用控制+x,y和返回将文件保存在nano中
backup
如果您在阅读本书并在外壳中遵循的过程中完全提示您输入密码,请正确输入您的用户密码,您将进行三次尝试,然后再重新运行该命令。如果需要两次运行任何内容,则可以使用上下箭头来重新运行命令并编辑它们。在用右,左箭头和删除键以及键盘上编辑命令之前,简单地按中间和向上选择一个命令,然后使用返回运行它。
恭喜!您设法创建了一个很棒的备份脚本,该脚本可以备份工作目录中的两个重要的外壳脚本。随着项目越来越大,我们可能会稍后将事情移动,但现在可以使用。让我们继续备份云中的备份,我们将使用GitHub进行此操作(尽管还有许多其他git解决方案用于备份,但它们都是相同的。)git是一种Verision Control软件,可让您备份编辑到您的当您将它们送入服务器时,软件还可以使您能够下载软件或密钥后面的软件的整个副本。它有助于保存您的软件,尤其是当我们迁移到有时会在一行代码失败时断开的有时会破裂的情况,如果您没有机会支持它,则可能不会锁定您的代码。自动向上,我们将介绍。
如果您目前尚未使用Ubuntu虚拟机,那么我目前使用Ubuntu Virtual Machine提出,因为在安装所有必要的软件包时,它将使您的生活更轻松,以构建工作网站并进行深入学习在您的计算机上操作。我们将在不久的将来将代码移至Web服务器,但是我们要确保我们的Web服务器后面至少有几层安全性可以抵抗网络钓鱼,并采用许多Linux软件包才能进行。这。如果您仍然想使用Mac OS,欢迎您搜索并安装e在线必要的包裹,但本书或系列的每个软件包可能没有其他替代方案。
让我们通过运行命令sudo ascript来添加一些命令,以使用备份脚本提交我们的工作
# …
git add –all
git commit -m “backup”
git push -u origin master
再次控制X要保存。
现在,我们需要为该项目进行一次一次配置。因为它很快将是一个git项目,所以我们不需要每次从git存储库中部署时键入每个命令,但是当我们编写部署脚本时,我们会掌握此命令。首先,让我们确保我们处于正确的目录中,并初始化GIT存储库并生成SSH键。
cd /path/to/directory
git init
git branch -m master
ssh-keygen
键入SSH-Keygen之后,应将新键保存在一个名为.ssh的文件夹下的主文件夹中。它称为id_rsa.pub。让我们找到此键并复制它。看到它,
cd ~
cat .ssh/id_rsa.pub
在将git提供商(理想情况下是github)与您的git提供商(理想情况下)创建一个帐户,在将SSH键添加到您的帐户中。拥有帐户后,请单击右上角菜单,然后输入设置,然后在菜单中访问的ssh和gpg键中添加SSH键。选择添加一个SSH键,然后通过将其粘贴并给它添加标题,然后保存并返回Github创建新的存储库。对于其他GIT提供商来说,这是类似的,您需要阅读其文档。在新的存储库配置中,为您的存储库提供一个描述性名称,并决定是否要发布它,并确保配置尚未包含的文件。创建存储库后,用SS...实用的基于Web的深度学习和安全 第三版 夏洛特·哈珀 2024年7月3日 前言: 为网络构建软件的安全考虑因素是任何Web开发人员计划和执行的重要组成部分,同时设计了可靠,稳定且用于实际目的的原型。 DOM(文档对象标记),其实施HTML,JavaScript和CSS以及实施Python,C/C ++,Java和Bash的后端软件,为Web开发人员提供了自由和力量,以创建各种各样的项目创造力,提供易用性和功能性,描绘谦卑和性格,并提供易用性以及方便和重要服务,这些服务都对普通Joe(最终用户)都有吸引力希望杀死时间或在互联网上完成某件事,通常是在触摸屏智能手机设备上。大多数人甚至都不知道想从哪里开始从头开始,他们倾向于从他人的网站开始,并在功能性,可靠性,易用性,尤其是创造力上构建一些有限的东西,因为他们可以使用所有最新的功能强大工具,以便在不浪费时间按下按钮的情况下构建有用的东西,尤其是浪费金钱来为昂贵的订阅支付给很少人想要使用的软件,因为它的易用性和灵活性的限制。如果您有几分钟的阅读本书并了解我想教您的内容,甚至与我个人谈论您的目标并朝着正确的方向获得一些指导,并有动力学习编码并编写自己的软件,将这本书带回家,并留出一些时间来学习建立下一个有影响力的,功能强大,精简和重要的Web应用程序,该网站上都在您身上,完全按照您想要的方式满足您的需求。 关于我: 我是一个软件开发人员C/C ++,Java,Python,HTML,CSS和JavaScript的经验范围。我建立了人们想要使用,想要访问的网站,甚至沉迷于仅仅学习,重新创造和杀死时间,最重要的是,我出售软件。如果您对您希望网站的外观和功能确切的想法有一个想法,那么您愿意支持我,以便在我见面时我可以满足自己的需求,并且您愿意承担自己运行网站的费用,我会为您构建下一个YouTube,Tiktok,Twitter,Google,甚至只能访问高科技安全应用程序。我没有试图为您出售我的时间,而是想购买您的时间:我想与您联系,以构建一个已经存在的信息,并教您成为独立软件开发人员所需的内容,企业家,在您想要的任何领域都取得了成功的职业生涯。让我清楚,我给您的教育将是非正式的。您可以上学,并通过正规的教育,甚至在学校阅读本书,完成您的作业,并从您的教育中取走很多东西,但是我不会正式地将您放在热地上,并要求您完成任务。我不是你的教授,你可以像一个朋友一样想到我,他想指导您从自己的个人成功所驱动的职业。而且我也不会让您成功,您将需要花时间购买它。学习编码具有陡峭的学习曲线,而且从来都不是一件容易的事,甚至应该是。您需要尽可能地努力工作,并继续尝试失败并重试,即使您感到沮丧,才能自己学习和构建应用程序。这是代码本身的性质。代码是由旨在给程序员错误消息的编译器运行的,即使您只是将错误复制到搜索引擎并阅读其他人的示例中,这些代码也会教您如何编码。我必须说,您不需要非常富有,聪明,杂货,甚至是细节的构建应用程序。计算机为您照顾该组织。您只需要在反复试验和错误中坚持不懈,保持专注并努力工作,您将在整个工作中拥有非常成功的职业生涯。 我是谁: 我意识到,最后一部分更多是关于学习,而您从这本书中采取了一些方法。我到底是谁?这是一个复杂的问题。我本人还不清楚,因为我患有医疗状况,这可能使我很难编写编码或写这本书,同时在社交和身份问题上提出挑战,这使我的生活变得更加困难。简而言之,如果您正在读这本书,您将其带回家是因为您翻阅了它并认为它很有用,或者即使您只是读了这本书,我还是一个志趣相投的人,想看到您成功地参加您所做的一切。我自己是工程师,开发人员和一名学生,我正在为其他想要通过提供所需的软件手册来使生活更轻松的学生编写这本书,有用,大型,功能性,具有凝聚力和引人入胜的应用程序,无论业务范围如何,都可以推动成功。在很大程度上,这就是我要做的:我构建应用程序来帮助自己和其他人取得成功。我也是作家,尽管这是我打算完成的第一个出版物,以便将我的投资组合放在有用的文档中,而且我也是艺术家。 我会向你承认,我有点陌生的人。我并不完美,我已经与法律竞选,甚至导致我离开大学,离开州,以便为自己取得更大的成功。我是一个女人出生时,我穿化妆,给自己拍照,穿衣服和其他女装衣服,我会意识到自己女性天生。过去,我与其他人遇到了问题,导致写作和构建WebApps挣扎,很抱歉,我无法尽快将这本书掌握在您的手中:您需要这个。您将需要读和编写看起来像我的代码,就像我一样的工作,但也做得更好,因为如果您能够负担得起这本书而不是像我一样努力捣碎键盘,只是为了自己创作一本书为此,您拥有一生中取得成功所需的资源。我在家庭成长,健康状况,医生,媒体和法律方面都有各种各样的问题,而我的守则深深地反映了在一个分裂和沮丧的世界中的女权主义和女性的斗争。但是,这本书是我深切关心的,我的孩子,我的投资组合和我的生计,因此,我感谢您在将文字带回家并仔细地仔细回家以向我学习时的考虑。请记住我不是Ect,这本书将有错误,修订和新版本,您需要尽力考虑自己的逻辑大脑,以便在我的写作方面获得成功的经验。另外,请理解,即使您在写作时面对挑战,我也对您来说很好。这样考虑这样的事情:当您只能租用计算机系统去做任何您可能想象的任何事情时不可避免地会遇到困难,即您摄入甚至发布的信息。我告诉你这是因为我遇到同样的困难。使用本书以自身的风险,与您的社区和社区合作,可以在安全的环境中构建软件,并且在您失败甚至成功时不要将事情置于个人的方式:这就是我的实现方式,以及为什么我可以带给您本文并帮助您成功,而不会在疯狂的道路上摆脱困境当我遇到每个人在全球范围内遇到的普通问题时,由于我们将在全球范围内遇到的普通问题,我们将在全球范围内遇到普通问题,这要归功于我们将在互联网上工作的网络范围。您可能对我只有几句话不是很熟悉的人,但是我鼓励您继续阅读,当您在建立自己的项目以完成工作的同时继续阅读和理解我时,您会认识我。只要您的教授或老师什么都没有分配您,这本书就不会做作业,但是我强烈鼓励您在阅读时自己构建项目组合,以及一个盖帽项目,展示了如何可以展示如何应用您学到的东西。我的盖石项目是您在本书中阅读的大部分内容的基础,因为它结合了我以前的项目,我创建和学会了手工编写的代码以及对我有帮助的广泛想法和技巧的代码。成功到我可以旋转一个简单的应用程序完整的特色,外观和行为就像您可能会看到您的朋友或家人在Internet上使用,向您广告或新闻中使用的流行应用程序。 这本书是什么: 这本书是一个例子。您可以在此处找到代码,有关如何学习代码的说明,有关调试代码的信息以及修复错误,故障排除步骤,有关如何备份和保存代码的说明,请重新删除,如果有人打破代码,确保您的代码,部署,部署您的代码,建立娱乐,引人入胜和上瘾的交互式网站,您将了解我是谁,为什么这很重要,以及如何描绘自己,您的应用和公司形象以及软件您以绝对最佳的光线建造最终用户,网站的访问者最吸引人。在本书中,我将演示许多软件设计示例,重点是网络作为平台和安全性。我们将通过建立基本使用Unix shell的OPONT,具有备份和脚本功能。然后,我们将检查一个基本的博客网站,使用照片和视频功能升级我们的博客,并使用这些功能使用免费软件使用安全解决方案,并使用可插入的身份验证模块(PAM)使用安全服务器。然后,我们将查看文件处理和处理,探索视频编辑,语音捐赠,条形码扫描和光学角色识别等概念。在此过程中,我们将检查API,这将帮助我们通过免费和付费选项使我们的软件更有用和安全。一路上,我们将探索物理安全和激进工具,例如枪支和弹药设计和制造,包括枪管和中继器设计,炮塔和无人机设计以及其他校长,我们将与我们的软件集成在现有网络上,以保护我们的软件并表现出自我防御和重新措施。我们将休息一下,以建造游戏,2D和3D依靠引擎,并在基本尺寸渲染软件的案例中使用嵌入式硬件,并分别用硅胶橡胶铸造的电子振动按摩器。一路上,我们还将采用已经可用的机器学习解决方案,以更好地保护我们的软件。我们还将采用可用于网络的库存工具,以简化和保护该过程。这本书是您成功构建Web应用程序并将其与专业的计算机和嵌入式机械系统网络集成的指南,总的来说是构建软件和嵌入式硬件的指南,没有背景知识或以前的经验。 这本书不是什么: 如果您真的想拥有一个网站,则可以设置一个简单的商店并出售所需的内容,发布博客,发布照片或视频,或者以其他方式无需编写一行代码。这本书不是那样。这本书将教您如何构建更有用的软件特色,功能性和安全性比您已经找到的任何软件,因为它部署了仍然是原型的最新软件,以规模较老的公司运营的运营可能很昂贵,并且不吸引倒退,令人费解的公司为那些没有真正做任何事情的人赚钱。如果您密切关注本书,您将需要编写代码,研究代码,构建自己的应用程序,并且您将从自己的工作中赚钱。即使在早期,我也会从这本书中赚钱,因为它包含人们需要阅读的信息,并且在购买或使用我的应用程序时已经购买了。这本书不会为您构建一个应用程序,但它将指向您的方向正确,并用所需的工具以及技能和技巧武装您,这些技能和技巧将有助于您在网络上构建软件方面的成功,每一条线代码,您需要写作的示例,准备将您和您的支持者,客人,客户群,RIEND,家庭,访客,承包商和互联网人民希望使用和支持。 您将学到什么: 这本书将教您如何构建和销售软件,真正功能性,有用的软件,媒体记录,面部识别,机器可读区域条形码扫描,Web API等安全功能,以对视频和照片进行身份验证,录制和渲染视频以及诸如蓝牙之类的交换消息和近场(NFC)通信。这本书将教您如何使用网络计算机,重点关注Debian Linux,如何构建Bash代码以使安装和备份软件无缝,自动化的微风,如何构建Python代码作为后端以提供动态消息,样式,使用bootstrap使用CSS样式,通过网络设备启用用户登录和交互性,构建交互式媒体并与其他网站网络来提供安全功能,以提供诸如验证或验证文本消息之类的安全功能其他目的,ID扫描,图像和视频适度,数据徒劳的赎金,以确保您的软件安全,付款处理,加密货币交易,异步任务等。您将学习如何使用电池,充电器,微控制器,电路,电动机和传感器来构建自己的蓝牙设备,并使用焊料,电线和3D打印以及铸件。我将演示适用于增材制造,工具和模具制造的3D设计主体,因此您能够制造自己的嵌入式,具有集成电池,充电器,电子电路和功能输出的嵌入式硬件设备。并将它们与蓝牙和网络联系。具体来说,我们将检查两个案例研究,一个振动的按摩器和一支由OpenSCAD编程的自制枪支,它们可作为图形接口或命令行实用程序提供,并且可以集成到网络中以较快。 您将学习如何在没有以前的经验的情况下从头开始建立和部署网站,使其功能,安全,美丽,有用且大多数极其实用。您将学习如何使用机器学习和计算机视觉来使网站安全,更实用,从您的网站上录制视频和音频,捐赠您的声音,制作音乐和调节音频以创建有用的样本,以及如何通过利用其他网站构建最佳的网站网络,您可以直接链接到您的网站,以分享您必须提供的所有有用信息,甚至更重要的是将人们带入您的软件和业务。这本书将最集中在媒体,安全和机器学习上,这是通过与正确的用户互动并以现实,实用,实用,实用,实用,实用,实用,实用,实用,可帮助您构建有用的软件的主要三个组成部分同时也要自动且坚固。 本书教Unix,特别是Debian(Ubuntu),Bash Shell,Python,HTML,CSS,JavaScript,以及许多有用的软件包n喜欢请求,以及诸如git和ffmpeg之类的有用bash软件。我还将教您如何自动交易加密货币,并从加密货币或常规借记卡中付款,同时,如果您选择这样做,甚至还会向访问者支付收入的份额。我将教您如何通过广告从您的网站上赚钱,如何为搜索引擎准备好您的应用程序,并将其快速赚钱,在客户搜索的第一个排名中排名以找到您,并在许多常见中排名搜索尽可能。我将教您如何出售您的软件,宣传它,吸引寻找您服务的客户,并通过已经存在的途径在互联网上为您自己的名字,价格便宜且运作良好。我将教您如何将数据保存在适合您的云计算机上,并便宜地保存数据,如何计划和构建一个可以执行用户想要和想要的内容以及如何使用户参与的网站通过通知,电子邮件,短信,电话和更多途径,将您的网站轻按到他们的电话上,将用户带回您的网站,在单击“仅保护您的按钮”的后面。这本书将重点介绍大量发布和分发媒体的实用性,从文字到照片再到视频再到音频,给最终用户(您的客户)留下良好的印象,并以任何方式出售自己一个网站,一个代表您和您的应用程序,并使您,您的软件和公司以最佳方式看起来不错。您还将从我那里学到一些技巧和窍门,从编码技巧,化妆和摄影,摄影,建模和表演等实用的虚荣心等,这对于使用所有可用的工具以最好的光线描绘自己和您的公司很重要在您在健康平台上分发尽可能多的内容的同时向您分发最多的内容不需要比必要的努力,工作或金钱来实现。 本书被称为“基于Web的实用深度学习和安全性”,原因是:它涉及学习编码,特别是针对网络的编码,特别是从实际角度出发,专门针对安全性,其中有工作代码的示例文本中概述的实际目的。本文的学习组成部分还包括机器学习,我将向您展示如何访问如何处理计算机视觉,面部识别,图像和视频中的网络,图像增强,分辨率增强,图像字幕以及其他任务(例如)预测指标来自图像,例如图像的本质,例如真实的计算机传输图像或光学副本(图像的照片或印刷照片)。在网络安全和软件安全性方面,机器学习非常重要,因为它可以预先完成原本不可能的任务。你的电脑用密码登录您,但是如果它与您的脸登录,使用它可能会更安全。您可以将服务器计算机制作一个安全的计算机,该计算机通常会要求您使用用户名和密码并登录您,也许对每个新登录或新IP地址都有确认令牌,但是如果您要大规模构建,则易于使用,从根本上安全且功能强大的软件,这可能就足够了。将您的软件与其他人的软件(例如电子邮件服务或短信服务)紧密联系在一起,不足以使您的软件安全或任何人(您使用的任何网站)。 任何构建无可挑剔的安全软件的人都对这意味着什么有所了解。软件本质上是不安全的,因为我们用来访问它的设备和帐户并不总是可供使用,它们可能掌握在对软件不适的人手中,因此可能会对软件本身构成风险。这是本书的重点。网络计算机默认是使用长密钥令牌,称为和SSH或安全的Shell键,否则最好使用Web服务器保护,因为Web服务器提供了开放式访问以及在服务器本身上运行的最先进的安全工具。 Web服务器可以访问用户的Web浏览器,这可以说是用户设备中最强大的部分,因为它是用户可以访问网络软件的地方。该工具包可以渲染文本,您看到的网页,还可以录制图像,音频和视频(例如面部或状态ID的照片),可以读写到蓝牙无线电设备,并可以读写到近场应答器标签,廉价的钥匙卡,FOB,贴纸,戒指,甚至具有唯一序列号的芯片植入物,可以使用与网站绑定的Web服务器生成和验证的数据读取和写入。使用所有可以使用的工具,在这本书中,您将配备自己的知识来建立一个安全的网站,总体而言URE网络的计算机系统适合您,进行招标,外观和感觉正确。 从哪里开始: 欢迎您跳过我从本书或任何部分开始的部分,转到所需的确切代码,尤其是如果您有之前或任何上述工具的经验,我将在本书中详细描述以及记录用例及其实际示例。如果您没有编写代码的经验,我强烈建议您阅读所有本书,尤其是建议您阅读以前的部分,以确保本书适合您。如果这本书不适合您老师或其他老师在我之前做过。从您开始的地方开始,如果您打算构建有用的本书,本书的每个部分都会有用PP,并考虑到最终用户构建了最佳应用程序:了解您的客户。现在您知道了我,您知道这本书,您已经准备好开始了。首先,抓住一台计算机(即使是盒装商店,亚马逊或旧桌面的最便宜的笔记本电脑,并以适合您的方式进行设置。 如何读这本书: 文本突出显示,表示文本属于命令提示符,您将在其中编写运行的代码。命令提示符非常注重键盘,几乎不需要单击,加快了您的工作流程并使您更容易。 入门: 让我们潜入。我们将首先在本地机器上构建代码,然后在不建立连接到Internet的网站的情况下开始。从一开始就更安全,不花钱,对您来说很容易。根据您的操作系统,进入bash壳会有所不同。对于Mac OS,我建议此时安装虚拟机,因为您将获得最大的兼容性虚拟机。诸如VirtualBox和ParaLells之类的各种提供商可以为您运行虚拟机,尽管如果您更喜欢使用建议使用的本机环境来创建快速,简化的体验,则也可以直接在计算机上安装Ubuntu。如果您使用的是Linux或Windows,我建议您很容易创建一个项目。打开终端,调整合适的尺寸,然后开始遵循步骤2。如果您使用的是Windows,请遵循步骤1。 步骤1: - 仅Windows用户 在Windows中,打开命令提示符作为管理员和键入 WSL –INSTALL 步骤2: - 继续此处,或跳过步骤1,如果您不使用Windows 在开放终端(取决于您的OS,Windows中的Ubuntu,Mac或Linux中的终端或类似名称),首先创建一个项目。我们使用MKDIR命令来创建目录。如果您需要创建一个目录来存储您的项目,建议使用CD命令更改为目录和 CD/PATH/TO/DIRECTORY-路径是您的目标目录之前的文件夹(文件),默认路径为〜或/home/home/用户名(其中用户名是您的用户名)。要更改为默认目录,键入CD或CD〜 mkdir示例 - 用目录的名称替换“示例” 现在,您有一个项目目录。如果您需要切换到其他计算机或部署您编写的代码,则保存此目录非常重要,因此我们将在接下来的几个步骤中构建一个脚本来备份您的目录。但是,构建脚本需要一些代码,并且需要自动化代码以尽可能有用。因此,让我们构建一个脚本以构建脚本。让我们从创建脚本并使其可执行。我们将使用sudo,chmod并为此触摸,然后调用脚本
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
现在,我们创建了脚本,使其可执行,并准备对其进行编辑。 Nano是一种文本编辑器,可以让您无需单击即可编辑文本,这比使用图形用户界面要容易得多。要使用Nano编辑文件,请使用Nano,然后使用该文件的路径。要制作一个制作脚本的脚本,它与首先制作脚本相似。我们将使用与上述相同的代码,用参数参数代替脚本的“ ASCRIPT”的名称,$ 1。这使我们可以通过简单地键入sudo accript newscript来调用脚本,这时我们可以通过用脚本名称替换“ newscript”来创建任何新脚本。 Nano中的代码应该看起来像:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
为了关闭纳米,我们可以按住控制键并按x,然后y表示我们保存文件,然后点击返回。现在,我们将能够键入SUDO ASCRIPTION再次编辑脚本,而不是键入这三个命令来编辑脚本。这有效!并且任何新脚本都可以通过在外壳中调用。让我们立即保存工作:让我们编写一个备份脚本以保存我们的新脚本,然后在项目目录中备份它,同时还备份备份脚本。
sudo ascript backup
现在,在纳米:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
where/path/to/directory是您使用MKDIR创建的项目的路径。稍后,我们将学习如何使用循环和列表复制这样的重复路径,这是较少的代码,但现在让我们保持简单并有几行。要运行此脚本并备份您的代码,请使用控制+x,y和返回将文件保存在nano中
backup
如果您在阅读本书并在外壳中遵循的过程中完全提示您输入密码,请正确输入您的用户密码,您将进行三次尝试,然后再重新运行该命令。如果需要两次运行任何内容,则可以使用上下箭头来重新运行命令并编辑它们。在用右,左箭头和删除键以及键盘上编辑命令之前,简单地按中间和向上选择一个命令,然后使用返回运行它。
恭喜!您设法创建了一个很棒的备份脚本,该脚本可以备份工作目录中的两个重要的外壳脚本。随着项目越来越大,我们可能会稍后将事情移动,但现在可以使用。让我们继续备份云中的备份,我们将使用GitHub进行此操作(尽管还有许多其他git解决方案用于备份,但它们都是相同的。)git是一种Verision Control软件,可让您备份编辑到您的当您将它们送入服务器时,软件还可以使您能够下载软件或密钥后面的软件的整个副本。它有助于保存您的软件,尤其是当我们迁移到有时会在一行代码失败时断开的有时会破裂的情况,如果您没有机会支持它,则可能不会锁定您的代码。自动向上,我们将介绍。
如果您目前尚未使用Ubuntu虚拟机,那么我目前使用Ubuntu Virtual Machine提出,因为在安装所有必要的软件包时,它将使您的生活更轻松,以构建工作网站并进行深入学习在您的计算机上操作。我们将在不久的将来将代码移至Web服务器,但是我们要确保我们的Web服务器后面至少有几层安全性可以抵抗网络钓鱼,并采用许多Linux软件包才能进行。这。如果您仍然想使用Mac OS,欢迎您搜索并安装e在线必要的包裹,但本书或系列的每个软件包可能没有其他替代方案。
让我们通过运行命令sudo ascript来添加一些命令,以使用备份脚本提交我们的工作
# …
git add –all
git commit -m “backup”
git push -u origin master
再次控制X要保存。
现在,我们需要为该项目进行一次一次配置。因为它很快将是一个git项目,所以我们不需要每次从git存储库中部署时键入每个命令,但是当我们编写部署脚本时,我们会掌握此命令。首先,让我们确保我们处于正确的目录中,并初始化GIT存储库并生成SSH键。
cd /path/to/directory
git init
git branch -m master
ssh-keygen
键入SSH-Keygen之后,应将新键保存在一个名为.ssh的文件夹下的主文件夹中。它称为id_rsa.pub。让我们找到此键并复制它。看到它,
cd ~
cat .ssh/id_rsa.pub
在将git提供商(理想情况下是github)与您的git提供商(理想情况下)创建一个帐户,在将SSH键添加到您的帐户中。拥有帐户后,请单击右上角菜单,然后输入设置,然后在菜单中访问的ssh和gpg键中添加SSH键。选择添加一个SSH键,然后通过将其粘贴并给它添加标题,然后保存并返回Github创建新的存储库。对于其他GIT提供商来说,这是类似的,您需要阅读其文档。在新的存储库配置中,为您的存储库提供一个描述性名称,并决定是否要发布它,并确保配置尚未包含的文件。创建存储库后,用SSH URL复制克隆,然后将其粘贴到以下命令中。
git remote add git://… (your remote URL)
现在,您可以使用CD回到存储库,您将熟悉此。立即尝试使用备份的备份脚本
伟大的!现在我们真的可以进行编码。现在,让我们安装Django,因为我们对bash和git有很好的掌握。 Django将让我们自动备份我们的软件,Bash也可以做到这一点,但是Django应该具有更简单的实现(可以更轻松地禁用和配置)。
要在Ubuntu中安装软件,我们将使用sudo apt-get命令。首先,让我们更新和升级我们已经拥有的软件。这可以通过sudo apt-get update和sudo apt-get升级-y来完成。接下来,让我们安装python和我们的虚拟环境,即代码的故乡,并使用以下命令:sudo apt-get install python-is python3 python3-venv
就ubuntu实例中的软件安装而言,这就是您需要使用Django的全部。对于Windows和Linux,这应该非常简单,但是对于Mac,您可能需要安装虚拟机和Linux使用免费或付费的虚拟环境(例如VirtualBox或Paralells Desktop)上的Linux并重新创建上述步骤以设置Ubuntu环境。在这种情况下,Ubuntu至关重要,因为它是网站运行的软件,它使他们能够托管所有上述软件的网站。
让我们挖掘django。
再次在我们的目录中
python -m venv venv # 创建存储代码的虚拟环境
source venv/bin/activate # 激活虚拟环境
pip install Django
django-admin startproject mysite . # 我在当前目录中开始的项目是我所在的项目。
Django刚刚开始启动,因为Django托管了Web服务器,并且正在竭尽所能,以获取基本的本地网站启动和运行。现在,我们已经安装了Django,让我们对设置进行一些编辑以使其正常工作。首先,让我们创建一个新应用
python manage.py startapp feed
您会注意到第一个应用程序称为feed。无论您喜欢什么,都应称呼该应用程序,我们将创建新应用,但是每次在代码中引用该应用程序时,每个应用程序的名称都必须保持一致。要添加一个新应用程序,我们将始终在该应用程序创建的其他目录中编辑settings.py。使用Nano,
nano app/settings.py
在设置中,查找已安装的_apps,然后将[]分为3行。在空中心线上使用四个空间,添加“ feed”或应用程序的名称。设置的这一部分应该看起来像:
INSTALLED_APPS = [
'feed',
]
在忘记之前,让我们测试Django正在工作。使用命令python manage.py runserver 0.0.0.0:8000,我们可以运行服务器,然后在计算机上的网络浏览器中导航,将代码运行到http:// localhost:8000:8000并查看示例网页(它工作!)使用Control C退出服务器,与任何其他命令相同。
现在,让我们挖掘写一些Python代码。 Django具有三个主要组件,所有这些组件都完全由代码运行。组件称为模型,视图和模板,在将网页交付给用户之前,每个组件分别在较高和较低的级别上。
该模型是将信息存储在数据库中以进行检索,分类和渲染的代码。
该视图决定了如何渲染,操纵和修改模型,几乎每个视图都将直接使用模型。
模板是HTML代码,带有一些额外的铃铛和哨声,称为模板语言。该模板由填充有python代码的视图渲染从视图中,诸如模型和信息(USUALL字符串和整数)之类的上下文。
Django也有其他组件,包括但不限于:
设置,该设置如我们讨论时配置该应用程序。
URL,是用户遵循的模式,以访问Web应用程序的特定部分。
表单,该表格定义了如何处理发送到服务器的信息并将其渲染到数据库以及用户。这些是在服务器端处理信息的基础,并且可以接受计算机存储的任何类型的信息,最著名的是文本字符串,数字和True/false Booleans(通常是复选框)。
模板,即HTML代码和模板语言,并弥合Python和HTML之间的差距,这意味着Python信息可以用作HTML代码,任何人都可以访问并可以使用有限的访问权限的网站,同时使Python代码可访问Web并有用并有用用于远程设备上的各种目的EED将在服务器附近。
静态文件,通常是JavaScript,是服务器服务并与模板链接的库。
服务器服务或外部托管的媒体文件,或者只是在处理并发布到服务器之前写入服务器并将其发布到另一台服务器(一个存储桶)托管。
中间件是与每个视图同时运行的代码,并被视为“包含”。
上下文处理器,处理每个视图的上下文,并用于添加额外的上下文。
测试,验证用户或请求在呈现视图之前通过某些要求。
消费者,决定了网络插款如何处理和响应沟通。
admin,用于注册模型,以便可以在Django管理页面中详细操纵它们,可以通过图形接口对数据库进行管理。
定义异步任务的芹菜可以开始使用Django代码的部分在立即继续执行下一个任务或代码行之前。
Django可以拥有许多其他组件,我们将在此处详细讨论。有很多方法可以使Django更具功能性,添加Websocket,这些Websocket是快速,简化的通信渠道,芹菜,它们执行异步任务,以及许多其他用于扩展Django的软件,尤其是在视图功能中,尤其是在大多数情况下代码执行。查看功能是关键的,因为它们通常会声明特定于特定URL模式或服务器部分的每个代码。
首先,让我们探索视图功能。视图函数以表示将在视图中使用的代码的导入开始,并使用常规功能定义或类定义。最简单的视图由函数定义DEF定义,并使用基本模板返回httpresponse。首先,让我们定义一个基本观点,以返回文本“ Hello World”。请记住,每次添加在诸如def之类的语句中,如果,如果是,则需要为您要应用于函数的每个先前定义添加4个空间。我们将很快进入这些含义。
从我们网站的目录中,使用nano编辑feed/views.py文件,然后将以下行添加到末尾
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
Django的httpresponse用文本字符串响应,并用开口和关闭表示。每次您将信息传递到函数或类(例如请求或字符串)时,都需要使用括号(打开和关闭)。
这还不是我们需要看到的所有观点。当然,我们还没有告诉服务器确切的视图,我们仍然需要定义一条视图应呈现的路径。让我们从定义App/urls.py中的基本路径开始,以后我们将进入路径组。
在app/urls.py中,在开始导入我们刚创建的视图之后的导入语句之后添加一行。
from feed import views as feed_views
现在,让我们定义视图模式。查看模式具有三个组件,即路径组件,该组件告诉服务器在服务器内的视图存在(用户在导航栏中输入以输入网页的URL路径),指定视图的视图组件,以及一个视图的友好名称,因此在使用模板时很容易检索其模式,尤其是在必要时可以更改和更新它的名称,以便为其他视图提供空间或更合乎逻辑的名称。以这种方式做事并保持灵活是有意义的,因为您的代码库将是一个不断变化的环境,需要灵活性和即兴创作才能有价值且易于使用。这是您的视图,您可以将其添加到urlpatterns = [app/urls.py的部分。视图模式由上述三个组件定义,并称为路径。您的URL模式是列表,因此请确保始终结束其中的每个项目使用逗号,因为这将每个逗号分开。每个项目也应在新线路上再次使用四个空间,就像settings.py中的应用一样。我们将使用空字符串函数定义视图的第一个组件,以创建在Web服务器的根目录上运行的视图。您的urls.py现在应该看起来像
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
这是与Django创建完全静态的网站的基础。为了制作一个更具动态的网站,我们可以开始缓存信息,例如图像,视频,音频等,我们将需要使用模型,我们将接下来探索。现在,让我们检查我们的代码并运行服务器。要检查代码是否错误,请运行:
python manage.py check
如果有任何错误消息,您应该仔细查看对应用程序所做的更改,并查看是否需要修复任何内容,例如外部或缺乏空间,额外的字符,未闭合的字符串,任何错字,任何偶然的删除的角色或其他任何内容。阅读错误消息(如果有),则应该能够查看您创建或编辑的文件编号的路径,因此请查看该文件和行,看看是否可以修复那里的任何内容。如果已解决问题,请再次运行上述命令。当您的软件准备运行并正在运行时,您将看到输出“系统检查无问题”。现在你准备好了。使用以下方式运行服务器
python manage.py runserver 0.0.0.0:8000
现在打开一个Web浏览器,并导航到http:// localhost:8000。您应该在视图中看到httpresponse函数的括号和引号中返回的文本。这只是一个基本示例,但是如果您做到这一点,您就会了解Linux,Bash,Python和Django工作的基础知识。让我们深入研究一些数据库建模,并探索Python类在存储信息中的功能。然后,在使用JavaScript和机器学习使我们的网站充分,灵活和安全之前,我们将开始对HTML和CSS掌握。
课程存储在您的应用程序的模型中。使用Nano,编辑App/models.py并添加新类。类定义一个类定义的类,并通过它继承的超类,在这种情况下,在这种情况下,模型model.model。类的名称是在类定义之后的,并且在类定义A:(colon)之后,在下面表示与类绑定的属性和函数定义之前。我们的班级我们需要一个可以使用的ID来检索并保持其独特之处,并且还需要一个文本字段来存储一些信息。稍后,我们可以添加时间戳,文件,布尔值(可以帮助我们的代码来决定如何使用该模型,并可以用于对其进行排序),该实例将模型绑定到用户记录进入服务器等等。让我们解开代码
from django.db import models # 用于定义我们的班级的导入及其属性
class Post(models.Model): # 我们班级本身的定义
id = models.AutoField(primary_key=True) # 我们的模型的ID是一种自动生成的密钥,它将让我们查询模型,保持独特之处并在创建模型后需要与模型进行交互时很有用。
text = models.TextField(default='') # 在这种情况下,我们的类存储的属性是一些文本,将默认为空字符串。
关闭并保存文件,就像我们之前完成的。
随着应用程序的发展,我们将探索许多其他字段和选项,但这是创建应用程序发布文本的基本必需品。但是,该模型不会单独工作。如前所述,我们将需要一个自定义视图和自定义URL模式来使该模型起作用,并且我们还需要一个与模板一起进行的表单。让我们先探索表格。
要定义表单,请使用纳米编辑应用程序/表单。py并添加以下行。我们将需要两个导入,我们的表单类别以及我们创建的模型(feed.models.post),类似于模型的类定义,以及一个字段以及一个称为元的子类,该子类将定义模型该模型该表单交互和。该表单还可以具有初始化功能,该功能会根据请求,模型或其他方式中的信息来设置它,我们将稍后探讨。
模型表格之所以有用,是因为它们可以创建模型或编辑模型,因此,我们将两者都使用它们。让我们以形式定义一个
from django import forms
from feed.models import Post
class PostForm(forms.ModelForm):
text = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
fields = ('text',)
这是形式和模型的基础知识。该模型表格可用于实例化或编辑帖子,更改其包含的文本。我们将考虑将此形式集成到接下来的视图中。首先,让我们进行迁移并迁移数据库,以便我们的代码运行时可以与模型进行交互。为此,运行以下命令:
python manage.py makemigrations
python manage.py migrate
这将需要一分钟的时间才能执行,但是一旦完成,它将允许您在软件中的视图,中间件或其他任何地方访问该模型。让我们继续观察我们可以看到模型的地方。编辑feed/views.py并添加以下代码,如上所述。您无需在#符号之后添加任何内容,该代码是用来表示有关代码信息的注释。我们将首先将我们的模型导入视图中,然后将其添加到可以在模板中渲染为显示列表的上下文中。接下来,我们将添加一个模板,可以在其中使用按钮渲染表单和模型,以根据模型创建新对象并将其发布到服务器上。这听起来很复杂,所以让我们逐步迈出一步。在完成视图之前,让我们创建一个模板,该模板只能呈现模型,并确保我们可以通过在外壳中创建新帖子来看到它。这是该视图的外观:
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # 查询到目前为止数据库中的所有帖子
return render(request, 'feed/feed.html', {
'posts': posts,
})
这一切看起来都很简单,直到我们到达底部。渲染,该函数返回的值,而不是像上一个示例一样在HTTP响应中,总是将请求作为第一个输入,接受上下文(在这种情况下,在数据库中的帖子),现在可以在模板中呈现。 ,并返回函数中定义的模板。该模板将是带有一些名为jinja2的语言的HTML文档,该语言将Python信息传达到HTML中。
要开始创建模板,请在feed中制作两个目录。
mkdir feed/templates
mkdir feed/templates/feed
接下来,在上面的目录中编辑模板,feed/feed/feptrates/feed,并为此示例添加代码。让我们查看此示例的模板。
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
这是一个非常简单的模板。它定义了打开和关闭的HTML标签,一个文档类型标签,一个带有传奇标题的车身标签,一个断路标签,一个突破标签,在屏幕上添加一条小线路,一个循环将帖子中的每个帖子作为段落中的每个帖子作为段落中的段落中的段落中。模板。这是渲染帖子所需的全部,但是数据库中还没有。让我们用外壳创建一些。我们可以用manage.py运行外壳
python manage.py shell
现在,让我们导入我们的帖子模型
from feed.models import Post
接下来,我们将创建一个带有字符串的简单帖子并退出外壳。字符串可以是任何事物,只要有效文本即可。
Post.objects.create(text='hello world')
exit()
最后,我们需要在我们的供稿中添加URL模式。因为我们的feed应用程序将使用多个URL,并且我们希望将文件尺寸保持在较小的情况下,所以让我们在供稿应用中创建一个局部urls.py,看起来像这样:
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
我们还需要在基本应用程序中编辑URLS.PY,无论我们决定称呼它,这都是我们创建的第一个目录。编辑app/app.py并将以下内容添加到URL模式
from django.urls import include # 在顶部
urlpatterns = [
# ...以前的代码在这里
path('feed/', include(('feed.urls'), namespace='feed')),
]
现在,当我们使用Python Manage.py Runserver运行服务器时,我们将看到我们创建的页面,因为我们具有模型,视图和模板以及URL模式以及数据库中的项目。接下来,让我们实现我们创建的表格并开始创建自己的帖子。但是,在我们编写太多代码之前,让我们使用之前写过的脚本进行备份。在外壳中运行此脚本,等待片刻,所有代码都将备份到我们的git存储库中。
backup
实施表单相对简单。我们将导入我们的表单,将邮政请求处理程序添加到视图中,并将帖子保存在数据库中,然后再将其重定向到同一视图。我们可以使用我们已经导入的重定向函数,以及另一个称为“反向”的函数以获取视图模式的URL。我们将使用字符串“ feed:feed”来查询此问题,因为随附模式的名称空间是feed,并且该视图也称为feed。
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # 查询到目前为止数据库中的所有帖子
if request.method == 'POST': # 处理邮政请求
form = PostForm(request.POST) # 创建表单的实例并将数据保存到其中
if form.is_valid(): # 验证表格
form.save() # 保存新对象
return redirect(reverse('feed:feed')) # 通过get请求重定向到同一URL
return render(request, 'feed/feed.html', {
'form': PostForm(), # 确保将表格传递到上下文中,以便我们进行渲染。
'posts': posts,
})
现在,我们需要更新模板以说明新表单。我们可以使用
https://glamgirlx.com/zh-CN/practical-web-based-deep
https://glamgirlx.com/zh-CN/practical-web-based-deep -
使用以下地址给我留下比特币提示: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025