首页 文章 精选 留言 我的

精选列表

搜索[天工3.1],共7269篇文章
优秀的个人博客,低调大师

HyperLedger Fabric区块链应用场景(3.1

比特币是区块链应用最早的场景,随着比特币安全稳定运行多年以后,数字货币的场景应用遍地开花,各种山寨币泛滥,通过ICO(Initial Coin Offering 首次币发行)就能融到大量资金,上市后的数字货币就像股票一样可以进自由交易,这类应用主流称为区块链1.0。 技术人员通过对比特币等数字货币的技术研究,梳理出数字货币中涉及的各类技术,如加密算法、端对端传输、共识算法,提炼并形成区块链架构理论;在区块链1.0架构的基础上,加上智能合约,应用扩展到金融领域,解决跨境支付与结算、证券发行与交易、贸易金融等行业痛点,可以大幅减少人工核对工作,为金融机构节省成本,形成了区块链2.0。 在金融领域区块链的快速落地的同时,区块链发展到3.0时代,各种行业使用区块链技术去解决本行业的痛点,区块链去中心化、不可篡改和数据本地化存储的特性,给传统的架构方式带来了变革,最终改善人类互信的社会关系。 各类行业应用场景如下:

优秀的个人博客,低调大师

RHCA CL220 CloudForms 3.1 架构介绍

概述: 什么是CloudForms? 红帽公司推出了混合云CloudForms解决方案,RedHat的宗旨在于通过CloudForms能够管理所有的基础架构设施如RHEV,VMware和云(AWS和OpenStack),实现集中化管理平台。CloudForms由Engine引擎,VMDB虚拟数据库等组成,其中Engine作为CloudForms中核心功能,负责CloudForms的日常管理工作。 CloudForms Engine简称CFME,是一个已经制定好的虚拟机,通过部署该虚拟机,可以快速的部署CloudForms的环境。由于是虚拟机,根据环境的不同,可以部署在不通的虚拟化平台上,并且根据不通的虚拟化平台,由不同的虚拟机提供,如VMware平台,RHEV平台,OpenStack平台等。 CloudForms旨在将公有云和私有云资源统一成一个单一系统,而不用去管底层云使用的是什么技术。 2014年,红帽 CloudForms 荣获了《Virtualization Review》为最佳虚拟化自动化产品颁发的 2014 年度编辑选择奖。 CloudForms 功能包括审批流程、合规、自服务、记账和配额管理。能管理多种IT和云环境功能全面、丰富,能管理多云,支持 OpenStack, VMware, KVM, Microsoft 和 Amazon等云环境。界面的用户体验不错,但是其风格还是传统IT管理软件的风格,因此 451 Reseach 将其归到 “Legacy CMP Vendors” 一类。Redhat 基于 CloudForms 提供了 open hybrid cloud 解决方案,该云管理平台同时管理 RHEV 与 OpenStack. 为什么要使用CloudForms? 在目前大型的虚拟化管理平台中,如何利用已有的基础设施,有效的进行基础平台管理,提供统一的混合云解决方案,是目前面临的一个问题。 Red Hat CloudForms 提供了对应的解决方案,帮助客户迅速完成混合云转型,来解决运维管理过程中遇到的问题,有效提升运维效率。 如何通过CloudForms,在现有虚拟化基础设施基础上,提供混合云业务服务; 通过CloudForms进行提升基础设施运维管理效率; 通过CloudForms制定自定义的控制策略,满足不同用户场景; 通过CloudForms和第三方系统集成,完成资产管理,IP DNS管理等扩展功能。 组件: CloudForms由Engine引擎,VMDB虚拟数据库/smartproxy组成。 Regions and Zones 从公共和私有虚拟化环境中收集数据集中使用区域。 一个Region最终被表示为VMDB的单个数据库。当需要管理多个地理位置时,Region特别有用,因为它们可以使所有的数据收集发生在每个特定的位置,并避免跨网络之间的缓慢连接的数据收集流量。 当使用多个Region时,每个Region都有自己唯一的ID,可以创建一个主Region来将所有子Region的数据集中到一个主数据库中。要做到这一点,请配置每个子Region,将其数据复制到主Region数据库(Red Hat建议使用Region99)。 父和子Region是一对多的关系。 Region可以包含多个Zone,而这些Zone又包含了设备。分Zone用于进一步隔离网络流量和启用故障转移配置。每个设备都具有为许多专门的服务器角色配置的功能。这些角色仅限于包含他们所运行的设备的Zone。 每个服务器角色只有一个故障转移类型可以在一个Zone中运行。如果多个设备具有相同的故障转移角色,那么这些附加功能将用作备份,只有在主设备故障时才会激活。非故障转移服务器角色可以在一个Zone中模拟多个设备,因此可以根据这些角色的工作负载对资源进行调整。 特性: 导航栏有8大项。 控制台包含在主导航条上的以下内容: 云智能使用非常简单的联合(RSS)提要和图表来显示您的虚拟企业设备上的信息。它还包括了从盒子和定制的报告。 服务提供了所有已发现的服务和工作负载目录(虚拟机和云实例组合)的视图。 云使您能够看到云服务提供商、可用性区域、硬件风格、安全组和云实例。 基础设施可以让你看到你的虚拟化提供者、集群、主机、虚拟机、资源池、Datastores和存储库。 控制通过管理器、模拟、导入/导出和日志选项卡来管理您的策略。它通过使用事件、条件和操作进一步定义您的策略。 自动化为事件和活动提供了流程集成和自适应自动化的模型。 优化使您能够确定虚拟机的瓶颈和规划位置。 除了导航栏上的项目之外,您还可以使用Configure来管理用户界面、创建标记、设置服务器、数据库和SmartProxy选项、管理用户、更新软件和查看文档。 角色: 服务器角色定义了服务器可以做什么。Red Hat建议数据库操作、事件监视器、报告、调度器、SmartState分析、用户界面、提供者目录、提供者操作和Web服务在每个区域至少启用一个服务器。这些角色在所有服务器上都是默认启用的。 12大类,17种。 Automation Engine自动化引擎 如果您希望使用这个CloudForms功能和利用率管理引擎服务器来处理自动化任务,那么可以使用这个角色。 The Capacity & Utilization Coordinator容量与利用率协调员 角色检查以查看是否需要收集数据,有点像调度程序。如果是时间,就会为容量和利用率数据收集器排队。协调器角色是完成容量和利用数据收集的必要条件。如果某个特定区域的多个CloudForms管理引擎服务器具有这个角色,那么每次只会激活一个。 Capacity & Utilization Data Collector容量和利用率数据收集器 执行容量和利用率数据的实际收集。这个角色有一个专门的工作人员,并且在一个区域中可以有多个CloudForms管理引擎服务器。 Capacity & Utilization Data Processor容量和利用率数据处理器 处理收集的所有数据,允许CloudForms管理引擎创建图表。这个角色有一个专门的工作人员,并且在一个区域中可以有多个CloudForms管理引擎服务器。 Database Operations数据库操作 使用数据库操作来启用这个CloudForms管理引擎服务器来运行数据库备份或垃圾收集。 Database Synchronization数据库同步 使用数据库同步来启用这个CloudForms管理引擎服务器的VMDB来复制到更高级别的VMDB。这应该只在为复制工作者创建设置之后才启用,只会激活一个。 Event Monitor事件监视器 该角色默认启用,并提供时间轴显示的信息。事件监视器负责CloudForms管理引擎服务器和您的提供商之间的工作。它为每个提供者启动2个工作人员。一个工作人员,监视器,负责维护与提供者的连接,捕获事件,并将它们放到CloudForms管理引擎消息队列中进行处理。第二个worker是处理程序,它是一个消息队列工作者,负责为提供者仅提供这些消息。每个区域至少应该有一个这样的。 Notifier通知人 如果您将使用CloudForms管理引擎控制或自动化将SNMP陷阱转发到监视系统或发送电子邮件,那么使用该角色。有关创建SNMP警报的详细信息,请参见CloudForms管理引擎控制指南。如果某个特定区域的多个CloudForms管理引擎服务器具有这个角色,那么每次只会激活一个。 Provider Inventory供应商的库存 缺省情况下,该角色是启用的。该角色负责刷新提供者信息,包括EMS、主机、虚拟机和集群,并负责捕获数据存储文件列表。如果某个特定区域的多个CloudForms管理引擎服务器具有这个角色,那么每次只会激活一个。 Provider Operations供应商操作 缺省情况下,该角色是启用的。该角色将停止、启动、暂停、关闭客户、克隆、重新配置和取消对提供者的注册,如果您有CloudForms管理引擎控制,则直接从控制台或通过策略操作。多个CloudForms管理引擎服务器可以在一个区域中拥有这个角色。 RHN Mirror红帽服务器 具有RHN镜像的设备可以充当包含最新的CloudForms管理引擎包的存储库的服务器。这还配置了同一区域内的其他设备,以指向所选的RHN镜像服务器进行更新。这提供了一个低带宽的方法来更新带有多个设备的环境。 Reporting报告 缺省情况下,该角色是启用的。报告角色指定了哪些CloudForms管理引擎服务器可以生成报告。如果您没有将CloudForms管理引擎服务器设置为该区域中的这个角色,那么在该区域内就不会生成任何报告。每个区域至少应该有一个这样的。 Scheduler计划任务 缺省情况下,该角色是启用的。调度程序发送消息以启动所有预定的活动,如报告生成和SmartState分析。该角色还控制所有系统调度,例如容量和利用率数据收集。每个区域中的一个服务器必须被分配这个角色,或者计划的CloudForms管理引擎事件不会发生。如果某个特定区域的多个CloudForms管理引擎服务器具有这个角色,那么每次只会激活一个。 SmartProxy 启用SmartProxy角色将在CloudForms管理引擎服务器上打开嵌入的SmartProxy。嵌入的SmartProxy可以分析注册到主机和与提供者相关的模板的虚拟机。为了提供对存储库的可见性,请将SmartProxy从CloudForms管理引擎控制台安装到主机上。这个SmartProxy还可以分析安装它的主机上的虚拟机。 SmartState AnalysisSmartState分析 缺省情况下,该角色是启用的。SmartState分析角色控制了CloudForms管理引擎服务器可以控制SmartState的分析,并从分析中处理数据。每个区域至少应该有一个这样的。 User Interface用户界面 缺省情况下,该角色是启用的。如果您不希望用户能够使用CloudForms管理引擎控制台访问这个CloudForms管理引擎服务器,那么取消检查用户界面。例如,如果CloudForms管理引擎服务器被严格地用于容量和利用率或报告生成,那么您可能想要关闭它。多个CloudForms管理引擎服务器可以在一个区域中拥有这个角色。 Web ServicesWeb服务 缺省情况下,该角色是启用的。取消Web服务,以阻止这个CloudForms管理引擎服务器充当Web服务提供者。多个CloudForms管理引擎服务器可以在一个区域中拥有这个角色。 本文转自810105851 51CTO博客,原文链接:http://blog.51cto.com/4708948/1977208,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS环信3.1·集成·功能的实现

SDK集成 1.准备工作: ·此处假设你已经申请过环信的开发者账号。 ·此处假设你已经在Apple开发者中心配置好证书,并上传至环信。 ·如果你不需要离线消息的推送功能,可以不必配置证书。 ·从环信官网下载好的最新SDK,解压缩到一易找的地方。 2.将ios_IM_sdk_V3.1.5文件夹中的HyphenateFullSDK文件夹拷贝到你的工程目录文件夹下。 Paste_Image.png 3.打开Xcode,按下快捷键:Alt+Command+A,将 HyphenateFullSDK添加到工程目录里。 Paste_Image.png 4.将 HyphenateFullSDK目录下的 include中的 EMSDK.h中的代码注释掉一部分: Paste_Image.png 5.将 HyphenateFullSDK目录下的 include中的 EMSDKFull.h中的代码注释掉一部分: Paste_Image.png 6.点 Build Phases → Link Binary With Libraries,添加依赖库 SDK 包含实时语音依赖库有: CoreMedia.framework AudioToolbox.framework AVFoundation.framework MobileCoreServices.framework ImageIO.framework libc++.dylib libz.dylib libstdc++.6.0.9.dylib libsqlite3.dylib libiconv.dylib **(如果使用的是 xcode7,后缀为 tbd。)** Paste_Image.png 7.将 ios_IM_sdk_V3.1.5文件夹中的 EaseUI文件夹 拷贝到你的 工程目录文件夹下。 Paste_Image.png 8.打开Xcode,按下快捷键:Alt+Command+A,将 EaseUI添加到工程目录里。 Paste_Image.png 9.在你的 XXX.pch头文件的首尾部分,加入两行代码: Paste_Image.png //另,注意:必须引入这两个系统库。否则会报错。 #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> 错误是这样: Paste_Image.png 10.可能存在的 Error· 需要解决: 环信中有MJRefresh,若你的工程中也引入了MJRefresh,请自行删除你的或者环信EaseUI中的MJRefresh任一即可。 当然,前提是,保证你的MJRefresh是最新的 环信中有SDWebImage库,所以,如果你有用到SDWebImage库,请自行删除你引入的SDWebImage。 当然,你可以选择不删除。但是,要做一点简单的操作。 只需在XXX.pch中删除之前的引用#import "UIImage+WebCache",换成引用#import "UIImage+EMWebCache" 11.集成的结尾,说明部分: 经过上面一系列的修改以及添加库。此时,需要测试一下。 按下快捷键:Command+B,编译应该会无误通过。 功能实现 包含:位置发送、语音发送、图片发送、拍照发送、语音通讯、视频通讯 1.引入环信官方Demo中的:ChatViewController.h、ChatViewController.m 注释掉ChatViewController.m如下代码部分,解决Error: 简单来讲,就是注释掉红色警告行的代码即可。 //#import "ChatGroupDetailViewController.h" //#import "ChatroomDetailViewController.h" //#import "UserProfileViewController.h" //#import "UserProfileManager.h" //#import "ContactListSelectViewController.h" //#import "ChatDemoHelper.h" //#import "EMChooseViewController.h" //#import "ContactSelectionViewController.h" //if (ext && ext[kHaveUnreadAtMessage] != nil) // { // NSMutableDictionary *newExt = [ext mutableCopy]; // [newExt removeObjectForKey:kHaveUnreadAtMessage]; // self.conversation.ext = newExt; // } //UserProfileViewController *userprofile = [[UserProfileViewController alloc] initWithUsername:messageModel.message.from]; //[self.navigationController pushViewController:userprofile animated:YES]; //ContactSelectionViewController *selectController = [[ContactSelectionViewController alloc] initWithContacts:members]; //selectController.mulChoice = NO; //selectController.delegate = self; //[self.navigationController pushViewController:selectController animated:YES]; //ContactSelectionViewController *selectController = [[ContactSelectionViewController alloc] initWithContacts:members]; //selectController.mulChoice = NO; //selectController.delegate = self; //[self.navigationController pushViewController:selectController animated:YES]; //UserProfileEntity *profileEntity = [[UserProfileManager sharedInstance] getUserProfileByUsername:model.nickname]; //if (profileEntity) { // model.avatarURLPath = profileEntity.imageUrl; // model.nickname = profileEntity.nickname; //} // [[ChatDemoHelper shareHelper] setChatVC:nil]; // ChatGroupDetailViewController *detailController = [[ChatGroupDetailViewController alloc] initWithGroupId:self.conversation.conversationId]; // [self.navigationController pushViewController:detailController animated:YES]; // ChatroomDetailViewController *detailController = [[ChatroomDetailViewController alloc] initWithChatroomId:self.conversation.conversationId]; // [self.navigationController pushViewController:detailController animated:YES]; // id<IMessageModel> model = [self.dataArray objectAtIndex:self.menuIndexPath.row]; // ContactListSelectViewController *listViewController = [[ContactListSelectViewController alloc] initWithNibName:nil bundle:nil]; // listViewController.messageModel = model; // [listViewController tableViewDidTriggerHeaderRefresh]; // [self.navigationController pushViewController:listViewController animated:YES]; //- (BOOL)viewController:(EMChooseViewController *)viewController didFinishSelectedSources:(NSArray *)selectedSources //{ // if ([selectedSources count]) { // EaseAtTarget *target = [[EaseAtTarget alloc] init]; // target.userId = selectedSources.firstObject; // UserProfileEntity *profileEntity = [[UserProfileManager sharedInstance] getUserProfileByUsername:target.userId]; // if (profileEntity) { // target.nickname = profileEntity.nickname == nil ? profileEntity.username : profileEntity.nickname; // } // if (_selectedCallback) { // _selectedCallback(target); // } // } // else { // if (_selectedCallback) { // _selectedCallback(nil); // } // } // return YES; //} //- (void)viewControllerDidSelectBack:(EMChooseViewController *)viewController //{ // if (_selectedCallback) { // _selectedCallback(nil); // } //} 2.引入环信官方Demo中的:ChatDemoHelper.h、ChatDemoHelper.m、 CallViewController.h、CallViewController.m 删除ChatDemoHelper.m中的 介于 -(void) initHelper { #ifdef REDPACKET_AVALABLE [[RedPacketUserConfig sharedConfig] beginObserveMessage]; #endif [[EMClient sharedClient] addDelegate:self delegateQueue:nil]; [[EMClient sharedClient].groupManager addDelegate:self delegateQueue:nil]; [[EMClient sharedClient].contactManager addDelegate:self delegateQueue:nil]; [[EMClient sharedClient].roomManager addDelegate:self delegateQueue:nil]; [[EMClient sharedClient].chatManager addDelegate:self delegateQueue:nil]; #if DEMO_CALL == 1 [[EMClient sharedClient].callManager addDelegate:self delegateQueue:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(makeCall:) name:KNOTIFICATION_CALL object:nil]; #endif } 与 #pragma mark - EMCallManagerDelegate 之间的所有代码。 当然,还是会有报错。 下面的代码也要删除: -(void)_clearHelper { self.mainVC = nil; self.conversationListVC = nil; self.chatVC = nil; self.contactViewVC = nil; [[EMClient sharedClient] logout:NO]; #if DEMO_CALL == 1 [self hangupCallWithReason:EMCallEndReasonFailed]; #endif } 当然,你这样点击音视频按钮,还是不能弹出通话界面。 所以,你需要在你的XXX.pch头文件里加入这么一行代码即可。 #define DEMO_CALL 1 Paste_Image.png 要若想能弹出通话界面,设置根控制器,必须是这样的。 也就是在ChatDemoHelper.h中必须将你的聊天界面的控制器声明,命名最好是 mainVC。这样会比较省事儿。 Paste_Image.png 在AppDelegate.m,加入这样的一句代码: //tabBarCtr为你的聊天界面的视图控制器。可以是Tabbar,或者别的。 [ChatDemoHelper shareHelper].mainVC = tabBarCtr; CECNavigationViewController *callNav = nil; CECChatRootController *tabBarCtr = [[CECChatRootController alloc] init]; [ChatDemoHelper shareHelper].mainVC = tabBarCtr; callNav = [[CECNavigationViewController alloc] initWithRootViewController:tabBarCtr]; callNav.navigationBarHidden = YES; self.window.rootViewController = callNav;

优秀的个人博客,低调大师

WorkBuddy 真的不是聊天工具,是我雇来的数字员工

刚注册 WorkBuddy 那会儿,我真没觉得它跟别的 AI 有什么区别。不就是个聊天机器人吗?问一句答一句,能帮你写点东西,能帮你查点资料,挺方便的,但也也就这样了。大概用了不到两周,我就快把它给弃了。因为每天问来问去就那几个问题,积分刷刷地掉,感觉花冤枉钱。后来是换了个用法,效果完全不一样了。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册