历史上第一个网页它长啥样???

一文了解web的发展史(从web1到web3) 绝对的公平是一定要实现点对点,绕过中心机构的,这也相当于所有的判断都交给了人工智能。人工智能会成为未来的主流,用户们的数据不会再提供给巨头,而是直接被人工智能获取,人工智能会通过计算把我们想要的结果直接推送给我们,整个过程是点对点的,且通过加密整个过程及数据不会被第三方获知。通证经济和数字资产的出现使得公平治理成为可能,即开发者不再有独裁的权利,有贡献的用户也可以实际参与运营治理,决策会更加民主化而不是中心化,用户也可以不再单单是消费者也可以是获益者,完善的激励机制更是会比传统的“工资”等奖励机制更高效。 阅读详情

文末赠书5本新书

来源│腾讯技术工程(ID: Tencent_TEG)

1991 年 8 月,第一个静态页面诞生了,这是由 Tim Berners-Lee 发布的,想要告诉人们什么是万维网。从静态页面到 Ajax 技术,从 Server Side Render 到 React Server Components,历史的车轮滚滚向前,一个又一个技术诞生和沉寂。

前言

1994 年,万维网联盟(W3C,World Wide Web Consortium)成立,超文本标记语言(HTML,Hyper Text Markup Language)正式确立为网页标准语言,我们的旅途从此开始。

本文将沿着时间线,从“发现问题-解决问题”的角度,带领大家了解 Web 技术发展的关键历程,了解典型技术的诞生以及技术更迭的缘由,思考技术发展的原因。

Tim Berners-Lee

Tim Berners-Lee(蒂姆·伯纳斯·李),英国科学家,万维网之父,于 1989 年在欧洲核子研究组织(CERN)正式提出万维网的设想。该网络最初是为了满足世界各地大学和研究所的科学家之间对自动信息共享的需求而设计和开发的,这也是为什么HTML的顶层声明是 document,标签名、文档对象模型的名称也是由此而来。

1990 年 12 月,他开发出了世界上第一个网页浏览器。1993 年 4 月 30 日,欧洲核子研究组织将万维网软件置于公共领域,把万维网推广到全世界,让万维网科技获得迅速的发展,深深改变了人类的生活面貌。

他创造了超文本标记语言(HTML),并创建了历史上第一个网站。当然,现在只剩下了由 CERN 恢复的网站副本:info.cern.ch.

静态网页时代

早期的静态网页,只有最基本的单栏布局,HTML 所支持的标签也仅有<h1>、<p>、<a>。后来为了丰富网页的内容,<img>、<table>标签诞生了。

这一阶段,Web 服务器基本上只是一个静态资源服务器,每当客户端浏览器发来访问请求,它都来者不拒的建立连接,查找 URL 指向的静态页面,再返回给客户端。

随着网页的飞速发展,人们发现要人工实现所有信息的编写是非常困难的,而且非常耗时。

设想一下,假如一个页面有两块区域展示的内容是互相独立的,那么你需要涵盖所有的可能,需要编写的页面数量是两块区域的内容数量的乘积!

此外,静态网站只能够根据用户的请求返回指向的网页,除了进行超链接跳转,没办法实现任何交互。

此时,人们想要

  • 网页能够动态显示

  • 直接使用数据库里的数据

  • 网页实现一些用户交互

  • 让页面更美观

JavaScript 的诞生

1994 年,网景公司发布了 Navigator 浏览器,但他们急需一种网页脚本语言,以使浏览器可以与网页互动。

1995年,网景公司的 Brendan Eich 迫于公司的压力,只花了十天就设计了 JS 的最初版本,并命名为 Mocha。后来网景公司为了蹭 Java 的热度,把 JS 最终改名为 JavaScript。但实际情况是,网景公司和 Sun 公司结成联盟,才更名为 JavaScript。

从此网页有了一些简单的用户交互,比如表单验证;也有了一些JS为基础的动效,如走马灯。

但是让网页真正开始进入动态网页时代的却是以 PHP 为代表的后端网站技术。

扩展资料:第一次浏览器大战

在网景公司推出 JavaScript 的时候,微软以 JS 为基础,编写了 JScript 和 VBScript 作为浏览器语言,并在 1995 年的 8 月推出了 IE 1.0。

由于微软在系统里捆绑浏览器,而 90% 的人都在使用 Windows 操作系统,大量用户被动地选择了 IE。面对微软快速抢占浏览器份额,网景公司无奈之下只能快速将 JavaScript 向 ECMA 提交标准,制定了 ECMAScript 标准。

在这段时间,还发生过一件趣事,IE 4.0 发布当天 Netscape 的员工们发现公司的草坪上出现了一个大大的 IE 图标,这明显是一个挑衅的举动。作为回应,Netscape 把自己的吉祥物 “Mozilla” 放在 IE 的图标上,并挂上胸牌,写着 “Netscape 72,Microsoft 18”——在当时, IE 的市场份额确实不如 Netscape Navigator。

但这无法解决份额的问题,网景公司最终在第一次浏览器大战中落败,于 1998 年,被美国在线(AOL)以42亿美元收购。

在 1998 年网景公司被收购前,网景公司公开了 Navigator 源代码,想通过广大程序员的参与重新获得市场份额。Navigator 改名为 Mozilla。这也是火狐浏览器的由来,也是第二次浏览器大战的伏笔。

CSS

1994 年,Hkon Wium Lie 最初提出了 CSS 的想法。1996 年 12 月,W3C 推出了 CSS 规范的第一版本。

美观是所有人的追求。HTML 诞生以来,网页基本上就是一个简陋的富文本容器。由于缺少布局和美化手段,早期网页流行用table标签进行布局。为了解决网页“丑”的问题,Hkon Wium Lie 和 Bert Bos 共同起草了 CSS 提案,同期的 W3C 也对这个很感兴趣。

早期网页外观

早期的 CSS 存在多种版本,在 PSL96 版本你甚至可以在里面使用逻辑表达式。但因为它太容易扩展,浏览器厂商那么多,会变得很难统一,最终被放弃。

在众多提案中,Håkon W Lie 的 CHSS(Cascading HTML Style Sheets)最早提出了样式表可叠加的概念。

行尾的百分比表示这条样式的权重,最终将根据权重计算最终值。图中将会计算 30pt * 40% + 20pt * 60% 作为h2字体大小的最终值。

为了解决 CSS 兼容性的问题,网景公司甚至还将 CSS 用 JS 来编写。

CSS 从诞生开始就伴随着大量的 bug,不同浏览器表现不同坑害了无数的程序员。今天我们能用上相对靠谱的 css,不得不说这是一个奇迹。

动态网页技术

1995 年,Rasmus Lerdof 创造的 PHP 开始活跃在各大网站,它让 Web 可以访问数据库了,PHP 实现了人们渴望的动态网页。

这里的动态网页不是指网页动效,而是指内容的动态展示、丰富的用户交互。PHP 就像给网络世界打开了一扇窗,各种动态网页技术(如 ASP、JSP)雨后春笋般的冒了出来,万维网也因此开始高速发展,MVC 模式也开始出现在后端网站技术中。

动态网页技术解决了以前各种令人无法呼吸的痛,生活总会越来越好的:

  • 可以用数据库作为基础来展示网页内容

  • 可以实现表单和一些简单交互

  • 再也不用编写一大堆静态页面了

PHP 等动态网页技术的原理,大体上都是根据客户端的请求,从数据库里获取相对应的数据,然后塞到网页里去,返回给客户端一个填充好内容的网页。这个阶段也是前后端耦合的。

网页开发流程

而当一些基础的需求被满足之后,动态网页技术带来的不足也渐渐暴露出来:

  • 网页总是刷新。用户名密码校验需要刷新以展示错误提示;因下拉选择器选择不同而展示的内容需要刷新才能展示;每次数据交互必然会刷新一次页面。

  • 网页和后端逻辑混合。相信老前端们都有过这样的经历:开发完HTML后,会把页面发给后端修改,加上数据注入逻辑;联调或者debug的时候两个人坐在一块看,查问题的效率很低。

  • 有大量重复代码无法复用。举一个典型的例子,论坛。很多时候只有内容有变化,菜单、侧边栏等几乎不会有改变,但每次请求的时候还是得再将整个网页传输一遍。不仅页面会刷新,速度慢,还挺耗流量(这个年代上网也是一种奢侈)。

然后 AJAX 站了出来。

AJAX

AJAX,Async JavaScript And XML,于 1998 年开始初步应用,2005 年开始普及。AJAX 的广泛使用,标志着 Web2.0 时代的开启。这同时也是各大浏览器争锋的时代。

现在,我们可以通过 AJAX 来动态获取数据,利用 DOM 操作动态更新网页内容了。来看看加入了 AJAX 的网页是怎么工作的:

这个时候前端路由还没有兴起,大多数情况下还是后端返回一整个页面,部分内容通过 AJAX 进行获取。

随着智能手机的出现,APP 开始萌芽。相比起网页,APP 编写好之后只需要数据接口就能工作;而网页不仅需要后端写业务逻辑,控制跳转,还要写一部分接口用于 AJAX 请求。

这个阶段前端能做的事情还是很少,还背负着“切图仔”的绰号。随着 HTML5 草案的提出,前端能做的交互越来越多,程序员们急需解决以下问题:

  • 后端业务代码和数据接口混合,还得兼容 APP 的接口(很多企业既有 APP 又有网站)

  • 前端的代码复杂度急剧增加

能不能让前端也像 APP 一样,只需要请求数据接口即可展现内容呢?

扩展资料:第二次浏览器大战

2004 年 Firefox 发布,拉开了第二次浏览器大战的序幕。同期市面上诞生的各种新兴浏览器,如 Safari、Chrome 等,也加入了战争。

此前由于 XP 系统实在过于火爆,导致 IE 6 无任何竞争对手,微软甚至解散了浏览器的大部分员工,只留下几个人象征性地维护顺便修补一下 bug。这让开发人员非常痛苦。

此时 Firefox 以优越于 IE 的性能和非常友好的编程工具,迅速将那些被 IE6 搞得焦头烂额的网页开发人员们,从水火之中救出,导致先让前端工程师成为忠实的第一批用户,然后,经由这些有经验的开发人员们推广到了普通的用户群体。

基于 webkit 内核的 Safari,借助自家产品(iOS、MacOS)的垄断快速收割移动端和 mac 端市场份额;同样基于 webkit 内核的 Chrome,趁着微软放松警惕,凭借优越于市场上所有浏览器的性能,如同中国历史上的成吉思汗一样大杀四方,快速扩展市场份额。

微软知道,自己已经失去了最初能称霸的机会,这次它不想失去,IE 再次开始迭代,各大浏览器厂商又开始不顾标准,迭代再次开始,为了统一化标准,W3C 开发了 HTML5,但是迟迟得不到微软的认可。在其他浏览器纷纷支持 HTML5 后,微软发现,自己又成了孤家寡人,份额不断缩水。

2016 年,Chrome 浏览器份额超越 IE,第二次浏览器大战结束。

浏览器大战极大的推动了技术进步,正是 Google 研发出的 V8 引擎极大的提升了 JS 的运行效率,NodeJS 才有机会诞生,前端才能走向全栈。JS 其实没有你想象的那么慢。

SPA

2008 年 HTML5 草案提出,各大浏览器开启良性竞争,争先实现 HTML5 功能。由于 HTML5 带来前端代码复杂度的增加,前端为了寻求良好的可维护性和可复用性,也不得不参考后端 MVC 进行了设计和拆分,后来出现了三大前端框架:Vue(2014)、React(2010)、AngularJS(2009)。

单页应用返回一个空白的 HTML,并通过 JS 脚本进行动态生成内容,从此和页面刷新说拜拜。

后端不再负责模板渲染,前端和 APP 开始对等,后端的 API 也可以通用化了。前后端终于得以分离。(PS:最终目标是成为后端)

但 SPA 因为返回的是空 HTML,所有 JS 也被打包为一个文件,需要在一开始就加载完所有的资源,

  • 请求网页后白屏时间比传统网页要长

  • 爬虫爬到的是空白页面,没办法做 SEO

  • 在业务复杂的情况下,请求文件很大,渲染非常慢。

这使得前端不得不拆分过于庞大的单页应用,出现了框架的多页面概念,也出现了多种解决方案。

很多网页首次加载的时候其实并不需要太多的东西,比如论坛首页与贴子详情页,完全可以将其拆开,用户在新打开的页面阅读反而体验更好(多页应用)。

又比如管理后台,可以在页面框架内,将每个菜单对应的管理页拆出来动态加载(import)。

Server Side Render

Server Side Render,服务端渲染,简称 SSR,又称服务端同构、直出,一般使用 NodeJS 实现。

这里的服务端渲染和以前的不一样,SSR 会利用已经“脱水”的首屏数据来渲染首屏页面返回给客户端,到了浏览器再注入浏览器事件,并且保留单页应用的能力,对 SEO 非常友好。但学习成本高,限制较多。

让我们看看传统 SPA 和加入了 SSR 的 SPA 在请求上的区别:

客户端渲染示意
服务端渲染示意

传统 SPA 可以更快的返回页面,请求响应时间更短;加载 JS 后才开始渲染,白屏时间更长,loading 结束后用户感知到的相对可交互时间更早。

而 SSR 在接到浏览器请求时,先从后端拉取首屏数据渲染在页面内才返回,请求响应时间更长;因为节约了一段浏览器请求首屏数据的时间,白屏时间更短。由于 JS 异步加载,用户感知的相对可交互时间变晚。但体验上 SSR 一般更好。

在极端情况下,用户眼中传统 SPA 会一直显示 loading,使用了 SSR 的页面则会出现“点不动”的情况。

大多数时候 SSR 体验会更佳,因为服务端承担了大部分渲染工作,这也导致服务端负载变高。但在业务复杂的情况下,SSR 首屏请求的接口数很多,导致返回 HTML 变慢。

归根结底,SSR 不能很好的应付业务复杂的情况,首屏要加载的东西还是太多了。所以我们要怎样让用户感知到的白屏时间变短呢?

  • 减小加载体积

  • 减少接口请求数

  • PWA 缓存

  • 分块渲染

  • …

NodeJS

说完了 SSR,必须说一下 NodeJS。2010 年 NodeJS 正式立项到现在已经 11 个年头了,NodeJS 的诞生来自于 Ryan Dahl(下图) 的灵感。他想以非阻塞的方式做所有事情,用完全异步方式可以处理非常多的请求(高并发)。

NodeJS 的出现让前端向全栈的发展迈出了重大的一步。很多公司开始用 NodeJS 搞 BFF(backend for frontend),我们也开始把 Controller 层放到 NodeJS 来处理,后端只负责基础业务数据。也就是现在的三层架构:

这种架构在跨端的时候具有良好的适配性,我们可以根据业务需求,为不同端设计不同的 Controller 和 View,而后台可以不做变更。这种架构省去了很多沟通成本,前端专注页面的展示,后端专注业务逻辑。

当然,NodeJS 还可以对后端数据进行预处理,前端根据自己的需要自己设计数据结构,页面开发与接口调试形成闭环,还为后端分担了压力。

扩展资料:第三次浏览器大战

智能手机的飞速发展,这张图表现的淋漓尽致。第三次浏览器大战是争夺移动端市场份额的一战,也是当下正在进行的一战。

Benedict Evans: “Mobile is eating the world.”(移动设备正在蚕食世界) “Mobile remakes the Internet.”(移动设备正在重构Internet)

而未来,浏览器真正的对手不再是浏览器,而是小程序这样结合了APP和网页优点的新兴技术。

未来

早在 2009 年,Facebook 的工程师就开发了 bigPipe,让 Facebook 页面打开速度提高了两倍。bigPipe 使用 分块渲染 的思想,将网页的渲染变成了一小块一小块的,服务端渲染好一块页面就发送给客户端。他们直接把木桶拆了,打破了短板效应。

服务端渲染 VS 流式分块渲染

时隔 11 年,也就是 2020 年 12 月,React 团队提出了 React Server Components,算是一个可扩展的前后端融合方案。其理念和 bigPipe 类似,把组件放在服务端渲染,节省了从浏览器进行数据请求的开支,一些运行时也可以不用放到浏览器,减小了包大小(如 markdown 在服务端渲染好了,也就不再需要把工具库发送给浏览器了)。React Server Components 的引入,也同步做到了自动的 Code Split。

React Server Components 原理

不同的是 React Server Components 返回的不是 HTML,而是带有结构和数据的自定义类 JSON 数据。

这种结构,是对服务端渲染的核心(结构+数据)进行抽象,结合 React 的工作方式(如 Suspense),平缓的从服务端过渡到了客户端,维持了组件状态,并且可以更自由的拼装服务器组件和客户端组件。

客户端组件和服务端组件混用

关于拆分这条思路,让我想到微前端,虽然现在微前端还有很多问题,但微应用即服务也不乏为一条解决之道。未来前端或许会往“小而美”的方向发展,甚至形成一个以服务端组件为单位的包管理器,网页打包大小会越来越小,更多的组件是从网络上直接获取。

此外,我们也很期待 Web Components 的发展,有了原生的支持,0kb runtime 也不是不可能了。合久必分分久必合,现存很多前端框架也可以得到统一了。当然现在 Web Components 想要投入使用,首先离不开浏览器的支持,而且必须有一个平缓的过渡,此外兼容性也是一个大问题(最后还是苦了程序员们)。

— end —

赠书福利
赠送新书《Python编程宝典:迅速提高编程水平的100个关键技能》共5本,这是一本Python语言新书籍,刚刚上架!由「 北京大学出版社」赞助提供 ,感兴趣的朋友推荐入手一本。
本书内容全面,力求覆盖Python所能涉及的各方面应用。通过实战技能的形式,读者学习时容易上手操作,达到学以致用、举一反三的目的。全书分5章,共100个关键实战技能。第1章主要介绍了Python基本语法的27个实战技能;第2章主要介绍了Python经典算法的21个实战技能;第3章主要介绍了Python在应用开发方面的13个实战技能;第4章主要介绍了Python在数据分析方面的15个实战技能;第5章在第4章内容的基础上,主要介绍了Python在数据挖掘方面的24个实战技能。


同样这次准备了2种方式抽奖,「评论点赞、朋友圈点赞」这两种方式都可以参与!感谢亲爱的读者们,你们的支持也是我持续更文最大的动力。
本次开奖时间为 2021.7.25 14:00
为了避免中奖后失联,提前加我微信号:itcodexy 。
留言点赞(3本)

留言点赞数「第一、二、三名」可获得一本《Python编程宝典:迅速提高编程水平的100个关键技能》
PS:买点赞数等作弊无效,一切解释权归程序IT圈所有,留言点赞30天内不得重复中奖!!!
朋友圈点赞抽奖(2本)记得先添加我微信,不然参加不了这个朋友圈活动 。


大奖:本文章我会转发朋友圈,给第n位(具体数值看朋友圈发布时的规则)点赞朋友圈的同学送出一本 《Python编程宝典:迅速提高编程水平的100个关键技能》,共2位。
网页爬虫--历史上的今天 网页爬虫–历史上的今天上篇博客中我们知道了,调用第三方的API获得我们想要的数据,如果我们要的数据没有现成的API怎么办?那就需要我们去网站上爬数据了。下面就教大家怎么去网页上爬我们需要的数据。一.使用Java JDK中的工具自己实现HTTP和HTTPS请求写一个HttpUtils 工具类:package org.sunming.util;import java.io.BufferedReader; 阅读详情

相关推荐

避坑指南:群晖DSM 7.X挂载NTFS硬盘,为什么你的SATA口不行?从原理到实战一次讲清

本文深入解析群晖DSM 7.X系统挂载NTFS硬盘的底层原理与实战排查方法,揭示SATA接口权限配置的关键参数(如esataportcfg和internalportcfg),并提供安全修改端口配置的详细步骤。针对不同型号群晖NAS的配置差异,给出替代方案与常见故障排查技巧,帮助用户解决NTFS硬盘挂载问题。

weixin_26757925的博客 256

五分钟了解互联网Web技术发展史

作者:charryhuang,腾讯 CSIG 前端开发工程师1991年8月,第一个静态页面诞生了,这是由Tim Berners-Lee发布的,想要告诉人们什么是万维网。从静态页面到Ajax...

腾讯技术工程 2687

安卓逆向实战:用Batch Apktool 3.8.0快速汉化APK的完整流程

本文详细解析了如何使用Batch Apktool 3.8.0进行安卓APK汉化的完整流程,包括环境配置、反编译、资源解析、深度汉化、重构建与签名优化等关键步骤。通过这款集成化逆向工具,开发者可以高效完成APK汉化,提升工作效率。

s1t2u3的博客 1099

一、万维网简史

一、js起源 1.1 万维网起源 1990年底,欧洲核能研究组织(CERN)科学家Tim Berners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(World Wide Web),从此可以在网上浏览网页文件。 最早的网页只能在操作系统的终端里浏览,也就是说只能使用命令行操作,网页都是在字符窗口中显示,这当然非常不方便。 1.2 最原始的Web浏览器 1990年,Tim以超文本语言HTML为基础在NeXT电脑上发明了最原始的Web浏览器。 体验版:https://worldwideweb

weixin_45602227的博客 8896

程序化广告行业(23/89):深度剖析广告效果评估指标

大家好,我一直希望能和大家一起在技术领域不断探索、共同进步。在之前的文章中,我们了解了程序化广告中腾讯的业务布局和广告效果评估的基础概念,今天让我们进一步深入剖析广告效果评估的各项指标,这对理解程序化广告的运作机制至关重要

yyy173611的博客 4864

Palabos User Guide中文解读 | 第一章 | 介绍

译者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,能不能完成全本翻译再说,而且文中我也会标记我不确定的地方,以传达意思为主,翻译不当的地方还请各位读者帮忙指正。 Palabos User Guide Release 1.0 r1 Copyright © 2019 University of...

Yulan Fang's notes. 6977

讨论帖~~前端以后的发展方向以及趋势!

来说说前端以后的发展方向以及趋势~~ web前端的发展史 静态网页的诞生 1989年,在欧洲粒子物理实验室(粒子物理研究通常与来自世界各地的研究所进行合作)的IT部门工作的Tim Berners-Lee向其领导提出了一项名为Information Management: A Proposal的提议:使来自世界各地的远程站点的研究人员能够组织和汇集信息,在个人计算机上访问大量的科研文献,并建议...

Yiu的博客 1841

银河麒麟V10 SP3离线安装Nginx1.21.5全记录(附11个rpm包下载清单)

本文详细记录了在银河麒麟V10 SP3操作系统上离线安装Nginx 1.21.5的全过程,包括11个必备rpm包的下载清单。通过分步骤的实战指南,帮助用户在国产化环境中高效部署Nginx服务,涵盖安装、配置、调优及故障排查等关键环节,特别适合金融、政务等对安全性要求高的场景。

weixin_30872337的博客 604

web的发展历史,互联网和万维网的关系

web的发展历史 Web(万维网,World Wide Web)的发展历史是一段非常重要的技术进步和社会变革的历程。以下是Web发展的关键阶段: 1. Web的诞生 (1989-1991) 提出概念:Web的概念由英国科学家蒂姆·伯纳斯-李(Tim Berners-Lee)在1989年首次提出。当时他在欧洲核子研究组织(...

weixin_30533933的博客 1074

STM32项目实战_基于STM32F103的智能药箱设计与实现(硬件详解+软件逻辑+调试要点)

本文详细介绍了基于STM32F103的智能药箱设计与实现,涵盖硬件设计、软件逻辑和调试要点。项目核心功能包括精准提醒、药品管理和远程监控,采用STM32单片机作为主控,结合光电开关、蓝牙模块等实现智能化管理。文章还分享了电路图设计、程序优化及常见问题解决方案,为嵌入式开发爱好者提供实用参考。

weixin_28717683的博客 303

AI大模型探索之路-训练篇3:大语言模型全景解读

大规模语言模型(Large Language Models,LLM),也称大语言模型或大型语言模型,是一种由包含数百亿以上参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标注文本进行训练。

寻道AI,探索AI无限可能! 6276

历史上第一个网页长这样

1991 年 8 月,第一个静态页面诞生了,这是由 Tim Berners-Lee 发布的,想要告诉人们什么是万维网。从静态页面到 Ajax 技术,从 Server Side Render 到 React Server Components,历史的车轮滚滚向前,一个又一个技术诞生和沉寂。 前言 1994 年,万维网联盟(W3C,World Wide Web Consortium)成立,超文本标记语言(HTML,Hyper Text Markup Language)正式确立为网页标准语言,我们的旅途从此开.

weixin_45675581的博客 2017

让闲置 MacBook 当 OpenClaw 主机:合盖运行 + 后台常驻

摘要 本文详细介绍如何将闲置MacBook改造为OpenClaw服务器,实现合盖后持续运行。首先推荐Ubuntu 22.04 LTS作为操作系统,提供详细的安装步骤和分区建议。重点介绍三种禁用合盖休眠的方法:修改systemd-logind配置、使用pm-utils工具以及调整GRUB设置。随后指导如何安装Docker并部署OpenClaw服务,包括创建docker-compose.yml文件和配置环境变量。最后说明如何设置系统服务实现OpenClaw开机自启。通过以上配置,可使MacBook在合盖状态下7

一键难忘的博客 4656

历史上第一个网页长这样 | 极客分享第 29 期

什么是“极客分享每周精选” “极客分享”是一个书签分享的网站(hackershare.dev),“每周精选”是该网站汇总精选书签的一个栏目。 本期正文 原文链接: https://hackershare.dev/weekly_selections/34 1. 历史上第一个网页长这样 CSS 从诞生开始就伴随着大量的 bug,不同浏览器表现不同坑害了无数的程序员。今天我们能用上相对靠谱的 css,不得不说这是一个奇迹。 标签: #程序员 #CSS 2. 如何把 Markdown 免费在线转换成便携幻灯?

weixin_40949750的博客 208

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

谷歌竟然悄悄把历史影像做成了网页版

曾几何时,Google Earth是查看历史影像的唯一来源,让人感慨谷歌技术的强悍,现在谷歌已经不满足于PC端,将历史影像搬到了web上直接浏览。不知道你有没有收到这样的提示信息,在打开Google Earth的时候,会有这样的提示框,提示你在网页版中探索历史图像,如下图所示。提起历史影像,你的第一反应肯定是谷歌历史影像,至于如何查看,你肯定会不假思索的回答Google Earth这款软件。总的来讲,网页端历史影像的查看方式对比PC端有一定的优化,功能更丰富,UI也更加美观。

1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

3分钟掌握网页历史存档工具:轻松回溯任何网页的过去版本

在信息快速变化的互联网时代,您是否曾经遇到过这样的情况:重要的网页内容突然消失,或者想要查看某个网站几年前的界面设计?网页历史存档工具正是解决这些问题的利器,让您能够轻松查看网页历史版本,一键保存当前页面,永久留住网络记忆。🚀 ## 🌟 什么是网页历史存档工具? 网页历史存档工具是一款强大的浏览器扩展,它能够帮助您: - **查看历史版本**:随时浏览网页在不同时间点的存档 - **保存当

gitblog_00701的博客 1036

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

网页设计的发展历史

http://www.webjx.com/html-xhtml/webxhtml-21316.html         自从第一个网站在上个世纪 90 年代初诞生以来,设计师们尝试了各种网页的视觉效果。早期的网页完全由文本构成,除了一些小图片和毫无布局可言的标题与段落。然而,时代在进步,接下来出现了表格布局,然后是 Flash,最后是基于 CSS 的网页设计。

shuyong1999的专栏 4472

python爬取静态网页历史天气数据

python 爬取静态网页内容 利用python库 requests 和 BeautifulSoup ,对静态网页内容爬取; 这里给出的例子是对一个天气网站的历史天气进行爬取; ''' python 爬虫 ''' import requests from bs4 import BeautifulSoup import re import pandas as pd import os import sys ...

Hubinbin 的博客 1165
上一篇: ​LeetCode刷题实战331:验证二叉树的前序序列化
下一篇: ​LeetCode刷题实战332:重新安排行程
编程IT圈
博客等级 码龄6年 1130粉丝 544原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值