- 博客(183)
- 资源 (10)
- 收藏
- 关注
原创 大话适航(二)适航管理
适航性(Airworthiness):指民用航空器适合/适应于飞行(Fit to fly)的能力,是航空器的固有属性,是航空器包括部件及子系统整体性能和操纵特性在预期运行环境和使用限制下的安全性和物理完整性的一种品质。预期运行环境:如机场、气象、航路、空中交通等使用限制:如速度、高度、重量、平衡等适航管理:对航空器的适航性进行全面、系统地管理和控制的过程。适航状态:航空器符合经批准的型号设计并处于安全可用状态。持续适航性:民用航空产品持续保持其已经具备的适航的能力和情况。
2024-03-19 10:22:38 343
原创 大话适航(一)民航产业
eVTOL、飞行汽车和低空经济已成为热门话题,政府引导资本投入新赛道,也势必会吸引跨界厂商前来淘金。只说民用航空器整机制造,技术最接近的行业是军工,然后是无人机,还有汽车、农业机械等。“互联网+”曾经掀起互联网造车热潮,现在开始卷到航空业去也不足为奇;比如,作者我😂。比起入侵汽车行业,互联网人入侵航空业会遇到更多趣事。比如航空软硬件的很多术语,连软件工程、计算机科学与技术专业科班出身的人都听不懂,真正体验了“隔行如隔山”。
2024-03-19 10:05:46 356
原创 汇报的目标和技巧
要做好汇报,需要先理解汇报的意义,这是根源上的指导。直接地说,满足上级的需求就是汇报的价值,而上级需求来自企业运作的需要,这也是各级管理者职责的组成部分。各级管理者的职责(倒序引用):CEO:决定方向、监督执行、全球化、激励员工集团高管:财务预算、人员规划、新业务、业务投资策略、资源和核心能力建设事业部总经理:业务规划、部门利益分配,协调人和组织、信息顺畅透明、扩视野、分析市场。人员能力:经验、技能、视角、思维组织能力:架构、工作设计、流程、权利配置、人员配置。
2023-07-27 16:58:01 898
原创 QNX使用libjson解析JSON
相比python、Java、Javascript,C/C++的JSON库使用起来真不友好。但这是编程语言的限制,另一个选择cJSON同样不好用。下面写个示例,用C++简单封装一下读取配置。JSON的组装更简单,还可以用。具体用法请看官方文档。编译前,mk文件加入。
2023-06-14 20:18:46 401
原创 CAN总线协议
CAN,Controller Area Network,直译是控制器局域网,如字面意思是连接多个控制器的一种网络结构。它具体是以总线(bus)拓扑结构连结、按特定数据协议传输的,因此中文常叫做CAN总线。首次发布于1986年的CAN历史悠久,有众多公司和组织参与优化完善,2015年发布了第二代CAN FD,2020年推出第三代CAN XL。CAN的软硬件实现方式已形成ISO国际规范(specification),其网络数据传输方式也称为CAN协议,不过CAN协议只定义了物理层和数据链路层。
2023-03-09 21:39:44 5121 1
原创 飞控的职责和实现原理简述
一个典型的工业机器视觉系统包括:光源、镜头(定焦镜头、变倍镜头、远心镜头、显微镜头)、 相机(包括CCD相机和COMS相机)、图像处理单元(或图像捕获卡)、从上表可看到,同一个数据(例如自身离地高度)可以有多种来源,而且同类传感器还有多重冗余备份,加上实时精度估算的考虑,最终结果的融合计算过程是比较复杂的。自动驾驶本身也是一种融合计算,综合了多个功能部件的数据来实现,它的核心作用是。另外,总结传感器的选择考虑点有:采购成本、算力、功耗、精度、重量、可靠性、有效距离、抗干扰、行业规格要求、营销效应等。
2023-01-12 21:35:03 1167
原创 开源飞控初探(六):地面站和SDK
按照原意,不会带上天,在地面上能控制飞机的系统,都叫地面站,包括PC软件、手机App等。地面站可通过多种连接,以MAVLink数据协议向飞控发命令。载人飞机上的触控屏也会集成SDK具有控制功能,这是特例,在飞控端来看触控屏仍是一种“地面站”。
2023-01-12 21:30:59 2107
原创 开源飞控初探(四)ArduPilot::Copter固件源码分析
2022.5.7,基于v4.0.5的分析。官网文档没及时更新,本文对当前版本源码的描述可能和官网不一样。
2023-01-12 21:24:54 3156
原创 开源飞控初探(三)两大开源飞控的历史
Pixhawk是硬件,PX4是它的原生固件。这个团队维护的地面站项目是QGroundControl。APM是硬件,ArduPilot是它的固件,但最新的ArduPilot已经只能运行在Pixhawk上了。有时候为了方便,也有人称呼ArduPilot为APM。这个团队维护的地面站项目是MissionPlanner。日常沟通的【飞控】一词有多个含义:最专业的意思:无人机上的MCU作为板载计算机,连同所有传感器和控制飞行的电机,整体被称为飞控。
2023-01-12 19:54:03 2116 1
原创 开源飞控初探(二):无人机技术栈
自动驾驶能让人不操控的情况下,保持经纬度和高度不变,也就是通过控制自身姿态和电机转速,抵消重力和风力的影响。如果单对抗重力,想人工控制螺旋桨转速来保持高度不变,还是有可能的,但面对不断变换速度和方向的风而言,人的反应速度不足以让经纬度变化幅度保持很小。由于地球是个球体,当两个地球表面的点足够远时,例如广州和纽约,我们难以应用“两点之间直线最短”的方案来直接过去,因为不可能穿过地底。它配有摄像头,通过对比运动过程中的图像变化,得到不同方向的位移速度,再通过一定算法得到粗略的位移量。这些点是三维的,即经纬度+
2023-01-12 18:38:18 1687
原创 开源飞控初探(五):MAVLink协议和Java库
MAVLink协议是一种(应用层)数据协议,不依赖传输协议。传输层可以是TCP、UDP、RS232串口,甚至基于WebSocket。在定义数据的基础上,补充描述了几种子协议(microservice,直译是微服务)的现有实现。协议不保证送达,客户端需要经常检查机器状态确认命令被执行。具体的数据定义包括:数据帧格式,包括协议头和载荷(Payload),协议头包括协议版本、载荷长度、兼容标识、次序号、发送者系统号、发送者组件号、消息号、CRC检验和可选的签名。
2023-01-12 18:36:04 2434
原创 开源飞控初探(一):无人机的历史
无人机的正式英文名字是Unmanned Aerial Vehicle,缩写为UAV。有人无人的区分,是看飞机能否一直需要人为操控。最简单的场景是,当飞机飞出视线之外时,人已经很难实时根据环境来遥控。飞机有能力自己做判断,保持一定的飞行状态或在执行任务过程中懂得按实际环境进行调整,则是“无人驾驶”一词的核心意义。试想直升机飞行员松开手也希望直升机保持悬停状态不能坠毁,这种保持机制就是unmanned的一个例子。
2023-01-12 18:31:58 1728
原创 Code Review关注点
Review可分为3个级别,高一级会包含低一级的内容。不熟悉相关代码,只能review是否遵守规范,以可读性为主。规范按照【语言>框架>系统平台>项目>公司>跟上下文相同】的优先级来遵守。
2022-06-23 12:36:54 1432
原创 中小企业建立中台的条件
2019年起不少中小企业跟风建立了中台,然而到2021年末就很少呼声了,从招聘网站的岗位数量上也可观察出来。中台的撤销,很大程度源于财务部的核算:建中台后支出剧增。如果业务收入未能如期增长,那么中台肯定在降本大战中首当其冲。反观这波浪潮起伏,笔者总结出3个建中台的条件。注:本文仅讨论小中台,即人员由产品研发构成,不包括人资、财务、法务等职能。1.业务线超过三个且多业务之间有足够的相似度公司业务已经多元化,这是最大的前提。单一业务下也按职责来划分中台,那就徒具形式化了。而只有两三个业务或项目组的话,也还
2022-04-12 17:09:25 4070 1
原创 体验一个人自驾游思考人生
2021年12月,14天13晚湘鄂赣转了一圈,总里程超过3500公里,吃950住850玩200油费1500高速费1200,顺风车接单收入近2000,净花费2750。本来打算玩一个月以上,最远去到内蒙古的,结果被疫情和雾霾赶了回来。开车经验:要开定速巡航/自适应巡航/自动驾驶的车,眼不用老看是否超速,脚不用一直踩油门,没那么累。这样在高速上完全可以一边靠潜意识转方向盘,一边听音频或思考人生。 带上太阳眼镜,可避免白天长时间开车时阳光伤眼 可以用哈啰顺风车接单,花小猪和阳光出行也可。100公里以下接
2021-12-22 17:50:06 3280 9
原创 总结移动开发入行十周年
我从事移动开发始于2011年春节后。这一年iOS和Android正式登上舞台,使得塞班和WinPhone进入了维护阶段,而Java预装系统则直接萎缩。身在移动开发最前线,直观的感受就是这5个平台的开发团队人数变化,而到了2013年,就只剩下iOS和Android了。2012年Q4我开始了写博客,也正好在2013年的博文里提到,iOS和Android程序员终会像Windows程序员那样像个“标配”般“平凡”。就让我姑且认为大厂们取消大小周加班算是个标志吧,这一天来了。虽然我很早就渗透去了非客户端开发甚
2021-07-11 21:16:12 2813 4
原创 互联网公司创始人自身的3个问题和解决建议
本文立意紧接前文《互联网外行创始人的团队问题和解决方案》,但不需要先阅读它。团队的问题,更深层的原因是来自掌权创始人即老板自身。行内出身的创始人也可能存在本文提到的问题,他们可能也在互联网行业呆了很多年,但很少亲临一线岗位,以指挥和外部交际为主,所以第一个问题最为常见。问题一:不懂产品、研发/技术、运营一些老板具备市场、商务、供应链管理以及其它有门槛但比较低的能力或资源,这些是互联网项目中后期发力的职能,而中前期的基础建设需要“产研运”技能。执行层的不可行,会倒逼战略层的不可行。老板们可能会犯这
2021-07-11 16:15:34 455
原创 管理者如何做招聘
一般人对招聘的认知主要就是写JD和面试,但是对管理者来说远不只这两项。一个完整的招聘流程包括:确定用人需求、写JD(Job Description,职位描述)、发布、筛简历、约面、准备、面试、评价、审批、发offer、入职准备、试用期评估、转正。这么繁琐的流程会占据管理者较多的时间精力,如果想快速正确地达成招聘目的,那就绝不能只依赖HR和上级,要掌握好高效的方法论。......
2020-10-19 14:11:35 2828 1
原创 互联网外行创始人的团队问题和解决方案
文章目录1.团队的重要性2.团队成员3.人才战略4.空降高管5.组织管理6.裁员7.人才画像8.创始人自身的突破1.团队的重要性互联网创业成功有5个因素:时机、创意、资本、团队、商业模式。如果公司能活下来,说明这5个因素都得到了一定的满足。当公司到了瓶颈期,如何突破它还是能从这5个因素来寻找解决方案的。根据我了解到的创业,包括亲身参加和通过交流知悉的,发现问题很多是出在团队身上,因为其它因素在创立公司的时候就应该有大致的定论。明确一下这里讨论的团队是指企业一把手和核心负责人团体,其中互联网方面的负责人
2020-10-07 18:01:10 1063
原创 如何达成KPI和收集证据
先确认KPI合理在达成之前,首先在制定时就要确认KPI是否SMART,即:S=Specific,具体的M=Measurable,可衡量的A=Attainable,可达成的R=Relevant,多目标之间在相关的T=Time-bound,限时的如何达成这里肯定不会示范具体的专业例子,而是讲普遍性的原则。先明确一点,你100分,合作者是60分,你也是60分,结果是最重要的。所以要自己尽一切努力甚至补位他人来推动结果符合目标。自己推进具体事宜,先尽力。解决不了的困难可以反馈给上级,在指导
2020-09-16 23:19:18 970
原创 前端性能优化方法总结
0.前言现今“前端”这个词涵盖的技术已经远不只HTML/CSS/JS了。我们先来看看数据的最长链路:起点是浏览器地址栏输入框 浏览器缓存 浏览器网络请求 各级路由器和CDN Nginx或F5 网关缓存 Node.js Node层缓存 静态文件读取/数据库读取/服务器渲染 返回响应通过各级路由器 浏览器发起预连接、预加载、子资源请求等 浏览器渲染 JS执行引起更多网络...
2020-05-07 22:54:18 882
原创 Mac用Homebrew安装libimobiledevice
我的环境是macOS Catalina Version 10.15.2。请注意时效性。第一步,安装Command Line Tools到 https://developer.apple.com/download/more/?=for%20Xcode 安装最新版的Command Line Tools。即使你装了最新版的Xcode,后续仍可能报错。第二步,给pkg-config加权限# 注意路...
2019-12-30 10:53:08 5456
原创 CentOS一键编译安装nginx,带http2/brotli/zlib/pcre/ssl,非root监听80端口
系统环境与依赖:脚本示范的是CentOS 7.6。Ubuntu 18也是可以的,把脚本里的yum改成apt即可。各依赖库的版本请看url里的数字。有升级的话,改一下版本数字即可继续用这个脚本。脚本说明在注释里:# 这一步需要root用户来执行# 需要git来从GitHub上clone brotli。gcc-c++是pcre需要的,不然configure会报错。yum install ...
2019-06-27 12:04:46 1394
原创 解决Jenkins连接git时报错Permission denied (publickey)
环境Ubuntu 18.04 LTSJenkins 2.164.3。通过apt install jenkins安装的。原因通过apt安装的结果是Jenkins创建了一个jenkins用户,并作为service以这个用户来运行。所以无论是root还是当前用户的ssh key都是不生效的。解决从原因可知,方案有两种。一种是修改jenkins运行时的用户,这是百度出来的答案。需要注意的是,当...
2019-05-24 18:07:29 9591
原创 CentOS7+Confluence6+PostgreSQL11搭建指南
0.前言本文是假定刚刚最小化安装完CentOS7系统。 Confluence的PJ方法是对6.X都能用的。 为什么选择PostgreSQL而不是MySQL?因为MySQL安装慢、要另外下载connector、安装后的设置多。所以PostgreSQL变成了数据库选择菜单里的默认项?1.安装PostgreSQL通过yum来安装。CentOS7默认会装PostgreSQL9。为了装新版v1...
2019-05-23 15:08:25 2161
原创 项目过程管理系列文章链接汇总
目录团队分工与意识规范工具与流程文档组织规范需求总表需求文档需求评审和工作量评估排期和立项延期和需求变更设计师规范开发规范提测流程和免测标准问题跟踪系统使用规范测试报告验收、发布、上线线上故障项目周报结项集体加班制度参考文章《从“结果导向”到“目标导向”! 》《如何优化程序员的内部培训》 《如何做好迭代规划》《如何写出受技术欢迎的需求文档》《倒...
2019-02-28 16:20:58 3381 5
原创 项目过程管理(十八)集体加班制度
加班的标准及时上线能带来可观收入外力因素(政策、时事、市场、第三方故障等)延期了太久,要把进度赶回来别人过失导致的个人加班,应根据自己意愿决定是否加。不加是合理的,项目延期是符合流程的。如果选择加班,那是个人为项目顺利所做的努力,是高绩效的有力依据。加班完了最好有意识地记录自己的贡献,在述职时列出这些积极表现。决定集体加班需要由产品和项目共同决定,并且有邮件通知。不满足条件的,不...
2019-02-28 16:19:43 1523 2
原创 项目过程管理(十七)结项
1.结项会议时间:上线三天后,有两天的线上情况观察时间主持人:项目经理参会人员:实际参于项目的所有人员,主管酌情参与会前准备:把需要投影的东西给主持人,自己准备好发言提纲会议流程分为两部分第一部分,结果总结。按以下次序发言:项目:简单回顾整体项目进度,消耗的人力时长,偏差多少与原因产品:线上版本相关数据(脱敏)。主要目的是让大家知道劳动成果的意义。测试:简要说测试报告的重点,突...
2019-02-28 16:19:13 5180
原创 项目过程管理(十六)项目周报
原则有事起奏无事退朝项目经理可在周一上午召开站会收集信息,各职能负责人需积极配合。周一下午3点前发出邮件邮件接着立项邮件全体回复,每周接着上一周发直到结项收件人:项目组群标题:【项目周报】xxx(项目)mmdd(日期),例如 支付宝1018正文示例:Dear All,(1-3句话总结情况。)(当前进度,是否存在风险。有就说明异常情况与原因,提醒注意,请求协助。)本周项...
2019-02-28 16:18:49 5335
原创 项目过程管理(十五)线上故障
故障定义发布生产环境并验收通过,确认放量后,还发现的bug都算线上故障报告标准什么情况的线上故障 需要 报告?对营业额有大影响。例如无法打开页面,无法操作对用户口碑有大影响。例如无法支付或提现什么情况的 不需要 报告?简单的用户体验或纯UI的问题不影响用户使用核心功能的问题处理流程无论谁发现的,首先应该 反馈给测试同学测试确认重现步骤后,报bug给开发解决,并由 产...
2019-02-28 16:18:32 1370
原创 项目过程管理(十四)验收、发布、上线
验收者产品、UI、后台系统使用者(运营、客服、风控等)验收进入条件测试流程结束的下一步是验收。进入验收的最理想标准是所有bug都已关闭。如果时间紧张,可以放宽到 同时满足 这两个条件:优先级为“下次提测前解决”的bug都 已关闭优先级为“发布前解决”的bug 不超过人均2个测试环境验收测试向验收者演示主流程。验收者自己操作,或让测试演示更多流程。UI核对。主要是颜色值和像...
2019-02-28 16:18:01 4366
原创 项目过程管理(十三)测试报告
原则最终目标不是故意找茬,而是让管理者知道哪个环节有问题,能及时做调整要能反映质量,不要写成在描述需求或业务质量问题要具体到职能或人;不能模棱两可,看不出谁要为问题负责记录测试手段,为线上故障的漏测找依据邮件通知收件人:项目组群抄送:测试组群标题:【测试报告】xxx项目y.y.y(版本)[第z轮|release]例如【测试报告】微信1.2.1 t1报告模板与示例1....
2019-02-28 16:17:23 1310
原创 项目过程管理(十二)问题跟踪系统使用规范
报告规范指派:直接指派给你知道的负责人,否则先给测试负责人提优化建议应指派给产品经理模块/页面/类型:尽量选对,不同模块通知到的负责人可能不同不知道的话选其它,由测试负责人再修改标题:一句话总结出错的位置、现象;或者是建议做法思考一下要搜索出这个bug时会用什么关键字,这个 关键字应该存在标题里重现步骤:说明问题的现象是什么,为什么这算是一个bug可以补充说明...
2019-02-28 16:16:54 2290
原创 项目过程管理(十一)提测流程和免测标准
规则有前端或客户端参与的需求,由他们来提测,否则是后端直接提测。提测记录可以写在IM群公告上,不要覆盖同版本的提测,每个版本发布后由测试同学剪切保存到ODS或测试报告中。如果有项目管理工具帮助或者研发有资源自己做一个提测记录系统那就更好了。(术语解释请参考《排期和立项》,tag的格式请参考《Git分支管理规范》)流程开发自测,确保主路径没问题。如果测试组有提供冒烟测试,必须冒烟都通过...
2019-02-28 16:16:08 5444
原创 项目过程管理(十)开发规范
Gitgit的用户名为自己名字的小写全拼,邮箱为公司邮箱,方便追溯提交者。命令行操作示例:git config --global user.name mynamegit config --global user.email myemail@example.comgit commit的log原则:必须说明提交的意义,不能是简单无意义的文字bug fix应写上是解决哪个bug,可复制禅......
2019-02-28 16:15:27 2609
原创 项目过程管理(九)设计师规范
前置说明这里只关注影响合作的规范,跟“好不好看”有关的标准是设计师内部的专业规范,这里不涉及。对设计师的要求,可参考《程序员眼中最牛的UI设计师是怎样的?》设计图规范预审的目标是让负责人评估可行性,设计稿着重表达出样式的位置、形状和交互即可,是原型还是设计稿都没关系。全体评审的目标是让开发准确评估工作量。对工作量影响极小的东西可以不是终稿,例如颜色值、字体大小、间距。终稿可在各需求...
2019-02-28 16:14:50 1007
原创 项目过程管理(八)延期和需求变更
延期有延期风险时应及时通知项目经理,并由项目经理组织各负责人确认是否延期。最终由项目经理发出邮件,列明延期原因、修改后的里程碑时间,同步更新文档。邮件标题:【项目延期】xxx项目延期说明mmdd需求变更通知规则:必须在需求文档的修订记录上有所体现在IM群上@所有人 通知。如果增加的工作量超过1人天的,必须发邮件会导致项目延期的变更,必须产品主管(最高可到boss)确认通知...
2019-02-28 16:14:07 2431
原创 项目过程管理(七)排期和立项
术语解释里程碑(时间):重要的时间节点,例如提测、发布。来自英文milestone。风险点:任何可能造成项目延期的事项立项:经过核心和高优先级的全体需求评审后,由项目经理收集各职能的工- 作量、风险、所需资源评估,协商得出里程碑时间,发出邮件。每轮提测叫t1、t2、t3,t = test每轮提测内提交的修改,叫patch。合起来看:第2轮提测打的第3个tag,叫t2p3全功能提测:...
2019-02-28 16:13:38 9286
原创 项目过程管理(六)需求评审和工作量评估
两轮评审流程:预审:产品提前2小时发出通知和初稿(不需要完善细节,可以只是原型),召集主管或负责人预审。未必需要开会,只要每个人能确认需求没大问题就好。全体评审:产品提前1天发出通知和需求链接(设计师已出完初步设计图),全体人员参加。应该在会前审完大部分问题,而不是会后。会上只是查漏补缺。跟运营有关的需求,应该在全体评审前由运营先审核完毕。产品经理根据问题修改完毕后,逐个找负责人确认。...
2019-02-28 16:13:07 6721
支持SPDY协议的wireshark for linux 64bit
2014-03-06
Objective-C头文件导出工具class-dump
2013-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人