- 博客(82)
- 资源 (7)
- 收藏
- 关注

原创 第二篇硬件-激光雷达
第一篇综述-无人车简介(一)第一篇综述-无人车简介(二)第一篇综述-无人车系统架构(三) 第二篇硬件-概述目录引言工作原理指标参数在上文硬件概述,以ISO-16750为例,介绍了通用的电气负荷、机械负荷、气候负荷、化学负荷及电磁兼容性(EMC)等详细的硬件测试方法和标准,本文开始,将针对特殊的自动驾驶车辆硬件设备,介绍其工作原理、性能指标和评测技术方法。 ...
2018-09-09 20:43:57
8938

原创 第二篇硬件-概述
第一篇综述-无人车简介(一)第一篇综述-无人车简介(二)第一篇综述-无人车系统架构(三) 目录引言评测标准电气负荷机械负荷气候负荷化学负荷电磁兼容性(EMC) 上文介绍了无人车的硬件架构和软件架构,使读者对无人车的软硬件架构有了宏观上的认知,本篇为硬件篇,将围绕无人车的硬件架构,更详细深入地介绍各硬件设备(相机、激光雷达、毫米波雷达、定位等)的...
2018-08-08 23:03:50
1616

原创 第一篇综述-无人车系统架构(三)
第一篇综述-无人车简介(一)第一篇综述-无人车简介(二)目录硬件架构软件架构前面简述了无人车的定义及分级、发展历程、社会影响及所面临的技术挑战。本章将讲述无人车的系统架构,包括硬件架构和软件架构,使读者从系统层面对无人车的体系架构有个宏观的认知,这样对于后续要讲解的各硬件传感器原理、各算法模块的原理、工程系统平台等的理解打下坚实的基础,以便我们能够更加系统全面地对无人车各部件(...
2018-07-29 18:14:53
19061

原创 第一篇综述-无人车简介(二)
第一篇综述-无人车简介(一)目录正面影响巨大经济效益增加驾驶安全缓解交通拥堵降低环境污染负面影响大量人员失业泄露隐私公共安全威胁面临的挑战伦理道德责任归属技术障碍正面影响 进入21世纪,科技巨头如Google、百度、阿里巴巴、腾讯、华为等都或高调或低调地投入自动驾驶汽车的研究,众多的传统汽车制造商如宝马、奔驰、通用等也...
2018-07-29 00:07:34
5829

原创 第一篇综述-无人车简介(一)
第一篇综述-无人车简介(二)目录定义及分级发展历程定义及分级 无人车(driverless car)又称自主车或自动驾驶车,是一种无须人工干预而能够感知其周边环境和导航的车辆。它利用了包括雷达、激光、超声波、GPS、里程计、计算机视觉等多种技术来感知其周边环境,通过先进的计算和控制系统,来识别障碍物和各种标识牌,规划合适的路径来控制车辆行驶。 2...
2018-07-23 00:23:03
9845
1
转载 深度强化学习与 Deep Q-Learning(DQN)
本文中我们来探讨一下深度强化学习(以DQN为主)的基本原理。这里假设读者对强化学习的基本原理与神经网络的基本知识已经有了一定的了解。 Deep Q-Learning Double DQN 带有优先回放的 DQN( Prioritized Replay Buffer) Dueling DQN 解决 DQN 的冷启动问题 Distributional DQN Noi...
2019-11-10 16:53:08
1156
转载 gdb调试带参数程序
一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如: > cc -g hello.c -o hello > g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的内存地址
2016-04-03 22:18:13
970
转载 linux下core文件调试方法
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命令,可以限
2016-04-03 22:08:11
523
原创 Linux环境编译OpenCV的应用程序方法
示范代码://test.cpp#include <stdio.h>#include <cvaux.h>#include <highgui.h>using namespace cv;int main(int argc, char **argv) {IplImage *img = cvLoadImage(argv[1]);if (NULL == img) { printf("Load
2016-04-03 21:26:57
731
原创 Python监控进程性能数据并绘图保存为PDF文档
引言利用psutil模块(https://pypi.python.org/pypi/psutil/),能够非常方便的监控系统的CPU、内存、磁盘IO、网络带宽等性能参数,以下是否代码为监控某个特定程序的CPU资源消耗,打印监控数据,最终绘图显示,并且保存为指定的 PDF 文档备份。示范代码#!/usr/bin/env python# -*- coding: utf-8 -*-
2015-07-14 17:46:28
2443
原创 Python类私有方法的陷阱
引言Python不像C++、Java、C#等有明确的公共、私有或受保护的关键字来定义成员函数或属性,它使用约定的单下划线“_"和"__"双下划线作为函数或属性的前缀来标识。使用单下划线还是双下划线,是有很大的区别的。1. 单下划线的函数或属性,在类定义中可以调用和访问,类的实例可以直接访问,子类中可以访问;2. 双下划线的函数或属性,在类定义中可以调用和访问,类的实例不可以直接访问,子
2015-07-09 15:29:56
11843
2
转载 使用四种框架分别实现1百万websocket常连接的服务器
目录 [−]服务器的参数调优TCP/IP参数配置最大文件描述符应用运行时调优OutOfMemory Killer客户端的参数调优服务器测试Netty服务器Spray服务器Undertownode.js参考文档著名的 C10K 问题提出的时候, 正是 2001 年。这篇文章可以说是高性能服务器开发
2015-07-03 10:05:00
3486
原创 漫谈自动化测试(六)——环境部署
在自动化测试过程中,最郁闷的事情莫过于没有测试机器供使用,申请机器资源需要层层审批,焦心地等待设备的到来了。测试环境(包含硬件资源、软件资源等)是一套复杂的系统,我们的自动化测试和手工测试都在其中运行,没有环境,一切都无从谈起。
2015-06-30 22:09:55
2220
原创 漫谈自动化测试(五)——实施过程
唉,换了个工作,需要学习很多新知识和技能,这么久才完善这个博文,实在感觉惭愧啊。现在立马补充完整,不能让这篇文章太监了。。。。需求分析需求分析的重要性无需多言,但在实际实施过程中,是我们容易忽视的地方。因为需求分析说难吧,它其实挺简单的;说简单吧,它其实挺难得。(你是在说禅语吗?)且容我稍微解释一下。其实在我们做任何事情之前,都必须要有目标,就像每个人都人生目标不一样,各个公司、团
2015-06-30 22:08:17
996
原创 FFMPEG 批量连接视频文件示范代码
引言在日常测试中,经常需要将短文件延长或合并成大文件,手工操作非常繁琐,下面用Python代码实现自动合并文件,抛砖引玉,通过修改以下示范代码,能够批量处理或进行其它处理。有关 FFMPEG 的各项参数,请查阅相关文档,在此不做解释。示范代码#!/usr/bin/env python# -*- coding: utf-8 -*-'''Copyright (C) 2015
2015-06-27 18:18:36
1840
转载 ffmpeg与x264编码指南
x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。 对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。 如果你在编译和安装libx264 方面需要帮助,请查看ffmpe
2015-06-26 10:29:01
747
转载 【JVM】HotSpot JVM内存管理和GC策略总结
JVM的相关知识是学习java高级特性必须要去深入学习的。平时也有一些学习和实践,不过总结比较少。今天有时间总结一下最基础的内存模型和GC策略的知识,在此记录一下。 hotspot jvm内存模型1.内存模型hotspot的内存模型很多地方都有类似总结,我也简单总结了一下,大概可以用下图表示: 关于几个分区的描述定义1.线程栈:线程创
2015-05-19 09:20:41
542
原创 Python发送多个附件和支持HTML及纯文本内容的 Email 实现
由于工作中经常需要收发电子邮件,例如每日(周)的工作报告,测试报告,监控告警,定时提醒等等,大都已电子邮件的形式发送。本文将实现一个 Python 的电子邮件发送类,支持发送多个附件(目录),HTML或纯文本内容,抄送收件人,多个接收者等功能。代码实现#!/usr/bin/env python# -*- coding: utf-8 -*-'''Copyright (C) 2
2015-05-07 08:42:25
3614
转载 Java字节码忍者禁术
Java语言本身是由Java语言规格说明(JLS)所定义的,而Java虚拟机的可执行字节码则是由一个完全独立的标准,即Java虚拟机规格说明(通常也被称为VMSpec)所定义的。JVM字节码是通过javac对Java源代码文件进行编译后生成的,生成的字节码与原本的Java语言存在着很大的不同。比方说,在Java语言中为人熟知的一些高级特性,在编译过程中会被移除,在字节码中完全不见踪影。这方
2015-04-25 11:55:35
783
原创 Python 实现类似C++的bitset类
C++ 的 bitset 和 Java 的 BitSet 在位操作中都十分方便和强大,能够极大地节省内存,提高操作效率。遗憾的是,Python 竟然没有提供类似的类或模块。不过利用 Python 本身的强大能力,实现一个类似的 bitset 类,十分容易,下面我们就来纯手工打造一个属于自己的 Python 的 BitSet 类。本文抛砖引玉,在实际应用中,需要对异常进行处理,例如输入的位置不合法等
2015-04-24 19:06:55
5190
1
原创 漫谈自动化测试(三)——建设阶段划分
我们在上一篇《漫谈自动化测试(二)——适用场景 》谈到了软件自动化测试的适用场景,对自动化测试的先决条件和适合的测试类型进行了分析说明。既然我们知道了要开展自动化测试,那也有必要知道自动化测试成熟度的阶段划分,就像程序员也分初级、中级、高级等一样,一个公司或团队的自动化测试的能力构建,也可划分以下三个阶段。
2015-04-23 10:02:13
2367
原创 漫谈自动化测试(二)——适用场景
曾经记得刚毕业不久,以为软件自动化测试无所不能,无论什么测试都想把它实现为自动化测试。从微软过来的测试经理曾跟我说,自动化测试是一种手段,真正能发现缺陷(Bug)的是手工测试,当时我很不理解。随着经验的积累,越来越体会到当时他给我说的那番理论,自动化测试也是有它的局限性的。可悲的是,我所经历的不少团队领导一般都走向两种极端,要不把自动化测试视为万能钥匙,要不把自动化测试贬得一文不值。凡事都有利弊,这句真理亘古不变!在进行自动化测试之前,我们需要知道它的利弊。
2015-04-23 09:49:11
11442
原创 漫谈自动化测试(一)——如何入门
经常在各大技术BBS和交流群遇到初入软件行业的同学问,怎么做自动化测试?需要学习什么?需要什么技能?某种编程语言(C/C++, Java,C#, Python, Shell等)与自动化是什么关系?如何最大限度地发挥自动化测试的价值?各种问题,不一而足。
2015-04-23 09:36:28
10098
37
原创 C语言字节对齐问题详解
一、何谓字节对齐? 现代计算机中内存空间都是按照字节(byte)划分的,从理论上讲,似乎对任何类型变量的访问都可以从任何地址开始,但实际情况是在访问特定变量的时候,经常在特定的内存地址访问,而不是顺序的一个接一个的排放。为了使CPU能够对变量进行快速访问,变量的起始地址应该具有某些特性,即所谓的“字节对齐”。比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整
2015-04-14 08:11:07
991
原创 深入理解Linux的fork函数
一、问题引入 工作期间,某系统设计师抛出如下一个问题,下面的代码,输出几个“-”?:[cpp] view plaincopyprint?/****************************************************************************** Copyright by Javacode007, All r
2015-04-14 08:08:38
2799
原创 Linux 终端字符颜色设置
我们在编写程序的时候,通常需要终端对输出显示红色或者绿色等各种颜色,以便更加清楚的对用户做出提示。下面是Linux系统终端颜色的设置方式:终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关,shell,python,perl, C, C++等均可以调用。 转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 2
2015-04-14 08:05:26
1229
原创 SQLite3开启事务和关闭事务模式下,性能测试对比
最近学习了下SQLite数据库基本知识,想了解下这款小巧的数据库,性能到底怎样,于是写个性能测试程序,对 SQLite3 最新发布版(3.7.13)在Linux平台进行了测试。最后发现在开启事务模式和关闭事务模式(默认)下,性能测试结果相差近 1000 倍! 在测试的过程中,得出如下一些结论:1、对于批量数据操作,建议采用事务模式,批量提交操作。2、在提交事务之前,若程序发生异常,则所
2015-04-13 18:05:59
7481
原创 用 scanf 系列函数实现简单的 email 地址合法性检查功能
对于 scanf 家族系列函数( scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf),相信大家对它们常见的格式化输入已十分熟悉。 但是, scanf 系列函数,还有一个特殊的用法,该用法能够实现简单的字符过滤功能,类似正则表达式,您是否知道呢? scanf 函数还能实现正则表达式?让我们往下看吧^_^这个特殊的格式,就是“[ ]”,一对中括号,支持
2015-04-13 18:02:51
1100
原创 Fibonacci数列第N项的两种计算方法比较
一、斐波那契数列(Fibonacci Sequence)的定义 斐波那契数列的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年,籍贯大概是比萨)。 斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、…… 这个数列从第三项开始,每一项都等于前两项之和。如果设F(n)为该数列的第n项(
2015-04-13 11:32:35
2956
原创 使用Python的元类实现AOP监控类方法调用过程
引言Python的元类(metaclass)功能强大,能够实现AOP(Aspect-Oriented Programming,面向切面编程)的类似功能,本文以实现监控类方法执行所耗时间为例,参照本文,可以实现记录类方法调用参数和执行结果到日志文件中,统一增加类的方法或属性等看似“不可能”的事情而不用对其它类做修改,达到“高内聚,低耦合”的目的。什么是元类(metaclass)
2015-04-13 10:40:44
1457
原创 FFMPEG 命令行常用方法示例
引言FFMPEG以其强大的功能而在音视频领域著称,更重要的是它还是开源的!音视频格式转换、裁剪、拼接、提取字幕或某音轨等等,它都能胜任,可谓一把瑞士军刀,小巧但功能强大,是音视频研究的必备利器之一。示例1. 转换成H264编解码ffmpeg -i input_file -vcodec h264 output_file其中 -i 表示输入文件, -vcodec h2
2015-04-08 14:31:49
15702
2
原创 优秀管理者的判断标准
引言优秀的管理者,能使企业起死回生;低劣的管理者,则加速企业灭亡。优秀的管理者,得之则昌,失之则败,譬如乔布斯,苹果公司得之,立马扭转乾坤。管理者,就像古时的将相,将相无能,国家衰败,将相贤能,开疆拓土!当你在寻求良才,或者想投靠某个“老大”跟他“混”的时候,请看看这篇文章,也许对你有点启发。由于经历和阅历有限,不足之处,请批评指正。优秀的管理者有什么特点在判断一个人之前,总的
2015-04-04 20:53:47
2034
原创 如何让软件测试人员发挥最大价值
引言对于软件测试员(有的公司叫QA或质量控制员)而言,在不同的公司文化或体制下,往往对自己的职责或定位都会存在很大的差异,导致软件测试员,甚至是公司管理员都存在疑惑: 软件测试员是否真的有存在的必要?如何才能发挥他们的最大价值? 软件测试的目的是什么什么是软件测试的目的?问题不是很简单吗?但是,我相信仍然有不少人都不一定能够答对。做事没有目标,就会像无头的苍蝇,到处乱撞。船在海
2015-04-03 10:32:03
3121
原创 Windows批处理脚本计算外部程序消耗的时长
引言很少写Windows下的批处理命令脚本,既然遇到了它的用法,就先记下来吧,供自己和大家参考。没啥技术含量,直接上代码。脚本@echo offset /a StartS=%time:~6,2% set /a StartM=%time:~3,2%set /a startH=%time:~0,2%echo 开始时间:%time%ping 192.168.1.1 s
2015-03-24 17:54:30
1286
原创 Python 多进程间文件锁的跨平台实现方法
引言在Python中编写多进程间共同读写文件的过程中,需要对文件句柄进行互斥操作,否则造成文件读写混乱或者损坏。在Posix环境下(Linux/Unix)下,可以直接调用fcntl模块进行控制,Windows平台没有该模块,只能通过安装 pywin 模块,调用系统的 API进行互斥操作了。实现代码#!/usr/bin/env python#-*- coding: utf-
2015-03-23 17:24:38
5669
3
转载 Android截屏浅析
Android的调试工具DDMS提供截屏功能,很多同步软件例如豌豆荚也都提供截屏功能,经分析Android截屏原理大致如下:DDMS是通过adb调用设备端的adbd(ADBdaemon)提供的framebufferservice进行截屏(源码在system/core/adb/framebuffer_service.c),在较早版本的Android中,framebuffer servic
2015-03-20 14:36:49
1500
转载 Android中使用代码截图的各种方法总结
1,基于Android SDK的截屏方法(1)主要就是利用SDK提供的View.getDrawingCache()方法。网上已经有很多的实例了。首先创建一个android project,然后进行Layout,画一个按键(res/layout/main.xml):xmlversion="1.0"encoding="utf-8"?>LinearLa
2015-03-20 11:36:16
1055
原创 Java 虚拟机运行时数据区介绍
引言Java 虚拟机(Virtual Machine)在执行 Java 程序时, 会将它所管理的内存划分为不同的数据区,这些分块有不同的功能,理解它们各自的特点,对于深入理解java程序运行机制和调优Java代码,具有重要意义。其实个人觉得,理解 Java 虚拟机的原理,也没想象中的复杂(也许我的想法有点天真啊^_^),它的运行机制,就像一个小型操作系统,这也许就是虚拟机的来源吧。
2015-03-08 15:36:05
607
转载 详解在iOS后台执行应用程序
在iOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务。判断是否支持多线程UIDevice* device = [UIDevice currentDevice]; BOOL backgroundSupported = NO;
2015-03-04 13:25:23
792
Core Java 9th Edition(Vol1,Vol2)
2015-01-09
Test-Driven Development with Python(英文版)
2015-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人