自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 使用cloudFlare实现动态DNS解析

之前写过一篇利用DNSPod来更新DDNS的文章。时过境迁,气氛越来越沉闷,一不开心就来个屏蔽。是时候挖墙角了,隆重推荐cloudflare,和国际接轨。并且菜也已经准备好了。利用DNSPod实现动态域名解析DDNS (解析内网、外网或IPV6地址)https://mp.csdn.net/mp_blog/creation/editor/83794355选择的理由自由。注册即用,没有繁杂的手续。 功能强大。cloudflare主业是CDN加速,使用它的域名解析,顺便获得了内容加速、域名邮箱转发等

2022-05-04 01:03:53 19210

原创 Android studio 配置国内gradle镜像

老大哥让你不要看乱七八糟的东西,但非要写Android的话,将仓库地址配置成国内镜像比较方便。在~/.gradle目录下创建 init.gradle 文件,内容如下:注意最新的gradle不再支持http,因此需要显式地设置allowInsecureProtocol = trueallprojects{ repositories { def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/gr

2022-01-23 22:29:14 3882

翻译 使用Mockito创建Mcok和Spy

Mock和Spies都是测试替身的类型,这对编写单元测试很有帮助。什么是Mock?Mock替代真实的依赖关系,可以通过编程,在调用mock对象的方法时返回指定的输出。Mockito为mock的所有方法提供了一个空的默认实现。什么是Spy?Spy是在mock出来的对象上建立的包装器(Wrapper)。这意味着首先需要一个依赖对象的新实例,然后在此之上添加wrapper。默认地,spy会调用实例真实的方法,除非这个对象的方法被stub。简而言之,spy:需要对象的真实实例。 为被监控对

2021-11-29 00:00:19 2333

翻译 Mockito 框架用于单元测试

Unit test, mockito

2021-11-28 22:31:29 704

原创 Datacube(数据立方) 概念与原理

Datacube是一个多维数据存储模型,是一个逻辑上的概念.为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)以分析一个网站的访客数据为例, 解释相关概念.事实表 fact table事实表 是一个要被分析的过程或事件. 例如在访客分析中, 关心的数据可能包括浏览器信息(型号,语言,操作系统,分辨率等) 访客ip信息(IP地址,地区,运营商等) 访问开.

2021-08-22 23:54:40 3055

原创 BCM43142 无线网卡在5.10.x内核下无法搜索信号

Ubuntu 和 deepin内核升级到5.10之后,网卡BCM43142 无法正常工作。但之前在5.8下是正常的。尝试安装对应的驱动,比较困最终没有成功。另一种方法是更换回5.8内核:sudoapt update &&sudoaptinstalllinux-image-5.8.14-amd64-desktoplinux-headers-5.8.14-amd64-desktop安装完成之后通过dpkg -l | grep "linux-image\|linux...

2021-04-04 15:00:16 584

原创 shell脚本给文件批量编号

顺序编号:#!/bin/bash#rename.sh #批量编号n=1 #number to startfor f in *do if [ "${f}" = "rename.sh" ] || [ "${f}" = "resume.sh" ] then continue fi fname2ch=`(printf "%03d" ${n})` let n+=1 mv "$f" "${fname2ch} $f"done恢

2021-02-09 00:06:52 1203

原创 11 Abstract factory patterns 抽象工厂模式

GoF Definition 定义:提供一个接口,以创建一系列相关的对象,而无需指定他们的具体实类(Provides an interface for creating families of related or dependent objects without specifyingtheir concrete classes).之前提到过听起来差不多的工厂模式(factory pattern),两者的区别在于:工厂模式定义了一个具体的工厂,这个工厂提供统一的接口,返回一系列相似的产品。而抽象工..

2020-11-15 22:30:58 188 1

原创 10 Factory Method 工厂方法 ——只管找工厂要产品,不在乎怎么造出来

GoF定义:定义一个用于创建对象的接口,但是让子类决定实例化哪个类。工厂方法允许类将实例化延迟到子类(Define an interface for creating an object, but let subclasses decide which class toinstantiate. The factory method lets a class defer instantiation to subclasses)。工厂方法是常用的一种设计模式。它有两个要素:工厂和产品。根据不同场景,从工厂.

2020-10-18 23:45:07 171

原创 09 Facade patterns 外观模式:自上而下设计,把简单留给客户,把复杂留给自己

运行GoF 定义:为系统中一系列的接口提供一个统一的接口。外观模式定义了一个更高层的接口,使得子系统更容易使用。(Provide a unified interface to a set of interfaces in a system. Facade defines a higher-levelinterface that makes the subsystem easier to use.)进一步解释:外观模式是一种很直白的设计思路,就是用一个类包含多个类对象,以实现统一的调用接口。例如,我们..

2020-10-08 22:45:38 276

原创 08_Command Patterns 命令模式

GoF 定义:把一个请求封装为对象,通过传递不同的请求配置客户端,并允许撤销的操作。(Encapsulate a request as an object, thereby letting you parameterize clients with differentrequests, queue or log requests, and support undoable operations.)命令模式中有4个概念:invoker、client、command、receiver.Command..

2020-10-07 23:13:32 141

原创 07_Adapter Pattern 适配器模式 ——改头换面,换汤不换药

GoF定义:将一个类的接口转换成客户端期望的另一个接口。适配器模式使得原本接口不兼容的类可以共同工作。(Convert the interface of a class into another interface that clients expect. The adapterpattern lets classes work together that couldn’t otherwise because of incompatible interfaces。)进一步解释:适配器在现实世界中可以看.

2020-10-07 00:55:36 171

原创 06_Strategy Pattern 策略模式 ——情况有变,全体切换执行Plan B

GoF 定义: 定义一个系列的算法,然后封装每个算法,使得他们之间可以互换。策略模式使得算法在客户端之间可以独立地变化。(Define a family of algorithms, encapsulate each one, and make them interchangeable. The strategy pattern lets the algorithm vary independently from client to client.)进一步解释:策略模式是把算法封装成相同的接口,然后在运

2020-09-30 22:51:03 1930

原创 05_TemplateMethod 模板方法 ——抽取相同代码放到父类

GoF 定义: 定义算法中的骨架,把一些步骤推迟到子类中。模板方法让子类重写算法的特定步骤,而不改变算法的结构。(Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Thetemplate method lets subclasses redefine certain steps of an algorithm without changing the algorithm’ss...

2020-09-26 23:07:43 287

原创 04_Decorator 装饰器 ——新瓶装旧酒,要新功能,但不要新对象!

GoF定义:对一个对象动态地添加额外功能。装饰器提供了一种替代子类实现的方法,灵活地扩展类的功能。(Attach additional responsibilities to an object dynamically. Decorators provide a flexiblealternative to subclassing for extending functionality.)进一步说明:使用装饰器是为了给现有的类方法增加额外功能。但装饰器模式不改写(modify)方法,而是扩展(exte.

2020-09-25 23:32:55 139

原创 03_Proxy 代理模式 

GoF定义: 为另一个对象提供替代或占位符,以控制对原对象的访问(Provide a surrogate or placeholder for another object to control access to it)。通俗解释:某个类具体实现了一个功能,但使用时不直接调用这个类的对象,而是引入一个【代理类(proxy)】,用户只和proxy类对象交互。通过proxy的中介,最终实现具体功能的调用。Proxy模式的显著特征在于,代理类和具体实现类都实现了相同的接口。import java.

2020-09-24 22:39:52 203

原创 02_Singleton 单例模式——自始至终的唯一

GoF 定义:确保一个类只有一个实例,并提供一种全局访问的方法。( Ensure a class only has one instance, and provide a global point of access to it.)通俗说法:有些类从业务上看,只需要初始化一次,且从头到位就只需要使用一个实例。例如,专一的绅士对天发誓,一生一世只爱她一个人。如果不小心重新new了另一个实例,那麻烦就大了。单例模式从代码层面避免这样的错误,把new新对象的车门彻底焊死!举一个例子,下面的代码中,MyLo

2020-09-19 23:52:27 149

原创 01_Observer 观察者模式

GoF的定义:定义对象之间一对多的依赖关系,使得一个对象更新之后,依赖它的对象可以自动地得到通知和更新。(Define a one-to-many dependency between objects so that when one object changes state,all its dependents are notified and updated automatically.)说人话:在观察者模式里,定义了观察者和被观察对象,一个被观察对象可用对应多个观察者。被观察对象更新...

2020-09-19 22:47:14 155

原创 long类型数组转换成byte

问题描述: 有long类型的数组 long[] a,如何转化为byte、int类型 byte[] b问题泛化:如何把类型A的数组、集合(List、Map、Stack等)转化为类型B .import java.util.Arrays;public class Main { public static void main(String[] args) { // We have a long type array, and want to convert to byte ar

2020-08-23 01:38:28 4218

原创 Deepin 安装java13 及切换版本

Deepin 默认安装了java8版本的openjdk,貌似还是精简版的,只有运行环境,没有javac编译器。在deepin上安装oracle的jdk比一干二净的Ubuntu麻烦一些。首先从https://www.oracle.com/java/technologies/javase-jdk13-downloads.html下载deb安装包jdk-13.0.2_linux-x64_bin.d...

2020-03-06 15:03:40 1415

原创 ”深度解析SDN“读书笔记

- 概念-- SDN的起源:斯坦福大学 研究生Martin Cadado用于在校园网中试验新开发的协议。-- 当前相关组织:1. ONF(Open Networking Foundation) 成立于2011年,由google、Facebook、微软等发起,只要由网络设备用户和运营商组成。成果OpenFlow 标准,要点:制定唯一的南向接口标准和硬件转发行为标准。2. ODL(...

2020-02-15 23:05:22 624

原创 网络模拟器CORE和eNSP对比

CORE是一个网络仿真软件,最初来自于波音公司的一个网络科技研究组,之后美国海军研究实验室进一步资助,推动了这个项目的发展。这是一个开源项目,在军方的页面是https://www.nrl.navy.mil/itd/ncs/products/core , 不出所料,这个地址在大陆是不存在的,需要不可言说的方法才能访问到。Github地址:https://github.com/coreemu/core...

2019-12-26 16:56:56 3919

原创 图解HTTP读书笔记

1.Web与网络基础WWW的三项构建技术: HTML、HTTP、URL. TCP/IP是互联网相关各类协议簇的总称,涉及网络层(IP)、传输层(UDP TCP)和应用层(FTP HTTP DNS).与HTTP密切相关的协议: IP TCP DNS URI(Uniform Resource Identifier)和 URL(Uniform Resource Locator) URI...

2019-12-24 22:09:28 468

原创 软件工程学习笔记

第一章 初识软件工程、1.1 软件的本质特性 复杂性:数量多、调用负责 一致性: 不能独立存在,需要一定的环境,遵从人为的惯例 可变性:软件生命周期中不断升级改版不可见性:软件是一种看不见摸不着的逻辑实体,看以看到源码,但源码不是软件本身,软件以机器码的形式运行“软件人员太像“皇帝的新衣”故事中的裁缝了。当我来检查软件开发工作时,所得到的回答好象对我说:我们正忙...

2019-12-18 10:48:32 630

原创 基于单目视觉的平面目标定位和坐标测量 (上) - 坐标系和成像模型

起因在一个项目的实验过程中,需要对遥控小车的位置进行跟踪和测算。在一穷二白只有一个空房间的情况下,只能自己动手造工具了。本着开放共享的精神,以及为挽救同胞们的头发着想,有必要把原理和过程写下来。所以本文将叙述:如何使用五毛钱成本搭建一个基于视觉的目标测量平台。目的和环境人为指定空房间的坐标系,例如左下角是原点,向上是z轴;房间地板上有一个待测坐标的目标;房间地面上放置若干位置已知...

2019-11-18 21:43:12 8834 2

原创 基于单目视觉的平面目标定位和坐标测量 (下) - 相机姿态估计和目标测量

上回说到,我们回顾了机器视觉的基础知识,然后一顿操作之后得到了相机内参A和畸变系数dist. 现在我们开始定位目标的坐标。这个过程包括几个子部分:1. 标记检测2. 指定世界坐标系,求相机外参3. 确定目标的坐标相机姿态估计Aruco Marker是一种特殊的二维码,来源于美国中央俄克拉荷马大学(UCO),并且为他配套开发了适用openCV的库,现在已经广泛用...

2019-07-21 19:13:04 9669 13

原创 ROS 中 cv_bridge模块 ImportError: libopencv_core3.so.3.3: cannot open shared object file

在ROS Kinetic 上使用python开发opencv程序,硬件使用树莓派平台,系统ubuntu1604, 程序中调用bridge.imgmsg_to_cv2(data, 'bgr8')函数时报错:cv_img = bridge.imgmsg_to_cv2(data, 'bgr8') File "/opt/ros/kinetic/lib/python2.7/dist-packag...

2019-07-10 23:01:02 2700 1

原创 数据可视化: matplotlib绘制动态图及3维动画

动画可以有趣地展示某种现象。相比于静态图表,人们更容易被动画和交互式的图表所吸引。在描绘时间序列数据时,动画更有意义,例如多年来股票价格的波动,过去十年气候的季节性变化和和趋势,因为我们可以看到特定参数如何随时间变化。上图是用Matplotlib实现的雨滴模拟,Matplotlib库被人们亲切地称为Python可视化包的祖父。Matplotlib通过设置50个散射点的比例和不透明度的...

2019-05-12 16:23:02 20373 10

原创 使用遗传算法和模拟退火改进的K均值聚类

1.摘要聚类问题可以转化为对准则函数的最优化求值问题。常见的K均值聚类算法对初值敏感,容易陷入局部最优,特别是对于分界面模糊的样本聚类能力较差。遗传算法可以在全局上随机搜索最优解,因此将聚类问题转化为最优化求解问题后,可以用遗传算法进行聚类,确保聚类结果能达到全局最优。标准的遗传算法虽然可以在全局上求解最优值,但迭代次数大,收敛慢。搜索速度和获得最优解往往是互相矛盾的目标。通过引入模拟...

2019-04-22 21:56:04 6763 2

原创 内网时间同步 ,NTP服务器架设及客户机设置

应用背景:多台机器协作的分布式系统中,要求严格的时间同步。例如,在以ROS机器人为平台构建的系统中,机器人上搭载树莓派,master服务器使用PC机。ROS的特性使得系统不同的组件可以运行在不同的机器上,彼此通过网络通信,信息之间的时间戳至关重要。树莓派上没有电池,掉电期间时间是静止不动的,需要通过NTP服务校准。但有时整个系统没有连接互联网,时间无法同步,造成timeout的错误,类似于...

2019-02-20 19:12:38 3022

原创 利用DNSPod实现动态域名解析DDNS (解析内网、外网或IPV6地址)

更新记录2020-01-03- 修复了12月31日由于 dnspod API 改动导致的失效。2019-05-24- 支持IPV6(如你所料,之前所说的支持是假的)- 根据网站的更新,api调用使用TLS v1.2,解决了之前调用失败的问题(感谢@lth410 指出)。-------------------------------以下正文-----------------...

2018-11-06 23:03:25 134581 115

原创 用Minikube部署Kubernetes单节点集群

一些基础知识Kubernetes本质上通过协调一个集群(Cluster)中的计算机,使他们构成一个整体。使用kubernetes,容器化的应用部署下去时无需再考虑实际要部署再哪台机器上,kubernetes作为调度者,会自动以高效的方式选择宿主机位置。Kubernetes cluster有两部分组成:1.管理和调度资源的Master;2.实际承担容器运行任务的节点(Nodes). 他们...

2018-11-05 22:36:42 2041 1

原创 使用minikube在本地搭建kubernetes实验集群

0.预先说明Minikube可以利用虚拟机快速部署一个kubernetes集群,帮助快速学习和入门。参考文档:https://kubernetes.io/docs/tutorials/hello-minikube/#objectivesMinikube的实际上的部署方式有两种,1.调用虚拟机部署集群,这时需要首先安装虚拟机,如virtualbox;2.通过容器部署,需要Linux环境,安...

2018-11-05 22:27:54 1918 1

原创 BP神经网络用于垃圾邮件识别

摘要本文利用人工神经网络实现对垃圾邮件的识别和分类。神经网络类型选择常用的BP神经网络,编程环境为Matlab。为了加深对神经网络的理解,不使用已有的神经网络工具包,而是根据底层原理编写实现完整的正向输出过程和参数调整过程。此外,根据实验中获取的经验,引入了一种学习速度动态调整的方法,可以加快前期学习速度,在相同学习次数下获得更小的累计误差。作为性能评价的一部分,将BP神经网络与另一种可行分类...

2018-11-02 14:38:57 6217 8

原创 区块链技术在IoT领域的应用综述

IoT发展据预测,到2020年物联网设备数量将达到26 billions, M2M的连接将会增长到3.3 billions, 涉及广泛的应用领域。目前,大多数IoT的解决方案依赖于中性化的C-S结构,接入云端。过去数年,IoT从封闭的中心化大型机架构演进到开放式的云中心化结构,而下一步趋势,是将云功能分布到多重节点中。下图展示了IoT架构的进化方向。 Blockchain对于IoT...

2018-10-29 23:01:38 3432

原创 SSH自动输入密码,取消首次连接确认

SSH是最常用的工具了,ssh username@ipAddress 即发起到远程主机的访问。随后输入远程机器的密码即可连接,同时,首次连接到远程主机还会要求获得远程主机的公钥,这时必须手动输"yes". 下图是完整的连接过程。ha@ha-To-be-filled-by-O-E-M:~$ ssh [email protected] authenticity of host '192.16...

2018-09-04 16:30:43 7879

原创 Docker 容器技术 -- ‘Docker 从入门到实践’总结笔记

本文是《Docker 从入门到实践》的阅读总结。CSDN上的一篇文章[宋宝华]说道,虚拟化无非有两种:虚拟出一个世界;虚拟出一个氛围。Docker就是在宿主OS上通过命名空间nameSpace虚拟出了一个氛围。结果就是,在容器中的应用看来,它感觉操作系统上只有它自己一个应用在运行。Docker的理念是,build, ship, and run everywhere. 这对于持续集成,快速交付有...

2018-07-17 13:48:37 765

原创 linux命令4小时速成

Linux从入门到精通(第二版)的笔记。基本命令行操作: shell与OS的关系:shell是OSkernel的解释和交互,常用的shell程序有BASH、TCSH、ZShell。 目录与文件操作基本目录操作 cd mkdir ls [-a -l] [path] dir (path) ,显示目录下的内容 vdir (path), 相当于ls -l (p...

2018-07-13 19:11:26 2036

原创 伪随机编码冲雷达信号处理仿真

目录 1.题目论述    12.回波信号及脉压-FFT后的表达式    12.1视频表达式:    12.2脉压后的表达式    12.3 FFT后的表达式    23 m序列的性质与仿真    24 噪声与回波信号    44.1 噪声的生成    44.2验证awgn()函数输出结果的信噪比    64.3小结    85 各级处理增益和时宽带宽...

2018-06-07 22:32:38 31713 43

原创 Matlab 图形界面(GUI) 编程

图形句柄获得句柄,改变属性获得图形的句柄:Hndl = plot(x, y);返回属性:result=get(Hndl,’'PropertyName'’); %获得某一个属性result=get(Hndl) %获得所有属性的结构设置属性:set(handle,'PropertyName1',value1, ...);例如:set(Hndl,'LineWidth',4,'LineStyle','...

2018-05-29 18:48:14 11310

reschart.pdf

用于测试镜头成像质量的ISO_12233分辨率测试卡,pdf矢量格式。适合A3尺寸打印 。

2020-01-12

First-person Hyper-lapse Videos

微软hyperlapes中实现防抖算法的论文原文,发表在2014年acm上

2018-04-21

2018年华为网络大赛初赛学习资料

2018年华为网络大赛初赛的全套学习资料,包括网络基础,云计算、大数据

2018-04-21

C程序设计(第四版)].谭浩强

谭爷的C语言教程,深入浅出,入门提高首选。免费下载

2015-10-19

KEmulator java模拟器

KEmulator java模拟器汉化版 绿色版 用于在电脑上运行jar程序 本人实验 ,可以使用

2011-02-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除