Python对于module文件中的name是没有private和public区分的,严格来说,在module文件重定义的任何name,都可以被外界访问。但是,对于 from module imort * 语法,Python提供了隐藏name的方法。
如果module文件中的name使用单下划线做前缀命名,那么,from module import *语法无法导入这些name。假设有如下Python module文件, test.py:
_a = 9
__b = 99 # 双下划线开头
c = 999
d = 9999
那么,使用 from test import * 语句,导入不了_a,__b,但是可以访问c和d:
>>>from test import *
NameError: name '_a' is not defined
NameError: name '__b' is not defined
__all__
另一种隐藏name的方式是在module文件中将想让导出的变量放到__all__数组里面,仍然假设是test.py文件:
__all__ = ['_a', 'c']
_a = 9
__b = 99
c = 999
d = 9999
那么,使用 from test import * 语句,只能导入_a,c,无法导入__b和d:
>>>from test import *
NameError: name '__b' is not defined
NameError: name 'd' is not defined
需要注意的是,无论是_X命名法,还是__all__数组,它们能够隐藏name的前提是使用 from moudle import *语法,如果不是使用的该语法,那么,_X和__all__隐藏不了任何name,所有的name都可以被访问。
Dependency Walker
之前一直用Dependency Walker看DLL导出接口,今天总结一下 Dependency Walker 使用说明。如果你想学习如何使用Dependency Walker, 可以仔细阅读这篇文章,了解一下Dependency Walker对你以后调试DLL有所帮助。
1.什么是DLL?
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!
初窥门径:Windows的基石
随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。
2.DLL有什么?
与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源(比如图标、对话框、字符串等),可是为什么要把代码放在D
7.5.2 行的边框颜色——bordercolor 135
7.5.3 行的背景颜色——bgcolor、background 136
7.5.4 行文字的水平对齐方式——align 137
7.5.5 行文字的垂直对齐方式——valign 139
7.5.6 表格标题的垂直对齐方式——align 140
7.6 调整单元格属性 141
7.6.1 单元格大小——width、height 141
7.6.2 单元格水平跨度——colspan 142
7.6.3 单元格垂直跨度——rowspan 143
7.6.4 单元格对齐方式——align、valign 144
7.6.5 单元格的背景色 146
7.6.6 单元格的边框颜色——bordercolor 147
7.6.7 单元格的亮边框——bordercolorlight 148
7.6.8 单元格的暗边框——bordercolordark 150
7.6.9 单元格的背景图像——background 151
7.7 表格的结构 152
7.7.1 表格的表头标记——thead 153
7.7.2 表格的表主体标记——tbody 154
7.7.3 表格的表尾标记——tfoot 156
7.8 表格的嵌套 157
7.9 小结 159
7.10 习题 159
第8章 层标记——div 161
教学录像:33分钟
8.1 层 162
8.1.1 层的分类 162
8.1.2 定义数据块 162
8.2 <div>标签 163
8.2.1 <div>标签的简介 163
8.2.2 <div>标签的属性 164
8.2.3 <span>标签与<div>标签 170
8.3 <iframe>标签 172
8.3.1 <iframe>标签的简介 172
8.3.2 <iframe>标签的属性 172
8.4 <layer>标签和<ilayer>标签 174
8.4.1 标签层的使用 175
8.4.2 <layer>标签和<ilayer>标签的区别 176
8.5 应用div制作下拉菜单导航条 176
8.6 小结 179
8.7 习题 179
第9章 编辑表单 181
教学录像:26分钟
9.1 使用表单标签——form 182
9.1.1 处理动作——action 182
9.1.2 表单名称——name 183
9.1.3 传送方法——method 183
9.1.4 编码方式——enctype 184
9.1.5 目标显示方式——target 185
9.2 添加控件 185
9.3 输入类的控件 186
9.3.1 文字字段——text 186
9.3.2 密码域——password 187
9.3.3 单选按钮——radio 188
9.3.4 复选框——checkbox 189
9.3.5 普通按钮——button 190
9.3.6 提交按钮——submit 191
9.3.7 重置按钮——reset 192
9.3.8 图像域——image 193
9.3.9 隐藏域——hidden 195
9.3.10 文件域——file 195
9.4 列表/菜单标记 197
9.5 文本域标记——textarea 198
9.6 id标记 199
9.7 小结 200
9.8 习题 200
第10章 多媒体页面 202
视频讲解:18分钟
10.1 设置滚动文字 203
10.1.1 滚动文字标签——marquee 203
10.1.2 滚动方向属性——direction 203
10.1.3 滚动方式属性——behavior 204
10.1.4 滚动速度属性——scrollamount 205
10.1.5 滚动延迟属性——scrolldelay 206
10.1.6 滚动循环属性——loop 207
10.1.7 滚动范围属性——width、height 208
10.1.8 滚动背景颜色属性——bgcolor 209
10.1.9 滚动空间属性——hspace、vspace 209
10.2 添加背景音乐 211
10.2.1 设置背景音乐——bgsound 211
10.2.2 设置循环播放次数——loop 212
10.3 添加多媒体文件 213
10.3.1 添加多媒体文件标记——embed 213
10.3.2 设置自动运行——autostart 214
10.3.3 设置媒体文件的循环播放——loop 215
10.3.4 隐藏面板——hidden 216
10.3.5 添加其他类型的媒体文件 217
10.4 小结 217
10.5 习题 218
第2篇 HTML 5高级应用
第11章 HTML 5的新特性 221
视频讲解:6分钟
11.1 谁在开发HTML 5 222
11.2 HTML 5的新认识 222
11.2.1 兼容性 222
11.2.2 实用性和用户优先 222
11.2.3 化繁为简 223
11.3 无插件范式 223
11.4 HTML 5的新特性 224
11.5 小结 224
第12章 HTML 5与HTML 4的区别 225
视频讲解:51分钟
12.1 语法的改变 226
12.1.1 HTML 5的语法变化 226
12.1.2 HTML 5中的标记方法 226
12.1.3 HTML 5语法中的3个要点 227
12.1.4 标签实例 228
12.2 新增的元素和废除的元素 228
12.2.1 新增的结构元素 228
12.2.2 新增的块级的语义元素 230
12.2.3 新增的行内的语义元素 231
12.2.4 新增的嵌入多媒体元素与交互性元素 231
12.2.5 新增的input元素的类型 232
12.2.6 废除的元素 233
12.3 新增的属性和废除的属性 234
12.3.1 新增的属性 234
12.3.2 废除的属性 236
12.4 全局属性 237
12.4.1 contentEditable属性 237
12.4.2 designMode属性 238
12.4.3 hidden属性 239
12.4.4 spellcheck属性 239
12.4.5 tabindex属性 240
12.5 小结 240
12.6 习题 240
第13章 HTML 5的结构 242
视频讲解:20分钟
13.1 新增的主体结构元素 243
13.1.1 article元素 243
13.1.2 section元素 245
13.1.3 nav元素 247
13.1.4 aside元素 248
13.1.5 time元素 250
13.1.6 pubdate属性 250
13.2 新增的非主体结构元素 251
13.2.1 header元素 251
13.2.2 hgroup元素 252
13.2.3 footer元素 252
13.2.4 address元素 253
13.3 小结 253
13.4 习题 254
第14章 HTML 5中的表单 255
视频讲解:50分钟
14.1 新增表单元素与属性 256
14.1.1 新增的属性 256
14.1.2 增加与改良的input元素的种类 259
14.1.3 output元素的添加 264
14.1.4 应用新增元素制作注册表单 264
14.2 对表单的验证 266
14.2.1 自动验证 266
14.2.2 checkValidity显式验证法 267
14.2.3 避免验证 268
14.2.4 使用setCustomValidity方法自定义
错误信息 268
14.3 增加的页面元素 269
14.3.1 新增的figure元素 270
14.3.2 新增的details元素 271
14.3.3 新增的mark元素 272
14.3.4 新增的progress元素 274
14.3.5 新增的meter元素 275
14.3.6 改良的ol列表 276
14.3.7 改良的dl列表 276
14.3.8 加以严格限制的cite元素 277
14.3.9 重新定义的small元素 278
14.4 小结 278
14.5 习题 279
第15章 HTML 5中的文件与拖放 280
视频讲解:40分钟
15.1 选择文件 281
15.1.1 通过file对象选择文件 281
15.1.2 使用blob接口获取文件的类型与大小 282
15.1.3 通过类型过滤选择的文件 283
15.2 使用FileReader接口读取文件 285
15.2.1 检测浏览器是否支持FileReader接口 285
15.2.2 FileReader接口的方法 285
15.2.3 使用readAsDataURL方法预览图片 286
15.2.4 使用readAsText方法读取文本文件 287
15.2.5 FileReader接口中的事件 288
15.3 拖放API 290
15.3.1 实现拖放的步骤 290
15.3.2 通过拖放显示欢迎信息 291
15.4 dataTransfer对象应用详解 293
15.4.1 使用effectAllowed和dropEffect属性
设置拖放效果 293
15.4.2 使用setDragImage方法设置拖放图标 294
15.5 小结 295
15.6 习题 295
第16章 多媒体播放 296
视频讲解:35分钟
16.1 HTML 5多媒体的简述 297
16.1.1 HTML 4中多媒体的应用 297
16.1.2 HTML 5页面中的多媒体 297
16.2 多媒体元素基本属性 298
16.3 多媒体元素常用方法 302
16.3.1 媒体播放时的方法 302
16.3.2 canPlayType(type)方法 304
16.4 多媒体元素重要事件 304
16.4.1 事件处理方式 304
16.4.2 事件介绍 305
16.4.3 事件实例 306
16.5 小结 308
16.6 习题 309
第17章 绘制图形 310
视频讲解:1小时32分钟
17.1 canvas的基础知识 311
17.1.1 canvas是什么 311
17.1.2 在页面中放置canvas元素 311
17.1.3 绘制带边框的矩形 312
17.2 在画布中使用路径 314
17.2.1 使用arc方法绘制圆形 314
17.2.2 使用moveTo与lineTo路径绘制火柴人 316
17.2.3 贝塞尔和二次方曲线 317
17.3 运用样式与颜色 319
17.3.1 fillStyle 和 strokeStyle属性 319
17.3.2 透明度 globalAlpha 321
17.3.3 线型 Line styles 323
17.4 绘制渐变图形 325
17.4.1 绘制线性渐变 325
17.4.2 绘制径向渐变 326
17.5 绘制变形图形 328
17.5.1 坐标的变换 328
17.5.2 矩阵变换 330
17.6 组合多个图形 333
17.7 给图形绘制阴影 335
17.8 应用图像 336
17.8.1 绘制图像 336
17.8.2 图像的局部放大 338
17.8.3 图像平铺 339
17.8.4 图像裁剪 341
17.8.5 像素的处理 342
17.9 绘制文字 344
17.10 保存与恢复状态 345
17.11 文件的保存 346
17.12 对画布绘制实现动画 347
17.13 综合实例——桌面时钟 348
17.14 小结 350
17.15 习题 351
第18章 数据存储 352
视频讲解:50分钟
18.1 初识Web Storage 353
18.1.1 什么是Web Storage 353
18.1.2 使用Web Storage中的API 353
18.1.3 sessionStorage和localStorage的实例
——计数器 355
18.1.4 Web Storage综合实例——留言本 357
18.1.5 JSON对象的存数实例——用户信息卡 359
18.2 本地数据库 361
18.2.1 Web SQL数据库简介 361
18.2.2 使用Web SQL Database API 362
18.2.3 本地数据库实例——用户登录 363
18.3 小结 367
18.4 习题 367
第19章 离线应用程序 368
视频讲解:13分钟
19.1 HTML 5离线Web应用概述 369
19.1.1 离线Web应用概述 369
19.1.2 本地缓存与浏览器网页缓存的区别 370
19.2 创建HTML 5离线应用 370
19.2.1 缓存清单(manifest) 370
19.2.2 配置IIS服务器 372
19.2.3 浏览缓存清单 372
19.3 浏览器与服务器的交互过程 373
19.4 applicationCache对象 374
19.4.1 swapCache方法 375
19.4.2 applicationCache对象的事件 376
19.5 小结 379
19.6 习题 379
第20章 使用Web Worker处理线程 380
视频讲解:25分钟
20.1 Web Worker概述 381
20.1.1 创建和使用Worker 381
20.1.2 Web Worker应用实例——求和运算 382
20.2 在Worker内部能做什么 383
20.3 多个JavaScript文件的加载与执行 384
20.4 线程嵌套 384
20.4.1 单层嵌套 385
20.4.2 在多个子线程中进行数据的交互 387
20.5 小结 390
20.6 习题 390
第21章 通信API 391
视频讲解:4分钟
21.1 跨文档消息通信 392
21.1.1 使用postMessageAPI 392
21.1.2 跨文档消息传输 392
21.2 小结 394
第22章 获取地理位置信息 395
视频讲解:12分钟
22.1 Geolocation API的概述 396
22.1.1 使用getCurrentPosition方法获取
当前地理位置 396
22.1.2 持续监视当前地理位置的信息 398
22.1.3 停止获取当前用户的地理位置信息 398
22.2 position对象 398
22.3 在google地图上显示“我在这里” 399
22.4 小结 401
22.5 习题 401
第3篇 HTML 5项目实战
第23章 旅游信息网前台页面 405
视频讲解:20分钟
23.1 概述 406
23.2 网站预览 406
23.3 关键技术 410
23.3.1 网站主体结构设计 410
23.3.2 HTML 5结构元素的使用 410
23.4 网站公共部分设计 411
23.4.1 设计网站公共header 411
23.4.2 设计网站公共footer 418
23.5 网站主页设计 419
23.5.1 显示网站介绍及相关图片 419
23.5.2 主页左侧导航的实现 421
23.6 留下足迹页面设计 424
23.6.1 播放音乐 424
23.6.2 添加留言功能的实现 425
23.7 小结 426
附录 习题参考答案 427
HTML 5从入门到精通
——hjjlearning,2008.06.27
第一章、 JIRA介绍
跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷,新特性,任务,改进等)是项目管理很重要的任务,但是很少有团队能做的很好。JIRA作为一个专业的问题跟踪系统可以帮助您把缺陷管理起来,让跟踪和管理在项目中发现的问题变得简单,而且充分利用JIRA的灵活配置和扩展性,可以将JIRA作为一个项目管理系统或者IT支持系统。
JIRA特性
1、 管理缺陷,新特性,任务,改进或者其他任何问题
2、 人性化使用的用户界面
3、 灵活的工作流定制
4、 全文搜索和强大的过滤器
5、 企业级的权限和安全控制
6、 非常灵活的邮件通知配置
7、 可以创建子任务
8、 方便的扩展及与其他系统集成:包括email、LDAP和源码控制工具等
9、 丰富的插件库
10、 项目类别和组件/模块管理
11、 可以在几乎所有硬件,操作系统和数据库平台运行
JIRA角色:
JIRA作为一个缺陷跟踪管理系统,可以被企业管理人员,项目管理人员,开发人员,分析人员,测试人员和其他人员所广泛使用。
1、 管理人员:
根据JIRA系统提供的数据,更加准确地了解项目的开发质量和状态,以及整个团队的工作效率
2、 项目管理者
可以针对登记进JIRA系统中问题,进行评估,分配缺陷;还可以通过JIRA系统的统计报告了解项目进展情况以及团队的工作量,工作效率等信息。
3、 开发人员
在JIRA系统中查看分配给自己的问题,及时进行处理,填写处理情况并提交工作量记录。
4、 测试人员
根据测试情况,在JIRA系统中及时快速的记录问题并对开发人员处理后的问题进行验证和跟踪。
第二章、 JIRA安装
JIRA是一个简单易用的Issue管理和跟踪的工具,运行在JAVA平台上。下载和安装都很容易,按照安装文档,只需要十几分钟就可以搞定,而且还可以为JIRA配置单独的外包数据库(可以使用的数据库有MySQL、MS SQL、Oracle等)。
安装好之后就首先要在服务器上通过http://localhost:8080来对服务进行配置(8080是jira的缺省端口)。具体经过三个配置步骤就完成了:
第一个步骤是配置JIRA系统的属性:
第二步骤是配置JIRA系统管理员的信息:
第三步是配置JIRA系统的邮件通知参数
第三章、 JIRA管理使用
一、 Projects:项目
1、Projects—> Projects点击进入到项目列表,点击ADD Project后输入项目名称(name),关键字(key),选择开发项目负责人(lead Developer),填写描述(Description),通知计划(Notification Scheme),许可计划(Permission Scheme:)和问题安全策略(Issue Security Scheme)如图所示:
2、Project Categories点击进入到项目类别,如下图所示,填入新项目类别名称和描述。
二、 Users&Groups
1、 User Browser:用户管理,在页面中可以看到所有注册的用户,可以根据条件查询特定注册用户。如下图:
单击“Add User”,添加新用户,输入相关用户名,密码,邮箱等,如下图:
点击create后,可以设置注册用户的权限组,修改用户信息,或更新用户密码,删除用户等操作。如图:
单击Edit Groups可以把注册用户加入到其他相关的组中
2、 Group Browser:组管理,管理员可以自己添加相应的组然后进行权限,注册用户配置。
三、 Global Settings
1、 附件设置:
Global Settings—>Attachments,点击图中的Edit Configuration进行附件的相关设置。
2、 首页面板设置:
Global Settings—>Defalut Dashboard,可以进入系统默认的面板进行设置。
(1) 单击“增加”可以在左侧或右侧面板中增加想要显示的栏目:
(2) ⑵选中某个栏目,单击“修改”可以修改其设置;
(3) ⑶选中某个栏目,单击“Copy”可以复制一个栏目;
(4) ⑷选中某个栏目,单击“删除”可以将面板中的栏目删除;
(5) ⑸unselect 是取消对某个栏目的选择。
另外,对于首页面板的设置,也可以通过点击首页右上角的 管理门户页 进行新增面板:
点击“增加”后就建立了一个新的首页显示面板,点击次面板对应操作中的 详细配置 进行 面板内容设置后,点击 返回 dashboard 此面板即可生效。若要恢复系统默认的面板设置, 需要点击首页右上角的 管理门户页,在新的页面中点击 复原缺省,即可恢复。
3、 一般性设置
Global Settings—> General Configuration 进入页面,点击页面底端的 EditConfiguration即可进行设置:
4、 全局性权限
Global Settings—>Global Permissions,这里设置的权限适用于系统内所有的项目,但与某个项目所设定的特殊权限无关,某个项目可以通过 Permission Schemes 设定其特定的权 限。
另外,可以通过下图选择相应的权限并赋予某个组来增加这个组所拥有的权限。
5、 问题链接
Global Settings—> lssue Linking 进入页面后可以点击“Activate”激活此功能,然后
可以新建问题链接类型:
链接类型建立之后显示如下:
此时,在某个问题的详细显示页面就会出现“链接”到其他问题这样的字段,如图:
链接建立后,在此问题页面会显示:
单击图中链接的问题,会跳转到EW-12的问题页面,该页面内同样会有链接问题的显示:
6、 外观与样式:
Global Settings—>Look and Feel,设置系统的Logo,Colours以及Date/Time Formats.
7、 邮件服务设置:
Global Settings—>Mail Servers,进入邮件服务设置页面,如图:
点击图中的“编辑”可以更改邮件服务器地址、端口以及默认发送邮件地址等信息。点击 Send a Test Email 可以测试邮件服务是否可以正常。
8、 子任务设置:
Global Settings—>Sub-Tasks,进入设置页面,如图:
此时,在某个问题的详细显示页面就会出现“创建”子任务这样的字段,如图:
单击图中的“创建子任务”即可新建一个issue。
注:此功能在 bug 管理流程中一般不使用,因为提交 bug 不存在嵌套,应该本着“单个问题 单个提交”的原则。
9、 事件跟踪设置
Global Settings—>Time Tracking,可以设置时间跟踪机制,如图:
点击图中的“Activate”是该功能生效。此时,在新建问题的时候,在页面最下端就会出现如下内容
这样新建问题后,在该问题的页面内就会增加了估算时间这一项,如图:
通过此功能,可以评估工作量。(建议:此项由项目经理填写。)
10、 用户默认设置
Global Settings—>User Defaults ,可以设置用户收到通知邮件的格式(text/html),查询
问题时页面显示的最多问题数以及用户自身发生改变时是否能收到通知邮件,如图:
点击页面中的 Edit default values 进行设置,
设置完成,点击更新,进入新的页面:
11、 工作流
Global Settings—>Workflows,点击Workflows进入到页面,如下图
上面图中已经存在一个默认的jira工作流和一个创建好的develop flows工作流,默认jira工作流是不可以删除的。下面创建一个新的工作流步骤:
注:制作工作流最重要的是根据自己公司的测试规范制定,有的可能比较复杂,有点可能比较简单,适合的才是最好的。
工作流图画出以后,下面就是根据图进行增加工作流了:
1、入工作流name和description,如下图:
2、点击add后,,如下图页面,点击workflows工作流那行的steps链接
3、点击steps链接后,进入下面页面,然后根据
新建打开
打开指派
打开推迟
打开已解决
打开不是问题
推迟指派
指派已解决
已解决重开
上面的状态都是Issue Settings—>Statuses中进行定义状态的。
4、到workflows进行页面设置:
5、 在上图先按照工作流图进行添加完成:
6、 添加完成后,进行状态转变设置,在下图中,点击Add Transition按钮
进入下页面
其他的按照上面进行操作。
7、 Transition view: 这里总共有四个选项
NO VIEW FOR transition 事务触发后不会有任何页面跳出
Default Screen 跳出一个和创建BUG差不多的页面
Resolve Issue Screen 跳出一个解决问题的页面
Workflow Screen 跳出一个问题分配的页面
8、 工作流设置完成后,还要在项目中应用到该工作流才算完成。
新建一个项目:在Projects—>Projects页面中,点击Add Project
填写完成后。
点击图中选择的”select scheme”
选择刚刚创建的scheme,点击Associate按钮,进入第二步骤
在次点击Associate按钮,OK,工作流已经配置到”测试”项目中去了
注:不同版本的JIRA可能有些操作步骤不同,但大致情况是这样一个流程。
四、 Schemes
1、 安全策略:
Schemes—>Issue Security Schemes—>Add Issue Security Scheme ,输入具体的安全设置名称(name)及详细描述(description)即可,其中详细描述为可选项。
新增后可点击Security Levels(或安全设置的名称),设置不同的安全级别,如图所示:
单击右侧的增加可以设置处于某个安全级别的人员或组,如图所示:
单击 Default 可以将 jira 默认的安全级别改成当前设置的级别,单击之后可以在安全级别 设置的上方看到 Change default security level to "None" 的字样。 另外此处设置了安全级别要应用到项目中,在新建项目的时候或者建好项目之后可以更改。
2、 权限设置
Schemes—>Permission Schemes(很重要的一步)(在此之前可能需要新建相关的组,比如:开发组,测试组,市场组等,这样方便赋予权限)
点击Add Permission Scheme,新增一权限设置,或直接点击已有的项目权限进行copy,但记得要修改名称。新增后,点击旁边的Permissions进行编辑,具体设置如下:
3、 通知设置
Schemes—>Notification Schemes,单击Add Notification Scheme进行新增权限,也可以直接点击copy复制系统默认的通知设置,然后在里面进行更改。(建议不要更改系统默认的设置),添加完通知设置之后,点击通知设置的名称或点击右侧的Notifications即可进行通知的具体设置。
4、 工作流计划
Schemes—>Workflow Schemes,单击Add workflow scheme 来增加工作流设置以便与项目进行关联,如图:
点击增加即可创建一个工作流的设置,下面需要为这个设置指派一个工作流:
单击图中的assign a workflow,选择问题类型,选择相应的工作流,单击“增加”:
这样就建立了一个新的工作流设置,这样在新建项目的时候就可以通过这个设置将我们自己定义的工作流与项目联系到一起了。
如果想要讲图中的inactive 状态变成active,必须将设置与项目关联起来就可以。
五、 Issue Fields:
1、 自定义字段
Issue Fields—>Custom Fields,自定义页面内显示的字段。
单击页面内的Add Custom Field 可以进行自定义字段的添加,选择图中某一类型的字段。单击“Next”,如图:
在下图中字段名称对应文本框内填写需要添加字段的名称,并给予描述:
在此处选择添加字段所使用的模板:
选择此字段所要应用到的问题类型:
选择将此字段设置作为全局设置或是只针对某个项目:
单击“Finish”完成设置。在如下页面选择字段所显示的页面:
单击“更新”完成设置。设置前后页面比较:
2、 字段设置:
Issue Fields—>Field Configurations,可以自己增加,也可以复制原有的进行修改,如图:
新增字段后如下:
注:此设置需与“Field Configuration Schemes”中的策略关联才可以生效。
3、 字段设置策略
Issue Fields—>Field Configuration Schemes,通过此处可以自定义添加或复制原有策略来增加新的策略,从而可以将所设置的字段与项目关联起来,如图:
4、 问题导航栏
Issue Fields—>Navigator Columns,通过此处可以增加或隐藏现有导航栏内的显示内容,也可调整前后顺序,如图:
六、 Issue Settings
1、 Issue Types:问题类型
Issue Settings—> Issue Types,通过配置可以设置出不同的问题类型,默认的问题类型有4种如下图:
在Add New Issue Type下面输入name和描述,就可以添加新的问题类型了,这个可以根据自己的需要进行增加。
2、 Priorities:优先级
Issue Settings—> Priorities,这个是设置问题的优先级,可以更加自己的需要进行修改,删除或添加。如下图是我修改了的优先级,把优先级该为问题的严重程度,方便自己使用,这里可以每个公司进行修改:
3、 Resolutions:操作决策
Issue Settings—> Resolutions,主要是配置开发人员对问题的解决方法状态选择,比如选择这个问题关闭,或者是已经存在,下个版本解决等。这些都是在这里进行配置,如下图,如果你不爽英文的话完全可以全部修改为中文。:-)o(∩_∩)o…
4、 Statuses:问题状态
Issue Settings—> Statuses,可以设置问题的状态,包含问题创建,关闭,重开等,可以根据工作流进行配置,如下图:
右边的workflows是工作流,点击下面链接就可以跳到工作流设置页面。
七、 Import & Export
1、 数据备份为xml文件:
Import & Export—>Backuo Data to XML,通过此处可以将数据库中的数据备份成XML文件,这种备份既可以用于使用JIRA自带的数据库,也可以用于连接了外部数据库的数据备份,使用外部数据库的数据备份也可以直接备份该数据库。
单击图中的”Backup”之后会将数据备份,之后会提示填写备份路径,如图:
注:使 用这 种方法 备份 数据库 只是 一次性 备份 ,如果 想要 实现周 期性 备份需 要在 SystemServices 中进行设置。
设置如下:如果在安装 jira 的过程中指定了备份路径的话,jira 的备份服务会自动启动; 如果没有进行设置,可以进入 SystemServices 中,设置其保存路径,文件名格式,文件 保存为 zip 格式或 xml 格式以及备份时间间隔。如图:
2、 从XML文件恢复数据:
Import & Export—>Restore Data from XML,通过此处可以将已经备份的数据重新恢复到系统中,与Backuo Data to XML相对应。
数据导入的时间视文件大小而定,导入成功之后显示如下页面,并且需要重新登录系统:
3、 外部导入数据
Import & Export—> External System Import、通过此处可以将外部的数据导入进来:
八、 Options & Settings
1、 Options&Settings—>Send E-mail,管理员可以通过这个功能通知相关用户信息。
九、 System
这个模块都是一些基本配置显示信息,一般安装JIRA都不用在这里面进行配置。可以不去管他。
第四章、 JIRA用户使用
1、登陆与注册
在成功安装配置完成的界面上点击“登陆到JIRA”,就会看到JIRA的登陆界面了;
如果已注册,就输入用户名和密码进入。
没有注册,点击“注册”链接
注册成功后进行登陆。
2、 创建问题
一般用户注册后,要通过管理员对你的权限进行配置。
项目一般又管理员进行创建,设置,这里只写普通帐户的使用。
登陆成功后,进入下面页面
点击“创建问题”链接,进入下面页面,选择项目,问题类型:
选择完,点下一步,然后详细填写问题的情况:
填写完成后,点“创建”。一个问题就创建完成,然后邮件就会发送到相关人员邮箱中。
注:上图中的填写,可能每个公司的配置一样,需要根据具体情况进行设置。
3、 浏览项目
在浏览项目的界面可以看到项目的基本信息资料,模块和版本信息及问题分布情况。
4、 查找问题
在查找问题界面上,您可以在界面左侧进行查询条件的设置,JIRA提供了强大的查询功能,在你设定好查询条件后,还可以将查询条件保存起来,定义为过滤器,供以后的重复使用,也可以将保存的过滤器给团队的其他成员。
Python是静态作用域语言,尽管它自身是一个动态语言。也就是说,在Python中变量的作用域是由它在源代码中的位置决定的,这与C有些相似,但是Python与C在作用域方面的差异还是非常明显的。
接下来会谈论Python的作用域规则,在这中间也会说明一下Python与C在作用域方面的不同。
在Python 2.0及之前的版本中,Python只支持3种作用域,即局部作用域,全局作用域,内置作用域;在Python 2.2中,Python正式引入了一种新的作用域 — 嵌套作用域;在Python 2.1中,嵌套作用域可以作为一个选项被开启;嵌套作用域的引入,本质上为Python实现了对闭包的支持,关于
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。
但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:
>>> bart = Student('Bart Simpson', 98)
>>> bart.score
>>> bart.score = 59
>>> bart.score
如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访
在PyCharm编写代码时提示 shadows name ‘xxxx’ from outer scope (直译为:从外部作用域隐藏名称“xxx”)
函数内部的变量’xxx’,在外部也有相同名称的变量’xxx’。
消除警告方法
修改变量名称,让内外部参数名称不同
如果内外部一样,在函数内部想要修改外部参数时,在函
此内容为学习廖雪峰Python教程的学习笔记,内容是个人认为常常疏忽或是未了解的知识点,不具连贯性,如要学习Python,推荐前往廖雪峰官方站点学习。
基础常见问题
1.在最新的Python 3版本中,字符串是以Unicode编码的。
2.字符串默认类型为str类型,在内存中以Unicode表示,一个字符对应若干个字节。
3.这常常会导致一些问题,特别是在进行相关字符串加密解密时,一定要考虑到先把字符串转为以字节为单位的bytes 可以直接转.
使用新学的列表和字典,结合定义函数等知识点,成功编写了一个简单的学生成绩管理系统。实现了在系统内使用学生的姓名或者学号,即可实现显示、添加、删除、修改、查找(增删改查)、成绩排序(从小到大或从大到小)的功能。
#名称隐藏-1(通过嵌套的名称隐藏)
以下各项会导致发生通过嵌套的名称隐藏:在命名空间内嵌套其他命名空间或类型;在类或结构中的嵌套类型;声明形参和局部变量。
在下面的示例中
class A
int i = 0;
void F() {
int i = 1;
void G() {
i = 1;
在方法 F 中,实例变量 i 被局部变量 i 隐藏,但在方法 G 中,i 仍引用该实例变量。
当内部范围中的名称隐藏外部范围中的名称时,它隐藏该名称的所有重载匹配项。在下面的示例中
该程序在丝芙兰评论页面上爬网文本,并返回评论ID,评分,评论者的名字和位置,他们的评论文字以及有多少人认为他们的评论有用。
所需的图书馆
在命令提示符下使用以下pip命令安装必要的库。
pip3 install requests
pip3 install lxml
pip3 install beautifulsoup4
pip3 install nltk
待办事项清单
项目按重要性顺序列出。
创建一个地图,显示各州的评论频率和评分
筛选出<strong>标签和people在array_helpful(也许尝试使用替代())
解决的问题
最新修复程序列在首位。
修复了错误“索引超出范围”。 第一次(最早的)评论没有评分,因此我们将在数据集中忽略此1个实体。
停止跳过隐藏的段落(当评论很长并且您必须单击“查看更多”时,搜寻器将跳过这些部分)
修复rating开头的5、4、3、
2、丰富的else语句:
在 Python 中,else 语句不仅能跟 if 语句搭,构成“要么怎样,要么不怎样”的语境;Ta 还能跟循环语句(for 语句或者 while 语句),构成“干完了能怎样,干不完就别想怎样”的语境;其实 else 语句还能够跟我们刚刚讲的...
第8章 基 本 概 念本章意在解释对理解C++至关重要的一些概念,C程序员将对这些概念中的很多内容非常熟悉,但存在一些细微的差别可能导致意想不到的程序结果,包含了以下论题:* 术语* 说明和定义* 范围* 程序和连接* 开始和结束* 存储类* 类型附加的论题包括l值、r值和数值范围界限。术 语本书所使用的C++术语在表2.1中给出了定义:表2.1
因为课程已经学到后期了,相应的一些细则和例子会少一些,主要是一些关键性的概念之类的东西。
我理解的就是一些实际工作中会用到的一些规则、技巧之类的而且这这些东西都是有点类似于潜规则那种的大家都知道,就这么干(说实话不是这圈子的真不知道)
1. 特殊⽅法
1.在类中可以定义⼀些特殊⽅法也称为魔术⽅法
2.特殊⽅法都是形如 xxx()这种形式
#名称隐藏-2(通过继承的名称隐藏)
当类或结构重新声明从基类继承的名称时,会发生通过继承的名称隐藏。这种类型的名称隐藏采取下列形式之一:
• 类或结构中引入的常量、字段、属性、事件或类型会把所有同名的基类成员隐藏起来。
• 类或结构中引入的方法隐藏所有同名的非方法基类成员,以及所有具有相同签名(方法名称和参数个数、修饰符和类型)的基类方法。
• 类或结构中引入的索引器隐藏所有具有相同签名(参数个数和类型)的基类索引器。
管理运算符声明的规则使派生类不可能声明与基类中的运算符具有相同签名的运算符。因此,运算