Home

以太网在汽车行业中的挑战——灵活的接口及软件使ECU开发不再复杂

以太网在汽车行业中的挑战——灵活的接口及软件使ECU开发不再复杂 以太网将会在一批新车型中作为一个车载系统网络使用。因此,下一步就是以太网和现有汽车网络技术的集成,包括:CAN、FlexRay、LIN和MOST网络。目前,存在许多开发工具,可以帮助开发者完成不同类型网络之间的数据分析。但就车载以太网来说,市面上只有分析普通办公以太网的标准工具,这些工具却不能满足特殊物理层和IP协议层的车载以太网的技术要求。因此,迫切需要一些开发和测试工具,来分析和测试现有车载网络系统及车载以太网系统。但是,这些研发工具的特殊具体技术要求是什么? 转载-原文链接 https://blog.csdn.net/weilely123/article/details/51113862  前言 ...

Read more

Bad Smell (代码的坏味道)

Bad Smell (代码的坏味道) 如果一段代码是不稳定或者有一些潜在问题的,那么代码往往会包含一些明显的痕迹。 正如食物要腐坏之前,经常会发出一些异味一样, 我们管这些痕迹叫做 “代码异味”。 今天让我们一起来熟悉开发中经常出现的22种坏味道情形和解决方法。 Duplicated Code 不良影响 解决方法 重复代码,难维护 提取公共函数 Long Method |不良影响|解决方法| |–|–| |函数长, 难理解 | 拆分成若干函数 | Large Class |不良影响|解决方法| |–|–| |类大, 难理解 | 拆分成若干类 | ...

Read more

模式与软件架构——软件架构的非功能特征

软件的非功能特征对软件系统的开发和维护工作、总体可操作性以及消耗的计算机资源有重大的影响。除开影响应用程序的质量和架构外,非功能性特征还会影响系统的功能特性。软件系统的规模越大,复杂度越高、生命周期越长、非功能特征就越重要。 软件架构非功能特征 可修改性 互操作性 效率 可靠性 可测试性 可重用性 1.可修改性 大型的工业和商业软件系统的寿命周期通常都是很长的,有时候会长达20年甚至更长。很多这类应用程序在开发结束后都不是固定不变的,而在其整个生命周期内不断演化。原来的需求又会变化,还会出现新的需求。为了降低维护成本和修改工作量,应用程序的软件必须为修改和演化做好准备。 软件老化的原因 一成不变 (lack of mevement):软件不...

Read more

TCP/IP——何时用UDP代替TCP

UDP和TCP都有其自身的特点,不同的应用场景和要求需要使用不同的协议来传输,那么何时我们可以用UDP代替TCP呢。 UDP 的优点 UDP支持广播和多播,事实上如果应用程序使用广播或多播,那就必须使用UDP UDP没有连接建立和拆除,UDP只需要两个分组就能交换一个请求和一个应答(这里假设两者的长度都小于两端系统之间的最小MTU)。TCP却需要大约20个分组,这里假设为每次请求—应答交换建立一个新的TCP连接 TCP 的优点 正确确认 丢失分包重传 重复分组检测 乱序排序 窗口流量控制 慢启动和拥塞控制 TCP与UDP基本区别 基于连接与无连接 TCP要求系统资源较多,UDP较少 UDP程序结构较简单 流模式(TCP)...

Read more

NASA的10条代码编写原则

NASA的10条代码编写原则 作者: Gerard J. Holzmann  来源: InfoQ   原文链接  英文原文:NASA’s 10 Coding Rules for Writing Safety Critical Program 译/ 大愚若智   美国宇航局(National Aeronautics and Space Administration,缩写为 NASA) 是美国联邦政府的一个独立机构,负责制定、实施美国的民用太空计划、与开展航空科学暨太空科学的研究。在太空计划之外,美国国家航空航天局还进行长期的民用以及军用航空航天研究。   在普通人的眼中,NASA是一个很“高级”的机构,其成员包含大量不同领域的科学家和研究人员。与其他任何组织机构类似,NAS...

Read more

网络编程——客户/服务器程序设计范式

我们在需要开发一个服务器程序时,有较多的的程序设计范式可供选择,不同范式有其自身的特点和实用范围,明了不同范式的特性有助于我们服务器程序的开发。 客户端程序通常比服务器容易些,当然客户端程序也可以使用这些程序设计范式,因为它们蕴含的道理都是想通的。 本文所设计的服务器主要是指基于TCP的服务器 常用范式 迭代服务器 迭代TCP服务器 总是在完全处理某个客户的请求之后才开始下一个客户的请求处理。 这样的服务器实际中比较少见。 基于UDP的大多服务器却是这样实现。 并发服务器,每个客户请求fork一个子进程 传统并发服务器 调用fork派生一个子进程来处理每个客户,这使得服务器能够同时为多个客户服务,每个进程一个客户。 客户数目的唯一限制是操作系统对其能够同时拥...

Read more

socket , 套接口还是套接字,傻傻分不清楚

做网络通信的朋友大都对socket这个词不会感到陌生,但是它的中文翻译是叫套接口还是套接字呢,未必大多数朋友能够分清,今天我们就来聊聊socket的中文名称。 socket一词的起源 在组网领域的首次使用是在1970年2月12日发布的文献IETF RFC33中发现的,撰写者为Stephen Carr、Steve Crocker和Vint Cerf。根据美国计算机历史博物馆的记载,Croker写道:“命名空间的元素都可称为套接字接口。一个套接字接口构成一个连接的一端,而一个连接可完全由一对套接字接口规定。”计算机历史博物馆补充道:“这比BSD的套接字接口定义早了大约12年。” socket 百科怎么说 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个s...

Read more