我们将进行一些编码我将向你展示我如何构建 Twitter 和

我们将从建立网站开始到结束建立这个

域名建立数据库建立后端然后是前端

所以这就是我们将在这个视频中做的为什么我们不只是

开始吧,所以你要做的第一件事就是设置一个网络域,我

通常去 namecheap.com,你可以使用任意数量的这些

服务,只需搜索一个你喜欢的域名 tweet demo com

肯定很好 为什么不 ‘我们不只是继续,你知道你以后可以重命名它不,我

只是在开玩笑,你不能重命名它,但我们会经历这个,我会

告诉你如何设置这个,所以我 可能来自订单,是的,它

会让我花 9 块钱,但我会通过所有广告来弥补 视频

点击其中一些广告 快速暂停 感谢我们的赞助商 好奇心

流 订阅视频流服务,提供

来自世界上一些最好的电影制作人的数千部纪录片和非小说类作品,

包括独家原件在好奇心流中查看它们 comm slash tech

Lead alright 所以现在我已经设置好了,我只是进入仪表板,你

知道有时可能需要一点时间,实际上通常很快

我可以进入高级 DNS,你想要做的就是将此域名路由

到你的 自己的网络服务器 那么我们为什么不去设置一个网络服务器 那里有

许多不同的网络托管服务,比如亚马逊 AWS digitalocean

谷歌云 你甚至可以使用完全托管的服务,比如 firebase 我

将使用 IBM 云 因为这正是我所习惯的,但所有这些

界面都非常相似,我将在此处单击创建资源,并且有

一些称为虚拟服务器的东西本质上就像一个纸质服务器,

有一台机器可以租用很多人,计算能力和

内存都分配给很多人你可以在这里看到我可以点击

一个多租户公共虚拟服务器你可以选择我所在的位置 将拥有

我的和达拉斯,您可以决定虚拟 CPU 和

32 GB 的 RAM

需要多少功率

我个人使用发送的操作系统,其中

任何一个都非常好,虽然你可以在这里选择一个存储,

我将只使用 25 GB,是的,这看起来不错,所以我会

点击8,好吧,现在我有一个网络

服务器 在这里设置 我可以点击进入它 基本上他们得到了这个

现在在账单中设置了 你可以看到每小时 9 美分的成本

他们预计每天使用大约 12 小时 397

每月花费 33 71 美分左右的小时数,我

将向您展示如何设置 Web 服务器和域,因为我认为这

是任何有自尊的 Web 开发人员都可以做的最重要的事情之一,您

真正需要 一个供您分发工作的平台,如果您没有

它,那么

提出您现在无法向任何人展示的宠物项目真的会令人沮丧,因为说服务器已经全部设置好

我们需要的是弄清楚它的 IP 地址是什么,然后

路由域名,所以如果我进入这个仪表板,我可以看到

IP 地址是什么,我将把它复制到这个高级 DNS 中,然后我会将它

分配给 www 和 @ 地址,我会将它们设置为记录,

允许我将 IP 地址分配给这些点击接受,现在这个

域名应该被路由,所以如果我现在访问 tweet 演示 comm,该站点已

损坏,因为它是 可能会去我需要的那个虚拟服务器 登录

它,以便登录,您使用 SSH终端能够登录,所以

是的,如果我进入密码部分,我可以看到他们分配的用户名和密码

是什么,这让我们开始 大声点,所以我会

切换到对我们来说更安静的东西,我们在哪里,所以我说

IP 地址上的 SSH root 好了,很好,我们现在在里面我喜欢做的第一件事

就是复制我的 bash RC 文件 这基本上只是我个人喜欢的快捷方式列表

,我建议您也可以设置类似的

设置。您和这些只是随机设置,只会使终端

对我更有用,它会提示提示方式 我喜欢它,所以我会将其

SCP 到这些服务器中,好吧,很酷,所以我已经复制了它,现在我

发现我没有Emacs,所以我们要做的第一件事

就是开始安装一些程序 yuminstall Emacs 应该 这样做,现在它

只是安装了一堆包Emacs 有这么多疯狂的依赖关系现在

让我们谈谈技术栈

您可能想要使用的堆栈 您可以使用 nodejs Python Django

flask Ruby on Rails但这个标准的 Lamp 技术堆栈

可能是最简单的技术堆栈之一,而且它也非常强大,许多初创公司

都在使用 Lamp,甚至Facebook 也在标准数据库中 PHP memcache

这种类型的技术堆栈,所以你肯定可以通过这个设置来做很多破坏

,以便设置 Apache Web服务器,你发出一个命令 yum

install HTTP D,它是 HTTP守护进程的缩写,所以现在如果我运行 service HTTP D

status我可以看到它没有运行,现在如果我

运行良好,它现在应该正在运行,所以现在我可以尝试访问网站

tweet demo comm 是的,是的,你可以看到我已经启动

并运行了这个网站 我自己的 使用我自己的网络服务器的机器接下来我们需要

做的是实际配置这个服务器所以我会去斜线 httpd.conf 所以这是

一个标准路径我知道这一点因为你知道如果你只是

在你周围挖掘 ‘将能够找出他们告诉你的文档,

这是所有设置的地方,你可以看到文档根是 var www

斜线 HTML,所以我认为这对我们有用,所以我们可以去那里好吧,所以如果我

添加 index.html 然后在此处输入 hello 并保存它然后访问

推文演示 我可以看到我的自定义内容现在已经开始显示

我们需要做的下一步是安装 PHP 所以你运行 yum install PHP

和 这几乎可以在这里为您设置好 PHP,顺便说

一下,现在另一种常见的技术是通过 docker 使用容器化

来设置 Web 服务器,这样您甚至不必像单体 Web 服务器那样进行配置,

但是 总的来说,这仍然可能是简单的

现在让自己开始的最佳和最快的方法我们可以删除我们一直在

使用的 index.html 并将其更改为 PHP 文件,

如果我使用特殊命令实际页面 P info 然后它将输出

所有内容,这允许我们生成更多动态内容 有关这些安装的详细信息和信息,我可以在

这里查看并检查,所以我们需要一个数据库服务器,所以我将安装

Maria DB 服务器和 Maria DB,它只是一个客户端,这

基本上就像我的续集一样最基本和最常见的数据库形式之一,

因此Farren 显示 MariaDB 状态

所以现在我们

使用我的 SQL 语法,我将创建一个表,就像创建表用户一样,

我们将有一个 UID 字段,它是一个整数,我们将使其主键

自动递增,我们需要 IP地址 这就像一个 varc har’ 我们会

说它是低 64 个字符,它需要是唯一的,好吧,你去,

所以我们将尝试创建连接连接来我的圈子

连接数据库主机等于 localhost,如果我尝试,用户是 root 要运行它,

我的续集连接不存在,所以您实际上需要安装 –

PHP 扩展,我们只需运行 yum install PHP – 我的续集和 D,所以现在如果我运行索引类型

PHP,我可以看到我正在打印资源 ID 所以这是所有设置向导

重新连接,我实际上也可以在这里进行查询

– sequel select database 这是数据库名称,然后我们可以进行

查询,甚至从给定连接的用户中选择星号,然后我们可以打印

结果,如果 我要进入数据库显示表,我可以说

描述用户并向用户插入一个像 127.0.0.1 这样的 IP 地址

,它会从用户中插入一个项目选择星,如果我必须运行我的脚本,我们可以看到现在插入的内容

在打印的行上运行 print R s 一个数组,我

可以看到我正在更新该值,因此我们现在已经设置了数据库连接

,实际上我喜欢做的只是围绕它创建一些包装函数

,例如我们的 creo 函数,称为查询,在给定采石场的情况下

,它将自动 将该查询放入数据库并返回值,

因此我只需将这些值复制到此函数的内部,因此现在我将

能够进行许多不同的数据库查询,所以让

我们在这里讨论一下我们需要的表和字段我们需要 users 表将正确地说出

用户 ID 和他们的 IP 地址,我们不会使用用户名或

只使用 IP 地址 我们需要一个表来支持类似推文的

权利 我们得到一个 UID 我们也有一个帖子 对,然后我们还需要

关注我们给了一个UID一个用户我们也知道谁是关注者所以我

认为这是我们需要设置的三个主要表,所以我们将

进入我们的数据库并获取 这东西设置好了,我会发出 一些后续语句,

例如我将创建推文数据库创建数据库推文我们有一个 UID

,它是一个整数哦,这也需要主键,所以

推文 ID 就像一个整数,它将是一个主键,这也将是

自动递增的,并且 我们将有一个 UID,它是另一个整数,然后是

我们可以创建的帖子,比如 varchar’140,因为它将是 140 个

字符哦,日期也是正确的,因为我们希望能够对它进行排序

日期时间,因此我们将添加一些索引,例如日期上的键,

然后为什么在用户 ID 和日期上有一个键,这是一个复合键,

以便为您提供每条推文的时间顺序以及我们希望

能够 按用户 ID 过滤好吧创建那个哦

创建表然后我们还需要为下面创建一个表,其中我们

有一个 UID 是一个 int 和一个跟随者是一个 int 我们可以

在这里说也许主键只是 是用户 ID 和 fo 上的复合键

往下看,所以显示表格我可以看到这些是我创建的三个表格

现在我们回到我们的 Web服务器后端,所以现在回到

这个文件我将在这里只使用一个文件 我们需要一个表单 编写一个

用于发推文的输入表单 在此处使用一些 HTML,我们将拥有一个文本区域,为其

命名,然后是一个输入按钮 好吧,我们看起来不错,我们有一个文本

区域,您可以发推文,所以现在我 ‘M在这里的顶部有部分,

这是一个请求,所以这是PHP处理这个的方式,至少我们

得到推文,我们将解析它,并且IP地址实际上在这个

名为Server的特殊变量中 远程标题,我们可以尝试打印这些

好的,所以现在我实际上正在回显

我想要插入到推文表中的输入,所以这

就是我必须做的我需要获取用户 ID 如果用户 ID 不存在,

然后我将为它创建一个用户,我将插入该 t weet 对,

所以我会说好吧,让我创建一个名为

get single 的辅助函数,它本质上发出一个查询并返回一个值,因此

结果等于查询,我们将解析得到行然后返回

行中的第一项我们获取 UID a从 IP 等于 IP 权限的用户中选择您的 ID

和一点顾问每当您搞乱

这样的数据库查询时,它并不是很安全,所以您要确保

清理您的 输入,所以你像我的续集一样使用真正的转义字符串来

清理如果用户 ID 不存在,我们将创建它正确

插入用户 IP 好的,所以现在如果我刷新这个,如果我去

表 并从用户中选择星号,您可以看到我已经

为我当前的 IP 地址插入了第二个用户 ID 我正在从中访问它,现在我只

需要插入推文以及只需说插入推文并让我打开

这里有第二个终端,所以对于推文,我们需要一个 用户 ID 帖子和日期,或者

并输入帖子和日期以及输入的值是您的 ID,我们会

说日期等于当年月日小时分钟秒,

所以现在我可以开始发推文了一堆东西,我可以检查我的推文,比如推文中的

明星我可以看到所有这些东西都是在正确的用户

ID 下进入的下一步是我只需要进入这里并正确输出所有推文,

所以科里选择明星 从按日期降序排序的推文中,你知道,

因为我们是日期的索引,这将是一个相当有效的查询

获取结果,然后我们需要遍历它,而行等于我的续集

从结果中获取关联数组然后我们 可以打印正确的行

,我们在这里再次提取推文你不想做一些

冲动分析,所以我将使用 HTML特殊字符,我将把

它放在表格中,以便正确格式化 很快,我们

也会 输入正确的日期,这样你就可以在这里看到这已经

开始变得相当实用了,就像我可以发推文一样,它们已排序它们

按时间降序排列我们已经设置了整个网站,

我唯一需要的其他东西 在这里要做的是设置follow函数,并让这个

更漂亮,现在我们将创建一个新条目,可能带有一个

follow链接,对于这个follow链接,我们只是传递一个

我们将拥有的参数 返回到 PHP 会说的同一页面索引的路由等于

您知道要关注的任何用户 ID,因此我们在此处有一个链接,您可以

单击此内容,然后在这里我可以进入此处处理,就像您一样

在 URL 参数中获取请求以进行关注,您知道什么会获取该值,

然后再次将其转义,然后将其插入到数据库中,

我们还需要用户 ID,所以我在这里再次获取用户 ID,如有必要,将其插入

在这一点上,也许我会只需创建一个功能,例如获取您的 ID

正确查询插入忽略到跟随您的 ID 跟随所以我们去如果您

单击这些值它确实开始将值插入到下表

中可能很好不要为您的用户显示此链接已经关注所以你

知道在我渲染每个之前我可以快速检查是否

从你的 ID 等于你的 ID 的关注中获得单个 slag 追随者所以只有当该

条目不存在时我们才会有一个关注链接在那里你去那 看起来

不错我也可以关注这些用户以及您关注的用户

我们希望也能够仅显示那里的帖子而不仅仅是显示

其他帖子所以也许我只是在这里输出第二个区域我们几乎可以

做到 相同的东西,除了查询有点不同,所以我们实际上可以

创建一个用于渲染的函数和所有

这些东西 ode从用户 ID 所在的推文中选择明星

,然后我想这将是一个论文查询实际上选择

跟随从哪里跟随在哪里你是平等的用户权利所以这是一个更

复杂的续集联合,是的,你去吧 现在我们只看到

来自您关注的用户的推文,即用户 3 它按日期排序,

所以显然该网站现在不是很漂亮,但您可以轻松清理

bootstrap 是您非常流行的 HTML CSS

库 可以用来快速设置网站的样式,所以我会进入

这里,你知道导入样式表,然后将它们粘贴进去,就像

把所有这些东西都带进去一样,只要我

把它放进去,就像四行代码一样 然后刷新你可以看到这个页面已经开始

看起来更好所以这是我开始进入 HTML 这是一个文本

字段我可以进入引导程序查看组件并查找你知道就像

这个示例文本区域 看起来很漂亮太好了,所以我要做的就是进入这里

并复制样式并将其粘贴到这里给它一个名称,是的,文本区域

开始看起来不错也许我也希望这个按钮看起来更好,这样我就可以

进入这个主要的按钮 按钮看起来不错,在那里输入等于

提交,然后如果我要将它放在我们关注的用户的表格中,

也许我们应该允许用户取消关注他们,这样我就可以进入这里

更改链接以说取消关注添加事件处理程序,如果我们取消关注,如果有

东西进来,说取消关注,那么我会得到 ID,我会简单地

从表中删除它现在从跟随的飞跃是的,随着时间的推移,

你真的可以建立这个天空是极限 但我希望我向您展示了

如何启动和运行一个基本的 Web 应用程序,至于技术堆栈,

有许多不同的选项,以及代替使用 Morea DB

我的续集数据库,我们可以像MongoDB 一样使用而不是 使用 PHP 我们合作

我曾经使用过 Python 我使用标准 HTML 生成的服务器端构建了 UI 它

也可以在客户端使用说 JavaScript 完成 嘿,

对了解更多关于我们的世界感到兴奋,看看好奇心流 comm 斜线

技术飞跃世界上第一个订阅流

由探索频道的创始人创建的关于学习关心和了解我们世界的视频服务

它的内容花费了科学自然

历史技术社会和生活方式我特别喜欢非洲这一集

以及我们的工作人员拯救世界上一些最奇特

和濒临灭绝的动物之后的更多救援 物种可以无限制地获得他们的损害赔偿每月 2.99

美元或每年 19.99 美元 现在有一个特别促销活动,年度计划和

礼品卡可享受 40% 的折扣,因为我是技术主管,所以我会让你

在前 30 天完全免费 流冷静斜线技术负责人,所以

是的,这里有很多不同的购买,让我知道您将如何构建

T witter应用程序如果您喜欢该视频,我真的很想知道在下面的评论中

给它点个赞并订阅我下次再见谢谢

再见

Rate this post

Leave a Reply