自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (5)
  • 论坛 (2)
  • 收藏
  • 关注

原创 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 8 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 9

原创 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 17

原创 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 17

原创 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 21

原创 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 1766

原创 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 15

原创 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 16

原创 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 31

原创 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 25

原创 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 18

原创 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 288

原创 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 908

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

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

2020-02-15 23:05:22 143

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

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

2019-12-26 16:56:56 709

原创 图解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 269

原创 软件工程学习笔记

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

2019-12-18 10:48:32 322

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

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

2019-11-18 21:43:12 2225 1

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

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

2019-07-21 19:13:04 3062 11

原创 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 1086

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

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

2019-05-12 16:23:02 8567 7

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

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

2019-04-22 21:56:04 2606

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

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

2019-02-20 19:12:38 1800

原创 利用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 72532 82

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

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

2018-11-05 22:36:42 1520

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

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

2018-11-05 22:27:54 1557

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

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

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

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

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

2018-10-29 23:01:38 1967

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

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

2018-09-04 16:30:43 4050

原创 Ethereum以太坊入门概念——账户、交易、共识与智能合约

https://github.com/ethereum/wiki/wiki/White-Paper#notesEthereum是为实现智能协议而实现的新链。There are two types of accounts: externally owned accounts, controlled by private keys, and contract accounts, control...

2018-07-27 17:09:42 644

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

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

2018-07-17 13:48:37 478

原创 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 413

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

目录 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 7011 38

原创 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 8592

原创 LTE架构与实现

2017-06-221总体概况LTE的产生路线:IEEE主导的802工作组提出宽带无线化,802.16 WiMax直接对3GPP的3G技术产生了冲击,由此3GPP提出LTE. 而宽带的无线化和通信的宽带化需求也为LTE奠定了基础。 LTE协议上指出要确保至少十年内的领先,提出了"最小可选项,没有冗余强制特性"的要求。 设计目标:LTE的总需求是网络性能更好,成本更低,采样率OPDM,MIMO,64...

2018-05-01 17:55:31 2432

原创 基于小波变换的单幅彩色图像去雾增强

注:本文成于2017年12月,是《小波变换与图像处理》的课程作业 摘要雾天天气对户外场景图像会造成严重损害,表现为光照不均,色彩饱和度低,细节和对比度差,进而造成图像质量的退化,影响进一步的人眼分辨和机器识别。针对这些特性,文章提出对彩色图像在HSI域与RGB域处理结合、小波域与时域处理相结合的去雾增强方法。在亮度通道I上进行小波分解,对近似分量运用改进的Retinex算法,去雾的同时克服晕影效应...

2018-05-01 16:40:08 4647 15

原创 《5G关键技术与系统演进》读书笔记

记录于2017年4月. 1、5G概述 5G的研究组织:欧盟METIS,5GPPP,中国的IMT-2000(5G); IMT-2000提出的5G愿景:信息随心至,万物触手及;应用场景:移动互联网和物联网;技术场景:连续广域覆盖、热点高容量、低功耗大连接、底延时高可靠;创新技术:1无线技术方面:大规模天线阵列,超密集组网,新型多址,全频谱接入。2网络技术方面:软件定义网络(SDN...

2018-04-25 22:04:53 3140

原创 连通域标记的GPU并行算法——基于CUDA方法

串行程序连通域:连通域标记是图像处理中常用的预处理方法,在机器视觉、目标检测跟踪中几乎都要用到。一个例子:主动反狙击探测猫眼效应↓瞄准镜目标↓检测标记↓有很多种标记算法,其中一种↓原理描述:数据输入:从文件中读取图像数据,记为D初始化:开辟与图像尺寸相同的数据空间,对每个像素顺序标号,生成标号矩阵L处理:对于L中的每一个像素p,首先根据D矩阵判断领域像素是否连通,然后搜寻连通邻域内的最小值v_mi...

2018-04-06 12:51:12 2489 3

原创 面向移动互联网和物联网应用的下一代移动通信

  2017年12月 摘要移动通信系统在过去三十年时间里迅猛发展,其主要业务已经从语音通话转向数据通信,移动通信与网络工程之间的差异日渐减小。目前的LTE网络已经能满足移动互联网应用的需求,而下一代移动通信将关注广阔的物联网应用。移动通信系统的改进可以分为无线传输技术和网络技术两个方面,文章着重阐述了网络的支持技术——软件定义网络(SDN)和网络功能虚拟化(NFV)。此外在计算架构上,中心化的云计...

2018-02-15 00:16:18 3251

原创 模式分类与应用-贝叶斯垃圾邮件分类

   垃圾邮件分类   任务要求 使用文件spambase.data中的数据,训练垃圾邮件分类的贝叶斯分类器,并测试分类性能。 数据初步分析 spambase.data是一个垃圾邮件的数据库,来自于惠普公司的Hewlett Packard Labs实验室,采集时间是1999年的6~7月份。该数据库中包含了4601个样本,其中1813条为垃圾邮...

2017-11-25 21:12:20 1730 3

KEmulator java模拟器

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

2011-02-07

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

Tex公式无法显示行内公式

发表于 2018-05-01 最后回复 2020-02-25

文章莫名被屏蔽

发表于 2020-01-04 最后回复 2020-01-09

空空如也

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

TA关注的人 TA的粉丝

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