Apache ARIA

How To Read Source Code

不问归期 提交于 2020-03-24 01:53:54
3 月,跳不动了?>>> 原题目: How To Read Source Code ,原作者:Aria Stewart 中文翻译: 在博客中查看 这篇文章基于我在Oneshot Nodeconf Christchurch的一个演讲。 我本来没有想要写这篇文章。程序员不读源代码听起来似乎是很荒谬的。然后我真遇到了一群不读源代码的程序员。接着我又跟更多的人进行了交谈,发现他们除了读代码示例或测试脚本之外什么也不看。最重要的是,我遇到过很多新手程序员,对他们来说,找到从哪个地方开始阅读是非常困难的。 当我们说读源代码的时候,我们要表达什么意思? 我们是为了什么去读源代码?为了理解它。为了找bug,为了知道这些代码和系统中的其他软件是怎样交互的。我们还会为了回顾、品评而去读。为了找出其中的接口信息,为了理解和找到不同模块之间的界线,为了学习,我们都会去读源代码。 读代码不是一个线性过程 读代码的过程不是线性的。人们往往认为读源代码就像读一本书一样:先搞定简介或者README,然后从第一章开始一章一章的读,直到结束。其实并不是这样的。我们甚至都不能确定一个程序有没有结束,很多程序是不会终止的。我们应该在章节、模块之间跳转,反复阅读。我们也可以选择通读单个模块,但是这样我们就无法理解这个模块所引用的其他模块的代码。我们也可以根据程序的执行顺序去阅读,但是我们最后并不会清楚程序会向哪里执行。

Bootstrap 下拉菜单(Dropdowns)简介

自作多情 提交于 2020-02-27 15:59:42
Bootstrap 下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现。 如需使用下拉菜单,只需要在 class .dropdown 内加上下拉菜单即可。下面的实例演示了基本的下拉菜单: 实例 <div class="dropdown"> <button type="button" class="btn dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown">主题 <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">Java</a> </li> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">数据挖掘</a> </li> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#"

AngularDart Material Design 选择

痞子三分冷 提交于 2019-12-04 01:37:26
MaterialSelectComponent Selector: <material-select> 材料选择是用于从集合中选择项目的容器,使用复选图标标记所选选项。 可以手动(在模板中)或通过SelectionOptions实例指定选项。 可以通过模板或通过检查选择模型将选项标记为已选择。 Inputs: componentRenderer (dynamic) → Type 已禁用! 使用factoryRenderer而不是树可更改树 disabled bool 是否应将选择显示为已禁用。 默认为false。 factoryRenderer (dynamic) → ComponentFactory<dynamic> 用于创建必须覆盖给定选项的RendersValue的ComponentFactory,以允许更具表现力的选项。 itemRenderer (dynamic) → String 一个渲染函数,用于将选择选项呈现给String(如果给定值)。 options SelectionOptions<dynamic> SelectionOptions实例提供渲染选项。 selection SelectionModel<dynamic> 此容器的SelectionModel。 width dynamic 渲染列表的宽度,从1到5。

AngularDart Material Design 复选框

寵の児 提交于 2019-12-02 22:04:30
MaterialCheckboxComponent Selector: <material-checkbox> <material-checkbox> 是一个可以选中或取消选中的按钮。 用户可以点击该复选框以选中或取消选中它。 通常使用复选框允许用户从一组中选择多个选项。如果您有一个ON/OFF选项,请避免使用单个复选框并使用 material-toggle 。 我们没有扩展 ButtonDecorator ,因为我们需要覆盖几个属性,包括role,tabindex,但最重要的是因为checkbox只能与SPACE交互,而button适用于SPACE和ENTER。 Attributes: no-ink - 设置此属性以禁用芯片上的涟漪效应。 Inputs: checked bool 复选框的当前状态。这是用户可设置状态,通过 toggleChecked() ,因此在选中时, indeterminate 状态将被清除。 true 是 CHECKED 而 false 不是。 disabled bool 复选框是否不应响应事件,并且具有暗示不允许交互的样式。 indeterminate bool 复选框的替代状态,而不是用户可设置状态。 在 checked 和 indeterminate 之间,只有一个可以是真的,尽管两者都可能是假的。 true 是 INDETERMINATE 而

AngularDart Material Design 切换

让人想犯罪 __ 提交于 2019-12-01 14:03:00
MaterialToggleComponent Selector: <material-toggle> material-toggle 是一个可以是ON或OFF的按钮。 用户可以点击切换按钮来更改状态。 通常,当您有一个ON / OFF选项时,您可以使用切换按钮。 如果您要一组中的多个选项中选中/取消选中,请改用 material-checkbox 。 Inputs: ariaLabel String 用于切换按钮的ARIA标签。 checked bool 切换按钮的当前状态。 true为ON,false为OFF。 disabled bool 启用/禁用切换按钮。 如果禁用true,则启用false。 label String 切换按钮的标签。 Outputs: checkedChange Stream<bool> 检查切换时触发的事件。 MaterialToggleExampleComponent 查看 示例 ,查看 源码 。 来源: oschina 链接: https://my.oschina.net/u/3647851/blog/2049817

轻松实现localStorage本地存储

ぐ巨炮叔叔 提交于 2019-12-01 02:36:54
相信大家都知道HTML5提供了localStorage和sessionStorage两个新功能,基于这两个功能我们可以实现web资源的离线和会话存储,如果你现在还在用Cookie来临时存储网络资源的话,那就太out了,有这么好的东西放着干吗不用呢? 下面我将通过一个简单的例子来阐述localStorage的用法,实现起来还是相对容易的。例如现在大部分网站都有记录访客第一次访问的信息,如果是第一次访问浏览器在界面上就会弹出一个广告框之类的弹框,之后再访问网站就看不到弹框了,这一效果其实就是用localStorage(之前用Cookie)实现的。 那么现在我们以bootstrap的模态框为例,当用户第一次进入网站的时候弹出模态框,之后就不再弹出,除非用户清除了浏览器的缓存数据。我们的html代码如下: <div class="modal hide fade" id="demo" data-show="true" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class=

胶囊式菜单

强颜欢笑 提交于 2019-11-29 03:13:49
本文转载于: 猿2048 网站 胶囊式菜单 <div> <ul class="nav nav-tabs"> <li class="active"><a href="#Index" aria-controls="Index" role="tab" data-toggle="tab">首页</a></li> <li ><a href="#Index1" aria-controls="Index1" role="tab" data-toggle="tab">首页1</a></li> <li ><a href="#Index2" aria-controls="Index2" role="tab" data-toggle="tab">首页2</a></li> </ul> </div> <div class="tab-content"> <div class="tab-pane active panel-group" id="Index" role="tablist" aria-multiselectable="true"> <label>这是首页</label> </div> <div class="tab-pane" id="Index1" role="tabpanel"> <label>这是首页1</label> </div> <div class="tab-pane" id=

【Linux】远程数据同步

…衆ロ難τιáo~ 提交于 2019-11-29 02:43:27
rsync命令详解 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。 rsync特性 能更新整个目录和树和文件系统; 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等; 对于安装来说,无任何特殊权限要求; 对于多个文件来说,内部流水线减少文件等待的延时; 能用rsh、ssh 或直接端口做为传输入端口; 支持匿名rsync 同步文件,是理想的镜像工具; 一、安装rsync centOS : yum -y install rsync Ubuntu apt-get -y install rsync 验证是否安装成功 命令:rsync --version #查看rsync版本 [root@localhost ~]# rsync --version rsync version 3.1.2 protocol version 31 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. Web site: