浏览器还能这样用?!

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景 大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力! 阅读详情

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

浏览器不是用来浏览网页、观看网络视频的吗?难道还可以在浏览器里码代码吗?

没错!真的可以。现在已经有很多类似JSFiddle、JSBin这样在线编辑代码的网站,不过我们今天要分享的方法并不需要注册第三方网站,只需要在浏览器的地址栏输入一行代码即可。我们首先来看一下具体的效果。

e2a42323fea23d6e57d6dfa5ab0f1674.jpeg

编辑器里的Python代码

上面这幅图中,我们发现在浏览器中可以输入Python代码,而且支持语法高亮和自动缩进功能。那么,这究竟是怎么实现的呢?

这其实可以追溯到2012年时,一位叫Jose Aguinaga的国外开发者在Coderwall上分享的一个小贴士。

将浏览器变成一个简易文本编辑器


一开始的功能非常简单,根本没有语法高亮,也没有自动缩进,仅仅是将浏览器变成一个文本编辑器而已。

Jose分享的代码如下:

data:text/html, <html contenteditable>

只需要将上面的代码复制粘贴到浏览器的地址栏,然后按回车,就可以让浏览器变成编辑器。是不是非常简单?

背后的原理并不高深,只是用到了Data URI格式而已。这行代码告诉浏览器渲染一个HTML页面,而这个页面具备一个H5属性:contenteditable。

Data URI是由RFC 2397定义的一种把小文件直接嵌入文档的方案。格式如下:data:[<MIME type>][;charset=<charset>][;base64],<encoded data>。其实整体可以视为三部分,即声明:参数+数据,逗号左边的是各种参数,右边的是数据。

请想尝试的朋友注意,这行代码只适用于Chrome等现代浏览器。如果你还在使用IE8等过时浏览器的话,是没有效果的。

baed99acc90ad0d6c7a392765e3c6811.jpeg

出现各种衍生版本


由于上面这个小技巧的出现,激发了许多开发者的的激情,不断分享自己的版本。

1

自动切换背景颜色


下面这段代码,可以让编辑器在你一边打字时,一遍切换背景颜色:

data:text/html, <html><head><link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'><style type='text/css'> html { font-family: 'Open Sans' } * { -webkit-transition: all linear 1s; }</style><script>window.onload=function(){var e=false;var t=0;setInterval(function(){if(!e){t=Math.round(Math.max(0,t-Math.max(t/3,1)))}var n=(255-t*2).toString(16);document.body.style.backgroundColor='#ff'+n+''+n},1e3);var n=null;document.onkeydown=function(){t=Math.min(128,t+2);e=true;clearTimeout(n);n=setTimeout(function(){e=false},1500)}}</script></head><body contenteditable style='font-size:2rem;line-height:1.4;max-width:60rem;margin:0 auto;padding:4rem;'>

2

笔记本样式


下面这段代码可以将浏览器页面变成一个笔记本的样式,看上去很有感觉:

data:text/html;charset=utf-8, <title>TextEditor</title> <link rel='shortcut icon' href='http://g.etfv.co/https://docs.google.com'/> <style> html{height:100%;} body{background: -webkit-linear-gradient(#f0f0f0, #fff); padding:3%; height:94%;} .paper { font: normal 12px/1.5 'Lucida Grande', arial, sans-serif; width:50%; height:80%; margin: 0 auto; padding: 6px 5px 4px 42px; position: relative; color:#444; line-height:20px; border: 1px solid #d2d2d2; background:#fff; background: -webkit-gradient(linear, 0 0, 0 100%, from(#d9eaf3), color-stop(4%, #fff)) 0 4px; background: -webkit-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -moz-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -ms-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -o-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; -webkit-background-size: 100% 20px; -moz-background-size: 100% 20px; -ms-background-size: 100% 20px; -o-background-size: 100% 20px; background-size: 100% 20px; -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.07); -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.07); box-shadow: 0 1px 2px rgba(0,0,0,0.07); } .paper::before { content: ''; position: absolute; width:4px; top:0; left:30px; bottom:0; border: 1px solid; border-color: transparent #efe4e4; } textarea{display: block; width:94%;margin:0 auto;padding:3.8% 3%; border: none; outline: none; height:94%; background: transparent; line-height:20px;} </style> <body spellcheck='false'> <div class='paper'> <textarea autofocus='autofocus'></textarea> </div> </body> </html>

a1bdc66dd81bb1e15672d9bdaab33aff.jpeg

笔记本样式的浏览器编辑器

如何变身Python编辑器?


接下来,我们来看怎样将浏览器打造成Python编辑器。只需要在地址栏输入下面的代码即可:

data:text/html, <style type='text/css'>.e{position:absolute;top:0;right:0;bottom:0;left:0;}</style><div class='e' id='editor'></div><script src='http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js' type='text/javascript' charset='utf-8'></script><script>var e=ace.edit('editor');e.setTheme('ace/theme/textmate');e.getSession().setMode('ace/mode/python');</script>

这段代码是由jdkanani在Github上分享的。

事实上,我们只要简单修改一下上面的代码,就可以马上将浏览器变成其他语言的编辑器,包括Markdown、C/C++、Javscript、Java等几乎所有编程语言。你所要做的,只是将代码中的ace/mode/python,修改成ace/mode/相应的语言(如java)即可。

除了支持多种语言,它还支持更改页面主题!Eclipse、Github、Textmate等众多经典主题,统统支持!


只需要将ace/theme/textmate中的textmate替换成你喜欢的主题即可,如monokai。

渲染Markdown文本


如果你习惯于用Markdown语法写作,你或许会希望直接在页面中查看渲染后的效果。只需要输入下面这行代码即可:

data:text/html,<style type='text/css'>.e{position:absolute;top:0;right:50%;bottom:0;left:0;} .c{position:absolute;overflow:auto;top:0;right:0;bottom:0;left:50%;}</style><div class='e' id='editor'></div><div class='c'></div><script src='http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js' type='text/javascript' charset='utf-8'></script><script src='http://cdnjs.cloudflare.com/ajax/libs/showdown/0.3.1/showdown.min.js'></script><script> function showResult(e){consoleEl.innerHTML=e}var e=ace.edit('editor');e.setTheme('ace/theme/monokai');e.getSession().setMode('ace/mode/markdown');var consoleEl=document.getElementsByClassName('c')[0];var converter=new Showdown.converter;e.commands.addCommand({name:'markdown',bindKey:{win:'Ctrl-M',mac:'Command-M'},exec:function(t){var n=e.getSession().getMode().$id;if(n=='ace/mode/markdown'){showResult(converter.makeHtml(t.getValue()))}},readOnly:true})</script>

输入Markdown代码之后,然后按Ctrl+M或Command+M,就可以将代码转换成HTML。

fc030ed8f233b4fa87b011b8c7b315ce.jpeg

渲染Markdown代码

背后的原理


看了这几个例子之后,大家可能已经明白了:这些示例都是通过Data URI格式让浏览器渲染一段HTML代码。而编辑器相关的样式已经写在了代码中。这与将相应的HTML代码放在单独文件中打开的效果是相同的。

而在前两个例子中,代码中实际用到了一个叫ace.js的文件,不知道大家注意到没有?据小编了解,Ace是一个用JavaScript编写的可嵌入式代码编辑器,据称和Sublime、Vim和TextMate等原生编辑的功能和性能相当。而且,它还可以非常容易滴嵌入到任意网页或JavaScript应用中。

而Ace也是一个叫Cloud9IDE的在线集成开发环境所使用的主要编辑器。具体效果请看下图:

18c96a49225e4d607fcfec81bf2927a3.jpeg
Cloud9IDE 编辑器效果

SlimText


程序员都是爱折腾的物种。有的开发者还是不满足于上面那种手动输入代码、将浏览器变成编辑器的方法,甚至是直接将真正的编辑器搬到了浏览器中运行。这就是我们最后要介绍的SlimText,下面是具体截图。

e95ff8e22d8380c330345dc16ac81255.jpeg
SlimText截图

如截图所示,SlimText是一个真正的浏览器端代码编辑器,以Chrome插件的形式存在,文件结构、文件搜索、文件保存等功能一应具有。它是一位名叫tylerlong的国人开发的,支持Windows、Linux和Mac OS X等多个平台。

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

e37fde46644a5dc2428afb258df8e319.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

傅里叶光学(1) 傅里叶光学,可以看作是通信理论中傅里叶变换等一系列数学思想以及系统理论与光学(主要是衍射光学)相结合的产物关于傅里叶光学的应用领域,本节介绍了成像,当然事实上不可能仅限于成像,经典的还如激光散斑的一些应用,干涉计量,还有傅里叶变换光谱学等等。最后总结一下,傅里叶光学我认为可以看做一个工具,对于任意的系统,它能给出一些数学思想与物理原理进行解释和分析,找出系统的扰动和响应的关系,或者说根据扰动和响应,来研究或者设计一个系统。 阅读详情

相关推荐

如何使用安路TD与Modelsim进行联合仿真?

1)安装安路FPGA开发软件;(本次实验使用版本:TD_5.6.3_Release)2)安装Modelsim仿真软件;(本次实验使用版本:Modelsim SE-64 10.1c)3)FPGA开发板;(本次实验使用型号:EG4X20BG256)4)LED点灯例程;

qq_17313923的博客 3222

第三次浏览器大战来了,Chrome危矣?!

这一点答案是肯定的,随着越来越多的操作开始在一个对话框里完成,从问问题到订餐、生成表格、查邮箱,用户不再需要频繁跳页面,AI 直接动手替你搞定。除此之外,这款浏览器也有一些弊端,据外媒 Techcrunch 报道,要想让它发挥全部功能,用户需要授权相当多的访问权限,包括读取日历、邮件、联系人,甚至代表用户添加日程或发邮件。简单来看,Perplexity 的核心产品是一款结合大型语言模型与网页实时检索的 AI 搜索引擎,它能够围绕用户查询,从互联网上拉取权威信息并生成结构清晰、可追溯的答案。

优快云资讯 1万+

Isaac Sim 6 利用Replicator实现高效语义分割与实例分割(实践指南5.10)

本文详细介绍了如何利用Isaac Sim 6的Replicator工具高效生成语义分割和实例分割数据集。通过虚拟环境自动标注,效率提升20倍以上,特别适用于农业机器人等计算机视觉项目。文章包含环境配置、场景构建、批量标注技巧及实例分割处理等实战指南,帮助开发者快速掌握合成数据生成技术。

weixin_42526415的博客 266

浏览器 的 session 如何保持?!

浏览器 的 session 如何保持?! http://qindingsky.blog.163.com/blog/static/3122336200832853116360/ 在谈论session机制的时候,常常听到这样一种误解“只要关闭浏览器,session就消失了”。其实可以想象一下会员卡的例子,除非顾客主动对店家提出销卡,否...

weixin_30284355的博客 282

海康VM加密狗无法识别常见问题排查

海康VM加密狗无法识别常见问题排查

视觉人机器视觉的博客 2729

完整的申请邓白氏编码的流程(手把手教你申请邓白氏编码)

申请公司的苹果开发者账号和企业级的苹果开发者账号时,都会用到邓白氏编码,也就是我们申请苹果开发者账号时需要填写的D-U-N-S Number。     申请这个邓白氏编码是免费的,但是从像华夏邓白氏公司提交申请到可以申请苹果开发者账号来用这个9位的D-U-N-S Number,需要一段时间,我申请得到D-U-N-S Number,用了8个工作日(不算周末哦)

wxw2011014003的博客 9万+

浏览器主页被篡改了怎么办?!

被流氓(eg:hao123)劫持了浏览器主页,百度了一堆:改internet 配置,改注册表都搞不掂,发现打开还是hao123的主页。。。精神已经崩溃了对不对? 可能的原因: 浏览器的主页并没有真正被修改,而是其快捷方式被修改了。(常见的情况是使用了小马工具激活office或者windows) 想要检查是否属于这种情况,方法很简单。查看浏览器图标的属性即可 解决方案1(简单粗暴,有隐患...

yinchao163的专栏 3421

银河麒麟V10ARM架构服务器离线安装docker\nacos【附安装包】

本文分享了在银河麒麟ARM64操作系统上安装Docker和Nacos的完整过程。首先提供了Docker的自动化安装脚本,包含服务配置、存储路径设置等关键步骤,并给出了常用维护命令。接着详细介绍了通过Docker-compose部署Nacos的方法,包括镜像导入、配置文件修改、鉴权设置等注意事项,特别强调了密钥长度必须超过32个字符的要求。文章还提供了Nacos初次登录的注意事项,并预告了后续可能推出的Redis、Nginx等安装教程。所有配置文件和脚本均可直接下载使用,适合内网环境下国产操作系统的部署

weixin_39054697的博客 2344

它的出现将统一所有浏览器存储 API ?!

大家好,我是 Winty,请不了大家吃KFC全家桶,但是可以了解一下存储桶。多年来,Web 生态系统中已经发展出很多可用于存储的 API,例如 IndexedDB、localStorage 和 showNotification() 等等。whatwg 的 Storage 标准通过定义存储的持久化、容量估算、过期时间等能力来整合这些 API。它的出现会让浏览器存储发生什么样的变化呢,我们今天就一起来...

LuckyWinty的博客 289

【AUTOSAR-E2E】-2.3-配置E2E:基于E2EPW配置一个RX接收的Signal Group(使用E2E Profile 1)

《共13页精讲》:此法也适用于E2E Profile 4/5/6/7/11/22 目录 1 检查CAN Matrix Arxml/DBC是否满足E2E需求 2 在DaVinci Developer中为Port添加E2E保护 3 在DaVinci Configurator settings设置 4 如何使用应用层的E2E保护 5 结尾 <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <-.

「汽车电子助手」的博客 3953

【python股票价格预测】基于CNN-LSTM的股票价格预测(附python代码)

【python股票价格预测】基于CNN-LSTM的股票价格预测(附python代码)

k8291121的博客 2008

Mozilla Firefox 浏览器又变快了,它究竟是怎么做到的?!

本文是 Mozilla 开发团队的成员 Lin Clark 对 Firefox Quantum 开发的一些介绍。人们已经注意到 Firefox 速度又变快了。在过去的七个月里,我们一直在迅速地更换着引擎的主要部件,在 Firefox 中使用了 Rust 和部分的 Servo。此外,有一个源于代码的问题,明显或不明显的严重影响浏览器性能。我们称之为“Project Quantum”,重生的首个 Fi...

weixin_34262482的博客 523

AI穿透式智慧粮仓

本报告基于 2025-2026 年全国多地智慧粮储实践案例,系统分析了 "AI + 穿透式" 智慧粮储体系的技术架构、AI 算法应用、提质增效成效、区域差异化特点及未来发展趋势。该体系通过多模态感知、智能算法与管控平台的深度融合,实现粮食存储全流程精准感知、智能预警与科学调控,显著降低储粮损耗与运营成本,大幅提升储粮安全水平与管理效率。报告梳理了各地差异化实践路径,提出针对性发展建议,为推动我国粮食仓储高质量发展、筑牢国家粮食安全防线提供参考。

reset2021的博客 231

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!

小梦的博客 3600

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

在浏览器中输入一个URL并回车之后发生了什么?!

1、在浏览器中输入了URL之后,浏览器首先对拿到的URL进行处识别,抽取出域名字段; 2、DNS解析(域名解析) DNS实际上是一个域名和IP相对应的数据库 输入IP地址是直接从主机上调用内容;输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容 在进行DNS解析时,会经历以下步骤: ①查询浏览器缓存(浏览器会缓存之前拿到的DNS,...

xiuzii的博客 998

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

等等,浏览器竟然有这功能?!10 个被低估的 Web API

其中一些可能是你的日常工具,但我敢肯定至少有几个会让你惊呼“等等等,浏览器竟然有这功能?!好了,废话不多说,让我们开始吧。

冴羽的博客 419

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

时代变了,程序员の老冤家IE浏览器离场啦?!

序 微软方面宣布,自2020年 11 月 30 日起,Microsoft Teams Web 应用将停止对 Internet Explorer 11(IE11)的支持; 到 2021 年 8 月 17 日,Microsoft 365 应用和服务将全面停止对 IE11 的支持。 同时,其还将于 2021 年 3 月 9 日起结束对旧版 Edge 浏览器(Edge Legacy)的支持,建议用户开始使用新版 Edge 浏览器 微软希望用户使用的新Edge是一款基于谷歌开源架构Chromium的互联网浏览器

苦作舟的空城机 1017

无需服务器,浏览器跑700+AI模型?!

Transformers.js 是一个创新的网络机器学习库,它将先进的 Transformer 模型直接带入浏览器,无需服务器端支持。这个库与 Hugging Face 的 Python transformers 库功能对等,提供相似的 API 接口来运行预训练模型,涵盖了自然语言处理、计算机视觉、音频处理以及多模态任务。

java_121388的博客 681

python编辑器_浏览器 1 秒变身 Python 编辑器?!

这是早期的一篇文章,分享的内容我到现在还是觉得非常有意思。EarlGrey@编程派浏览器不是用来浏览网页、观看网络视频的吗?难道还可以在浏览器里码代码吗?没错!真的可以。现在已经有很多类似JSFiddle、JSBin这样在线编辑代码的网站,不过我们今天要分享的方法并不需要注册第三方网站,只需要在浏览器的地址栏输入一行代码即可。我们首先来看一下具体的效果。上面这幅图中,我们发现在浏览器中可...

weixin_39890102的博客 368

盘点系列--大学四年,我的Chrome浏览器都装了啥插件?!

Chrome浏览器不仅是我们Web开发时必备的工具,同时也是我们日常生活必备的软件。相比某些国产浏览器,简洁、专业、没有广告吸引了一大批用户。而Chrome的扩展程序也是Chrome流行的另一重要原因,本篇来分享一下我的Chrome浏览器中安装的插件(排名不分先后)。 插件安装可以直接去Chrome的应用商店下载安装,对于没有办法直接下载的小伙伴,我会提供离线包(打包繁琐,有用的话还望给个赞,给您笔芯了❤~~) 离线包下载链接在最后哦! 插件推荐 1.AHA Music - 浏览器中的音乐雷达 AHA

java.util.Man的博客 874

浏览器地址栏竟然隐藏着这么多信息?!看完这张图你就懂了

为什么电脑没有中毒没有打开过“奇怪”的网站账号却莫名其妙被盗了?为什么丢失iPhone后点击“官方找回手机”的邮件或短信在“苹果官网”上输入账号密码后发现丢失手机竟然被人解锁?真相就是你遇到了“钓鱼网站”除了提高警惕性及时看穿骗子的伎俩外在网站上输入账号密码敏感信息时也要留心一下其实,通过浏览器地址栏前的提示就能轻松判断网站的真实与否识破骗子的伎俩这些提示究竟有哪些呢?又是如何实现的呢?看完下图你...

秀 854

webkit内核_苹果准备为Win系统用户开发基于Chromium内核的Safari浏览器?!

苹果曾经发布过适用于Windows的Safari浏览器,但几年前便停止了开发维护。目前,使用Webkit内核的苹果Safari浏览器仅在Mac,iPhone和iPad上可用。不过,日前曝光的一份新报告称,苹果将来可能会为Windows用户发布基于Chromium的Safari浏览器。但随后这份报告被专业人士质疑称,都是假的。随着微软宣布放弃IE转投Chromium家族,并将在1月15日推...

weixin_39897746的博客 274

时代变了,程序员の老冤家IE浏览器离场啦?!_为啥ie都停止支持了 还要兼容

只拿前端领域来说,就有和IE浏览器兼容问题说不尽的修改优化阴间一点来说:不会有前端工程师没用过IE浏览器吧,不会吧,不会吧,真的有这样的前端人么?狗头.jpg如果有,那你真是幸福,不用兼容IE浏览器的。

2401_84975622的博客 1193
上一篇: 让代码运行起来,比代码可读性重要
下一篇: you-get,一个超强的 Python 库
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值