Introduction to Ext (EXT 介绍入门)

Introduction不是开场白,而是可执行的系统启动契约 在软件工程中,'Introduction'常被误认为文档序言,实则是决定系统能否稳定落地的核心启动契约。其本质是环境声明、依赖约束与配置协议的集合体,承载着硬件兼容性、运行时版本矩阵、安全策略等关键工程语义。现代DevOps与云原生实践要求Introduction必须具备可验证性、可审计性和自动化执行能力——它应能生成环境指纹、触发依赖冲突检测、驱动配置安全加固,并输出量化健康指标。尤其在Python/Java/Node.js多语言混合部署、Docker/K8s跨平台交付、边缘计算等复杂场景下,一个工业级I 阅读详情

无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。本文将简单地介绍Ext的几个基本概念,和如何快速地做出一个动态的页面并运行起来,假设读者已具备了一些JavaScript经验和初级了解HTML Dom。

下载Ext

如果你未曾下载过,那应从这里下载最新版本的Ext http://extjs.com/downloads 。

针对你的下载需求,有几个不同的弹性选项。通常地,最稳定的版本,是较多人的选择。下载解包后,那个example文件夹便是一个探索Ext的好地方!

开始!

Download Example File

我们将使用Ext,来完成一些JavaScript任务。

。

Zip文件包括三个文件:ExtStart.html, ExtStart.js和ExtStart.css。解包这三个文件到Ext的安装目录中(例如,Ext是在“C:/code/Ext/v1.0”中,那应该在"v1.0"里面新建目录“tutorial”。双击ExtStart.htm,接着你的浏览器打开启动页面,应该会有一条消息告诉你配置已完毕。如果是一个Javascript错误,请按照页面上的指引操作。

在你常用的IDE中或文本编辑器中,打开ExtStart.js看看:

Ext.onReady可能是你接触的第一个方法。这个方法是指当前DOM加载完毕后,保证页面内的所有元素能被Script引用(reference)。你可删除alert()那行,加入一些实际用途的代码试试:

Ext.onReady(function() {
alert("Congratulations! You have Ext configured correctly!");
});

Element:Ext的核心

大多数的JavaScript操作都需要先获取页面上的某个元素(reference),好让你来做些实质性的事情。传统的JavaScript方法,是通过ID获取Dom节点的:

var myDiv = document.getElementById('myDiv');

这毫无问题,不过这样单单返回一个对象(DOM节点),用起来并不是太实用和方便。为了要用那节点干点事情,你还将要手工编写不少的代码;另外,对于不同类型浏览器之间的差异,要你处理起来可真头大了。

进入Ext.element 对象。元素(element)的的确确是Ext的心脏地带,--无论是访问元素(elements)还是完成一些其他动作,都要涉及它。Element的 API是整个Ext库的基础,如果你时间不多,只是想了解Ext中的一两个类的话,Element一定是首选!

由ID获取一个Ext Element如下(首页ExtStart.htm包含一个div,ID名字为“myDiv”,然后,在ExtStart.js中加入下列语句):

Ext.onReady(function() {var myDiv = Ext.get('myDiv');});

再回头看看Element对象,发现什么有趣的东东呢?

  • Element包含了常见的DOM方法和属性,提供一个快捷的、统一的、跨浏览器的接口(若使用Element.dom的话,就可以直接访问底层DOM的节点。);
  • Element.get()方法内置缓存处理(Cache),多次访问同一对象效率上有极大优势;
  • 内置常用的DOM节点的动作,并且是跨浏览器的定位的位置、大小、动画、拖放等等(add/remove CSS classes, add/remove event handlers, positioning, sizing, animation, drag/drop)。

这意味着你可用少量的代码来做各种各样的事情,这里仅仅是一个简单的例子(完整的列表在ElementAPI中)。

继续在ExtStart.js中,在刚才我们获取好myDiv的位置中加入:

myDiv.highlight();      //黄色高亮显示然后渐退
myDiv.addClass('red'); // 添加自定义CSS类 (在ExtStart.css定义)
myDiv.center(); //在视图中将元素居中
myDiv.setOpacity(.25); // 使元素半透明

获取多个DOM的节点

通常情况下,想获取多个DOM的节点,难以依靠ID的方式来获取。有可能因为没设置ID,或者你不知道ID,又或者直接用ID方式引用有太多元素 了。这种情况下,你就会不用ID来作为获取元素的依据,可能会用属性(attribute)或CSS Classname代替。基于以上的原因,Ext引入了一个功能异常强大的Dom Selector库,叫做DomQuery。

DomQuery可作为单独的库使用,但常用于Ext,你可以在上下文环境中(Context)获取多个元素,然后通过Element接口调用。令 人欣喜的是,Element对象本身便有Element.selcect的方法来实现查询,即内部调用DomQuery选取元素。这个简单的例子中, ExtStart.htm包含若干段落(<p>标签),没有一个是有ID的,而你想轻松地通过一次操作马上获取每一段,全体执行它们的动作, 可以这样做:

// 每段高亮显示
Ext.select('p').highlight();

DomQuery的选取参数是一段较长的数组,其中包括W3C CSS3 Dom选取器、基本XPatch、HTML属性和更多,请参阅DomQuery API文档以了解这功能强大的库个中细节。

响应事件

到这范例为止,我们所写的代码都是放在onReady中,即当页面加载后总会立即执行,功能较单一——这样的话,你便知道,如何响应某个动作或事件 来执行你希望做的事情,做法是,先分配一个function,再定义一个event handler事件处理器来响应。我们由这个简单的范例开始,打开ExtStart.js,编辑下列的代码:

Ext.onReady(function() {
Ext.get('myButton').on('click', function(){
alert("You clicked the button");
});
});

加 载好页面,代码依然会执行,不过区别是,包含alert()的function是已定义好的,但它不会立即地被执行,是分配到按钮的单击事件中。用浅显的 文字解释,就是:获取ID为'myDottom'元素的引用,监听任何发生这个元素上被单击的情况,并分配一个function,以准备任何单击元素的情 况。

正路来说,Element.select也能做同样的事情,即作用在获取一组元素上。下一例中,演示了页面中的某一段落被单击后,便有弹出窗口:

Ext.onReady(function() {
Ext.select('p').on('click', function() {
alert("You clicked a paragraph");
});
});

这 两个例子中,事件处理的function均是简单几句,没有函数的名称,这种类型函数称为“匿名函数(anonymous function)”,即是没有名的的函数。你也可以分配一个有名字的event handler,这对于代码的重用或多个事件很有用。下一例等效于上一例:

Ext.onReady(function() {
var paragraphClicked = function() {
alert("You clicked a paragraph");
}
Ext.select('p').on('click', paragraphClicked);
});

到 目前为止,我们已经知道如何执行某个动作。但当事件触发时,我们如何得知这个event handler执行时是作用在哪一个特定的元素上呢?要明确这一点非常简单,Element.on方法传入到even handler的function中(我们这里先讨论第一个参数,不过你应该浏览API文档以了解even handler更多的细节)。在我们之前的例子中,function是忽略这些参数的,到这里可有少许的改变,——我们在功能上提供了更深层次的控制。必 须先说明的是,这实际上是Ext的事件对象(event object),一个跨浏览器和拥有更多控制的事件的对象。例如,可以用下列的语句,得到这个事件响应所在的DOM节点:

Ext.onReady(function() {
var paragraphClicked = function(e) {
Ext.get(e.target).highlight();
}
Ext.select('p').on('click', paragraphClicked);
});

注意得到的e.target是DOM节点,所以我们首先将其转换成为EXT的Elemnet元素,然后执行欲完成的事件,这个例子中,我们看见段落是高亮显示的。

使用Widgets

(Widget原意为“小器件”,现指页面中UI控件)

除了我们已经讨论过的核心JavaScript库,当前的Ext亦包括了一系列的最前端的JavaScirptUI组件库。文本以一个常用的widget为例子,作简单的介绍。

MessageBox

比起略为沉闷的“HelloWolrd”消息窗口,我们做少许变化,前面我们写的代码是,单击某个段落便会高亮显示,现在是单击段落,在消息窗口中显示段落内容出来。
在上面的paragraphClicked的function中,将这行代码:

Ext.get(e.target).highlight();

替换为:

var paragraph = Ext.get(e.target);
paragraph.highlight();
Ext.MessageBox.show({
title: 'Paragraph Clicked',
msg: paragraph.dom.innerHTML,
width:400,
buttons: Ext.MessageBox.OK,
animEl: paragraph
});

这 里有些新的概念需要讨论一下。在第一行中我们创建了一个局部变量(Local Variable)来保存某个元素的引用,即被单击的那个DOM节点(本例中,DOM节点指的是段落paragrah,事因我们已经定义该事件与< p>标签发生关联的了)。为什么要这样做呢?嗯...观察上面的代码,我们需要引用同一元素来高亮显示,在MessageBox中也是引用同一元素 作为参数使用。
一般来说,多次重复使用同一值(Value)或对象,是一个不好的方式,所以,作为一个具备良好OO思维的开发者,应该是将其分配到一个局部变量中,反复使用这变量!

现在,为了我们接下来阐述新概念的演示,请观察MessageBox的调用。乍一看,这像一连串的参数传入到方法中,但仔细看,这是一个非常特别的 语法。实际上,传入到MessageBox.show的只有一个参数:一个Object literal,包含一组属性和属性值。在Javascript中,Object Literal是动态的,你可在任何时候用{和}创建一个典型的对象(object)。其中的字符由一系列的name/value组成的属性,属性的格式 是[property name]:[property value]。在整个Ext中,你将会经常遇到这种语法,因此你应该马上消化并吸收这个知识点!
使用Object Literal的原因是什么呢?主要的原因是“可伸缩性(flexibility)”的考虑",随时可新增、删除属性,亦可不管顺序地插入。而方法不需要 改变。这也是多个参数的情况下,为最终开发者带来不少的方便(本例中的MessageBox.show())。例如,我们说这儿的foo.action方 法,有四个参数,而只有一个是你必须传入的。本例中,你想像中的代码可能会是这样的foo.action(null, null, null, 'hello').,若果那方法用Object Literal来写,却是这样, foo.action({ param4: 'hello' }),这更易用和易读。

Grid

Grid是Ext中人们最想先睹为快的和最为流行Widgets之一。好,让我们看看怎么轻松地创建一个Grid并运行。用下列代码替换ExtStart.js中全部语句:

Ext.onReady(function() {
var myData = [
['Apple',29.89,0.24,0.81,'9/1 12:00am'],
['Ext',83.81,0.28,0.34,'9/12 12:00am'],
['Google',71.72,0.02,0.03,'10/1 12:00am'],
['Microsoft',52.55,0.01,0.02,'7/4 12:00am'],
['Yahoo!',29.01,0.42,1.47,'5/22 12:00am']
];
 
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(myData),
reader: new Ext.data.ArrayReader({id: 0}, [
{name: 'company'},
{name: 'price', type: 'float'},
{name: 'change', type: 'float'},
{name: 'pctChange', type: 'float'},
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
])
});
ds.load();
 
var colModel = new Ext.grid.ColumnModel([
{header: &quot;Company&quot;, width: 120, sortable: true, dataIndex: 'company'},
{header: &quot;Price&quot;, width: 90, sortable: true, dataIndex: 'price'},
{header: &quot;Change&quot;, width: 90, sortable: true, dataIndex: 'change'},
{header: &quot;% Change&quot;, width: 90, sortable: true, dataIndex: 'pctChange'},
{header: &quot;Last Updated&quot;, width: 120, sortable: true,
renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
]);
 
var grid = new Ext.grid.Grid('grid-example', {ds: ds, cm: colModel});
grid.render();
grid.getSelectionModel().selectFirstRow();
});

注意:在 新的版的 Ext 2.0 中, 已用新的 class Ext.grid.GridPanel 替换了原来版本中的 Ext.grid.Grid. 如果你想这个例子能在新版的 Ext 2.0+ 中正常运行的话, 那你的将代码中的 var grid = new Ext.grid.Grid(...); 替换成新的写法:

var grid = new Ext.grid.GridPanel({el: 'grid-example', ds: ds, cm: colModel});

这 看上去很复杂,但实际上加起来,只有七行代码。第一行创建数组并作为数据源。实际案例中,你很可能从数据库、或者WebService那里得到动态的数 据。接着,我们创建并加载data store, data store将会告诉Ext的底层库接手处理和格式化这些数据。接着,我们定义一个column模型,用来轻松地调配Grid的每一列参数。最后我们生成这 个Grid,传入data store和column模型两个对象,进行渲染并选好第一行。不是太困难吧?如果一切顺利,完成之后你会看到像这样的:

Image:IntroToExt_grid.gif

当然,你可能未掌握这段代码的某些细节(像MemoryProxy究竟是什么?)但先不要紧,这个例子的目的是告诉你,用少量的代码,创建一个富界 面的多功能的UI组件而已——这是完全可能的,只要读者您有兴趣学习。这儿有许多学习Grid的资源。Ext Grid教程、交叉Gird演示和Grid API文档。

还有更多的..

这只是冰山一角。还有一打的UI Widgets可以供调用,如 layouts, tabs, menus, toolbars, dialogs, tree view等等。请参阅API文档中范例演示。

使用Ajax

在弄好一些页面后,你已经懂得在页面和脚本之间的交互原理(interact)。接下来,你应该掌握的是,怎样与远程服务器(remote server)交换数据,常见的是从数据库加载数据(load)或是保存数据(save)到数据库中。通过JavaScript异步无刷新交换数据的这种 方式,就是所谓的Ajax。Ext内建卓越的Ajax支持,例如,一个普遍的用户操作就是,异步发送一些东西到服务器,然后,UI元素根据回应 (Response)作出更新。这是一个包含text input的表单,一个div用于显示消息(注意,你可以在ExtStart.html中加入下列代码,但这必须要访问服务器):

<div id="msg" style="visibility: hidden"></div> 

Name: <input type="text" id="name" /><br />

<input type="button" id="oKButton" value="OK" />

接着,我们加入这些处理交换数据的JavaScript代码到文件ExtStart.js中(用下面的代码覆盖):

Ext.onReady(function(){
Ext.get('oKButton').on('click', function(){
var msg = Ext.get('msg');
msg.load({
url: [server url], //换成你的URL
params: 'name=' + Ext.get('name').dom.value,
text: 'Updating...'
 
});
msg.show();
});
});

这 种模式看起来已经比较熟悉了吧!先获取按钮元素,加入单击事件的监听。在事件处理器中(event handler),我们使用一个负责处理Ajax请求、接受响应(Response)和更新另一个元素的Ext内建类,称作UpdateManager。 UpdateManager可以直接使用,或者和我们现在的做法一样,通过Element的load方法来引用(本例中该元素是id为“msg“的 div)。当使用Element.load方法,请求(request)会在加工处理后发送,等待服务器的响应(Response),来自动替换元素的 innerHTML。简单传入服务器url地址,加上字符串参数,便可以处理这个请求(本例中,参数值来自“name”元素的value),而text值 是请求发送时提示的文本,完毕后显示那个msg的div(因为开始时默认隐藏)。当然,和大多数Ext组件一样,UpdateManager有许多的参数 可选,不同的Ajax请求有不同的方案。而这里仅演示最简单的那种。

PHP
<? if(isset($_GET['name'])) {
echo 'From Server: '.$_GET['name'];
}
?>

ASP.Net
protected void Page_Load(object sender, EventArgs e)
{
if (Request["name"] != null)
{
Response.Write("From Server: " + Request["name"]);
Response.End();
}
}

Cold Fusion
<cfif StructKeyExists(url, "name")>
<cfoutput>From Server: #url.name#</cfoutput>
</cfif>

最 后一个关于Ajax隐晦的地方就是,服务器实际处理请求和返回(Resposne)是具体过程。这个过程会是一个服务端页面,一个Servlet,一个 Http调度过程,一个WebService,甚至是Perl或CGI脚本,即不指定一个服务器都可以处理的http请求。让人无法预料的是,服务器返回 什么是服务器的事情,无法给一个标准的例子来覆盖阐述所有的可能性。(这段代码输出刚才我们传入'name'的那个值到客户端,即发送什么,返回什么)。

