test

11异常处理

让人想犯罪 __ 提交于 2020-02-05 05:22:33
基础知识 1、异常是一种Exception类型的对象( 异常是一种对象 )   因为异常是对象,所以你catch住的也是对象,下面程序代码中catch的参数是Exception类型的ex引用变量 try { } catch(Exception ex) { //Exception类型的对象可以是任何它的子类的实例 //尝试恢复 } 2、如果你的程序代码会抓住异常,那是谁把它抛出来的? //有风险、会抛出异常的代码public void takeRisk() throws BadException {//必须声明它会抛出BadException if(abandonAllHope) { throw new BadException();//创建Exception对象并抛出 } } //调用该方法的程序代码 public coid crossFingers() { try { anObject.takeRisk(); } catch(BadException ae) { System.out.println("Aaargh"); ex.printStackTrace();//如果无法从异常中恢复,至少也要使用printStackTrace()来列出有用的信息 } } 举例: public class Test { int age; public void getAge(int age)

SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考

☆樱花仙子☆ 提交于 2020-02-05 05:21:52
今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate)。郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP成都研究院。当时,成都研究院的CRM团队刚刚成立,Jerry和郑晓霞都在一个大组。 2012年夏天,我们接到任务,要把SAP Customer Briefing这款已经发布的iOS应用移植到Android平台。因为只有1年的期限,老板组建了一只特殊的开发团队,由Jerry, 郑晓霞和另外两位男同事组成。是的,因为需求很清楚,就是把iOS版本上的功能移植到Android平台,所以这只团队没有产品经理,没有架构师,郑晓霞担任了开发人员和Scrum Master的双重身份, UX也是项目中后期从上海找了一位同事远程加入项目组。由于我们4位以前都没接触过Android开发,因此也是边学习边干活。这个微型团队的学习气氛非常好,一个人遇到困难,其他三位都会积极热心参与讨论和提供帮助。 Jerry印象最深的一件事是,当时我负责实现一个company profile的功能,即客户可以从一个下拉列表里选择一个企业,从而进入该企业明细页面,显示该企业的概述,包含文字简介,企业人数,财政收入等等。概述信息通过消费wikipedia提供的Restful API,传入企业名称,返回响应

Eclipse NDK 配置

时光怂恿深爱的人放手 提交于 2020-02-05 04:55:20
一、关于NDK: NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。 NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。 2、NDK提供了一份稳定、功能有限的API头文件声明。 Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。 二、NDK实例的实现: 对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译

Eclipse NDK 配置

别等时光非礼了梦想. 提交于 2020-02-05 03:55:29
转自 Eclipse NDK 配置 一、关于NDK: NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。 NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。 2、NDK提供了一份稳定、功能有限的API头文件声明。 Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。 二、NDK实例的实现: 对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样

Eclipse NDK 配置

房东的猫 提交于 2020-02-05 03:52:38
一、关于NDK: NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。 NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。 2、NDK提供了一份稳定、功能有限的API头文件声明。 Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。 二、NDK实例的实现: 对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK,所以为Eclipse需要配置的builder,其实是执行Cygwin,然后传递ndk-build作为参数。在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译

SAP成都研究院姚瑶:软件质量保证工作的变迁

眉间皱痕 提交于 2020-02-05 03:15:58
大家好,我是来自SAP成都研究院Revenue Cloud 团队的质量工程师 , yoyo。很高兴可以和大家分享我个人的工作体会。每个团队都有QE(Quality Engineer), 相信大家对QE 的工作并不陌生,我也就不唠叨QE 的具体工作啦。作为从事软件质量保证工作十年的“老人”,我想就我个人的工作经历和大家探讨下软件质量保证工作的变迁。 当我们谈论软件产品的质量保证工作时,必然是基于某种软件开发模式上的。皮之不存,毛将焉附?脱离了软件开发模式,质量保证工作就是空中楼阁。相信大家都感受到,近十几年,软件开发模式不断涌现新的概念和词汇,Agile, Continuous Integration , Continuous Delivery, DevOps ,令人应接不暇。我们首先要理解软件开发模式的变迁,然后才能进行与开发模式匹配的质量保证活动。 1. 瀑布开发 传统的瀑布模式如下图: 在这种模式下,测试活动仅仅是线性开发活动的后期活动。质量保证严格依赖于各个文档(需求文档,设计文档,测试计划和测试报告)以及评审会议,自动化测试可有可无。 2.增量开发 团队把产品的需求,设计,实现以及测试放在若干迭代周期里完成,每个迭代结束的交付物视为产品的增量,不要求增量达到能交付的要求,但需要能够基本可以工作。产品的交付仍然发生在最后,如下图所示: 增量开发的核心就是持续测试和持续集成

作业五 词法编译器

◇◆丶佛笑我妖孽 提交于 2020-02-05 03:12:27
词法分析程序( Lexical Analyzer )要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词( Lexemes ) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:文件读取 处理: –遍历(什么遍历方式) –词法规则 输出:单词流(什么输出形式) –二元组 单词类别: 1.标识符(10) 2.无符号数(11) 3.保留字(一词一码) 4.运算符(一词一码) 5.界符(一词一码) 单词符号 种别码 单词符号 种别码 单词符号 种别码 char 12 : 17 { 42 int 13 /\ 37 } 43 if 14 < 30 [ 44 else 15 <= 28 ] 43 return 16 <> 29 " 47 END 3 > 32 , 48 l(l|d)* 25 >= 31 ' 49 dd* 26 = 27 & 50 + 33 ; 39 && 51 - 34 ( 40 \\ 52 * 35 ) 41 / 36 : 38 源代码如下: #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<stdlib.h> int i, row = 0, line = 0; char test[1000];

K8S 之 Coredns安装与理解

只谈情不闲聊 提交于 2020-02-05 02:42:57
一、Coredns作用 重点:通过coredns 通过service名称,解释到相应的cluter集群IP 二、Coredns安装(以容器搭建服务) 1、在运维主机上搭建一个HTTP服务存放yaml文件 ~]# cd /etc/nginx/conf.d/ conf.d]# vi /etc/nginx/conf.d/k8s-yaml.od.com.conf server { listen 80; server_name k8s-yaml.od.com; location / { autoindex on; default_type text/plain; root /data/k8s-yaml; } } conf.d]# mkdir /data/k8s-yaml conf.d]# nginx -t conf.d]# nginx -s reload conf.d]# cd /data/k8s-yaml/ k8s-yaml]# mkdir coredns 2、创建四个yaml文件,用于coredns容器创建 [root@test-operator coredns]# cat rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: coredns namespace: kube-system labels:

Mysql 单表操作、增删查改(基础4)

半腔热情 提交于 2020-02-05 02:12:23
新建一个表,往里面插入数据。 #新建一个表 mysql> create table test( -> id int, -> name varchar(20) -> ); Query OK, 0 rows affected (0.01 sec) mysql> desc test; #查看表结构 +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | char(4) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) ########### 插入数据 ########### 使用insert 方法一 mysql> insert into test(id,name) value(1,'小明'); #插入数据 (常用方法) Query OK, 1 row affected (0.00 sec) mysql> select *

Samba服务器搭建

好久不见. 提交于 2020-02-05 00:25:34
文章目录 samba简介 搭建服务 安装samba软件包 配置smb.conf文件 创建用户,共享目录 启动服务 连接测试 疑难杂症 samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。 摘自:百度百科 注:多数用于Linux跟Windows之间的文件共享。 samba两个主要进程是: smbd 和 nmbd 。 两个进程的主要功能,如下: smbd 文件和打印服务、授权与被授权 nmbd(类似于DNS) 名称解析、浏览服务 搭建服务 实验环境: CentOS-7-x86_64-DVD-1708 win10 VMware Workstation 15 Pro 实验目的: 学会搭建简单的samba服务 安装samba软件包 [root@localhost ~]# yum install -y samba* # 偷懒安装所有的依赖组件