打包成一个程序集可以避免分发程序的时候带上一堆依赖而出问题。 ILMerge 可以用来将多个程序集合并成一个程序集。本文介绍使用 ILMerge 工具和其 NuGet 工具包来合并程序集和其依赖。...以 NuGet 包的形式使用 ILMerge ILMerge 提供了可供你项目使用的 NuGet 包。...这可以避免要求团队所有成员安装工具或者将工具内置到项目的源代码管理中。...以封装的 NuGet 包来使用 ILRepack 安装 NuGet 包: 之后,你就能直接使用 ILRepack 这个编译任务了,而不是在 MSBuild 中使用 Exec 来间接执行 ILRepack...本文会经常更新,请阅读原文: https://blog.walterlv.com/post/merge-assemblies-using-ilmerge.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验
前言 Swift 内置并发系统的好处之一是它可以更轻松地并行执行多个异步任务,这反过来又可以使我们显着加快可以分解为单独部分的操作。...因此async let,当我们有一组已知的、有限的任务要执行时,它提供了一种同时运行多个操作的内置方法。但如果不是这样呢?...就像使用 时一样async let,以我们的操作不会直接改变任何状态的方式编写并发代码的一个巨大好处是,这样做可以让我们完全避免任何类型的数据竞争问题,同时也不需要我们引入任何锁定或序列化代码混合在一起...在以后的文章中,我们将更仔细地研究避免数据竞争的其他方法(例如通过使用 Swift 的新actor类型)。...相反,如果这是我们想要做的,我们必须故意让我们的任务并行运行,这只有在执行一组可以独立运行的操作时才有意义。 - EOF -
将相同的语法添加到 ~/.zshrc 文件中: $ echo 'PATH=$(pyenv root)/shims:$PATH' >> ~/.zshrc 现在,每次我们在 zsh 中运行命令时,它将使用...如果需要再次检查默认 shell 程序,可以运行 echo $SHELL。如果是 zsh,请使用上面的命令。如果你使用 Bash,请将 ~/.zshrc 更改为 ~/.bashrc。...使用 pyenv 管理 Python 版本 现在 pyenv 已经可用,我们可以看到它只有系统 Python 可用: $ pyenv versions system 如上所述,你绝对不想使用此版本(阅读更多有关信息...现在 pyenv 已正确设置,我希望它能有我经常使用的几个不同版本的 Python。...总结 默认情况下,运行多个 Python 版本可能是一个挑战。我发现 pyenv 可以确保在我需要时可以有我需要的 Python 版本。 你还有其他初学者或中级 Python 问题吗?
前者不可定制、运行缓慢、消耗资源(不过好消息是现在开源了);后者已被弃用、不受支持且基于旧版本的 Mono.Cecil。...而本文介绍用来替代它们的 ILRepack,使用 ILRepack 来合并程序集。 ---- 以 NuGet 包的形式使用 ILRepack ILRepack 提供了可供你项目使用的 NuGet 包。...这可以避免要求团队所有成员安装工具或者将工具内置到项目的源代码管理中。...如果希望使用 ILRepack 的其他命令,可以考虑使用帮助命令: 1 ilrepack /help 或者直接访问 ILRepack 的 GitHub 仓库来查看用法: gluck/il-repack...gluck/il-repack 本文会经常更新,请阅读原文: https://blog.walterlv.com/post/merge-assemblies-using-ilrepack.html ,以避免陈旧错误知识的误导
() { /* 你的代码 */ }); 1.2 用noConflict()避免冲突并定义别名 $jq = jQuery.noConflict(); $jq(function () {...ID选择器和以ID开头的选择器 //ID选择器性能最佳 $("#myDiv") //以ID开头,提高效率 $("#myDiv .red") 3.2 类选择之前加元素选择提高效率 //元素(tag)选择器效率仅次于...ID选择器,优于类(class)选择器 $("#myList li.active") 3.3 缓存JQuery对象 //错误,做了两次选择 $("#myList li").css('border','3px...//一次全局查找加两次子查询优于两次全局查找 var $list = $("#myList"); var $actives = $list.find('li.active'); var $in_actives...; }); 5.7 加载JQuery即使CDN掉线 ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
; }) }); $是在jQuery中使用的变量名,可以使用 jQuery.noConflict()避免冲突,它的返回值就是jQuery对象。...常规选择器 $("*") 选择所有节点 $("#id") ID选择器,注意其中的一些特殊字符,如 . $(".class") 类选择器 $("tag") 标签选择器 $("子元素") $("直接子元素"...其他选择器 [name="value"][name2="value2"] 多个AND条件 ("selector1, selector2, selectorN") 多个OR条件 :not() 否定选择 (...$.ajax() 的基本使用形式是: jQuey.ajax(settings) settings是一个对象,里面包含了所有的配置项。 url 请求的地址。...AJAX的所有操作都是使用它来进行封装的。
/css/css-selector.html 1、避免使用class选择器限制id选择器 避免 button#backButton {…} 避免 .menu-left#newMenuIcon {…} 优先...#backButton {…} 优先 #newMenuIcon {…} 2、避免使用标签限制 class 选择器 避免 treecell.indented {…} 优先 .treecell-indented...{…} 最好 .hierarchy-deep {…} 3、避免使用多层标签选择器。...{…} 4、避免使用子选择器 避免 treehead treerow treecell {…} 更好 treehead > treerow > treecell {…} 优先 .treecell-header...十四、使用Ajax缓存 Ajax是我平时使用最多一个工具,其全面是“Asynchronous JavaScript and XML”(异步的JavaScript与XML),Ajax的目地是为突破web本质的开始
当使用类选择器的时候,不要在类选择器中指定元素的类型。...避免使用隐式的通用选择符。当你漏下了一些选择器,通用选择器(*)仍然是隐含存在的。...在使用ID时不要指定多个ID,ID选择器是通过document.getElementById()处理的,所以不要和其他的选择符混着使用。...避免使用.getJson()和.get(),就简单的使用$.ajax(),因为这就是.get()内部调用的东西。 2. 不要在https的网站上使用http请求。...检测所用插件与当前使用的jQuery版本是否兼容。 3. 一些常用功能应该写成jQuery插件。jQuery插件模板例子 链式语法 1. 使用链式语法作为替代变量缓存和多个选择器调用。
UpdatePanel的性能问题 在UpdatePanle使用的时候,它每次的更新都是将整个页面回送的,而且也会加上一些他更新的标记,所以往往它传递的数据量比传统的PostBack都要多,这其实是违背AJAX...减少数据量传输的特点的 使用UpdatePanel的注意事项 在使用UpdatePanel的时候,要只传输必要的内容,使用相对小而细的UpdatePanel,而不是使用大而全的UpdatePanel,在每次...,因为他调用了两次的GetData方法,我们设置了页面的UpdatePanel的UpdateMode为Conditional,所以,在我们每次点击按钮的时候,只会更新包含它的Update,这样我们点击按钮...UpdatePanel,则一定要把EnablePartialRendering设置为false,这样将不回引入支持UpdatePanel的MicrosoftAJAXWebForms.js文件(不小呢) 避免脚本阻塞页面显示...其他 几乎所有能够提高Web应用程序性能的做法都可以提高AJAX应用程序性能 合理利用缓存 优化数据库 合并小图片以较少round-trip Keep-Alive 压缩 并行加载资源 ……
关于 jQuery 与 AJAX jQuery 提供多个与 AJAX 有关的方法。...jQuery AJAX 修改该文本 获取外部内容 为了避免多页面情形下的代码重复,可以利用 load() 方法...ajaxComplete() 规定 AJAX 请求完成时运行的函数 ajaxError() 规定 AJAX 请求失败时运行的函数 ajaxSend() 规定 AJAX 请求发送之前运行的函数 ajaxStart...() 规定第一个 AJAX 请求开始时运行的函数 ajaxStop() 规定所有的 AJAX 请求完成时运行的函数 ajaxSuccess() 规定 AJAX 请求成功完成时运行的函数 load() 从服务器加载数据...jQuery attr() – 设置 多个属性值 使用jQuery attr() 方法设置多个属性值。
就是说它非常请求,大小在30kb左右;具有强大的选择器和dom操作的封装,可靠的事件处理机制,有完善的ajax,jquery将所有的ajax操作封装到函数``$.ajax()`中;具有丰富的插件,完善的文档...}) 将jquery函数代码放到这个函数就可以等到页面加载结束再运行。...注意:$(A).before(B)的操作,不是将B插入A前面,而是将A插入B前面 删除HTML元素 删除HTML元素一般使用jquery中的remove()和empty() remove()的作用就是从...(),mouseup() mouseenter(),mouseleave(), resize(),scroll(), keydown(),keyup(),keypress() type参数是含有一个或多个事件类型的字符串...function(){ $("input").focus(function(){ $("span").show(); }); }); 鼠标事件click(),dblclick()双击在短时间内发生两次
选择器 (1)元素选择器 jQuery 使用 CSS 选择器来选取 HTML 元素。 $("p") 选取 元素。...$("div#intro .head") 选取id="intro" 的 元素中的所有 class="head" 的元素 (2)属性选择器 jQuery 使用 XPath 表达式来选择带有给定属性的元素...AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新。 0. 原理 XMLHttpRequest 用于在后台与服务器交换数据(老版本使用 ActiveX 对象)。...method:请求的类型;GET 或 POST url:文件在服务器上的位置 async:true(异步,使用Ajax时必须)或 false(同步) send(string) 将请求发送到服务器。...关于callback 如果存在多个 AJAX 任务,那么应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。
$("标签名称") 9.2 所有选择器 所有选择器:选取页面中所有的DOM对象 $("*") 9.3 组合选择器 组合选择器是多个被选中对象间使用逗号隔开后形成的选择器,可以组合 id、class、标签名等...过滤器不能单独使用,必须和选择器一起使用。...事件名称(事件的处理函数) $(选择器) :定位dom对象,dom对象可以有很多个,这些dom对象都绑定了这个事件 事件名称 : 就是js中的事件去掉on的部分,例如:js中的单击事件 onclick(...使用jQuery函数,实现Ajax请求。 15.1 关于jQuery函数使用Ajax请求的介绍。 jQuery 提供多个与 AJAX 有关的方法。..."xml" - 一个 XML 文档 "html" - HTML 作为纯文本 "text" - 纯文本字符串 "json" - 以 JSON 运行响应,并以对象返回 语法格式:$.ajax({ data
[attrN] 获取同时拥有多个属性的元素 $("input[id][name$='usr']")获取同时含有id属性和属性值以usr结尾的name属性的元素 2.2.7 子元素选择器...若要为匹配到的元素添加和移除多个样式类名,则样式类名之间可使用空格进行分隔。 2.8 练习作业 折叠菜单 编写网页,设置CSS完成折叠菜单的结构和样式设置。...参数selector表示选择器。 参数data表示将要传递给事件处理函数function的数据。 参数type表示为元素添加的事件类型(多个用空格分隔)。...dequeue([queueName]) 从队列移除下一个函数,然后执行函数 finish([queueName]) 停止当前正在运行的动画,删除所有排队的动画,并完成匹配元素所有的动画 stop([...clearQueue] [, jumpToEnd]) 停止所有在指定元素上正在运行的动画 参数params表示一组包含动画最终属性值的集合。
本文将深入浅出地介绍 jQuery 的基础用法,特别是 DOM 操作方面,包括常见问题、易错点以及如何避免这些问题,辅以代码示例,帮助初学者更好地掌握 jQuery。...它通过一个简洁的 API 提供了丰富的功能,如选择元素、创建动画效果、处理事件、开发 Ajax 应用程序等。二、DOM操作基础选择元素jQuery 使用 CSS 选择器来选择文档中的元素。...异步加载问题jQuery 的 Ajax 请求是异步的,这意味着不能直接在请求后立即访问返回的数据。...选择器性能复杂的 CSS 选择器可能会影响性能。尽量使用 ID 或类选择器,避免使用子代选择器。...然而,在使用过程中,也需要注意一些常见的问题和易错点,如符号冲突、异步加载问题和选择器性能等。通过理解和避免这些陷阱,可以更高效、更安全地利用 jQuery 进行 DOM 操作和事件处理。
click 事件 dblclick() 触发、或将函数绑定到指定元素的 double click 事件 delegate() 向匹配元素的当前或未来的子元素附加一个或多个事件处理器...) delay() 对被选元素的所有排队函数(仍未运行)设置延迟 dequeue() 运行被选元素的下一个排队函数 fadeIn() 淡入被选元素至完全不透明....ajaxSuccess() 当 Ajax 请求成功完成时显示一条消息。 jQuery.get() 使用 HTTP GET 请求从服务器加载数据。...jQuery.getJSON() 使用 HTTP GET 请求从服务器加载 JSON 编码数据。...jQuery.param() 创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。
使用jQuery jQuery概述 Write Less Do More(用更少的代码来完成更多的工作) 使用CSS选择器来查找元素(更简单更方便) 使用jQuery方法来操作元素(解决浏览器兼容性问题...、应用于所有元素并施加多个方法) 引入jQuery 下载jQuery的开发版和压缩版 从CDN加载jQuery <script src="https://cdn.bootcss.com/jquery/3.3.1...}); jQuery插件 jQuery Validation jQuery Treeview jQuery Autocomplete jQuery UI 避免和其他库的冲突...Ajax Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...原生的Ajax 基于jQuery的Ajax 加载内容 提交表单
1.1 jquery 选择器 还记到大明湖畔(CSS)的夏雨荷(选择器)吗?选择器可以快速定位到元素并为其应用样式效果。jquery 选择器的选择规则与 CSS 相同,只是目的是为其添加操作。...div").css("color"); // 赋值 $("div").css("width","20px"); $("div").css("color","red"); 如果你足够的细心,你也许会问,选择器一般都选择多个元素...答:事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。...ajax 技术的原理是实例化 xmlhttp 对象,使用此对象与后台通信。jquery 将它封装成了一个函数 $.ajax(),我们可以直接用这个函数来执行ajax请求。 此部分超级重要!超级重要!...ajax需要在服务器环境下运行。
(selector).nextAll() – 返回匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。...(selector).get() – 获得由选择器指定的 DOM 元素。 (selector).index() – 返回指定元素相对于其他指定元素的 index 位置。...(selector).addClass() – 向被选元素添加一个或多个类 (selector).removeClass() – 从被选元素删除一个或多个类 (selector).toggleClass...() – 对被选元素进行添加/删除类的切换操作 (selector).css() – 设置或返回样式属性 jQuery Ajax 操作函数 .ajax() – 执行Ajax异步请求 .get() –...使用GET请求从服务器获取数据 .getJSON() – 使用GET从服务器请求JSON编码数据 .getScript() – 使用GET从服务器请求JavaScript文件并执行该文件
11.使用可缓存的 AJAX 对于返回内容相同的请求,没必要每次都直接从服务端拉取,合理使用 AJAX 缓存能加快 AJAX 响应速度并减轻服务器压力。...12.使用 GET 来完成 AJAX 请求 使用 XMLHttpRequest 时,浏览器中的 POST 方法会发起两次 TCP 数据包传输,首先发送文件头,然后发送 HTTP 正文数据。...6.尽量避免在选择器末尾添加通配符 CSS 解析匹配到 渲染树的过程是从右到左的逆向匹配,在选择器末尾添加通配符至少会增加一倍多计算量。...11.避免运行耗时的 JavaScript 长时间运行的 JavaScript 会阻塞浏览器构建 DOM 树、DOM 渲染树、渲染页面。...8.强缓存策略 对于一些「永远」不会变的图片可以使用强缓存的方式缓存在用户的浏览器上。 脚本类 1.尽量使用 id 选择器选择页面 DOM 元素时尽量使用 id 选择器,因为 id 选择器速度最快。