Domino Web应用早就想到了环保

news2025/1/12 19:05:05

大家好,才是真的好。

前几周我们讲了Notes,上周讲了点管理,这周我们可以讲点开发。

我现在要讲的技术真的很古老,但现在却被越来越多的人提倡。

传统的Notes应用可以很简单地通过浏览器访问,以一个非常简单但又很使用的用户名信息库(fakenames.nsf)为例,就是有一个表单几个视图组成,里面输入大量的人员信息,如下图:
在这里插入图片描述
放到Web上是这样访问的:http://host/dbname/viewname,例如这里为http://domsrv01.xdomino.com/fakenames2018.nsf/notes,如下图:
在这里插入图片描述
里面甚至包含一个默认的搜索功能,你可以点一下试试:
在这里插入图片描述
输入关键字,点击搜索:
在这里插入图片描述
得到了不错的结果:
在这里插入图片描述
说到这里我们得暂停一会儿,看一篇面向现代网页应用开发人员的技术博客,这是一篇充满愤怒的博客。作者是出生于 70 年代的“技术愤青”unixsheikh,他用较为激进的方式抛出了一个观点:“Web 开发人员应该花费更多时间来进行优化”,地址是:https://12ft.io/api/proxy?q=https://unixsheikh.com/articles/so-called-modern-web-developers-are-the-culprits.html
在这里插入图片描述
还对于Web开发人员提出了一些建议,例如了解如何在前端仅使用 HTML 和 CSS 来制作网站。如果必要,可以稍微用 JavaScript 进行一点 UI 改进,但请确保改进需求真实且合理(结合用户测试来具体验证)。而且即使合理,也不妨试试不用 JavaScript 能不能达成同样的效果。

很多人有共鸣,好不容易费尽心力节约性能和电力,结果一个JS包加载就全白费了,另外还有不少案例,例如有支持者给作者发邮件说:“关于文中的问题,我也一直在跟自己的老师和伙伴们争辩。我用过一个项目工具,里面包含 1786 个包、存在 69 项漏洞——45 个中风险、20 个高风险、4 个严重风险。其重达432 MB,而且内部如同一团乱麻。更可笑的是,用它甚至不足以输出‘hello world’,因为还另外需要单独的路由包和状态管理包。这一切太疯狂了,但每个人都在这条路上狂奔,还美其名曰‘现代方法’

最后作者总结到,越来越多的Web开发人员正在慢慢意识到这样一个事实,即他们这些年来所做的所谓的现代Web开发是错误的。我们需要在服务器和客户端上耗电更少的网站。

不少网站现在也开始这样做了;例如https://lite.cnn.com/en
在这里插入图片描述
太疯狂了,但每个人都在这条路上狂奔,还美其名曰‘现代方法’。

当然有些人会说,你是在为Notes应用的Web现代化实现开脱,因为Notes应用很难Web现代化——这是不对的,其实利用开发的第三方框架,现在传统的Notes应用"Web现代化"非常简单,例如只要几行代码就可以实现下列功能:
在这里插入图片描述
效果如下图:
在这里插入图片描述
当然如果你感兴趣,只要实现上述功能的技术方式,可以到B站(哔哩哔哩)搜索协作者的公开课视频。

回到这个页面,你可以看看,这还是一个最简洁的界面,但因为加载了额外的CSS和JS,网页文件的大小扩展了多少倍!每刷新一下,就感觉到电力在飞逝,二氧化碳在排放!
在这里插入图片描述
下一篇我们讲谈谈Web应用中搜索的几个办法,今天就介绍到这里吧。

更多精彩文章请关注微信公众号:协作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESP32设备驱动-MCP9808数字温度传感器驱动

MCP9808数字温度传感器驱动 文章目录 MCP9808数字温度传感器驱动1、MCP9808介绍2、硬件准备3、软件准备4、驱动实现1、MCP9808介绍 MCP9808 数字温度传感器将 -20C 和 +100C 之间的温度转换为精度为 0.5C(最大值)的数字字。 MCP9808 带有用户可编程寄存器,可为温度传感应用…

联力L216装机心得

联力L216装机心得 2022年12月份装机笔记 参考视频 B站硬件茶谈装机:https://www.bilibili.com/video/BV1BG4y137mG/?spm_id_from333.337.search-card.all.click&vd_source8f7bdd23b317e50e9b9803f44de6a213 联力L216机箱介绍:https://www.bilibili.com/vid…

