大家好,我是鱼皮,近几年腾讯云开发技术持续发力,更新升级速度非常迅猛,功能也是越来越强大易用,公司最近也搞了场云开发应用竞赛,见证云开发的破茧化蝶。

还不了解云开发的同学,可以阅读这篇文章:感谢,我升高啦!

我的作品【编程导航】也有幸拿到了一等奖!我盲猜很大一部分原因是该网站的实现几乎用到了云开发所有的主流功能,应用大赛不就讲究个技术应用么?合理应用技术去解决系统中的问题。

下面就给大家分享下云开发在编程导航中的应用吧。

P.S 编程导航是一个帮大家发现优质编程资源的网站,https://www.code-nav.cn

云开发在编程导航中的应用

该项目已开源,对想学习云开发的朋友有实践意义。

地址:https://github.com/liyupi/code-nav

先放一张全部功能的思维导图:

基础能力

云数据库

存储编程导航网站的业务数据,比如用户、资源等。通过在云开发网页控制台配置索引来加速查询。

登录鉴权

用户未登录时,使用云开发 匿名登录 访问云开发资源;当用户输入动态码登录后,使用 自定义登录 实现用户登录态的前后端 token 存储和交互。

云函数

编程导航业务后台采用 serverless 架构,把后端打碎,每个接口都是一个云函数,独立部署。用于实现对数据库的增删改查、用户登录等功能。

通过云函数 定时触发器 实现用户排行周榜、月榜。

云存储

存储用户头像、资源图片等文件。

静态网站托管

一键部署编程导航静态网站,通过云开发提供的 CDN 加速网站的访问。

HTTP 访问服务

暴露云函数,使其可供其他服务器调用,并通过配置多个域名实现网站域名重定向。

云托管

以 Docker 容器集群的方式部署网站前端、微信公众号后台等服务。

安全规则

控制云开发资源的默认访问权限,保护数据安全,防止小贼偷家。

日志管理

云开发默认提供了日志记录,并且通过在云函数中使用日志 SDK 实现自定义分级日志。可以通过这些日志,定位故障、分析异常流量来源。

监控告警

通过在云开发网页控制台配置云函数等资源的监控告警规则,即时发现问题,保护业务。

API 能力

服务端 SDK 访问云函数

让多个零散的云函数能够互相调用,可用于访问公共云函数,比如发送系统消息、增加用户积分等。(类似微服务架构的公共服务)

数据库事务

支持提交和回滚,用于保证数据库一致性,防止用户发布资源后没有增加积分等问题。

聚合查询

云开发的数据库聚合查询能力非常强大,通过随机查询实现对资源的随机推荐;并通过流水线、关联查询提高查询的灵活性和效率,比如查询评论列表的同时关联查询用户头像、昵称等信息。

数据库实时推送

这是大家经常好奇的 socket 长连接解决方案,云开发允许用户实时监听数据库字段的变化,透明化底层 socket,从而实现网站实时公告、实时聊天室等功能。

扩展能力

云 CMS 内容管理系统

提供了集中式可视化数据管理功能,便于管理员定义数据模型、全局管理数据,非常方便!

云 Redis

云开发支持内网访问 Redis 中间件,非常安全。我们编写了 Redis 内部公共服务,通过 setnx 等方式对接口进行限流,保证接口安全。

工具插件

CloudBase CLI

直接在本地一行命令就能快捷发布静态网站、部署云函数、触发器等。

CloudBase Framework

和 CLI 类似,使用 CloudBase Framework 命令工具,一键部署云开发完整应用,比如静态网站、云托管容器等。

其他能力

云环境共享

最开始编程导航只有网站,后来开发了小程序。总不能再单独给小程序开发一套接口(也就几十个)、提供一套数据吧?

所以我们通过云环境共享能力,直接复用 web 项目的接口、数据等资源。


以上就是本期分享。最后给大家分享一些免费的云开发和小程序教程,真心好学好用~

指路:跑了,留下 6T 的资源!

我是如何从零开始通过自学,拿到腾讯、字节等大厂 offer 的,可以看这篇文章,不再迷茫!

我学计算机的四年,共勉!

最后还请朋友们给本文 点赞 + 收藏 支持下啦 ❤️

