test

Jenkins +JUnit

余生颓废 提交于 2020-03-07 06:01:29
1.环境   windows10 专业版   Jenkins 2.7   apache-ant-1.9.6   JDK1.8.0_20 2.整体思路   jdk:支持ant脚本中的编译、测试等target。   ant脚本:负责java代码的编译、JUnit。   Jenkins:调度触发ant脚本的执行。    3.开始练兵    3.1 项目整体结构 com.java.src下面放源码 MessageUtil.java com.java.test目录下放JUnit测试文件 TestMessageUtil.java build.xml文件放在根目录下,即位于AntJunit-v1.0目录下,和src位于同一级别。 3.2 项目源码 1 package com.java.src; 2 3 public class MessageUtil { 4 private String message; 5 6 //Constructor 7 //@param message to be printed 8 public MessageUtil(String message){ 9 this.message = message; 10 } 11 12 // prints the message 13 public String printMessage(){ 14 System.out

[Linux] expect用法举例

冷暖自知 提交于 2020-03-07 05:07:30
expect有助于自动化脚本中的交互过程的自动输入,例如远程登录需要输入确认信息、密码,安装脚本需要输入确认信息、用户名、密码、选择配置选项等等。 expect内部命令中的expect可以匹配一个给定的字符串,匹配上了可以再使用send命令返回一个字符串。 [例1] 使用"-c"选项,从命令行执行expect脚本 [root@xxx test]# expect -c 'expect "\n" {send "pressed enter\n"}' pressed enter [root@xxx test]# [root@xxx test]# expect -c 'expect "hi" {send "You said hi\n"}' hi You said hi [root@xxx test]# expect -c 'expect "hi" {send "You said hi\n"}' high You said hi [root@xxx test]# 再看一个ssh登录的例子, [例2-1] ssh登录主机,test.exp内容如下(主机名和密码写在脚本中,执行完成后退出) #!/usr/bin/expect set ipaddr "localhost" set passwd "iampasswd" spawn ssh root@$ipaddr expect { "yes/no"

【Python】学习笔记(三):机器学习基础入门

冷暖自知 提交于 2020-03-07 04:04:06
机器学习简介 1 机器学习 1.1 数据集 数据集 = 特征值 + 目标值 1.2 算法分类 监督学习 目标值:类别 - 分类问题 目标值:连续数据 - 回归问题 无监督学习 :无目标值 1.3 机器学习流程 1.4 Scikit-learn pip3 install Scikit-learn == 0.19.1 2 sklearn 特征工程 2.1 scikit-learn数据集API 2.2 数据集 2.2.1 小数据集 2.2.2 大数据集 2.2.3 返回值 # 导入鸢尾花 from sklearn . datasets import load_iris 2.2.4 数据集的划分 from sklearn . model_selection import train_test_split x_train , x_test , y_train , y_test = train_test_split ( iris . data , iris . target , test_size = 0.2 , random_state = 22 ) print ( f "测试集:{x_train}, 大小:{x_train.shape}" ) 2.3 特征工程 Feature Engineering sklearn 特征工程 pandas 数据清洗,数据处理 2.3.1 特征抽取API

1. Vivado 常用 tcl 命令 &GUI

自古美人都是妖i 提交于 2020-03-07 04:00:08
在 Vivado 中用 tcl 命令非常强大。 例如可以把整个工程导出到.tcl文件,非常方便分发、备份。 1(a).把工程保持成.tcl文件 tcl: write_project_tcl c:/vivado_project/pro.tcl gui: File->Project->Write tcl...,然后选择tcl路径即可。 注意:最好把.tcl中列出的依赖文件(.v, .sdc, .wcfg等)拷贝到.tcl文件的目录下,然后在.tcl文件中修改这些文件的路径,这样整个工程就可以分发了,无需依赖原工程。 # The following source(s) files that were local or imported into the original project. # (Please see the '$orig_proj_dir' and '$origin_dir' variable setting below at the start of the script) # "C:/emac_pcs_pma_udp_test-2019-02-19_final/emac_pcs_pma_udp_test/emac_pcs_pma_udp_test.srcs/sources_1/new/pxi_interface.v" # "C:/emac_pcs_pma_udp

04 基于神经网络的逻辑回归实现 - 神经网络和深度学习 [Deep Learning Specialization系列]

巧了我就是萌 提交于 2020-03-07 03:11:54
本文是 Deep Learning Specialization 系列课程的第1课《 Neural Networks and Deep Learning 》中Logistic Regression with a Neural Network mindset练习部分的笔记。 在《 02 神经网络 - 神经网络和深度学习 [Deep Learning Specialization系列] 》中,我们了解了神经网络的大部分理论知识。通过该编程实例,我们能构建一个简答的逻辑回归的分类器来识别猫,以复习神经网路的知识并了解具体的编程实现。 概述 本试验使用的是 h5 格式的数据集,该数据集包含有标注结果的训练数据和测试数据,通过以下7个步骤来完成神经网络的训练和预测: 数据加载 数据处理 参数初始化 逻辑回归函数的实现(正向传播) 损失/代价函数的实现(正向传播) 梯度递减算法的实现(反向传播) 预测 1. 数据加载 h5 格式的数据的读取是通过 h5py 库来实现的,简单的介绍可以参考我的上一篇文章《 h5py - HDF5 for Python的简单入门 》。 首先构建一个 load_dataset() 函数来完成数据的加载,该函数通过 h5py.File() 函数来读取 h5 格式的数据文件,将训练数据和测试数据做一个简单处理后,输出 train_set_x_orig , train

mqtt协议-broker之moqutte源码研究四之PUBLISH报文处理

与世无争的帅哥 提交于 2020-03-07 02:03:39
先简单说明一下,对于mqtt是个双向通信的过程,也就是说,他既允许client向broker发布消息,同时也允许broker向client发布消息 public void processPublish(Channel channel, MqttPublishMessage msg) { final MqttQoS qos = msg.fixedHeader().qosLevel(); final String clientId = NettyUtils.clientID(channel); LOG.info("Processing PUBLISH message. CId={}, topic={}, messageId={}, qos={}", clientId, msg.variableHeader().topicName(), msg.variableHeader().packetId(), qos); switch (qos) { case AT_MOST_ONCE: this.qos0PublishHandler.receivedPublishQos0(channel, msg); break; case AT_LEAST_ONCE: this.qos1PublishHandler.receivedPublishQos1(channel, msg); break; case

Makefile使用总结

99封情书 提交于 2020-03-06 22:44:12
1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂. Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力. 本篇博客是基于 {精华} 跟我一起写 Makefile 而整理的, 有些删减, 追加了一些示例. 非常感谢 gunguymadman_cu 提供如此详尽的Makefile介绍, 这正是我一直寻找的Makefile中文文档. 1.1 Makefile 主要的 5个部分 (显示规则, 隐晦规则, 变量定义, 文件指示, 注释) Makefile基本格式如下: target ... : prerequisites ... command ... ... 其中, target - 目标文件, 可以是 Object File, 也可以是可执行文件 prerequisites - 生成 target 所需要的文件或者目标 command - make需要执行的命令 (任意的shell命令), Makefile中的命令必须以 [tab] 开头 显示规则 :: 说明如何生成一个或多个目标文件(包括 生成的文件, 文件的依赖文件,

jenkins pipeline持续集成

时光怂恿深爱的人放手 提交于 2020-03-06 20:49:14
一、概述 简介 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息以steps的方式放在一个脚本里,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程,形成流水式发布,构建步骤视图化。简单来说,Pipeline适用的场景更广泛,能胜任更复杂的发布流程。举个例子,job构建工作在master节点,自动化测试脚本在slave节点,这时候jenkins1.0就无法同时运行两个节点,而Pipeline可以。 基本概念 Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。 Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是slave,是执行Step的具体运行期环境。 Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供。 语法 Pipeline支持两种语法: Declarative Pipeline (在Pipeline 2.5中引入,结构化方式)和 Scripted Pipeline

Hbase多列范围查找(效率)

天大地大妈咪最大 提交于 2020-03-06 18:57:13
Hbase索引表的结构 Hbase Rowkey 设计 Hbase Filter Hbase二级索引 Hbase索引表的结构    在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引,成为了其成功的最大的砝码   每一个索引建立一个表,然后依靠表的row key来实现范围检索。row key在HBase中是以B+ tree结构化有序存储的,所以scan起来会比较效率。 单表以row key存储索引,column value存储id值或其他数据 ,这就是Hbase索引表的结构。   Hbase QualifierFilter用于过滤qualifier,也就是一个列族里面data:xxx,冒号后面的字符串 Hbase Rowkey 设计   大数据最好从rowkey入手,ColumnValueFilter的数度是很慢的,hbase查询速度还是要依靠rowkey,所以根据业务逻辑把rowkey设计好,之后所有的查询都通过rowkey,是会非常快。 批量查询最好是用 scan的startkey endkey来做查询条件   rowkey是hbase中很重要的一个设计,如果你把它当成普通字段那你的设计就有点失败了。它的设计可以说是一门艺术。你的查询如果不能把rowkey加入进来

Scrum和项目流程总结

走远了吗. 提交于 2020-03-06 18:50:59
最近所在的两个项目组都用到了敏捷开发Scrum,之前对它的理解更多的停留在自己工作涉及到的一些具体形式,比如Daily Scrum,工作量的评估等。对于Scrum是什么,为什么要用Scrum,一直没有去思考过这些问题,更没有做过深入的学习。前几天看到园子里的一篇关于scrum的博文( http://www.cnblogs.com/speeding/archive/2012/10/30/2746532.html ),收获颇多,加深了对Scrum的理解。 Scrum的出现,我的理解是为了适应软件需求的频繁变化,以及满足客户尽快看到软件产品的需求。从网上搜索了一下对Scrum的定义,摘录了一个觉得解释最好的关于Scrum的定义如下: Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint