未找到

未发布 百度正式开源其RPC框架brpc
by Harriet666 keys 分享 1506650334597
9月14日,百度正式在GitHub上基于Apache 2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。
 
brpc开发于2014年,主要使用的语言是C++和Java,是百度内部使用最为广泛的RPC框架,它经受了高并发高负载的生产环境验证,并支撑了百度内部大约75万个同时在线的实例。据了解,百度内部曾有多款RPC框架,甚至在2014年时还开源过另外一款RPC框架sofa-pbrpc。那brpc是在什么样的背景下诞生的?它有什么样的优势?又为何要开源?就这些问题,InfoQ记者采访了brpc负责人戈君。
 
Q:谈谈brpc的一些基本情况?什么时候开始研发的?经过了怎么样的迭代和升级?目前在内部应用情况如何?

戈君:brpc于2014年创建,在百度内部称为“baidu-rpc”。到目前为止,brpc一共进行了3000次左右的改动,现在仍在持续优化中,百度内的wiki上可以查询到每次改动的描述。brpc的主要语言是C++和Java,对其他语言的支持主要是通过包装C++版本,比如brpc的Python版包含C++版的大部分功能。
 
brpc目前支撑百度内部大约75万个同时在线的实例(不含client),超过500种服务(去年的统计,现在已不统计这类数据)。Hadoop、Table、Mola(另一种广泛使用的存储)、高性能计算、模型训练、大量的在线检索服务都使用了brpc。brpc第一次统一了百度内分布式系统和业务线的通信框架。
 
Q:为什么百度当时要研发brpc?

戈君:我们在实践中意识到,RPC作为最基础的通信组件,当时的百度已经不领先了。我当时的经理刘炀曾是Google的工程师,非常重视基础架构的建设,也愿意在这个方向投入资源。
 
我们在内部会更加深入地讨论这些问题。“好用”有时看起来很主观,但其实还是有据可循的,它的关键点是能不能真正地提高用户的效率:开发、调试、维护都要考虑到,如果用户效率真的被提高了,用户会想着你的,靠吹嘘或政令推广的东西得不了人心。我们创建brpc的初衷是解决百度业务所面临的实际挑战,同时也希望成为百度同学最喜爱的工具,哪怕离开百度也会怀念brpc。我们希望在提供了一个好用框架的同时,也展现了一种工作方法:注释怎么写,日志怎么打,ChangeLog怎么写,版本怎么发布,文档怎么组织,甚至对未来不在百度的同学的工作也有帮助,所以从这点来说brpc从一开始就是拥抱开源的。事实上,我们在口碑上做得还不错,brpc的wiki可能是百度内被点赞最多的内容之一。
 
Q:与其他的一些开源的RPC框架相比,brpc的优势是什么?

戈君:brpc主打的是深度和易用性。一方面我们没有精力像gRPC那样摊大饼,什么都做。另一方面我们也注意到gRPC(包括更早的Thrift)的深度和易用性并不够。技术方面的东西就是这样,看示例程序,文档非常牛逼,但实战中可能就是另一回事了,为什么各个公司都要造自己的轮子,一个隐藏原因就是表面高大上的东西在一些细节上让你无法忍受。

RPC真正的痛点是什么?是可靠性、易用性和定位问题的便利性。服务中不要出现不可解释的长尾,程序的可变项要尽量少,各种诡异问题要有工具支持快速排查。而这些在目前开源的RPC框架中做的并不好,它们大多看着很牛,但就是无法在自己组织中推广开来。回到前面那三点,brpc是如何做的呢?
  • 可靠性。这一方面是代码质量问题,通过为brpc团队设立很高的招聘门槛,以及在团队中深入的技术讨论,我们确保了稳固的代码基础。另一个问题是长尾问题,这是设计问题,brpc其实包含了很多模块,其中的bthread是一个M:N线程库,就是为了更好地提高并发避免阻塞。brpc中的读和写都是wait-free的,这是最高程度的并发。技术细节请点击链接查看。
  • 易用性。有种设计是什么选择都做成选项丢给用户,号称功能都有,但一旦出问题,则是用户“配置错了”。而且这样用户还非常依赖开发团队,没有开发团队的支持基本用不了,开发团队有足够的理由扩充团队。这么做其实非常不负责任,用户面对海量的选项也很难受。brpc对于增加选项非常谨慎,框架能自己做判断的绝不扔给用户,所有用户选项都有最合理的默认值,不设也能用。我们认为这对用户体验来说非常重要。
  • 定位问题的便利性。这点其它开源框架目前做的都不好,正常使用是可以的,但出问题就麻烦了。这个问题在百度内部其实也很严重,brpc之前用户排查问题都要拉RPC同学一起排查,RPC框架对用户是个黑盒,用户根本不知道里面发生了什么。按我们的经验,基本每天都有几个用户在群里问server卡顿,client超时之类的问题,排查问题是常态,人手必然不够。时间长了用户就觉得你这个框架各种问题,人还拽的不行很少回他们消息。brpc的解决办法是给server内加入各种HTTP接口的内置服务,通过这些服务,用户可以很快看到server的延时、错误、连接、跟踪某个RPC、CPU热点、内存分配、锁竞争等信息,用户还可以使用bvar来自定义各类统计信息,并在百度的运维平台NOAH上汇总。这样大部分问题用户可以自助解决。其实我们去看也是看这些,只是会更加专业。内置服务的具体说明可以看这里。
 
Q:作为公司内部的RPC框架,在服务治理方面有什么考虑?

戈君:百度内部RPC使用非常广泛,基本都是RPC调用,一些产品线还会通过local RPC隔离工程框架和策略代码。这么多年下来,服务周边的系统也比较全面了:编译是BCLOUD,发布是Agile,服务注册和发现是BNS,认证是Giano,监控和运维是NOAH。在百度内部,brpc和这些系统做了比较紧密的绑定,用户体验是一站式的。虽然在开源版本中,这些结合大都删掉了,但用户可以根据自己组织中的基础设施来进行定制:交互协议,名字服务,负载均衡算法都可以定制。对于其中一些特别通用的,我们希望用户反馈到开源版本中来以方便所有人。
 
Q:之前百度还开源过sofa-pbrpc,brpc与它的区别是什么?

戈君:sofa-pbrpc也是百度开发的一个比较早期的RPC框架,属于sofa编程框架的一部分,在搜索有应用。brpc相比sofa-pbrpc有如下优点:
  • 对协议的抽象更一般化,并统一了全百度的通信架构。bprc能容纳非常多的协议,基于Protobuf的,基于HTTP的,百度内的nshead/mcpack,开源的Redis/Memcached,甚至RTMP/FLV/HLS直播协议,brpc能逐渐地嵌入现有系统,而不需要彻底重构,但sofa-pbrpc则不具备扩展协议的能力。类似的,sofa-pbrpc也无法定制负载均衡算法,brpc默认提供round-robin、随机、一致性哈希,Locality-aware(局部性感知)四种算法,用户还能定制。
  • 多线程质量更好。多线程编程是非常困难的,看起来简单的RPC遍布多线程陷阱,比如处理超时的代码可能在RPC还没发出去时就运行了;发送函数还没结束,处理回复的回调就被运行了;一个回复还在被处理另一个回复回来了,诸如此类。另外,一个异步RPC的回调里发起一个同步RPC会发生什么,带着锁做同步RPC会发生什么。这些问题我们都不能在sofa-pbrpc中找到满意的答案。
  • 完备的调试和运维支持。解决这个问题的本质还在可扩展性,你如何让用户参与进来定制他们感兴趣的指标,为此我们设计了bvar,让用户能用比原子变量代价还小的方式自由地定制各种指标,用户能在浏览器上看到指标的变化曲线,或在运维平台NOAH看到汇总的监控数据。brpc还加入了大量内置服务方便用户调试程序,查看连接,在线修改gflags,追踪RPC,分析CPU热点,内存分配,锁竞争等一应俱全。
无需讳言,brpc在诞生之初和sofa-pbrpc在百度内部是有竞争关系的,但就像其他地方一样,这种竞争带来了活力。类似的,brpc和其他已经开源的RPC框架也是良性的竞争关系,在比拼谁能真正提高用户效率的过程中共同进步。每个用户都可以去对比代码、文档质量,接口设计,易用程度,扩展能力等,投出自己的一票。
 
Q:谈谈brpc的整体架构?

戈君:技术栈无外乎是从传输层垒到应用层,就略过不讲了,具体可以去看下开源出来的文档。brpc在架构上强调“在不牺牲易用性的前提下增强可扩展性”,比如brpc支持非常多的协议,在百度内部一个brpc server同端口可以支持二十几种协议,这对于服务的平滑迁移就非常好用。

Client端的协议也非常多,用户用brpc和bthread用得很爽,所以希望我们最好能统一所有的客户端,像对Redis和Memcached的客户端支持也是在这个背景下做的,这两个客户端比官方Client好用多了,感兴趣的读者可以去尝试一下。但这么多协议的配置非常简单,填个字符串就行了,比如HTTP就是把ChannelOptions.protocol设为“http”,Redis就是“redis”。Server端甚至不用设,它会自动判断每个client的协议,怎么做到的开源文档里也有。

名字服务、负载均衡也都可以定制。但为了对用户负责,我们也不鼓励“太自由”的定制,比如一点点需求的变化就要搞个新的,这时更需要想清楚本质区别是什么。这个事情我们在百度内的支持群里每天都在做,我们是开放的”乙方”,但我们也是严厉的”乙方”。
 
Q:brpc的性能如何?这么高的性能是怎么做到的?

戈君:性能是我们非常看中的一点,它和用户体验也是紧密联系的。好用但性能不行,或不好用但性能很牛,用户会很难受,我们不希望用户纠结。从另一个角度来看,在推广初期,我们要说服产品线用brpc靠什么?最直观的就是性能提升。而且这儿的性能不能停留在benchmark的图片上,而是能在真实应用中体现出来。开放出来的案例文档中或多或少都包含了性能提升,具体如下:
  • 百度地图API入口
  • 联盟DSP
  • ELF学习框架
  • 云平台代理服务
 
Q:为什么要将brpc开源?接下来在开源项目的迭代方面有什么计划吗?

戈君:因为马上还有不少依赖RPC的百度系统要开源啊。RPC作为最基础的组件,开源不仅仅是为了自身,也是为其它开源项目铺路,比如说我们马上还会开源基于brpc的RAFT库,搭建高可用分布式系统非常方便;以及使用brpc的bigflow,让流式计算变得很顺手。这些年百度对开源的认识也在不断加深,开源看似曝光了百度的核心技术,但带来的生态影响力更重要。从Apollo、PaddlePaddle开始,百度真的开始拥抱开源了。brpc的开源版和内部版很接近,只是去掉了对百度内部独有的一些基础设施的支持,我们在内网写的深入分析RPC技术细节的文档也都一并开源了,后续也会及时推送改动,请大家放心。这是一个活项目,不会拉个开源分支就不管了。
查看更多资讯>>>

未发布 Red Carpet Subscriptions发布2017 v3,适用于Linux和macOS的新版本
by Harriet666 keys 分享 1505294232532
Red Carpet Subscriptions贵宾订购版是综合通讯、安全和电子商务的组件包。贵宾订购版,在一个封包里给你任何东西:适用任何主流Internet协议的通讯组件、SSL 和 SSH 安全组件、S/MIME加密组件、数字证书(Digital Certificates)组件、信用卡交易处理(Credit Card Processing)组件、ZIP压缩组件、即时消息(Instant Messaging)组件、甚至电子商务(EDI)交易组件。
 
Red Carpet Subscription 2017 v3此次更新支持.NET Standard/ .NET Core,TLS 1.3,与OneDrive for Business和Wasabi云存储的集成,JSON安全性,并适用于Linux和macOS的新版本等。
 

重点


升级开发平台

  • 在任何支持.NET Standard和.NET Core的平台上使用.NET Editions
  • 使用PHP 7改进你的PHP应用程序。
  • 使用Node.js 8.3.0和OpenSSL 1.1.0升级Node.js应用程序。
  • 在Linux和macOS上使用IP*Works!IPC。

升级安全选项

  • 开始在.NET和Java中使用TLS 1.3。
  • 使用具有JSON Web Encryption(JWE)和JSON Web Signatures(JWS)选项的JSON Web Tokens(JWT)。

升级云存储集成

  • Graph API 与OneDrive for Business集成。
  • 与新的Wasabi云存储服务集成。

升级企业适配器

  • 使用WebDAV与BizTalk。
  • 使用BlueSnap支付网关与电子支付积分器。
     

细节


支持.NET Standard

所有.NET版本现在包括.NET Standard 1.4、1.6和2.0库。这意味着你可以在任何支持.NET Standard,包括.NET Core、UWP、Mono、Xamarin(Android和iOS)的平台中使用/n software组件。所有.NET版本都包含在内,也是NuGet软件包的一部分。

支持TLS 1.3

.NET和Java Edition现在支持客户端和服务器组件中的TLS 1.3。该版本支持SHA-256、SHA-384和SHA-512签名算法以及DHE 2048、3072、4096、6144和8192组。更多的算法、功能和平台将在下一个版本中推出。

支持Wasabi云服务

这个新组件将一个接口嵌入到Wasabi服务中,为云存储集成商提供了另一个云存储选项。

JSON(JWS / JWE / JWT)安全性

  • IP*Works!Auth包括用于签名/验证加密/解密JSON Web Tokens的新JWT组件。支持所有标准声明和添加自定义声明的功能。
  • IP*Works!Encrypt包括两个新的组件JWS和JWE,用于支持JSON Web Signatures和JSON Web Encryption,用于以各自的标准格式对数据进行签名/验证和加密/解密。

支持PHP 7和7.1

充分利用最新版本的性能和代码升级。所有PHP版本现在支持PHP 7和7.1。

PowerShell服务器支持SSL Tunnels到SSL主机

新功能允许你保护旧版应用程序,支持以前的SSL版本,并具有新的TLS 1.2安全性。
未发布 图像扫描工具包VintaSoftTwain.NET SDK v10.1发布,简化图像采集功能
by Harriet666 keys 分享 1491816416520
VintaSoftTwain.NET SDK允许控制平台和手持扫描仪、网页和数码相机,以及.NET环境中的任何其它TWAIN设备的运作。
【最新VintaSoftTwain.NET SDK点击下载>>>】

更新内容:

1、现在,从扫描仪中获取图像的功能可以很简单地添加到Web应用程序中:
  • Vintasoft.Twain.Web.WcfServices程序集可以在ASP.NET应用程序的服务器端使用,并允许创建一个用于从扫描程序中采集图像的WCF服务。
  • 可以在ASP.NET MVC应用程序的服务器端使用Vintasoft.twain.Web.ApiController组件,并允许创建一个用于从扫描仪中进行图像采集的Web控制器。
  • 用JavaScript编写的Vintasoft.Twain.js文件可以在ASP.NET应用程序的客户端使用,包括类和枚举,这简化了扫描仪的图像采集功能。
2、演示应用:
  • VintasoftWebTwainService - 新的控制台演示应用程序,演示了如何创建一个本地自我托管的Web服务来管理扫描仪。该Web服务是基于Web API控制器的。
  • AspNetMvcTwainDemos - 新的ASP.NET MVC演示应用程序,演示了如何从扫描仪中获取图像,处理所获取的图像,将获取的图像保存到本地文件或上传到HTTP(S)服务器上。该演示可以在任何浏览器(Chrome、Firefox、Edge、Internet Explorer、Opera)中使用,并使用本地Web服务与扫描仪进行通信。该演示使用了在VintasoftWebTwainService演示应用程序中实现的本地Web服务。
  • VintasoftWcfTwainService - 新的控制台演示应用程序,演示了如何创建一个本地的自我托管的Web服务来管理扫描仪。该Web服务是基于WCF服务的。
  • AspNetTwainDemos - 新的ASP.NET WebForms演示应用程序,演示了如何从扫描仪中获取图像,处理获取的图像,将获取的图像保存到本地文件或上传到HTTP(S)服务器上。该演示可以在任何浏览器(Chrome、Firefox、Edge、Internet Explorer、Opera)中使用,并使用本地Web服务与扫描仪进行通信。该演示使用了在VintasoftWcfTwainService演示应用程序中实现的本地Web服务。
未发布 多平台移动项目开发工具Elements发布v9.2,新增Java语言
by Harriet666 keys 分享 1503912870638
Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。
 
Elements最新版点击下载>>>
 
Elements v9.2进行了许多改进、修复和提升以及全新的前端语言。

Iodine: Java

Elements v9.2新增了第四种语言:Java。不要与Java平台混淆,Iodine将Java语言带入了Elements,并将其应用于所有平台:.NET、Cocoa、Java/Android和Island。这意味着你现在可以在.NET平台上使用Java语言,或者在创建iOS应用程序时重用一些现有的Android代码。这也意味着Java开发人员现在可以将Java用于本机Android NDK应用程序和扩展,而不必使用C/C ++。
 
当然,Java完全支持Visual Studio、Fire和Water Preview。
 

Water (Preview)

我们在发布Elements 9.1时开启了Water项目,让你了解在Windows上Elements开发人员的IDE体验。Alpha的初步反馈一直是积极的,用户对IDE的速度感到惊讶。现在,你可以使用稳定的9.2编译器查看最新的Water Preview,并进行实际运用。
 

Island

不到一年的时间,我们针对CPU编译器目标的Island平台正在紧密结合。虽然这一次的更改日志不如五月份那样长,但是Elements 9.2增加了一些重要的改进,包括Windows上的Island应用程序的全新定制调试引擎、新的模板和帮助Android NDK开发,并支持用于本地平台上的任务和异步代码。
 

Fire

Elements 9.2是Fire的一次重要升级。对于非托管调试器(Cocoa和Island),有一个新的反汇编视图,可以让你在CPU指令级别(包括没有符号的代码,例如OS库)中检查和逐步执行应用程序。
 
搜索已经通过新的嵌入式搜索窗格、搜索历史记录以及过滤文件的功能得到改进。代码编辑器现在加强了周围的代码块和匹配的XML标签,并且支持自动完成XML关闭标签和XML代码完成(目前为.plist文件,但为下一步XAML和Android XML CC奠定基础)。
 

Silver: Swift

在Silver方面,此版本支持Swift 4(Apple将在今年晚些时候发布),以及平台平衡和与Apple Xcode兼容性的其他改进。
未发布 2017年移动开发中优秀的10大框架
by Harriet666 keys 分享 1488161905996
框架被视为复杂的软件开发环境。它们包括许多子组件,其主要工作是帮助您创建应用程序。框架提供了许多工具集、调试器、编译器、不同的代码库,应用程序编程接口和其他组件。它们都是为了让应用程序开发人员工作变得更加容易。框架是APP开发的基础,它们可以使整个开发过程变得更简单、更令人兴奋。没有框架,开发人员将从头开始编写他们想要开发的每个应用程序。这将涉及大量的编码来让应用程序可以在不同的平台上工作。这里将列举出最好的框架来让你的开发更简单和更容易。

点击查看十大框架具体信息>>>

未发布 Windows Server 2016——让世界上最大的云数据中心背后的创新为你所用
by Harriet666 keys 分享 1496914378726
Windows Server 2016是微软发布的最新服务器操作系统。它在整体的设计风格与功能上更加靠近了Windows 10。
 
Windows Server 2016中的新增功能

一、计算
虚拟化区域包括适用于 IT 专业人员的虚拟化产品和功能,以设计、部署和维护 Windows Server。
常规
由于 Win32 Time 和 Hyper-V 时间同步服务的改进,物理和虚拟计算机从更高的时间准确性中受益。 现在,Windows Server 可以托管与即将推出的要求 UTC 准确性为 1 ms 的规则相容的服务。
Hyper-V
Nano Server
Nano Server 的新增功能。 Nano Server 具有一个已更新的模块,用于构建 Nano Server 映像,包括物理主机和来宾虚拟机功能的更大分离度,以及对不同 Windows Server 版本的支持。
恢复控制台也有改进,其中包括入站和出站防火墙规则分离及 WinRM 配置修复功能。
受防护的虚拟机
Windows Server 2016 提供新的基于 Hyper-V 的受防护的虚拟机,以保护任何第 2 代虚拟机免受已损坏的构造影响。 Windows Server 2016 中引入的功能如下所示:
  • 新的“支持加密”模式提供比为普通虚拟机提供的更多、但比防护模式少的保护功能,同时仍支持 vTPM、磁盘加密、实时迁移通信加密和其他功能,包括直接构造管理便利(例如虚拟机控制台连接和 Powershell Direct)。
  • 完全支持将现有非受防护的第 2 代虚拟机转换为受防护的虚拟机,包括自动磁盘加密。
  • Hyper-V 虚拟机管理器现在可以查看授权运行的受防护的虚拟机上的构造,为构造管理员提供了一种打开受防护的虚拟机的密钥保护程序 (KP) 并查看构造是否有权在其上运行的方式。
  • 你可以转换运行的主机保护者服务上的证明模式。现在你可以即时在不太安全但更简单、基于 Active Directory 的证明和基于 TPM 的证明之间进行切换。
  • 基于 Windows PowerShell 的端到端诊断工具能够检测到受保护的 Hyper-V 主机和主机保护者服务中的错误配置或错误。
  • 恢复环境不仅提供在虚拟机可正常运行的构造中安全地排查故障并修复受防护的虚拟机的方法,还提供与受防护的虚拟机本身相同的保护级别。
  • 主机保护者服务支持现有的安全 Active Directory – 可以指示主机保护者服务使用现有的 Active Directory 林作为其 Active Directory,而不是创建自己的 Active Directory 实例
有关使用受防护的虚拟机的详细信息和说明,请参阅 Shielded VMs and Guarded Fabric Validation Guide for Windows Server 2016 (TPM)(Windows Server 2016 (TPM) 受防护的 VM 和受保护的构造验证指南)。
 
二、身份标识和访问控制
身份标识中的新功能提高了组织保护 Active Directory 环境的能力,并帮助他们迁移到仅限云的部署和混合部署,其中某些应用程序和服务托管在云中,其他的则托管在本地。
Active Directory 证书服务
Active Directory 证书服务中的新增功能。 Windows Server 2016 中的 Active Directory 证书服务 (AD CS) 增加了对 TPM 密钥证明的支持:现可使用智能卡 KSP 进行密钥证明,而未加入域的设备现在可以使用 NDES 注册,以获得可证明 TPM 中密钥的证书。
Active Directory 域服务
Active Directory 域服务包括可帮助组织保护 Active Directory 环境并为公司和个人设备提供更好的标识管理体验的改进。 有关详细信息,请参阅 What's new in Active Directory Domain Services (AD DS) in Windows Server 2016(Windows Server 2016 中 Active Directory 域服务 (AD DS) 中的新增功能)。
Active Directory 联合身份验证服务
Active Directory 联合身份验证服务中的新增功能。 Windows Server 2016 中的 Active Directory 联合身份验证服务 (AD FS) 包括使你可以配置 AD FS 以对轻型目录访问协议 (LDAP) 目录中存储的用户进行身份验证的新功能。 有关详细信息,请参阅 Windows Server 2016 中 AD FS 的新增功能
Web 应用程序代理
Web 应用程序代理的最新版本专注于为更多应用程序实现发布和预身份验证的新功能以及改进的用户体验。 查看新功能的完整列表,其中包括针对丰富的客户端应用(如 Exchange ActiveSync)的预身份验证以及用于更轻松地发布 SharePoint 应用的通配符域。 有关详细信息,请参阅 Windows Server 2016 中 Web 应用程序代理的新增功能
 
三、管理
管理和自动化部分重点介绍适用于想要运行和管理 Windows Server 2016(包括 Windows PowerShell)的 IT 专业人员的工具和参考信息。
Windows PowerShell 5.0 包含重要的新功能(包括支持使用类进行开发、可扩展其用途的新安全功能),提高其可用性,并允许你更轻松、全面地控制和管理基于 Windows 的环境。请参阅 Windows Management Framework (WMF) 5.0 RTM 发行说明概述,获取详细信息。
Windows Server 2016 的新增功能包括:在 Nano Server 上本地运行 PowerShell.exe(不再仅限于远程),新增“本地用户和组”cmdlet 来替换 GUI,添加了 PowerShell 调试支持,并添加了对 Nano Server 中安全日志记录和脚本以及 JEA 的支持。
下面是一些其他新管理功能:
Windows Management Framework (WMF) 5 中的 PowerShell 期望状态配置 (DSC)
Windows Management Framework 5 包括对 Windows PowerShell 期望状态配置 (DSC)、Windows 远程管理 (WinRM) 和 Windows 管理规范 (WMI) 的更新。
有关测试 Windows Management Framework 5 的 DSC 功能的详细信息,请参阅 PowerShell 期望状态配置 (DSC) 的验证功能中所论述的一系列博客文章。若要下载,请参阅 Windows Management Framework 5.0
用于软件发现、安装和清单的 PackageManagement 统一包管理
Windows Server 2016 和 Windows 10 引入了一种新的 PackageManagement 功能(以前称为 OneGet),该功能可以允许 IT 专业人员或开发人员使软件发现、安装、清单 (SDII) 在本地或远程自动进行,无论安装程序技术为何,也不管软件位于何处。
有关详细信息,请参阅 https://github.com/OneGet/oneget/wiki
有助于数字取证和减少安全漏洞的 PowerShell 增强功能
为了帮助负责调查受损系统的团队(有时称为“蓝队”),我们已添加其他 PowerShell 日志记录和其他数字取证功能,并且已添加有助于在脚本中减少漏洞的功能,例如受限的 PowerShell 和安全 CodeGeneration API。
 
四、网络
本部分论述了适用于 IT 专业人员的网络产品和功能,可用于设计、部署和维护 Windows Server 2016。
软件定义的网络
你现在可以将流量映射并传送到新的或现有虚拟设备。 与分布式防火墙和网络安全组联合使用,使你能够以类似于 Azure 的方式动态分段和保护工作负荷。 其次,你可以使用 System Center Virtual Machine Manager 部署并管理整个软件定义的网络 (SDN) 堆栈。 最后,可以使用 Docker 来管理 Windows Server 容器网络,并将 SDN 策略与虚拟机和容器关联。有关详细信息,请参阅计划软件定义的网络的部署
TCP 性能改进
默认初始拥塞窗口 (ICW) 已从 4 增加到 10 并已实现 TCP 快速打开 (TFO)。 TFO 减少了建立 TCP 连接所需的时间,并且增加的 ICW 允许在初始突发中传输较大的对象。 此组合可以显著减少在客户端和云之间传输 Internet 对象所需的时间。
当从数据包丢失恢复时,为了改善 TCP 行为,我们实施了 TCP 尾部丢失探测 (TLP) 和最新确认 (RACK)。 TLP 可帮助将转发超时 (RTO) 转换为快速恢复,而 RACK 可减少快速恢复所需的时间,以重新传输丢失的数据包。
 
五、安全和保障
此部分包含适用于 IT 专业人员的安全解决方案和功能,可在数据中心和云环境中进行部署。 有关 Windows Server 2016 中常规安全性的信息,请参阅安全和保障
Just Enough Administration
Windows Server 2016 中的 Just Enough Administration 是一种安全技术,可使能由 Windows PowerShell 管理的任何内容均可进行委派管理。 功能包括对在网络标识下运行、通过 PowerShell Direct 连接、安全复制文件到 JEA 终结点或从 JEA 终结点安全复制文件及配置 PowerShell 控制台在 JEA 上下文中默认启动的支持。有关详细信息,请参阅 JEA on GitHub(GitHub 上的 JEA)。
Credential Guard
凭据保护使用基于虚拟化的安全性来隔离密钥,以便只有特权系统软件可以访问它们。 请查看使用 Credential Guard 保护派生的域凭据
远程 Credential Guard
Credential Guard 包括对 RDP 会话的支持,以便用户凭据能够保留在客户端上,且不会在服务器端暴露。 它还提供远程桌面的单一登录体验。 请参阅 Protect Remote Desktop credentials with Remote Credential Guard(使用远程 Credential Guard 保护远程桌面凭据)。
Device Guard(代码完整性)
Device Guard 通过创建指定哪些代码可以在服务器上运行的策略提供内核模式代码完整性 (KMCI) 和用户模式代码完整性 (UMCI)。 请参阅 Device Guard 简介:基于虚拟化的安全性和代码完整性策略
Windows Defender
Windows Server 2016 的 Windows Defender 概述。 默认情况下,Windows Server Antimalware 已在 Windows Server 2016 中安装并处于启用状态,但是 Windows Server Antimalware 的用户界面尚未安装。 但是,Windows Server Antimalware 会在没有用户界面的情况下更新反恶意软件定义并保护计算机。 如果需要 Windows Server Antimalware 的用户界面,则可以使用“添加角色和功能向导”在操作系统安装之后安装它。
控制流防护
控制流防护 (CFG) 是一种平台安全功能,旨在防止内存损坏漏洞。 有关详细信息,请参阅 Control Flow Guard(控制流防护)。
 
六、存储
Windows Server 2016 中的存储包括软件定义存储以及传统文件服务器的新功能和增强功能。 下面是几个新功能,有关更多增强功能和详细信息,请参阅 Windows Server 2016 中的存储的新增功能
存储空间直通
存储空间直通允许通过使用具有本地存储的服务器构建高可用性和可缩放存储。 该功能简化了软件定义的存储系统的部署和管理并且允许使用 SATA SSD 和 NVMe 磁盘设备等新型磁盘设备,而之前群集存储空间无法使用共享磁盘。
有关详细信息,请参阅存储空间直通
存储副本
存储副本可在各个服务器或群集之间实现存储不可知的块级同步复制,以便在站点间进行灾难恢复及故障转移群集扩展。 同步复制支持物理站点中的镜像数据和在崩溃时保持一致的卷,以确保文件系统级别的数据损失为零。 异步复制允许超出都市范围、可能存在数据损失的站点扩展。
有关详细信息,请参阅存储副本
服务存储质量 (QoS)
现在可以使用存储服务质量 (QoS) 来集中监控端到端存储性能,并使用 Windows Server 2016 中的 Hyper-V 和 CSV 群集创建策略。
有关详参细信息,请阅服务存储质量
 
七、故障转移群集
Windows Server 2016 中包括多个服务器的新功能和增强功能,它们使用故障转移群集功能组合到单个容错群集中。 下面列出了某些新增功能,有关完整的列表,请参阅 Windows Server 2016 中故障转移群集中的新功能
群集操作系统滚动升级
群集操作系统滚动升级允许管理员将群集节点的操作系统从 Windows Server 2012 R2 升级至 Windows Server 2016,且无需中断 Hyper-V 或横向扩展文件服务器工作负荷。 使用此功能可以避免服务级别协议 (SLA) 的停机时间损失。
有关详细信息,请参阅群集操作系统滚动升级
云见证
云见证是 Windows Server 2016 中一种新型的故障转移群集仲裁见证,它将 Microsoft Azure 作为仲裁点。 与其他仲裁见证一样,云见证获取投票,并可以参与仲裁计算。 可以使用“配置群集仲裁向导”将云见证配置为仲裁见证。
有关详细信息,请参阅部署云见证
运行状况服务
运行状况服务将改进存储空间直通群集上的日常监控、操作和群集资源维护体验。
有关详细信息,请参阅运行状况服务
 
八、应用程序开发
Internet 信息服务 (IIS) 10.0
Windows Server 2016 中的 IIS 10.0 Web 服务器提供的新增功能包括:
  • 在网络堆栈中支持 HTTP/2 协议,并与 IIS 10.0 集成,允许 IIS 10.0 网站针对支持的配置为 HTTP/2 请求自动提供服务。 与 HTTP/1.1 相比,这会有大量的增强功能,例如,更有效地重用连接和减少延迟、提高网页的加载速度。
  • 在 Nano Server 中运行和管理 IIS 10.0 的功能。 请参阅 Nano Server 上的 IIS
  • 支持通配符主机头,使管理员能够为域设置 Web 服务器,然后让 Web 服务器为任何子域的请求提供服务。
  • 一个用于管理 IIS 的新 PowerShell 模块 (IISAdministration)。
有关更多详细信息,请参阅 IIS
分布式事务处理协调器 (MSDTC)
Microsoft Windows 10 和 Windows Server 2016 中添加了三个新功能:

试用、下载、了解更多产品信息请点击"咨询在线客服"   

1
未发布 Essential Studio for JavaScript发布2017 v3版本,支持统计图表
by Harriet666 keys 分享 1503649818838
Essential Studio for JavaScript是首款专门用于LOB应用开发的JavaScript框架。包含40多种独特的、全新设计的控件,包括网格、图表、计量器、编辑器、树形视图、菜单、OLAP网格等等。
 
Essential Studio for JavaScript 2017 v3点击下载>>>
 
Essential Studio for JavaScript 2017 v3增强了一些功能,支持统计图表以及甘特图控件的工作周。
所有JavaScript控件通用

ANGULAR

支持Angular 4

基本的JavaScript Angular组件升级,无缝支持Angular v4与Ahead-of-Time compilation。

主题切换

主题切换选项用于渲染和可视化所有可用的JavaScript主题中的组件。

 

AURELIA

支持Webpack

Aurelia-Syncfusion-bridge升级为支持最新版本的webpack和最新的Aurelia skeleton-navigation。

主题切换

主题切换选项用于渲染和可视化所有可用的JavaScript主题中的组件。
 

IONIC

Ionic app

Angular组件现在可以与Ionic移动应用开发框架集成。
 

JSPLAYGROUND

AngularJS支持的版本

SyncFusion JSPlayground升级到支持v1.6的AngularJS。
 

统计图表

StackingSplineArea和100%StackingSplineArea系列

增加新的系列类型StackingSplineArea和100%StackingSplineArea。


 

数据标签饱和度

根据背景颜色来显示数据标签文本。

 

多种样条类型

图表控件现在支持多个样条类型。

 

数据管理器

Web API批量编辑

数据管理器支持Web API批处理操作。Web API批量编辑是一个独特的功能,添加删除和更改的请求可以一次性处理。
 

图表

支持标尺

标尺已添加到图表控件中。

 

标签拖动限制选项

拖动标签时进行对齐,以便在调整其主体对象大小后保留其相对位置。 还添加了将标签拖动到特定位置的选项。
 

文件管理器

根文件夹配置

支持访问应用程序的根文件夹,并在该根文件夹中显示备用文本。

 

表格

支持页面大小下拉

通过使用页面大小的下拉列表,支持更改网格页面的大小。

 

看板

状态显示/隐藏选项

显示/隐藏卡的功能。它可以使用键值对卡进行分组,并可以切换显示。

 

PDF查看器

手写签名

PDF查看器允许您将签名添加到任何PDF文档,并将其保存为标准PDF文件。

 

时间表

在线添加/编辑预约

用户现在可以创建或编辑预约。

 

拼写检查

拼写检查同步请求

拼写检查控件提供了通过发送同步请求来检查拼写错误的选项。

错误词建议

拼写检查控件提供了将拼写错误的单词传递给客户端的选项,然后检索建议的单词以进行更正。
 

甘特图

工作周

甘特图控制现在支持改变项目的工作周。


验证任务栏编辑

现在可以验证任务栏编辑。

 

枢轴网格

按需加载(关系数据库)

按需加载允许仅在向下钻取操作时检索数据,从而提高控件的性能。

 

分页(关系数据库)

分页将大量记录分成单独的段以便轻松查看数据。它还提高了枢纽网格的性能。

 

按日期分组类型(关系数据库)

枢纽网格对日期类型字段进行分类,并根据年、季、月和日格式进行分组。

 

按日期类型排序(关系数据库)

支持以升序或降序来排序日期类型字段。

 

富文本编辑

拼写检查器

拼写检查器控件可以在RTE中的iframe元素上呈现,从而很容易找到拼写错误,并在上下文菜单和对话框模式中提供建议。在对话模式中,将显示一个包含建议单词列表的下拉菜单。 在上下文菜单模式下,当右键单击拼写错误的单词时,将出现具有拼写建议的上下文菜单。


 

电子表格

 

支持不连续范围的图表

电子表格控件现在可以将串联的图表导入不连续的范围或一系列点。

 

树型网格

文字换行

树型网格控件现在支持在单元格中文本换行。

 

按需加载

树型网格控件现在使用“按需加载”方法来支持数据绑定。


 

命令列

现在可以使用树型网格中的命令列执行CRUD操作和自定义操作。



 

打印

现在可以打印树型网格的内容。

 

编辑模板

树型网格控件使用编辑模板支持使用自定义编辑器编辑单元格值。

 

列优先

现在使用列优先级响应树格网格列。

 

TREEMAP

文字溢出

支持Treemap控件中的标签文本溢出。

未发布 VMProtect用户手册:专用术语
by Harriet666 keys 分享 1521622426288
VMProtect是一款虚拟机保护软件,是目前最为流行的保护壳之一。VMProtect将保护后的代码放到虚拟机中运行,这将使分析反编译后的代码和破解变得极为困难。除了代码保护,VMProtect还可以生成和验证序列号,设置过期时间,限制免费更新等等。

VMProtect最新试用版下载>>>


 
如果您不知道相应主题的专用术语,则无法有效使用该工具。本篇教程解释了VMProtect中使用的术语。一些术语可能会提供与传统术语不同的含义。
 
字节码 - 将实际处理器的命令转码为虚拟机命令后收到的代码。
 
虚拟化 - 一种将应用程序的部分可执行代码转换为具有命令系统,体系结构和操作逻辑的虚拟机命令的过程,这些命令对潜在的黑客来说是未知的。代码的虚拟化片段由虚拟机的解释器执行,而不将其转换为物理处理器的机器语言代码。通常,虚拟化片段的反向工程归结为建立一个具有与虚拟机模拟的处理器相同架构的反汇编程序,并分析由此产生的反汇编代码。
 
虚拟机 - 在受保护的应用程序中直接执行字节码的程序代码。
 
水印 - 每个字节的用户数组都有一个唯一的标识,可以明确标识该程序被黑客复制的合法所有者。
 
突变 - 用一个模拟或一组命令代替一个原始命令产生相同的结果。
 
混淆技术 - 一组旨在使程序代码分析复杂化的方法和技术。根据编程语言写入受保护程序,使用不同的混淆类型。写在解释语言(的Perl,PHP等)的应用程序混淆通过修改源代码所做的:评论被删除,变量给出了毫无意义的名称,字符串常量被加密等等。通过转换由虚拟机处理的字节码来执行Java / .NET应用程序的混淆。编译程序的混淆依赖于修改机器语言代码:混淆器添加各种“垃圾”命令,“死代码”,随机跳转。另外,原始命令会发生变化,部分操作会移至堆栈,并进行了一些结构(或不太常数学的)转换。对混淆的代码片段进行反向工程会尝试将片段恢复到其原始状态,只要正确完成混淆处理,这是一项耗时的任务。
 
保护器 - 旨在保护其他程序免遭黑客攻击的软件。现在的大多数保护器都不会修改应用程序的源代码,而是打包或加密应用程序。主要重点放在保护解包/解密程序或程序上。
 
入口点 - 加载到内存中的应用程序的初始地址执行从开始。
 
压缩 - 通过使用非典型算法压缩程序和/或库的可执行文件来保护程序代码的一种方法。受保护的代码片段由封装器压缩,并在应用程序执行时在用户端完全或部分解压缩。
 
加密 - 通过强大的加密算法来保护应用程序代码的一部分。受加密保护的软件要求最终用户输入激活码,以消除开发者为未注册版本的程序设置的限制。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 MailBee.NET Objects接收电子邮件(POP3)教程四:访问电子邮件附件
by Harriet666 keys 分享 1501232156519
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了如何访问电子邮件附件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

 
所有邮件附件都存储在MailMessage.Attachments集合中。该集合还列出了邮件中包含的嵌入图像和其他文件。
集合中附件的索引为零。例如,下面的代码打印第一个附件的名称:
C#
Console.WriteLine("Attachment name is " + msg.Attachments[0].Name);
VB.NET
Console.WriteLine("Attachment name is " + msg.Attachments(0).Name)
要访问附件,您需要从服务器下载整个邮件(不仅仅是标题)。
你可以检查邮件是否附件如下:
C#
Pop3 pop = new Pop3();
// Download entire message
MailMessage msg = pop.DownloadEntireMessage(1);
if (msg.HasAttachments)
{
        // The message has at least one attachment
}

VB.NET
Dim pop As New Pop3()
' Download entire message
Dim msg As MailMessage =  pop.DownloadEntireMessage(1) 
if (msg.HasAttachments) Then
        ' The message has at least one attachment
End If
在某些情况下,即使只下载了邮件开头部分,也可以使用MailMessage.HasAttachments属性。
未发布 Essential Studio for ASP.NET MVC发布2017 v2,增加日期范围选择器功能
by Harriet666 keys 分享 1495683576978
Essential Studio for ASP.NET MVC是一个帮您轻松创建高性能Web应用程序的ASP.NET MVC界面开发包,它包含了几乎所有企业级Web应用程序开发所需要的控件,如Grids, Charts, Gauges, Menus, Calendars, Editors等。 除此之外,该控件包还包含了可以让您的应用程序浏览和创建Excel,Word,PDF文件的高性能元件库。
 
Essential Studio for ASP.NET MVC发布2017 v2版本,增加日期范围选择器、文本注释等功能。
 
【Essential Studio for ASP.NET MVC 2017 v2点击下载>>>】

通常

支持资源文件本地化

支持资源文件本地化,根据应用程序或组件生成文本。

25a534ba89ac41258bb0a68be70eae49ojpg

18cfc4842e39487da1e0484ff3f6a291ojpg

 

日期范围选择器

日期范围选择器是一个新的MVC帮助组件,允许从应用程序中的一组预定义或自定义日期范围中进行选择。

主要特征

  • 从弹出窗口中选择日期的选项。
  • 设置便于选择的预定义自定义范围选项。
  • 支持本地化。
  • 手机友好。

c936ff63e04141f88d10dd61bdfbe999ojpg


图表

饼状图系列

增加创建饼状图的新功能。

04161a37650f4b85828454ad4fcf4fccojpg

打印

支持打印图表。

dadeb8c38c984aa08945abf99498dffbojpg

改进轴元件配置

图表控件现在可以防止轴图元素(如标签和标题)放在图表区域内时,图表值越过轴的问题。

d7256c30a52547a2a3368a143855ecb2ojpg


圆形表盘

图例

添加图例来表示圆形表盘中的范围。

215731bb62a6487b94d0b8553c4b6d3aojpg

图表

标签的模板选项

图表控件现在支持在HTML和SVG渲染模式中定义标签的模板内容。

7c3d4760fa0646df99d68b3aa8384889ojpg

DocIO

增强Word转换PDF功能

DocIO现在支持Word到PDF转换期间的方程式字段。

66bbb39553bb4ecda15c1df4ff7a24feojpg

甘特图

导出PDF

甘特图内容现在可以导出为PDF。

b969ed8f0ff04545aa01d11c95546548ojpg

自定义工具栏项目

甘特图控件现在支持自定义工具栏项目。

38439dbab1564870860d001e227276e4ojpg

映射展开状态

最初加载时,可以映射记录的展开状态。

 

列表框

排序

现在可以按升序或降序自动排序列表项。

95d47e514d5c4ac9a782f253378728daojpg

列表显示

虚拟滚动

添加正常模式和连续模式下的虚拟滚动支持,无需缓冲即可加载大量数据。

65253c09a57c4aed8d693ce82b958b60ojpg

PDF

增强PDF安全功能

现在支持PDF 2.0安全功能(AES Revision 6)。

fa3643f1662d4bccb5517c91923848a8ojpg

PDF查看器

文本标记注释

文本标记注释(高亮、下划线和删除线)已添加到PDF查看器控件中。现在可以加载PDF文档,包括文本标记注释,并且可以编辑现有注释。

dc6c9ec2cad04938989a3819d36760e4ojpg

数据透视图表

分组标签

数据透视图表中的分组标签可以选择向上和向下拉取以提供详细的系列信息。

1110787552004ee981637a231ccd6e65ojpg

Pivot客户端

计算成员

Pivot客户端支持通过交互式对话框在运行时创建和显示维度和测度。

4dbe899544db48f581c741c1e0f65c09ojpg

所有Pivot控件通用

Mondrian XML/A连接(客户端模式)

所有数据透视控件都可以通过不同版本的XML/A连接从Mondrian中检索多维数据,仅适用于客户端模式。

 

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。

65ca3ca6c75f4dd6af238540a05a6514ojpg

富文本编辑器

粘贴清理

从Word或网页(HTML)复制的内容将在粘贴到富文本编辑器时进行预处理,清理和格式化以获取正确的HTML。

 

时间表

隐藏周末

周末可以隐藏在调度程序中,并在所有视图中只显示工作日。

74f7cf627eea40108c119ece86b2d592ojpg

 

拼写检查器

打字时检查拼写

当按下Enter键或空格键时,拼写检查器控件主动检查拼写错误。它还可以在选定的文本中检查错误。

使用“类”来检查多个目标

可以根据CSS类或ID来检查多个HTML元素(如div、span、textarea和input)。

检查内联框架中的拼写

拼写检查器控件允许检查内联框架(iframe)中的内容是否有拼写错误。


树型网格

自适应渲染

树型网格控件的UI已经在移动环境中得到了改进。

327db43e96104739a661ec2acea0d912ojpg

ac9b4d7781094c119ff3cc08413a6f27ojpg

对话框编辑

树型网格控件现在支持对话框编辑。

5dcea82f62fe46bf836dc707739f53daojpg

6c79f20ba8444889a5536122bdcf0212ojpg

自定义工具栏

树型网格控件现在支持自定义工具栏。

b8e3420d4f764fd5ad7b9ca52190b232ojpg

列验证

记录在更新到数据库之前可以进行验证。

0b32887af96345feb0134892a8820491ojpg

映射展开状态

初始加载时可以映射树形网格中记录的展开/折叠状态。

复选框列

树型网格支持通过Boolean数据显示复选框列。

4d4f3d84d1eb489c8afc952d58dfcfa8ojpg

XlsIO

Excel到PDF转换中的图标设置

Essential XlsIO支持使用“仅显示图标”和“反向图标顺序”选项进行PDF转换的自定义图标设置。

154dca6ba7a44e29bafb81226134a7bfojpg

增强图表转换图像功能

将图表转换为PDF文件或图像时,图表元素(如标题和显示单元)现在支持富文本和具有不同标记的图表系列。

53547136eef744c29aab1c9408ca7032ojpg

数据透视表自定义排序

数据透视表列可以通过字符串数组或设置自定义位置进行排序。

f2ab5072f604484ca5a1b4876d2e2ad9ojpg

表格过滤器

可以根据文本、数值和日期过滤Excel表格行。

c2a380932fa34111a91ec1cb14e26eb8ojpg


试用、下载、了解更多产品信息请点击"咨询在线客服"   


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA