自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

frank 的专栏

人类的一切智慧是包含在这四个字里面的:”等待“ 和 ”希望“。—— 《基督山伯爵》

  • 博客(149)
  • 资源 (6)
  • 收藏
  • 关注

原创 自动驾驶 Apollo 源码分析系列,感知篇(六):车道线 Dark SCNN 算法简述及车道线后处理代码细节简述

本文大纲自动驾驶中的车道线检测思路SCNN 算法思想Apollo 中对应的 dark scnn 代码逻辑LRUD 对应模型结构heatmap 对应代码逻辑车道线存在性预测分支代码mask 曲线拟合车道线表示2D 车道线检测3D 车道线检测总结优点不足自动驾驶中的车道线检测思路车道线检测是 ADAS 领域和高级别自动驾驶都非常重要的一环,属于环境感知和定位中的核心项。人可以轻易分辨道路上的车道线,但是对于机器而言,却非常的难,人脑有先验知识,有极速的上下文理解能力,但机器而言只有一张 2 维的图片,然后

2021-02-27 14:45:43 6753 7

原创 程序员的数学--用贝叶斯定理来推断一个案子

贝叶斯讲什么呢?先抛出一个问题:我有一个同事年不群,请问他是正人君子的可能性有多大?因为可能性是个主观感受,没有办法量化,所以在数学中一般会问年不群是正人君子的概率有多高?初看无从下手,但其实也有套路可循。先给一个假设然后观察验证和修改得到相对靠谱的结果比如,我们具体可以先这样做:假设他是正人君子的概率是 0.5寻求证据,证明他是正人君子或者否修正之前的假设概率得到最终概率你看看,这实际和我们的日常生活也差不多,贝叶斯定理正好可以解决如此问题,不过它是数学工具。什么是贝

2020-08-17 10:38:00 10641 2

原创 工作多年,我对架构的一些理解

每一个程序员都听过架构这个词,每一个程序员都有自己对此的理解和看法,本文分享我对架构的理解。什么是架构?因为我是程序员,所以本文讨论的架构特指软件架构(Soft Architecture)。我看过很多关于架构方面的书,每一位作者给出的定义都不一样,本质上却相差不多。概括而言,架构是:针对系统的表达,描述了系统的要素组成,及要素之间的交互关系。上面就描述了针对一个系统的架构,有 3 个顶层模块 ,模块 E、模块 F、模块G。模块间有交互,并且模块 E 中还有模块。所以,一般讲架构时,我们是指

2020-07-13 09:41:54 8227 8

原创 死磕YOLO系列,YOLOv1 的大脑、躯干和手脚

YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。YOLOv1 的论文地址:https://www.c...

2019-11-20 16:06:26 22822 44

原创 【深度学习】经典神经网络 VGG 论文解读

VGG 在深度学习领域中非常有名,很多人 fine-tune 的时候都是下载 VGG 的预训练过的权重模型,然后在次基础上进行迁移学习。VGG 是 ImageNet 2014 年目标定位竞赛的第一名,图像分类竞赛的第二名,需要注意的是,图像分类竞赛的第一名是大名鼎鼎的 GoogLeNet,那么为什么人们更愿意使用第二名的 VGG 呢?因为 VGG 够简单VGG 是 Visual Geometr...

2018-11-06 18:56:08 22197

原创 【深度学习】经典神经网络 ResNet 论文解读

ResNet 是何凯明团队的作品,对应的论文 《Deep Residual Learning for Image Recognition》是 2016 CVPR 最佳论文。ResNet 的 Res 也是 Residual 的缩写,它的用意在于基于残差学习,让神经网络能够越来越深,准确率越来越高。我们都知道,自 2012 年 AlexNet 在 ILSVRC 一战成名后,卷积神经网络便一发不可收拾...

2018-10-30 18:55:43 37578

原创 【深度学习】R-CNN 论文解读及个人理解

背景本篇论文的题目是 《Rich feature hierarchies for accurate oject detection and semantic segmentation》,翻译过来就是针对高准确度的目标检测与语义分割的多特征层级,通俗地来讲就是一个用来做目标检测和语义分割的神经网络。本文作者:Ross Girshick,JeffDonahue,TrevorDarrell,Ji...

2018-08-24 10:04:15 220690 39

原创 【Tensorflow】 写给初学者的深度学习教程之 MNIST 数字识别

一般而言,MNIST 数据集测试就是机器学习和深度学习当中的"Hello World"工程,几乎是所有的教程都会把它放在最开始的地方.这是因为,这个简单的工程包含了大致的机器学习流程,通过练习这个工程有助于读者加深理解机器学习或者是深度学习的大致流程.可恰恰就是在这个地方,却容易给初学者带来困扰.原因就是多数作者,对待这个比较容易的项目比较随意,经常就是把代码一张贴就完事了,读者会跟着代码敲一...

2018-05-24 19:54:10 29727 16

原创 Java 泛型,你了解类型擦除吗?

泛型,一个孤独的守门者。 大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List<String> l1 = new ArrayList<Stri

2017-08-05 22:32:18 106376 112

原创 轻松学,听说你还没有搞懂 Dagger2

Dagger2 确实比较难学,我想每个开发者学习的时候总是经历了一番痛苦的挣扎过程,于是就有了所谓的从入门到放弃之类的玩笑,当然不排除基础好的同学能够一眼看穿。本文的目的尝试用比较容易理解的角度去解释 Dagger2 这样东西。 Dagger2 是有门槛的,这样不同水平能力的开发者去学习这一块的时候,感受到的压力是不一样的。 我个人总结了大家在学习 Dagger2 时,为什么感觉难于理...

2017-07-20 22:14:00 39212 25

原创 细说反射,Java 和 Android 开发者必须跨越的坎

写作是门手艺,笑对需要勇气。写下这个题目的时候,我压力比较大,怕的是费力不讨好。因为反射这一块,对于大多数人员而言太熟悉了,稍微不注意就容易把方向写偏,把知识点写漏。但是,我已经写了注解和动态代理这两个知识点的博客,阅读量还可以,这两个知识点是属于反射机制中的,现在对于注解和动态代理息息相关的反射知识基础我倒是退缩了,所以说看起来很普通的东西,其实真的要一五一十地把它的门道说才方显功力。我们经...

2017-07-06 23:36:13 55798 56

原创 轻松学,Java 中的代理模式及动态代理

前几天我写了《秒懂,Java 注解 (Annotation)你可以这样学》,因为注解其实算反射技术中的一部分,然后我想了一下,反射技术中还有个常见的概念就是动态代理,于是索性再写一篇关于动态代理的博文好了。 我们先来分析代理这个词。代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后...

2017-06-29 22:08:55 91674 85

原创 秒懂,Java 注解 (Annotation)你可以这样学

文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了,可以开始今天的博文了。 Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。 我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来...

2017-06-27 21:48:30 270722 375

原创 一看你就懂,超详细java中的ClassLoader详解

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的...

2017-02-10 19:26:54 317014 278

原创 汽车软件通信中间件SOME/IP简述

文章目录1.SOME/IP 是中间件吗?2. SOME/IP 能干嘛?3. SOME/IP 与 CAN 的不同?通信速度通信负荷4. SOME/IP 和车载以太网、IP有什么关系?4. SOME/IP 和 Autosar、SOA 的关系?5. SOME/IP 的形态?6. SOME/IP 的消息格式?SOME/IP 消息结构Message IDRequest IDMessage TypeReturn CodePayloadEndianess7. SOME/IP 支持的数据结构类型基础数据类型结构化数据类型8

2022-05-26 18:42:32 1862 2

原创 用系统架构中的系统思维分析一个咖啡厅系统

此文是对《系统架构》中第2章系统思维的笔记,前前后后看了很多遍,为了达到活学活用,尝试用系统思维分析一个生动的现实生活中的案例,这样有助于更深刻的理解及现实的建模能力。现分享给大家一起讨论。1. 什么是系统思维?系统就是整体看待事情。把一个问题、一个现象、一种状态等等以更全面的视角去当成一个系统看待,关心它的结构和内部元素之间的关系。系统思维和其他思维是并列的,比如批判性思维、分析思维、创新思维等等。比如乘坐汽车去旅行,车发生意外冲到了路边差点撞到书。然后,不同的人看待这件事的时候,一般都会指责司机

2022-05-15 15:03:59 1510 1

原创 汽车软件通信中间件iceoryx和它的零拷贝技术

这是一头漂亮的"冰羚",它是一种用于汽车软件中的 ICP 通信中间件,由 Eclipse 基金会发布和维护。

2022-04-17 18:05:46 5504 1

原创 通信中间件 Fast DDS 基础概念简述与通信示例

从事汽车软件开发,通信中间件绕不开,当前最火热的无非有 2 种:Some/IP 和 DDS。DDS 是一种分布式通信标准,有很多商业和开源的实现,Fast DDS 是其中的一种。它在 ROS2 中被应用,而 Apollo 中的 CyberRT 框架中也有它的身影。讲 Fast DDS 之前先讲什么是 DDS。1. 什么是 DDS ?DDS 是 OMG 组织发布的一种中间件协议和 API 标准,它将系统的组件集成在一起,提供业务和任务关键型物联网 (IoT) 应用程序所需的低延迟数据连接、极高的可靠性和

2022-04-10 17:02:11 15028 9

原创 自动驾驶Apollo源码分析系统,CyberRT篇(一):简述CyberRT框架基础概念

1. CyberRT 是什么?Apollo Cyber RT 是专为自动驾驶场景设计的开源、高性能运行时框架。 基于中心化计算模型,主要价值是提升自动驾驶系统的高并发、低延迟、高吞吐。Apollo 并不是一开始就使用 CyberRT,在 v3.0 之前用的都是基于 ROS 框架进行开发。但在之前的版本中发现了很多问题,随着 Apollo 的发展,对最高水平的稳健性和性能的需求, Apollo Cyber RT 应运而生,它满足了一个面向商业化的自动驾驶解决方案的基础需求。CyberRT 最明显的 3

2022-03-11 20:17:13 12940 8

原创 自动驾驶 Apollo 源码分析系列,系统监控篇(四):Monitor模块如何监控进程 Process 的存活状态?

本篇文章分析 Apollo 中监控模块中监控进程状态的相关代码。1. ProcessMonitorProcessMonitor 是一个普通的定时器组件,内部函数也只是常规的 RunOnce 和 UpdateStatus,所以,可以推断出它的逻辑非常简单。但要注意的是它引入的头文件有 hmi_mode 和 system_status 两个,这说明它要从中获取一些数据结构定义。上面的代码说明,ProcessMonitor 中的 RunOnce 每隔 1.5s 被触发一次。工作流程分为 4 个步骤

2022-02-26 16:47:41 1742

原创 自动驾驶 Apollo 源码分析系列,系统监控篇(三):Monitor模块如何监控通信中 channel 的时延?

上一篇文章分析了 Apollo 框架中 Monitor 模块如何监控硬件,这篇文章继续分析 Monitor 是如何监控软件的,数据通信中 channel 是本文主要分析对象。1. 受监控的内容上图是之前的文章总结的,可以看到软件监控有 8 类对象:Channel Monitor 数据通信频道监控Functional Safety Monitor 功能安全监控Latency Monitor 时延监控Localization Monitor 定位监控Module Monitor 模块监控Pr

2022-02-20 18:25:58 1458 1

原创 汽车软件架构学习笔记(二):理解系统架构中的系统思维

本文的目的是阐述应对系统架构相关工作当中的系统思维。1. 什么是系统?什么不是系统?先上定义。系统是由一组实体和这些实体之间的关系所构成的集合,其功能要大于这些实体各自的功能之和。 《系统架构》系统中包含很多实体,实体之间有相互的关系,因为有相互关系,所以会产生一些功能。一块板砖不是系统,但一堵墙可以看成是系统。板砖是墙中的实体,混凝土提供实体中的粘合关系,墙的功能是抗风、防贼等。宏观层面,一个人不是系统,但一个公司却算一个系统,人是公司员工是实体,员工之间的工作协同机制就是相互关系,一个公

2022-01-30 00:28:01 450

原创 自动驾驶 Apollo 源码分析系列,系统监控篇(二):Monitor模块如何监控硬件

前面的文章有分析,Monitor 模块监控的内容分为 Hardware 和 Software 两位。本篇分析硬件监控部分。首先,可以观察一下 Apollo 官方文档给出的硬件连接图。跟自动驾驶本身相关的无非是传感器和底盘。当前 Monitor 系统支持的硬件类监控有 4 个:ESD CANGPSResourceSOCKET CAN监控 ESD CANESD CAN 是一种 CanCard,在 Apollo 中通过 PCIe 接口连接到 6108 工控机上面,在 Apollo 1.

2022-01-17 20:01:03 1444

原创 自动驾驶 Apollo 源码分析系列,系统监控篇(一):简析Monitor模块工作机制

前面的文章分析了 Apollo 6.0 中的 Guardian 模块,引发了我对 Monitor 模块的好奇心。​我们可以看到 Guardian 除了接收 Control 模块的信息外,还要接收来自 Monitor 发过来的信息,事实上 Guardian 根据 Monitor 传输的 system status 信息判断是否需要紧急停车。​本篇文章的目的就是为了搞清楚 Monitor 的主要工作流程。​Monitor 的职责根据 Apollo 官方开发者文档提示,Monitor 模块主要作用

2022-01-13 20:24:26 1238

原创 自动驾驶 Apollo 源码分析系列,安全守护篇(一):为何紧急刹车?

这篇文章主要分析 Apollo 6.0 中一个简单的模块:Guardian。

2022-01-10 22:36:51 994

原创 汽车软件架构学习笔记(一):九问软件架构

Q1.什么是软件架构?软件架构的定义没有一个统一的标准,各有各的看法。但可以参考来自SEI的定义:计算系统的软件架构是解释该系统所需要的结构体的集合,包括软件元素、元素的交互,以及两者各自的属性。可以从 2 个维度描述:静态结构,包括层次、模块划分以及更细节的数据结构体等等,代表一个系统的骨架,就如一幢建筑物的框架;动态行为,包括模块间的通信、交互机制,代表系统的行为。Q2.什么属于架构层面的内容?架构一般指的是软件系统宏观层面的设计部分,前面讲到架构是骨架,关注于整体,一般不会关注于

2022-01-09 12:36:09 2327

原创 ROS2 中的 launch 文件入门的 6 个疑问

本文记录了 ROS2 中 launch 文件学习过程中我个人觉得重要的 6 个基本问题,和大家分享,希望可以帮到初学者。疑问1:launch 文件有什么用?通过 launch 文件,ROS2 可以同时启动许多节点,这样简化了用命令行去多次启动不同的 Node。​疑问2:launch 文件怎么用?完整的命令:​ros2 launch <package_name> <launch_file_name>​也可以直接启动 launch 文件,像这样:​ros2 lau

2021-09-16 23:18:10 1779 1

原创 自动驾驶 Apollo 源码分析系列,感知篇(九):感知融合中的数据关联细节

前一篇文章讲了,Apollo 6.0 中融合的代码逻辑流程,但那是基于软件的角度进行梳理和分析的,这一篇文章基于上篇的成果进一步对算法进行较深入的分析,主要涉及到多目标跟踪中的数据关联和滤波算法。目标跟踪的基础知识概念为保持文章内容由浅入深,先做一些基础的概念介绍。卡尔曼滤波如何工作?数据融合最常见的算法是卡尔曼滤波及其变种。卡尔曼滤波是一个多次迭代的算法,一个周期内的工作如图所示:一个目标初始状态,经过 T 时间后,调用 Predict() 方法,初始状态会移植到预测状态,一般 Predic

2021-07-14 18:33:55 4376 8

原创 自动驾驶 Apollo 源码分析系列,感知篇(八):感知融合代码的基本流程

说起自动驾驶感知系统,大家都会谈论到感知融合,这涉及到不同传感器数据在时间、空间的对齐和融合,最终的结果将提升自动驾驶系统的感知能力,因为我们都知道单一的传感器都是有缺陷的。本篇文章梳理 Apollo 6.0 中的感知数据融合基本流程。感知架构文章开始前,还是需要先看一看 Apollo 中感知的整体架构。它有这么多传感器。那感知融合,最终要融合什么呢?Apollo 的感知系统的结果要以分为 2 个大类:障碍物检测(车、行人或者其它交通要素)红绿灯检测借助于激光雷达和深度学习,Apol

