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

前端 VS 后端

花了很长时间去学习它。(当然,现在仍然尝试去掌握它)。 意识在学习后端有些问题,因为曾认为前端和后端是一样 -- 它们都是代码而已。 这是个很大错误。 前端和后端完全是不同野兽。...它也是前端和你需要通信任何API之间层(如果它通过你自己服务器)。 我们简化事情让一些人明白,讲你将在哪里创建一个Express应用程序。...后端允许前端和数据库之间通信(或任何外部API)。回到以前,想象下一个电话接线员。如果你打电话给一个人,这些接线员必须手动连接你和你要打给那个人。(如果他们接线错误,你就打给了错的人)。...当你构建一个后端,你就像电话接线员。你把东西连接起来就可以了。 当我们构建后端,我们会问如下问题: 我们需要从前端那里得到什么信息? 我们应该传什么信息数据库/API?...不同心理模型 这是在学习后端早期观察一种常见模式: 我会假设事情向着特定方式运行 我会在Google上搜索,如何通过想到具体方式来实现东西 (Google结果也许是空) 我会破解它并构建自己基础设施

28210

【译】前端 VS 后端

花了很长时间去学习它。(当然,现在仍然尝试去掌握它)。 意识在学习后端有些问题,因为曾认为前端和后端是一样 -- 它们都是代码而已。 这是个很大错误。 前端和后端完全是不同野兽。...它也是前端和你需要通信任何API之间层(如果它通过你自己服务器)。 我们简化事情让一些人明白,讲你将在哪里创建一个Express应用程序。 ?...后端允许前端和数据库之间通信(或任何外部API)。回到以前,想象下一个电话接线员。如果你打电话给一个人,这些接线员必须手动连接你和你要打给那个人。(如果他们接线错误,你就打给了错的人)。 ?...当你构建一个后端,你就像电话接线员。你把东西连接起来就可以了。 当我们构建后端,我们会问如下问题: 我们需要从前端那里得到什么信息? 我们应该传什么信息数据库/API?...不同心理模型 这是在学习后端早期观察一种常见模式: 我会假设事情向着特定方式运行 我会在Google上搜索,如何通过想到具体方式来实现东西 (Google结果也许是空) 我会破解它并构建自己基础设施

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

不是 Ruby,而是你数据库

曾在一个拥有百万级用户应用程序,导致数据库服务器集群崩溃:原因在于一个无关控制器简单更改,使 Rails 切换到一个外部连接,该连接具有巨大物化视图,本不应以这种方式连接(用于报告)。...我们没有看到这一点,因为开发和测试,性能从未下降。但我们应该注意是,这种错误代码库中比比皆是。...而且它会查询五个连接表并且连接到至少一个索引上,而这个索引并不是为此准备。导致大约 800 毫秒查询。每次页面加载。 未优化 where、group 和 order 调用。...使用 Rails 人性化 active-record API,很容易忘记你仍然只是查询一个复杂关系数据库。它需要微调、调优和调整,以便在合理时间内为你提供数据。...对于外部数据库,这是偏移量。根据你设置,Ruby 线程甚至可能在数据库进行查找继续工作。

11430

像一名教育者一样思考代码质量

例如,如果你看到如下代码: # app/controllers/api/foo/bar/baz_controller.rb def show end Rails 会自动app/views/api/foo...但是在其他一些情况下,你可以用 Rails 做一些古怪事情,而只有那些正好掌握这些部落知识的人能够理解。 当你一个拥有经验丰富 Rails 专家团队工作,这不是个问题。...事实上,这些古怪东西能够帮助 Rails 专家变得更高效。但是,如果你工作一个对 Rails 都是新手团队,这些菜鸟绝对会陷入绝望和沮丧。 这就是需要像一名教育者一样思考地方。...我会看到大部分代码是谁写 Slack 上交流,然后他们会花费大约 20 分钟时间给我进行大致讲解。觉得这非常有用。...觉得图表很棒!幸运是,它们已经被一些人采用了。特别是架构层次,来说明不同模块是如何连接到另外一个模块。 然而,感觉图表仍然没有得到充分利用。

73730

【Web后端架构】2022年10个最佳Web开发后端框架

这些都是2022年Java、Ruby、Python、JavaScript、PHP、Scala和Golang中进行web开发最佳后端开发框架 本文中,将与您分享创建web应用程序10个最好后端框架...如果没有后端,前端可能会工作,也可能无法工作,但要创建一个功能齐全web应用程序,必须有一个与前端连接适当后端。 后端开发人员角色不同于前端开发人员。...前端开发人员更关注应用程序外观,而后端开发人员则关注服务器、数据库以及两端连接和交互方式。 后端开发人员应该具备许多必要技能。理解后端框架就是其中之一。...js,JavaScript在后端开发社区受欢迎程度迅速增加,在过去十年,Node。js已经成为顶级品牌之一。 这就是为什么Express2010年为节点开发者发布原因。它是一个极小节点。...js框架用于开发高度灵活应用程序。 考虑JavaScript是最流行web开发语言,而且可能是唯一一种提供从前端后端移动学习全堆栈开发语言,Expressjs可能是程序员最佳选择。