ArcGIS基础实验操作100例--实验57由点坐标生成面要素

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验57 由点坐标生成面要素 目录 一、实验背景 二、实验数据 三、实验步骤 (…

【Qt】自动查找Qt应用程序缺少的依赖库

【Qt】自动查找Qt应用程序缺少的依赖库1、背景2、实例3、验证1、背景 操作系统:windows10专业版,如下图: Qt版本:qt-opensource-windows-x86-msvc2013_64-5.7.1.exe 使用Qt安装后的qtcreator5.7.1开发Qt应用程序。 将编译生成的…

基于Vue和SpringBoot的超市账单管理系统的设计和实现

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

【练习】Day03(未完成版)

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 括号生成2. 颜色分类答案1. 选择2. 编程提普通小孩也要热爱生活! 一、选择 下列Java代码中的变量a、b、c分别在内存的____存储区存放。 class A {private String a “aa”;public…

SpringBoot+JPA(官方案例)

在线文档项目结构 1.源码克隆:git clone https://github.com/spring-guides/gs-accessing-data-jpa.git 2.包含两个项目initial和complete,initial可以根据文档练习完善,complete是完整项目 3.功能描述:构建应用程序,使…

相机标定中的战斗机--张氏标定法

张正友标定法--相机标定中的灭霸!在上学期接触过calibration以后,下定决心要学一下张正友标定法的,然后没来的及学,寒假弥补一下。参考博客:https://zhuanlan.zhihu.com/p/136827980编辑切换为居中添加图片注释&#x…

车牌识别数据收集之自动化筛选工具

综述 最近在进行车牌识别的开发,在数据收集阶段除了那些特定的数据集(开源数据集),还需要自己收集一些数据,这些数据主要来自如爬虫、行车记录视频、非特定数据集,而在这些数据集中,只有少量的…

PCB结构和谐振(二)

PCB结构和谐振(一)实验研究在此章节中,我们通过不同的测试研究了旋转角度/复杂层叠/走线pitch和layout设计等,所有的测试都是基于Intel Delta L 4.0规范。旋转角度单层结构是一个简单的层叠,所以首先通过测试单层结构研…

成都远石无人机航测服务内容

成都远石无人机航测服务致力于为客户提供DEM、DSM、DOM、三维实景模型和机载激光雷达等数据成果,获得的数据成果在各个行业得到了应用和认可。相信大家对于DEM、DSM和DOM这些名词并不陌生,但对其内涵和差别却又比较模糊,接下来就讲一下这些数…

Android:OKhttp拦截器整理笔记

目录 正文 拦截器的自我实现 RetryAndFollowUpInterceptor BridgeInterceptor CacheInterceptor ConnectInterceptor CallServerInterceptor 运行一下 题外话 OkHttp是一个高效的HTTP库: 支持HTTP/2, HTTP/2通过使用多路复用技术在一个单独的TCP连接上支持并发, 通过…

Referer与XMLHttpRequest整理

Apache日志分割 1.原因 1.随着网络的访问量的增加,默认情况下Apache的单个日志文件也会越来越大。 2.日志文件占用磁盘空间很大 3.查看相关信息不方便2.对日志文件进行分割 1.Apache自带rotatelogs分割工具实现 2.第三方工具cronolog 分割3.配置日志分割(我用的p…

基于springboot+mybatis-plus+mysql+python+tensorflow2.0波导识别管理系统

基于springbootmybatis-plusmysqlpythontensorflow2.0波导识别管理系统一、系统介绍二、功能展示1.图片上传2.波导识别三、代码展示四、其它系统五、获取源码一、系统介绍 技术框架: 前端:vue 后端:springboot 算法:pythontensor…

用八叉树优化RayCasting

在之前的文章中,我们不得不等待 8 分钟来渲染一盏精灵灯和一个球体。 总而言之,我们询问每个像素是否有多个三角形之一相交。 这个场景包括: 4 个物体:1 个灯、2 个球体和 1 个平面34,378 个三角形:1 个球体没有三角形…

某音漂亮小姐姐视频合集一键下载,想看就看!

大家好,我是派森酱! 最近工作压力大,每天晚上回来基本洗洗就要睡了。但是总觉得一天就这么过去,有点遗憾,所以每天睡前躺床上刷刷抖音,看看美丽小姐姐,心情就会舒畅许多! 有些小姐姐…

架构师成长日记 - 01 4+1视图模型

文章目录 什么是软件架构什么是架构师?架构师的主要能力4+1视图模型逻辑视图(Logical View)开发视图(Development View)物理视图(Physical View)过程视图(Process View)场景视图(scenarios)软件建模语言什么是软件架构 软件架构是有关软件整体结构与组件的抽象描述,用于指导大…

StarkWare的Recursive STARKs

1. 引言 StarkWare的Recursive STARKs 为首个在以太坊主网上线的,针对通用计算的recursive stark proof方案: 递归证明目前已在以太坊主网上线: 扩容StarkEx app扩容StarkNet用于StarkWare的SaaS scaling engine用于permissionless rollup …

javaScript浅谈----asyncawait

什么是 async ? async/await 是 ES7 的标准,Promise 是 ES6 标准,async/await 这套 API 也是用来帮助我们写异步代码的,它是构建在 Promise 之上的。 async的特点: async 一般不单独使用,而是和 await 一…

3. 无重复字符的最长子串(滑动窗口)

文章目录题目描述暴力破解滑动窗口优化知识积累待解决题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输…