2021-06-22 18:21:35 5767 9

原创 自动驾驶 Apollo 源码分析系列,感知篇(七):Lidar 障碍物检测基本流程

Apollo 系统传感器是以 Lidar 为主的,本文整理在 Apollo 6.0 中 Lidar 的基本代码流程。1. 从 Component 出发因为有了之前红绿灯检测代码分析的经验,我们自然能够知道感知任务先从它的 component 开始。lidar 检测的 component 是modules/perception/onboard/component/detection_component.cc梳理代码可以得到基础的流程框架:1.1 initConfiginitConfig 从本地

2021-06-14 16:51:56 3559 2

原创 关于中国自动驾驶国标中 L3 等级的 5 个思考点

2021 年随着众多自动驾驶车型发布,越来越多的普通消费者开始了解高级别自动驾驶。之前大家讨论说 L3 车型不能落地是因为法律法规不允许,可实际上中国已经有了自动驾驶标准《汽车驾驶自动化分级》,由工信部发布,于 2021 年 1 月 1 日正式执行。近期,我认真阅读了该标准并结合我对行业的认识产生了一些疑问,归纳成 5 个问题。问题1:中国自动驾驶标准依据什么制定?很大程度应该是参考 SAE J3016 标准,然后在此基础上做了针对国情的修整。并且, J3016 是行业标准,但《汽车驾驶自动化分级》

2021-05-08 19:40:57 1861 7

原创 自动驾驶激光点云 3D 目标检测 PointPillar 论文简述

之前有针对 VoxelNet 这篇论文做过简述,今天的主题是 PointPillar。PointPillar 是 2019 年提出来的模型,相比于之前的点云处理模型,它有 3 个要点:提出 Pillar 这个概念,将类 PointNets 模型能够以 Pillar 为基础单位学习点云特征运用标准化的 2D 卷积进行后续处理快,满足实时要求,最快的版本到达 105 HzPointPillar 和前辈处理点云最先需要大量的手工作业,后来 VoxelNet 第一次引入了真正的端到端的特征学习。但

2021-04-11 15:16:56 5175 2

原创 自动驾驶激光点云 3D 目标检测 VoxelNet 论文简述

自动驾驶感知视觉有 2 个流派,分别是摄像头视觉和激光雷达视觉,本文分析激光雷达视觉当中经典的算法模型 VoxelNet。论文:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection这是 2017 年的论文出自苹果公司算法团队,这篇论文对于刚学习激光雷达目标检测的同学来讲非常有参考价值。图像和点云摄像头对环境进行测量,产生的一般是 RGB 格式图片,图片上的一个像素通常有 rgb 3 个颜色通道的数据。一般说图

2021-03-31 23:47:51 1964 1

原创 自动驾驶 Apollo 源码分析系列,感知篇(五):车道线检测基本流程

前面的文章分析了 Apollo 6.0 代码中如何进行红绿灯检测,这篇文章介绍另外一个感知任务:车道线检测。相关的文件路径整理如下:1. 从 Component 出发因为有了之前红绿灯检测代码分析的经验,我们自然能够知道感知任务先从它的 component 开始。车道线检测的 component 是 lane_detection_component.cc路径:modules/perception/onboard/component梳理代码可以得到基础的流程框架:1.1 initConfi

2021-02-16 17:49:35 4261 1

原创 自动驾驶 Apollo 源码分析系列,感知篇(四):将红绿灯检测和识别代码细致走读一遍

前一篇文章讲到了 Apollo 中红绿灯算法逻辑和各部分代码位置及粗略流程,本篇文章更进一步去分析具体代码实现。1. 相关代码流程及核心类2. 引擎类3. 设计模式

2021-02-10 17:00:41 3622 3

原创 自动驾驶 Apollo 源码分析系列,感知篇(三):红绿灯检测和识别

人在驾驶过程中会注意红绿灯的信息,而自动驾驶更离不开红绿灯信息,有了红绿灯信息,自动驾驶车辆才能更好地与车路进行交互。本篇分析 Apollo 6.0 中红绿灯检测和识别中的相关算法逻辑及部分代码实现。先看感知架构图。Apollo 中的红绿灯Apollo 默认有 2 个前视摄像头:25mm 焦距看远处,视距长,但 FOV 小。6mm 焦距看近处,视距短,但 FOV 大。两个摄像头都可以检测到红绿灯,它们相互冗余,但是同一时刻只能以一个为主。上面的图片是来自于长焦相机,能看得很远,但视野

2021-01-24 14:32:29 5052 4

原创 ADASISv3简述,自动驾驶怎么进行地图数据传输?

1. 什么是 ADASIS v3?ADASIS(Advanced Driver Assistance Systems Interface Specification)直译过来就是 ADAS 接口规格,它要负责的东西其实很简单,就是为自动驾驶车辆提供前方道路交通相关的数据,这些数据被抽象成一个标准化的概念:ADAS Horizon。数据从地图应用来,要传输到车内的 ADAS 软件应用中。我们常见的互联网传输协议是 Http,内容封装协一般是 json、protocol buffer、xml 等等。但汽车中

2021-01-14 23:27:18 7952 5

原创 程序员,如果性格内向要做些什么?

我是程序员,我一直在思考一个核心问题:我是一个内向的人吗?如果是,这样好不好?其他人对于我们这个群体其实所知甚少,一般就是所谓“格子衫”、“牛仔裤”、沉闷话少的那一类,按照普遍的观念,这个群体是内向的。可我总觉得我不是啊,就如我喜爱牛仔裤,但我同时也超级讨厌格子衫。所以,别人都评价我们是内向的那一类,那我们就是吗?为了这个答案,我先搜索内向的定义。内向和外向先看什么是内向。艾森克个性问卷对典型的内向性格描述为:安静,离群,内省,喜欢独处而不喜欢接触人。保守,与人保持一定距离(除非挚友)。倾向

2021-01-11 00:57:25 1132 5

原创 程序员不要总想着四两拨千斤

2020 年是很魔幻的一年,但好在这特殊的一年中,经历了一些事情,阅读了一些书籍,终于明白了一些之前的困惑。因为觉得自己这些感悟可能具备一些普适性,所以作本文和大家一起分享。1. 因为数字化,程序员会长期存在经常会有媒体拿 35 岁来制造年龄焦虑,但现实生活中,我也见过不少超过 35 岁的程序员。在中国几十年前是没有程序员,就如同再往前几十年,中国是没有农民工的概念的。我出生在农村,父辈基本上都进城打工,一般是当泥工,也就是泥瓦匠,通俗讲就是农民工。农民工确实收入微薄,但 08 年后有了改善,我记得我

2021-01-05 01:07:14 20811 78

原创 自动驾驶 Apollo 源码分析系列,感知篇(二):Perception 如何启动?

从 Apollo 的官方文档,我们很容易得知 Perception 是核心的组件之一,但像所有的 C++ 程序一样,每个应用都有一个 Main 函数入口,那么引出本文要探索的 2 个问题:Perception 的入口在哪里?Perception 如何启动?CyberRT在讲 Perception 组件具体内容前,非常有必要讲 CyberRT。Apollo Cyber RT framework is built based on the concept of component. As a b

2020-12-23 20:45:13 5675 3

《 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup》代码

博客《 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup》的示例代码

2017-06-25

Android pdf示例代码

博文 《Kotlin 第二弹:Android 中 PDF 创建与渲染实践 》的示例代码

2017-05-27

StickyHeaderDemo

《RecyclerView探索之通过ItemDecoration实现StickyHeader效果 》源码。

2017-04-17

ItemDecoration 博文源码

ItemDecoration 博文源码 博文地址 http://blog.csdn.net/briblue/article/details/70161917

2017-04-13

AndroidShader示例代码

博文相关代码。

2017-01-19

mvpsample示例代码

mvpsample示例代码

2016-10-18

空空如也

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

TA关注的人

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