云开发是啥?看看它在编程导航项目的实践相关推荐

  1. cli3解决 ie11语法错误 vue_使用 VueCLI 3.x 快速搭建Vue + TS + Kbone + KboneUI + 云开发 项目...

    Vue CLI:一个基于 Vue.js 进行快速开发的完整系统.TS:TypeScript,一种由微软开发的开源.跨平台的编程语言.它是JavaScript 的超集,最终会被编译为 JavaScrip ...

  2. 获奖结果公布|2020腾讯犀牛鸟云开发校园技术布道师养成计划

    导语: 为顺应信息技术行业发展趋势及人才需求,促进新时代云计算领域人才培养,在信息技术新工科产学研联盟的指导下,由腾讯云.腾讯高校合作和图灵教育联合主办,牛客网协办的2020腾讯犀牛鸟云开发校园技术布 ...

  3. 微信小程序●云开发部署攻略

    初识微信开发者工具,有点懵,下载的是v1.02.1810190版本,进去点击什么都提示错误,摸索了下最终成功部署,特此记录一下,旨在帮助大家真正快速部署成功,可以潜心研究他的api,减少各位大佬的磨刀 ...

  4. 微信小程序绑定云服务器文档,微信小程序云开发搭建一个管理小程序.pdf

    微微信信小小程程序序云云开开发发 搭搭建建一一个个管管理理小小程程序序 概概述述 : 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云 能力. 云开发为开发者提供完整的云 支持, ...

  5. 史上最全教程没有之一,微信小程序使用云开发解决微信支付问题,我走了几天几夜的弯路啊

    我现在用云开发平台,想实现微信支付功能: 微信支付的前提 1.你的小程序开通了支付功能或者,你的小程序关联了商户号 2.你的小程序能开通支付功能,一般都是非个人类型的小程序 准备工作 1.获取小程序的 ...

  6. 小程序云开发,学习总结

    最近要参加一个比赛,用小程序做了一个论坛,然后想在这里做一个总结,主要是整理下自己是如何一步步做出来的,有哪些经验值得以后学习中借鉴,有哪些值得反思和改正,然后也给将要使用云开发做小程序的人一点参考. ...

  7. 微信小程序-普通项目如何设置为云开发项目

    最近写了一个简单的小程序,由于之前不知道小程序有云开发的功能,自己也不了解服务器开发,很多数据都是保存在了小程序本地,显然数据传到服务器是最合适的. 接触了云开发之后,发现这些问题都可以解决,但是之前 ...

  8. @程序员,你的编程方式已过时,云开发时代来临!

    作者 | 黄峰达,CSDN 博客专家 Phodal 责编 | 唐小引 头图 | 作者绘制并授权 CSDN 使用 我知道这篇文章你可能读不懂,但是它值得你去分享,未来就在那儿. 如你所见,在过去的几年里 ...

  9. 编程日历小程序,对小程序云开发和生成分享海报的实践

    1.起源 朋友圈晒的很多的一本日历书<了不起的程序员 2021>,我也买了,很厚,纸质书嘛,现在已经很少看了,加上这是一本日历书,希望是每天都打开看.可实际上的情况是,要么忘记看今天的内容 ...

最新文章

  1. 10月份机房技术指标
  2. aspnetcore mvc 异常处理_深入探究ASP.NET Core异常处理中间件
  3. 计算机系本科毕业论文评阅评语,毕业论文评阅教师评语
  4. 数据结构_排序算法总结
  5. ZooKeeper入门指南
  6. B站成立快乐奖学金 首期投入419万4172元
  7. Flask+Axios+jQuery构建前后端通信的小例子
  8. 无线SD-WAN提供商Cradlepoint完成C轮融资8900万美元
  9. excel两个表格数据对比_两个Excel表格合并,最有水平的处理方法
  10. 数据结构-顺序表基本操作-C语言代码
  11. Linux合入patch命令,Linux下Patch命令用来打补丁和卸载补丁
  12. 用计算机pol计算方位角,卡西欧计算方位角 计算器算方位角.doc
  13. 常用的企业邮箱有哪些?
  14. bellman - ford算法c++
  15. virtualxposed使用教程_Xposed 插件开发入门教程(一)
  16. \node_modules\node-sass\build\src\libsass.vcxproj(20,3): error MSB4019: 未找到导入的项目“D:\Microsoft.Cpp.De
  17. python-机器学习-手写数字识别
  18. U-BOOT中文文档 概述与配置选项
  19. pyecharts 在地图上根据经纬度和量值,画出散点图/热力图
  20. 如何选择GPS定位器

热门文章

  1. SpringMVC请求中的普通、POJO、数组集合类型传参与类转换器
  2. jsoup 去除html标签,如何使用jsoup取消注释html标签
  3. 修改器内置脚本编写_Node.js 中实践 Redis Lua 脚本
  4. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP
  5. javascript中对象、JSON格式数据、创建对象的方式、数据类型分类及特点
  6. java 合并流_Java Stream 流实现合并操作示例
  7. springboot热部署失效解决
  8. 产品经理如何通过拆产品,持续提升产品能力?附案例
  9. 2021年中国少儿编程行业报告
  10. 11个方法,打造用户增长体系