RFC4291: IP Version 6 Addressing Architecture

本规范定义了 IP 版本 6 (IPv6)协议的寻址体系结构。该文档包括 IPv6 地址模型、IPv6 地址的文本表示、IPv6 单播地址、任播地址和组播地址的定义,以及 IPv6 节点所需的地址。本文档废除了 RFC 3513,“IP 版本 6 寻址架构”。

本文档为 Internet 社区指定了一个 Internet 标准跟踪协议,并请求讨论和改进建议。请参阅最新版本的“互联网官方协议标准”(STD 1)以了解该协议的标准化状态和状态。本备忘录的分发不受限制。

Copyright (C) The Internet Society (2006).

阅读全文 »

Guidelines for Use of Extended Unique Identifier(EUI), Organizationally Unique Identifier(OUI), and Company ID(CID)

Abstract

本教程介绍由 IEEE 注册结构(IEEE RA, IEEE Registration Authority)分配的组织标识符(origanizational identifiers)以及基于它们的扩展标识符(extended identifiers)。它涵盖了与受让人以及标准开发人员相关的标识符格式(identifier formats)、assignment(分配)、指导方针(guidelines)和策略(policies)。本教程包括与组织标识符(如组织唯一标识符(Organizational Unique Identifier,OUI)和公司 ID(Company ID),以及扩展标识符(Extended Unique Identifier,EUI)和扩展本地标识符(Extended Local Identifier,ELI))相关的信息。

阅读全文 »

《TCP/IP 详解 卷一:协议》第二章:Internet 地址结构

2.1 引言

本章介绍了 Internet 中使用的网络层地址,又称为 IP 地址。我们讨论了如何为 Internet 中的设备分配地址,有助于路由可扩展性的地址层次结构分配方式,以及特殊用途的地址,包括广播、组播和任播地址。我们还讨论了 IPv4 和 IPv6 地址结构和用途的区别。

阅读全文 »

《TCP/IP 详解 卷一:协议》第一章:概述

有效沟通取决于使用共同的语言。这一观点对于人类、动物以及计算机而言都是适用的。当一种语言用于一组行为时,需要使用一种协议。根据《新牛津美国辞典》,对协议的第一定义是:

国家事务或外交场合的正式程序或规则系统。

阅读全文 »

What is JEP ?

JEP 是 JDK改进提案(JDK Enhancement Proposal) 的缩写,简单来说,这是一个关于增强 JDK 的建议。
JEP 可以是关于语言功能的,也可以是关于 API 的,例如 JEP 395 中关于 Record 的提案。Records 是一种语言特征,在反射 API 中进行了一些更改;或者关于 switch 表达式的新 switch 语法的 JEP 361 ,这是语言特性;它也可以是关于 JVM 是如何工作的,例如 JEP 333 是关于 ZGC 的;它可能是和安全更新相关的,和工具相关的,任何有关 Java 的东西。

阅读全文 »

On the Criteria To Be Used in Decomposing Systems into Modules

本文讨论了将模块化作为一种机制来提高系统的灵活性和可理解性,同时允许缩短系统的开发时间。"模块化(modularization)"的有效性取决于将系统划分为模块时使用的标准(criteria)。本文提出了系统设计问题,描述了常规分解和非常规分解(conventional and unconventional decomposition)。结果表明,非常规分解方法具有明显的优势。讨论了用于得到分解的标准。如果采用传统的假设,即一个模块由一个或多个子程序(subroutines)构成,那么在大多数情况下,非常规分解的效率会比较低。本文还简述了一种不具有这种效果的替代实现方法。

关键词:软件,模块,模块化,软件工程,KWIC指标,软件设计

CR类别:4.0

阅读全文 »

Abstract data type - wikipedia

抽象数据类型(Abstract Data Type, ADT) 是计算机科学中具有类似行为的特定类别的数据结构和数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。抽象数据类型是间接定义的,通过其上的可执行的操作以及这些操作的效果的数学约束(与可能的代价)。

例如,抽象的堆栈(stack)由 3 个操作定义:推入 push,弹出 pop(接受约束:每次弹出返回的最新被推入且没有被弹出的数据,也就是后进先出),查看堆栈顶端数据 peek。当分析使用堆栈算法的效率,所有这 3 个操作用时相同,无论堆栈中包含多少项数据;并且堆每项数据栈使用了常量大小的存储。

抽象数据类型(ADT)是纯粹理论实体,用于简化描述抽象算法,分类与评价数据结构,形式描述程序设计语言的类似系统。一个 ADT 可以用特定数据类型或数据结构实现,在许多程序设计语言中有许多种实现方式;或者用形式规范语言描述。ADT 常实现为模块(module):模块的接口声明了对应于 ADT 操作的例程(procedure),有时用注释描述了约束。

阅读全文 »

基于航拍影像和LiDA的光伏屋顶潜力快速扫描评估方法

本文提出了一种用于屋顶光伏发电潜力评估的快速扫描产量预测方法。该方法有三个主要部分。对于每个屋顶,首先利用航拍图像重建虚拟三维屋顶段,然后利用拟合算法将光伏组件自动贴合到屋顶段上,最后计算出预期的年产量。对每个屋面采用三种不同的快速产量计算方法计算年产量。两种方法是太阳猴(SM)和光伏地理信息系统(PVGIS)的商业软件包,而另一种是代尔夫特理工大学光伏材料和器件(PVMD)小组开发的基于天线的简化方法。为了验证快速扫描方法,在荷兰的城市地区选择了一组145个屋顶和215个屋顶段。对于所选择的屋顶,将安装模块的数量和计算的产量与实际的模块布局和现有光伏系统的实测产量进行比较。结果表明,快速扫描预测方法与实测结果吻合较好,相对标准偏差分别为7.2%、9.1%和7.5%。结果表明,包含障碍物的方法(如SM和PVMD)优于忽略周围障碍物遮挡的方法(如PVGIS)。结果还表明,3D屋顶段作为快速扫描PV产量预测方法的输入值具有附加价值,因为仅使用建筑的2D土地登记数据预测产量的精度明显较低。

阅读全文 »

Programming with abstract data types

使用高级语言进行工作的动机是通过为程序员提供一种包含适合其问题领域的原语(primitives)或抽象(abstractions)的语言来简化编程任务。这样程序员就可以把精力花费在正确的地方;程序员可以专注于解决他的问题,结果程序将更加可靠。显然,这是一个值得实现的目标。

不幸的是,设计师很难提前选择使用该语言的用户可能需要的所有抽象(abstractions)。如果要使用一种语言,它很可能会被用来解决设计者没有预见到的问题,而且这种语言中嵌入的抽象可能并不足以解决这些问题。

本文提出了一种方法,当发现需要新的数据抽象时,可以扩展内置的抽象集。这种处理抽象的方法是为结构化编程设计语言的产物。本文描述了这种语言的相关方面,并给出了抽象的用法和定义的实例。

阅读全文 »