使用Ajax的真正挑战,是需要进行适当的手工编码,并相应格式化为服务端可用接受的数据结构。有几种格式供人们选择(最常用为 JSON/XML)。正因Ext是一种与服务器语言免依赖的机制,使得其它特定语言的库亦可用于Ext处理Ajax服务。只要页面接受到结果是EXT能处 理的数据格式,Ext绝不会干涉服务器其他的事情!要全面讨论这个问题,已超出本文的范围。推荐正在Ajax环境下开发的您,继续深入阅读Ext Ajax教程。

下一步是?
现在你已经一睹Ext其芳容,知道她大概能做些什么了。下面的资源有助您进一步深入了解:

Dell R730安装Windows Server 2008 R2 一、RAID驱动准备  在安装Windows server2008 R2操作系统时,如果没有发现硬盘,请将下面的阵列卡驱动先解压(在下载的.exe文件,双击点下一步会自动解压),解压后把那文件夹复制到U盘中。阵列卡 PERC9 H330 - H730 - H730P - H830 Controllers for Windows Server 2008 R2二、系统安装方法方法一:光盘安装  ①请您... 阅读详情

相关推荐

Mac用户看过来!M1/M2芯片安装CiteSpace完整指南(从Homebrew到成功运行)

本文为Mac M1/M2芯片用户提供CiteSpace安装的完整指南,从Homebrew安装适配的Java环境到最终成功运行CiteSpace。详细步骤包括环境检查、Java配置、CiteSpace下载与优化,解决常见问题如内存分配、图形渲染和中文显示乱码,确保科研人员能顺利使用这一文献可视化工具。

weixin_42530458的博客 308

Tutorial:Introduction to Ext (EXT 介绍入门)

  无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。本文将简单地介绍Ext的几个基本概念,和如何快速地做出一个动态的页面并运行起来,假设读者已具备了一些JavaScript经验和初级了解HTML Dom。 下载Ext如果你未曾下载过,那应从这里下载最新版本的Ext http://extjs.com/downloads 。针对你的下载需求,有几个不同

kinglino520的专栏 420

FPGA数字下变频实战:用Vivado DDS IP核实现IQ采样与频率校正(附MATLAB仿真对比)

本文提供了一份基于Vivado DDS IP核实现FPGA数字下变频(DDC)的完整工程指南。详细阐述了IQ采样的原理、DDC链路构建、DDS频率校正的工程实现,并重点介绍了如何利用MATLAB搭建黄金参考模型进行全链路仿真与对比验证,分享了关键的调试技巧与性能优化建议。

t1u2v的博客 811

About Introduction to Ext - Ext JS

hi jack... i have read 'Introduction to Ext' in http://extjs.com/tutorial/introduction-ext but i can't save this page. and i try to download IntroToExt.zip, but i can't too, any link to download it?...

laravel framework 124

GPT Researcher 的win docker安装攻略

github网址是:https://github.com/assafelovic/gpt-researcher/blob/master/README-zh_CN.md。使用 Docker 运行 AI-Researcher 项目的。因为docker安装方法不够清晰,因此写一个使用方法。打开设置——docker engine ,增加代码。如有其他问题,可提供错误截图或日志进一步排查!

weixin_43818488的博客 1125

描述符链表(Descriptor Chain)是什么?

描述符链表是硬件加速数据传输的核心数据结构,通过链式描述符(包含地址、长度、控制标志等)实现DMA自动批量处理,显著降低CPU负载。其工作原理为:CPU初始化链表后,硬件按序处理每个描述符,完成自动跳转与中断通知。在网卡收包、NVMe存储等场景中应用广泛,优势包括批处理、低延迟和灵活调度。需注意内存对齐、缓存一致性等实现细节,优化手段包括预分配描述符池、环形缓冲区等。该技术是网络/存储领域提升吞吐量的关键方案。

guigenyi的专栏 776

Introduction to Ext 2.0 (Chinese) (Legacy)

本教程适用于Ext 2.0的版本,而版本1.x仍可找到。 无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。本文将简单地介绍Ext的几个基本概念,和如何快速地做出一个动态的页面并运行起来,假设读者已具备了一些JavaScript经验和简单了解HTML的文档对象模型(document object model ,DOM)。 下载Ext 如果你未曾下载过,那应从

Tina Salangane's Blog -Study Word 724

小红书x-mini签名逆向实战:Frida动态Hook与算法还原

在移动App协议分析中,请求签名机制是保障接口安全的核心技术,其本质是客户端对请求参数、时间戳、设备指纹等要素进行加密认证的过程。理解签名原理需掌握Native层加密流程、JNI调用机制及密钥动态派生逻辑。Frida作为主流动态插桩工具,能绕过符号剥离、字符串加密和控制流混淆等反分析手段,在函数执行瞬间捕获寄存器状态、内存数据与调用上下文,实现签名算法的完整还原。该技术广泛应用于合规内容监测、API自动化调用与竞品协议研究等工程场景。本文聚焦小红书x-mini签名这一典型样本,详解从JNI_OnLoad定位

weixin_31264565的博客 457

ext-php-rs核心组件解析:轻松掌握Zend API抽象层

ext-php-rs是一个为Zend API提供绑定和抽象的Rust库,让开发者能够用Rust原生构建PHP扩展。它通过抽象底层Zend API,简化了PHP扩展开发流程,使开发者可以更专注于业务逻辑而非复杂的API细节。 ## 核心组件概览 ext-php-rs的核心价值在于其对Zend API的抽象和封装。这一抽象层主要体现在以下几个关键组件中: ### 1. 类型系统抽象 ext-p

gitblog_00782的博客 913

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1370

Android 13.0 framework默认沉浸式导航栏功能实现

​ 在13.0的系统rom定制化开发中,在实现导航栏的某些定制化开发中,在某些产品需要实现沉浸式导航栏,就是需要app 能全屏显示同样也能显示导航栏,接下来就来分析下相关的功能实现 ​

安卓兼职framework和app工程师的博客 467

文件(file)1————An introduction to Linux filesystems

这里讲的主要是关于文件,目录以及一部分磁盘的相关知识。主要依据是操作系统第4章 文件管理(参考书:王道的书)和鸟哥的私房菜的第567章。 在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位。 1、什么是文件?   从比喻的角度来讲,操作系统是图书管理员对于书的管理,则文件就是图书馆的书。   从底层向上的角度来讲,数据项:用...

295

LPDDR4 JEDEC标准测试实例解析--写操作

LPDDR4的JEDEC标准一致性测试项详解以及实例分享,满满干货!感兴趣的小伙伴可以持续关注!!

一只豌豆象的博客 7774

html5 extjs,Introduction to Ext JS 5: Building HTML5 Apps - Sencha

Are you trying to develop apps for multiple devices and platforms, but unsure which tools will best fit your needs?Ext JS 5 provides all of the tools necessary to build robust desktop and tablet appli...

weixin_32999557的博客 168

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

猫抓 cat-catch 完全指南:如何嗅探网页视频资源并把 M3U8 分片合并成 MP4

猫抓 cat-catch 是一款开源的浏览器资源嗅探扩展:自动筛出网页加载的视频、音频和图片,直链可直接下载,M3U8 分片视频能合并成一个文件。解决的就是"右键存不下来网页视频"这个麻烦。 ## 🎯 先看清楚:猫抓能做什么、不能做什么 **能做的**:后台监听页面网络请求,把媒体文件按页面分组列成清单,每条显示文件名和体积;选中后可看 **MIME 类型**、**时长**、**分辨率**、

gitblog_01028的博客 309

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

PaddleNLP 社区模型 hfl/chinese-roberta-wwm-ext-large 下载与加载实战指南

本文基于飞桨(PaddlePaddle)产业级模型库 `models` 仓库中 [modelcenter/community/hfl/chinese-roberta-wwm-ext-large/download_cn.md](https://link.gitcode.com/i/5dc68d591e06b7075d84305d1c7e9d31) 展开,系统讲解 HFL(哈工大讯飞联合实验室)发布的

gitblog_00407的博客 638

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ALVR 无线串流完整指南:3 个阶段跑通 SteamVR 头显,延迟图表一次看懂

ALVR 是一个把 SteamVR 游戏从 PC 经 Wi-Fi 串流到 Quest、Pico 等一体式头显的开源工具。本文按仓库真实文档走:3 个阶段装好、5 个高频问题速查,再教你照着延迟图表一步步调参。 ## 先搞懂它:你的 PC 跑得动吗 ALVR 的本质是一个 SteamVR 驱动:游戏照常跑在 SteamVR 里,画面帧被驱动截获后编码、压进网络发给头显。它和闭源无线串流的区别在于

gitblog_00994的博客 498

如何把十几个平台的游戏收进一个库:Playnite 一站式完全指南

Steam 里躺着几百款游戏,Epic 每周白嫖几款,GOG 存着经典老作,硬盘里还塞满模拟器 ROM——每次想玩之前,你得先在脑子里翻一遍它"到底在哪个平台"。Playnite 就是一个开源的游戏库管理器和启动器,把这些散落在各处的游戏收进同一个统一界面:一个库,看全部游戏,一键启动。 [![Playnite 桌面版启动画面,渐变游戏手柄图标](https://raw.gitcode.com/

gitblog_00281的博客 451

coin11-tb的EasyOCR与DdddOCR实战:如何快速定位按钮位置与识别验证码

[coin11-tb](https://link.gitcode.com/i/0c2a9c45d8cba0a3c136248927a76228) 是一个基于 `uiautomator2` 的开源项目,可自动化完成淘宝双11金币任务、618金币任务、淘金币任务、芭芭农场任务、闲鱼任务与支付宝打卡任务。而项目里最巧妙的地方,就是它用 **EasyOCR** 和 **DdddOCR** 两大 OCR 引

gitblog_00429的博客 385

如何彻底移除 Windows Defender:Defender Remover 三选项实操指南

Defender Remover 是一款开源脚本,可在 Windows 8.x/10/11 上把 Windows Defender 连同 Windows 安全应用一并彻底移除。本文依次讲清:3 个选项怎么选、如何退回来、被 Windows 更新复活后怎么办。读完你能用一条脚本跑完移除,并知道如何安全恢复。 [![Defender Remover 移除 Windows Defender 工具横幅]

gitblog_00969的博客 991

Varina多模型配置完全指南:主模型、探索角色、8个席位分配与Prompt Cache优化参数全解

Varina 是一个让多个 AI 模型分工协作的创意设计 Agent,它的**多模型配置**决定了哪个模型当主模型、哪个模型跑探索角色、8 个发散席位各自分配给谁,以及如何优化 Prompt Cache 降低成本。这篇指南带你完整看懂 [config.example.json](https://link.gitcode.com/i/231b6d6e1fd3b48d9b8981cf5e67f05a)

gitblog_00230的博客 143

Thorium浏览器下载安装教程:3步选包安装附自检清单

Thorium 浏览器是一款基于最新 LTS 版 Chromium 构建的 Chromium 分叉,用 LTO、PGO 等编译优化提速,并按 CPU 指令集拆成多档出包。功能集和 Chrome 对齐,适合想要更快浏览体验、又不想改变使用习惯的人;2006 年以前的老机器只能吃最低档,收益有限,先看完下面的档位判断再决定是否安装。本文带你走完四个环节:判档位 → 挑包 → 安装 → 自检。 装完之

gitblog_00395的博客 36

一篇论文变 12–16 页可编辑组会 PPT:nature-paper2ppt 上手教程

组会要讲一篇 PDF,读论文、抠图、排幻灯片三件事各占你两三个小时。`nature-skills` 仓库里的 `nature-paper2ppt` 技能把论文转 PPT 这条链压进一次对话:喂一个 PDF、DOI 或摘要加图注,它按论文自己的论证逻辑产出一份可编辑的中文 `.pptx`,每页带 speaker notes,再附上 QA 报告和图表清单。默认简体中文、16:9 版面,你只负责定页数和

gitblog_06861的博客 209

Introduction to Algorithms-Lecture2数学课

渐进关系 Big O的数学定义n**2+O(n)=O(n2)Big Omiga符号 Big Theta符号Θ渐进上下界 O渐进上界(最坏情况) Ω渐进下界(最好情况)Solving Recurrences Substitution method代换法 1. guess the form of the solution 2. verify the induction(归纳法) 3. S

cajan2的专栏 753

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 144
下一篇: Playing With Ext The Easy Way (玩EXT简单方法)--firebug下调试ext
solem
博客等级 码龄19年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值