软件工程
文章平均质量分 82
软件工程方法
Jackindata
嵌入式软件工程师
展开
-
OpenSSL 椭圆曲线(ECDSA)签名与验证示例
以下TestEcdsa函数演示了多种密钥生成与初始化的方法,以及签名、验证签名。可对应改变注释代码块进行验证。注意,函数最后未做严格的内存清理。原创 2022-07-23 21:36:04 · 2964 阅读 · 1 评论 -
LeetCode 1012 - 十进制整数的补码
这是第 128 场周赛的第 1 题。问题描述每个非负整数N都有其二进制表示。例如,5可以被表示为二进制"101",11可以用二进制"1011"表示,依此类推。注意,除N = 0外,任何二进制表示中都不含前导零。二进制的补码表示是将每个1改为0且每个0变为1。例如,二进制数"101"的二进制补码为"010"。给定十进制数N,返回其二进制表示的...原创 2019-03-17 16:23:07 · 1060 阅读 · 0 评论 -
LeetCode 1013 - 总持续时间可被 60 整除的歌曲
这是第 128 场周赛的第 2题。问题描述在歌曲列表中,第i首歌曲的持续时间为time[i]秒。返回其总持续时间(以秒为单位)可被60整除的歌曲对的数量。形式上,我们希望索引的数字i < j且有(time[i] + time[j]) % 60 == 0。提示:1 <= time.length <= 60000 1 <= time[i]...原创 2019-03-24 17:55:10 · 215 阅读 · 0 评论 -
开发者测试技术十三问
为什么要做测试?一个段子:千万不要跟程序员说,你的代码有bug,他的第一反应是你的环境有问题,第二就是你是傻逼不会用吧?你要跟他这么说,这个程序运行的怎么运行的跟预期不一样,是我操作有问题吗? 这货就会第一反应,我擦,这是不是出bug了?所以程序员自己潜意识里还是会认为自己的程序可能有问题的。测试,就是要把问题揪出来!测试也要讲究经济学?有关成本的问题:测到什么程度?有关策略的问题:黑盒测试、白盒测试?测试还要讲究心理学?应当一开始就假设程序中隐藏着错误 人类行为总原创 2021-09-16 22:32:30 · 307 阅读 · 0 评论 -
通用调试步骤分享
调试步骤了解问题本身; 了解问题相关人员; 了解问题相关情况; 复现问题,确定复现操作步骤; 分析已有信息,定位问题根源; 进一步理清问题所在系统; 设计调试排查方案并实施; 寻求帮助,获取新思路; 深入理解问题所在系统; 收集更多测试数据进行分析;了解问题本身发生了什么事?注意,不带任何情绪、预设想法去了解发生的问题。此阶段先只了解问题表象,用陈述性语句描述问题、现象。技巧:留心问题报告者对问题、系统的了解情况,其描述是否存在偏差。了解问题相关人员知道谁是问原创 2021-01-19 16:23:32 · 296 阅读 · 0 评论 -
嵌入式 Linux 应用软件知识体系框架
基础知识编程语言C掌握基本语法掌握标准库的使用C++掌握基本语法掌握基于 C++ 的面向对象开发方法Python掌握基本语法掌握与 Linux 系统的交互Shell(bash)掌握基本语法掌握与 Linux 命令的结合使用Linux 文件系统启动流程sysvinit服务的管理与裁剪systemd服务的管理与裁剪了解 qt4、qt5 的移植了解 yocto构建文件系统常规 Linux 应用原创 2021-01-13 19:31:49 · 846 阅读 · 0 评论 -
嵌入式 Linux 应用程序开发流程
了解硬件功能设计 熟悉驱动接口 细化、梳理需求 确立概要设计 规划开发里程碑 确认开发环境、运行环境 分配工作任务 协同开发 测试发布里程碑 测试发现硬件、驱动问题? 是。联合硬件、驱动排查 否。进入下一步 是否最终里程碑版本? 是。进入下一步 否。回到 8 是否需要与客户联调? 是。进行联合调试 否。进入下一步 整理运行环境 整理做卡工具...原创 2019-01-29 21:07:45 · 1201 阅读 · 0 评论 -
嵌入式 Linux 应用程序开发的不同级别的定性
因为软件开发的灵活性,一个应用软件需要开发到什么程度,都是可以的。这依赖于客户的要求、合同中的规定。为了开发人员较好把握这个度,在项目的早期就需要先定性。对于相对独立的不同功能模块,也可以考虑处于不同的级别进行开发。S 级:解决方案开发(公司内部)在 A 级的基础上扩展,补充更完善的配套设施,如单元测试、功能模块封装、程序流程拆解优化等。以达到快速修改就可以满足同样应用场景、功能需求有细微...原创 2019-01-29 21:04:50 · 401 阅读 · 0 评论 -
嵌入式 Linux 应用程序开发概览
这是我给公司研发部同事的一个分享培训课程,把内容大纲分享出来。知识图谱大学课程数字逻辑 计算机组成原理 汇编语言 编译原理 操作系统 计算机网络 高级语言(C、C++、Java) 算法与数据结构 数据库 面向对象方法 软件工程自学内容ARM 指令集、体系架构 ARM 外设 Linux 内核、驱动 Linux 系统接口编程 Linux 网络编程 Qt ...原创 2018-12-07 08:31:42 · 1544 阅读 · 0 评论 -
系统软件版本变更规范
总原则版本号与具体软件内容具有唯一对应关系,内容有任何变更,版本号必须跟随变更。 自定义版本号,遵循语义化版本原则( https://semver.org/lang/zh-CN/)。uboot示例:u-boot-2017.01-v1.2.1-g8fc2019说明:u-boot 是固定前缀,表示类别;2017.01 是所使用的 uboot 的源码版本;v1.2.1 是自定义版本号;g8fc2019 是我们内部 Git 仓库的短提交号。kernel示例:linux-rt-4.9.65-v原创 2020-05-14 17:56:07 · 1007 阅读 · 0 评论 -
再考系统架构设计师 - 分享三大要素经验
2018 年第一次考,论文科目差几分,惜败。2019 年,女儿在差不多考试的时候出生,计划中的再考也就没有实施了。今年 2020,我又来了。今年的备考是做得比较糟糕的。工作和生活都不很顺,心态差。都是借口吧,其实就是现在的自己不得劲。无论怎样,这次考完了,也许会通过;如果不通过,明年应该还会再考。做好记录,积累经验。这次考完,我认为主要有三大要素:知识记忆 临场发挥 经验积累知识记忆不用多说,早上的综合知识,大部分题目,懂的就懂,不懂的只能蒙。就看你记住了相关知识点没有。下午的案例分析原创 2020-11-09 21:00:11 · 373 阅读 · 2 评论 -
系统架构设计师软考考后回顾
考完归来2018 年 11 月 10 日,双十一的前一天,在广州现代信息工程职业技术学院参加了这门系统架构设计师考试。也是不容易啊!除开找工作时的笔试不算,已经五年没有参加过考试了。其过程还是有点小紧张的,毕竟试题还真的挺难。这次考试,总体来说发挥还算不错,三场考试全部题目都答完了,虽然有小部分是蒙着答的。第三场的论文真是不容易,两个小时写了二千多字。手都酸了。即使是由着性子在 CSDN ...原创 2018-11-11 00:54:22 · 7395 阅读 · 22 评论 -
重开 CSDN 博客一周年
大学的时候开始写技术博客,最早是在 CSDN 开的。后来整了个个人博客(http://liaojieliang.com/),处于某个记不清的原因,清空了 CSDN 的博客。不久之后觉得个人博客的访问量低得可怜,又不便于与他人做技术交流,于是在 cnblogs 开始写。然后到去年的今天,2018 年 11 月 8 日,重新在我之前已清空了的 CSDN 博客写下新的第一篇博客《命令行终端下的处理进...原创 2019-11-09 15:38:06 · 202 阅读 · 0 评论