4K20

flask 应用程序编程接口(API)最后一节

这意味着,Web开发中常见无状态API,每个请求都需要包含服务器需要识别和验证客户端并执行请求信息。这也意味着服务器无法在数据库或其他存储形式存储与客户端连接有关任何数据。...由于应用程序资源都是相互关联,因此此要求会要求将这些关系包含在资源表示,盔甲客户端可以通过遍历关系来发现新资源,这几乎与你Web应用程序通过点击从一个页面另一个页面的链接来发现新页面的方式相同...对于指向应用程序其他路由三个链接,使用url_for()生成URL(当前指向我app / api / users.py定义占位符视图函数)。...当API客户端收到401状态码,它知道它需要向用户询问凭证,但是它是如何实现,服务器不需要关心。 用户模型实现令牌 对于API身份验证需求,将使用令牌身份验证方案。...带令牌请求 当你编写一个API,你必须考虑到你客户端并不总是要连接到Web应用程序Web浏览器。

5K10

激荡二十年:HTTP API 变迁

PHP 开发者可以把从处理用户 HTTP 请求,连接 mysql,组装 SQL 进行查询,将查询结果转换成 HTML,一路 HTML 响应返回给用户整个业务逻辑放在一个(或者若干个)如意大利面条般脚本... UAPI 演进过程也感受到了它诸多局限和问题。其中最大问题是:框架使用者是开发者,而开发者如果没有得到充足培训,会遗漏、误用、滥用框架某些能力。...这套系统最大好处是:无论是客户端开发者,还是后端开发者,都可以撰写几十行 YAML 就得到一个可以运行,和数据库紧密连接 API playground。...2020:第三次 API 工具探索 如果说 goldrin 是一个被外部环境倒逼出来急中生智,quenya,则更多像是无拘无束条件下,把之前做过诸多系统回溯一下,集大成找乐子项目。...本来这篇文章应该在上周末发表出来,可是技痒,把周末可用时间匀给了代码实现,于是撰写了(主要是通过 psql -E 偷师 psql 命令是如何查询)上百行 SQL,从postgres 获取关于

1.7K30

如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序

现在您可以输入以下命令退出PostgreSQL控制台: \q 我们现在创建一个Rails应用程序。 创建新Rails应用程序 主目录创建一个新Rails应用程序。...配置数据库连接 您创建PostgreSQL用户将用于创建应用程序测试和开发数据库。我们需要为您应用程序配置正确数据库设置。 您喜欢文本编辑器打开应用程序数据库配置文件。...如果你在这一点上得到一个错误,重温以前第(配置数据库连接),以确保database.ymlhost,username和password是正确。...如果您Rails应用程序位于远程服务器上,并且您希望通过Web浏览器访问它,则一种简单方法是将其绑定服务器公共IP地址。...3000上服务器公共IP地址Web浏览器访问您Rails应用程序: 访问网络浏览器: http://server_public_IP:3000 如果您看到“欢迎登陆”Ruby on Rails页面

3.4K00

构建Vue项目-身份验证

通常,开始使用新框架或新语言工作我会尝试查找尽可能多最佳实践,而我更喜欢从一个易于理解,维护和升级良好结构开始。...在这篇文章尝试解释自己想法,并将过去几年中获得所有知识与最新,最好Web开发实践结合起来。...这正是我们使用api.service.js所要实现目标—封装Axios库,以便在不可避免地出现新业务逻辑,我们可以只对该单一服务进行升级,而不必重构整个应用程序。...应该将其放在Vuex Store 或 Component吗? 将尽可能多逻辑放入Vuex存储似乎是一个好习惯。首先,这很好,因为您可以不同组件重用状态和业务逻辑。...有一些解决方案可以401发生将请求排入队列并在队列处理它们,但是至少对于我来说,上面的代码提供了一种更为优雅解决方案。

7K20

我们如何转型微服务?

SoundCloud, 曾经负责把一个巨石架构 Ruby on Rails 应用迁移到微服务。这个故事技术层面, 做过多次演讲并且 SoundCloud 技术博客上发表过系列文章。...先加入了后端团队,App团队,负责巨石架构 Ruby on Rails 应用。当时我们没有把它称为遗留, 而是称它为母舰。App 团队拥有 Rails 应用程序所有内容, 包括旧用户界面。...Next是一个single-page JavaScript web 应用程序, 那时我们遵循标准实践, 并将其作为常规客户端构建到我们公共API, 这是 Rails 巨石架构实现。...使用假/静态数据将设计转换成适当基于浏览器体验后, 工程师将记下他们需要 Rails API 在工作变化。然后进入Pivotal Tracker, 这是App团队工具。...正如上面的地图所示, 这最终造成了一个生产前漫长等待请求。试图解决这个问题, 我们迈出第一步是使每个人每天至少花一小时间来检查来自团队外部请求, 即来自Next工作的人员。

84980

vue-cli

这些开源项目就是巨人,站在巨人肩膀上显然省事多了 只是技术栈罗列未免过于简单,笔者还希望从这些项目中学点东西,比如他设计和项目组织. 我会尝试简化和通俗解释里面的关键知识或亮点, 但是不求甚解。...为了避免陷入细节泥潭,我会尽量使用图形化方式展示他们程序流程,避免拘泥于细节。你也可以把这些文章作为深入阅读这些项目源码引导 也希望读者同交流反馈,共同学习和进步。...Rails 有一个重要指导思想,即约定大于配置, 它为 Web 应用大多数需求都提供了最好解决方法,并且默认使用这些约定,而不是长长配置文件设置每个细节。...说实在话如果一生只学一门语言,我会选 Ruby,如果选一个 web 框架,那就是 Rails。...笔者是使用 React 作为主力开发,Vue 也是非常喜欢一个开源项目,不说别的,开发者’用户体验’方面 Vue 是见过最好之一,主要体现在 API 简洁性和易用性、文档还有项目构建工具(

3.1K10

选择一个异步应用程序服务器还是多阻塞服务器?

应用程序一直和我团队其他成员讨论关于使用一个异步应用服务器,比如Play! Framework(建立Netty上),相比于一个Rails应用程序服务器多实例旋转优缺点。...知道Netty是异步/非阻塞,意味着一个数据区查询操作,网络请求或者其他一些类似的东西,一个异步调用就将会允许事件循环线程从阻塞请求转换到另一个已准备好请求去处理/服务。...另一方面,团队成员认为你可以通过使用一个Rails应用程序多个实例来获得同样好处,它只能有一个线程,并且没有真正并发应用程序作用在JVM上,只要使用足够App实例来匹配一个Play!...这是否意味着这是唯一一种正确方法? 尝试如此回应: 两种方式都可以工作。所以,如果转换会造成高开发成本并且/或者产生进度冲突,那么这将是不值得。...服务器这意味着增加了延迟,延迟排序将不能通过乘法提高,这可能取决于你应用程序会使参数作废。

1.6K80

RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性

我们将从ruby-profbin脚本得到ruby脚本执行包装起来,并将输出定向一个临时文件。然后,当执行结束 时候,我们通过解析输出并生成调用图表和着重点以供查看。...(这样我们便可得到快照,而非等到程序结束后再从 输出获得)。...Christopher解释了这项支持目前状态: 当前使用Rubinius作为启动Ruby进程解释器还有诸多限制。当Rubinius成熟之时,就可以 使用它来尝试运行gems甚至Rails。...[了解]作为一个终端用户,他们可以不需要 编译就能迭代开发一项新特性,而且不需要下载Eclipse SDK,也不需要检出我们全部源代码,那些让人晕头转向东西。...通过 DOM我们能够提供一个很小很简单API,看上去很像Ruby API。 想尝试Aptana和RadRails 1.0或者只是想实际看看其特性的话,请看展示了大量特性截屏视频。

1.9K80

Gitlab配置webhook趟坑全纪录&由此引发常见环境问题排查思路与思考总结

前言 之前CI/CD流程配置Jenkins Job“构建触发器”,采用都是Gitlab轮询策略,每10分钟轮询一次Gitlab代码仓库,若有新代码提交,则触发构建、执行代码扫描、运行自动化测试等一系列动作...3.Gitlab配置webhook Gitlab指定代码仓库-设置-Webhooks,将构建触发器webhook url复制Webhooks地址栏 4.测试webhook 新建完成后,Project...若返回200,则说明连通性正常,若返回400、401、500等则说明配置有问题。当然如果配置过程这么顺利的话,也就不会有这篇文章存在。既然是趟坑大全,必然会有一个又一个坑等着。...【解决办法】 需要在Jenkins用户-设置-API TOKEN增加一个token,并在gitlabwebhook配置,如“http://admin:11f3dd13297766a1546d455e73933eb4cc...③ 继续分析:没过多会,”作用域“一词脑海中不断闪现:会不会是创建webhook位置创建错了,因为第一次项目下创建,遇到了坑一、二、三各种报错,没有创建成功,后来Gitlab全局设置-

2.9K30

关于apple上架常见问题汇总

答:有同样问题。登录和退出。重新启动。仍然是“加载 iCloud 音乐库”,仅此而已。Beta 1 也存在问题,该问题在重新启动得到解决。单独上传到苹果商店这是我们遇到问题。...exportArchive:Xcode Server 不支持将应用程序上传到 Apple。正在尝试将持续集成添加到我们当前应用程序构建部署过程。...已经添加了一些单元测试并在外部存储 mac mini 上配置了 xcode 服务器,以便在推送到 github 构建和运行测试——一切都很好。...希望 xcode 服务器为上传构建,但如果需要,我会设置 fastlane 来执行上传过程。但我感到困惑为什么机器人将其作为错误返回。... Apple 拒绝后上传应用程序新版本,如何更改上传版本号?当我尝试上传修改后应用程序时,它不允许并且收到一条错误消息“错误 ITMS-4238:“冗余二进制上传。

1.7K30

不要学习“网红”编程语言

从 2000 年开始,该时代中期,Ruby 受欢迎程度 TIOBE 指数评级逐渐达到顶峰,人们认为 Ruby 还有它旗舰级 Rails 框架,可以大大提高生产力。...在所有 HubSpot API 实施意见,Ruby 版本的人气(根据 stars 和 forks 判断)和更新频率都是最低。...2021 年 StackOverflow 调查结果也支持了这样判断:Ruby 与 Rails 各项评比基本都处于象限底端。Ruby 得到“赞”和“踩”基本相当。...自 2008 年以来出现一切 SaaS,未来几十年都需要新开发者加入进来。 但我们也要考虑 Ruby 陷入萎缩同时,Node.js 开始快速流行。...JavaScript 与 Python 市场需求稳定性上也越来越具有优势。Python 是过去十年增长速度最快主流编程语言,目前已经扩展 Web 开发、数据科学、科学编程等多个领域。

2.1K30

“逃离”单体,GitHub微服务架构实践

GitHub,我们单体实现了一个查询监视器来帮助我们检测,并在发现跨域查询发出告警信息。我们会根据域边界,把这些查询拆分并重写成多个,并在应用程序层实现必要连接。...现在,我们换个话题,介绍下从单体抽取服务基础工作。一定要记住,依赖方向只能从单体内单体外,不能反过来,否则,我们最终会得到一个分布式单体。...也就是说,当从单体抽取服务,要从核心服务入手,然后逐步特性层面。 接下来,找出开发人员单体环境开发所使用助力工具。随着时间推移构建一些共享工具以方便单体开发,这是很常见。...当前 Rails 应用程序(即我们单体)使用 Twirp(这是一个 gRPC 风格服务服务通信框架)和它通信,依赖方向是由内到外。...例如,多次尝试失败之后,断路器会打开,服务恢复之前,不再允许额外请求进入。为服务设置超时时间,这样服务就不会一直等待外部服务响应。

52720

为什么要使用Node.js?

这些优势Node.js和JavaScript技术栈更加明确,关于这些我们不讨论太多,这是你将Node.js加入技术栈后最明显优势。...经过长达20多年基于无状态请求响应模型,我们最终有了实时、全双工通信Web应用,浏览器和服务器都可以初始化建立连接,自由交换数据。这和传统基于客户端初始化连接Web响应模式有明显对比。...这篇文章不仅讨论那些已经实现优点,还会结合一些经典Web应用模型,告诉你为什么你要使用Node.js,以及为什么不要使用Node.js。 它是怎样工作?...尽管专用代理服务确实存在,你可以代理基础设施不全或者需要本地开发解决方案用Node.js来实现。开发你可以使用Node.js服务搭建静态资源客户端应用,代理API请求。...使用关系型数据库Web应用程序 Node.jsExpress.js和Ruby on Rails进行比较,后端访问关系数据库干净决策比较受到支持。

3.2K21

前端开发面试题答案(五)

网站重构:不改变外部行为前提下,简化结构、添加可读性,而在网站前端保持一致行为。 也就是说是不改变UI情况下,对网站进行优化,扩展同时保持一致UI。...*(缺点)Node是一个相对新开源项目,所以不太稳定,它总是一直变, 而且缺少足够多第三方库支持。看起来,就像是Ruby/Rails当年样子。 8、你有用过哪些前端性能优化方法?...向前端优化指的是,不影响功能和体验情况下,能在浏览器执行不要在服务端执行,能在缓存服务器上直接返回不要到应用服务器,程序能直接取得结果不要到外部取得,本机内能取得数据不要到远程取,内存能取到不要到磁盘取...400 Bad Request 服务器无法理解请求格式,客户端不应当尝试再次使用相同内容发起请求。 401 Unauthorized 请求未授权。...eg:输入了错误URL 405——用户Request-Line字段定义方法不允许 406——根据用户发送Accept拖,请求资源不可访问 407——类似401,用户必须首先在代理服务器上得到授权

1.7K20
领券