foundation

利用C#实现OPC-UA服务端

让人想犯罪 __ 提交于 2020-09-30 00:47:33
前言 最近接手了一个项目,做一个 OPC-UA 服务端?刚听到这个消息我是一脸懵,发自灵魂的三问“OPC-UA是什么?”、“要怎么做?”、“有什么用?”。 我之前都是做互联网相关的东西,这种物联网的还真是第一次接触。没办法只能打开我的浏览器四处搜索,结果百度了一圈下来发现都是要么是介绍OPC-UA是什么的,要么就是OPC-UA客户端,反正服务端相关的内容是找了半天都没找到,但这是领导们安排的任务啊,我总不能回复网上没有教程吧,于是只能把目光投向了最后的希望:GitHub,好在最后找到了OPC基金会的源码。 源码地址: https://github.com/OPCFoundation/UA-.NETStandard 不过这个源码对于我这种刚接触工业物联网的人来说,太过于复杂,而且网上相关的技术说明文档太少,觉得非常有必要动手记录一下我的OPC-UA服务端实现过程,方便以后回过头来巩固。 关于什么是OPC-UA、OPCFoundation是什么我就不多说了,百度以下,一大堆说这些理论东西的,咱们还是更喜欢动手干起来。 以下就是我实现OPC-UA服务端的记录,分享出来,大家一起探讨以下。由于我也是第一次接触这种工业物联网,所以有什么说的不对的,请大家多多指点,共同学习共同进步! 引入Nuget包 Nuget包管理器中搜索 OPCFoundation.NetStandard.Opc.Ua

Kubernetes疑难解答:交付可靠应用程序的7个基本步骤

一世执手 提交于 2020-09-28 08:31:11
在当今日益复杂和快速变化的环境中提供更可靠软件的分步指南 。 这篇文章基于最近一次与Cloud Native Computing Foundation合作,与OverOps工程团队的Brandon Groves和Ben Morrise合作创建的网络研讨会。 如果您认为向微服务和容器的转变是演变而不是革命,那么您来对地方了!在本文中,我们将对基于Kubernetes的应用程序领域采取务实的方法,并详细介绍一系列步骤,以确保整个管道的可靠性。 因为即使今天确保应用程序质量是过去的两倍,但我们还有很多改进方法。具体来说,在对基于Kuberenetes的应用程序进行故障排除的上下文中,我们将涉及持续可靠性的3个支柱:在CI管道中实现代码质量门,在CD管道中实现可观察性,以及创建上下文反馈循环回开发。 当今软件质量状况 首先,让我们尝试了解发生了什么变化以及为什么需要重新审视代码质量的基础。 就在最近,我们总结了年度 软件质量状况 调查,来自世界各地的开发人员提供了600多个答复。我们今年的目标是找出当今的工程团队如何解决速度与质量的难题。 好消息是,大多数调查参与者(70%)表示 质量至高无上 ,他们会优先考虑速度。不幸的是,受访者每周花费一天或更长时间来排查与代码相关的问题,其中超过50%的受访者每月至少一次遇到影响客户的问题。 尽管本次调查更广泛地关注于交付可靠软件的现实和挑战,但仍有

Laravel 中间件解析

陌路散爱 提交于 2020-08-19 22:00:53
Laravel 中间件 代码展示 protected function sendRequestThroughRouter($request) { # $this->app->instance('request', $request); # Facade::clearResolvedInstance('request'); # $this->bootstrap(); return (new Pipeline($this->app)) ->send($request) ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware) ->then($this->dispatchToRouter()); // $this->dispatchToRouter(),后期继续 } new \Illuminate\Routing\Pipeline($this->app): public function __construct(Container $container = null) { $this->container = $container; } public function send($passable) { $this->passable = $passable; return $this; } public

ITILv4 MP认证以及证书展示

南笙酒味 提交于 2020-08-19 17:38:55
ITIL IT服务管理(ITSM)最佳实践框架的新版本 ITIL 4 于2019年初发布,目前ITIL相关的专业资格认证已经全面转向v4版本了。ITIL 4在设计理念上较v3版本有很大的变化,这些变化总体上是积极、有益,也是与时俱新的。 下面先给大家展示下我在2020年5月份刚获取的ITIL 4 MP证书,然后再简要介绍下ITIL 4的知识框架。 ITIL 4 MP证书 ITIL 有用吗 这是老调重谈的一个话题,确实有些多说无益了,有用没用,也是见仁见智的事情。 我在这里,仅是为大家提供下面这样一个Servicenow公司网站的产品解决方案截图,图片中展示的是IT Workflows方案中的系列产品,包括有服务管理、运营管理、商业管理、资产管理、DevOps、安全运维以及风险、合规治理等。 关于servicenow公司的情况简单,大家可以自行搜索资料了解下。总之,这样一个以从事ITSM产品工具和解决方案起家,并快速发展成为世界领先的SaaS产品服务商的公司,很好地证明了ITIL管理思想的市场价值。 ITIL4 框架 ITIL v3的核心要素是服务生命周期,即服务策略、服务设计、服务转换与过渡、服务运营以及服务的持续改进。而在ITIL 4体系中,虽然继承了大部分的v3版本中的核心内容,但是在设计原则、指导思想以及方法论层面都做了更多的改进,很多内容都是在v3版本中没有的。 简单的说

6、Linux发行版组成与初识

冷暖自知 提交于 2020-08-18 06:50:40
一、Linux发行版 1、从1992年linux诞生至今产生了数百种之多的Linux发行版,1992-2013期间诞生的各发行版之间的关系如下图所示 2、但距今为止,主流的发行版、二次发行版乃至三次发行版它们之间的关系如下图所示。 二、Linux发行版的组成部分 我们常用广义上的Linux指代Linux的发行版,但从狭义上来说Linux仅仅是指代Linux内核(Linux kernel)。 完整的Linux发行版由应用程序(Application) + Linux Kernel组成。 开源程序通常以 源码 (文本格式)方式提供,这样带来的好处是可以自由、灵活的使用。 一般情况下,源代码通过 编译器 编译成可执行二进制程序在电脑中运行 CPU架构 CPU指令架构 操作系统 指令集 生产厂商 备注 x86 CISC intel x64 CISC intel 又称作AMD64 第一款x64指令架CPU由amd研发 m68000 = m68k 摩托罗拉 早期摩托罗拉CPU指令架构 ARM RISC ARM 移动终端设备主流CPU指令架构 Ultrasparc solaris SUN Power AIX IBM powerpc = pcc Apple、IBM、摩托罗拉 alpha Hp-Unix HP MIPSalpha DEC 指令集分为 复杂指令集(Complex Instruction

最新 iOS 框架整体梳理(一)

北慕城南 提交于 2020-08-17 08:48:22
前言 这段话其实是我差不多写完文章之后再回过头来写的,原本在写文章之前想写一下写的初衷的,但当我写完之后感觉初衷没有收获更真切一些。其实到这篇为止总结出来的也就三十多个,有些是比较新的框架,有些是我们开发者一直在使用接触的框架,我感觉收获还是很多。 很多东西你要不是一个一直在了解跟进WWDC内容的开发者可能时间一长你就不知道最近都出了些什么新的框架,但这样你走一遍之后你就会把许多遗漏掉的东西找回来,我的想法一直都没有变,作为一个移动端的开发者,不仅要“向下深挖” ,“向上学习”也是最基本的条件,就算你不清楚每一个框架具体的使用细节, 至少你一定要知道框架可以用来干什么!下面总结出来的框架有些也需要我自己去学习,果然欠了的迟早是要还的😺 Part - 1 下面的框架我们按照我们的图一个一个的说: 1、Accelerate: 一个大规模的数学计算和图像计算的框架,它的作用和使用推荐下面两篇文章 Swift-Accelerate 框架介绍 Introduction to the Accelerate Framework in Swift 官方文档 Accelerate 2、Accounts: 它是iOS原生提供的一套账户管理框架,其支持Facebook,新浪微博,腾讯微博,Twitter和领英账户管理的功能。需要注意,在iOS 11 及以上系统中,将此功能已经删除,因此Accounts

Chaos Mesh® 正式进入 CNCF 沙箱托管项目

左心房为你撑大大i 提交于 2020-08-16 18:19:54
近日,云原生计算基金会 (CNCF) 宣布云原生的混沌工程 Chaos Mesh 正式进入 CNCF 沙箱托管项目,这是 CNCF 接纳的第二个由 PingCAP 团队设计并研发的项目。 Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试,在各种复杂的环境下可使用混沌工程来保证系统能正常稳定运行。现阶段,组成部分包括: Chaos Operator:混沌编排的核心组件 —— 完全开源; Chaos Dashboard:用于管理、设计、监控混沌实验的 Web UI —— 开发中。 相比其他混沌平台,Chaos Mesh 具有以下优势: 专注于 Kubernetes 平台 。Chaos Mesh 致力于打造完全云原生的混沌测试平台,只要你系统可以跑在 Kubernetes 上面,那么就可以无缝的集成 Chaos Mesh。 可拓展性 。基于目前 Chaos Mesh 灵活的设计,一方面易于拓展新的故障注入类型,另一方面可以非常方便的集成到其他的测试框架中。 丰富的故障注入手段 。Chaos Mesh 能全方位的帮你对网络,磁盘,文件系统,操作系统等进行故障注入。我们后面也会提供对 Kubernetes,或者云服务自身进行 chaos 的能力。 易于使用 。你无需关注 Chaos Mesh 的底层实现细节

MFC图形编辑界面工具

房东的猫 提交于 2020-08-15 16:50:41
//2020年6月17 更新 这篇博客最近好像挺火?不少师弟师妹咨询我MFC的内容,额,博主很久也没有用MFC搞事情了,现在甚至都没有开发环境,加上到期末了,事情很多,实在没有精力回顾帮大家解决问题,今年这种情况特殊,我也很能理解18级的师弟师妹们,教授实训课的应该还是张帆老师吧,很好的老师,可以多向他请教,B站好像也有相关的教程,方法总比困难多,加油! 一、背景 喔,五天的实训终于结束了,学校安排的这次实训课名称叫高级程序设计实训,但在我看来,主要是学习了Visual C++ .NET所提供的MFC(Microsoft Foundation Class)库所提供的类及其功能函数的使用。写这一篇博客的目的是针对实训中出现的问题做一些说明,方便以后查看,并且对这次实训做一些总结。这一次的实训对我来说其实挺难受的,真正用来学习使用VS和MFC的时间只有三天,加上下个周是考试周,还有几门课没有复习完,这几天基本上是连轴转,中午也泡在实验室里,唉啊还是自己太菜了。最后我们需要提交一个课程设计程序,因为时间的原因,我选择了最简单的图形界面编辑工具,这个程序其实在C++的课程设计上就有这个,但当时我还不会windows图形界面的编程,现在想想这两个课程设计其实完全可以是一份(捂脸)。 最后做出来的界面是这样的: 在功能上: 能够在 windows 的界面下画图,能够画直线、空心矩形、、圆角矩形

Hello, Blog

£可爱£侵袭症+ 提交于 2020-08-15 13:15:53
新的工作,新的blog。 最近担任了SmartPlant Foundation管理员,想找个地方记录一下心得和踩过的各种坑。之前在印象笔记,分享不是很方便,又莫名被公司屏蔽了,便尝试一下这里。 SPF是Intergraph的数字化集成和交付平台,工程背景下的IT向小众软件。公网上能找到的信息很有限,做点有限的分享,万一能帮到别人呢~ 来源: oschina 链接: https://my.oschina.net/u/4415254/blog/4496740

内核交互 netlink,检测部分进程死亡和启动。

萝らか妹 提交于 2020-08-15 11:49:54
和内核交互 netlink netlink 内核和用户进程交互 用户空间用的是 socket ,内核空间用的是内部 API 和一个模块。 向下兼容。 面向数据包的应用。即 SOCK_RAW and SOCK_DGRAM 函数原型 #include <asm/types.h> #include <sys/socket.h> #include <linux/netlink.h> netlink_socket = socket(AF_NETLINK, socket_type, netlink_family); socket_type SOCK_RAW and SOCK_DGRAM 对于 netlink 都是一样的。 netlink_family 选择内核模块或者说 netlink 组 NETLINK_ROUTE 接收路由信息,更新链接信息,更新路由表,网络邻居,排队规则,拥塞等等。 NETLINK_SELINUX linux 事件通知 NETLINK_AUDIT 审计模块,用于检测统计内核的操作,比如杀死进程,退出等。 aditctl NETLINK_CONNECTOR 内核链接器 5.2 版本及以前 略 netlink 包协议栈 一个或多个头部 struct nlmsghdr struct nlmsghdr { __u32 nlmsg_len; /* Length of message