未找到

未发布 使用Windows兼容包简化向.NET Core的迁移
by Harriet666 keys 分享 1514537966156
从.NET迁移到.NET Core的一个主要原因,在于后者具备在Linux上运行的能力。但是对于大型企业应用,不可能实现一步迁移到位。由此,Microsoft推荐采用一种逐步迁移做法:
  • 第一步,迁移到ASP.NET Core(依然使用.NET Framework);
  • 第二步,迁移到.NET Core(依然运行在Windows上);
  • 第三步,迁移到Linux上;
  • 第四步,迁移到(托管Linux主机的)Azure中。
这一做法理论上可行,但是在第二步中会有阻碍,因为缺乏关键API。用于.NET Core的Windows兼容包的推出,意在解决这一问题。该兼容包是一个NuGet软件包集合,其中包含了近两万个API,目的在于解决Web应用程序开发人员对于优秀软件库的需求。
 
新引入的API大体上可分为两类。一类是仅适用于Windows的API,另一类是跨平台的软件库。其中,仅适用于Windows的API包括:
  • Active directory;
  • 加密;
  • 事件日志和性能计数器;
  • 文件系统安全;
  • 命名管道;
  • 注册表访问(Registry Access);
  • Windows服务。
其中大部分API是与Windows操作系统紧密关联的,而相应的Linux API通常在设计上迥异。
跨平台的软件库包括:
  • 缓存;
  • 配置管理(ConfigurationManager),即处理遗留的app.config和web.config文件;
  • 数据集扩展(DatasetExtensions),用于不使用ORM访问数据库;
  • ODBC数据库访问;
  • System.Configuration.ConfigurationManager(MEF v1);
  • System.Drawing;
  • System.IO.Packaging,用于与MS Office类型的压缩文件交互;
  • System.ServiceModel,即WCF(Windows Communication Foundation)。
需指出的是,这些API是刻意独立于.NET Core的完整发布的。对此,Microsoft的Immo Landwerth给出了如下解释:
以独立软件包提供的原因在于:(一)不少API是仅出于兼容性的考虑而提供的。在新代码中,不应依赖于这些API;(二)不少API仅用于Windows平台。我们不希望将用户引上一条更难以跨平台迁移应用的道路。
为了易于区分仅适用于Windows的和跨平台的API,现在有一种API兼容性分析工具可用。该工具可以标记出那些在应用中不应继续依赖的API。
你可以使用与弃用API相同的抑制选项,但是也可以选择对特定平台给出抑制警告。如果你仅规划在一组特定的平台上支持你的代码,例如只支持Windows和Linux但不支持macOS,这一工具十分有用。为此,你只需编辑项目文件,添加一个PlatformCompatIgnore属性,并在该属性中列出所有要忽略的平台。
未发布 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
未发布 【推荐】2017年你应该了解的11款新型编程工具
by Harriet666 keys 分享 1503912408799
对于开发人员来说,工具是至关重要的。工具可以使开发人员的日常工作更加轻松、高效,因为只要关注最重要的事情即可。想要寻找到更好的替代工具往往比坚持使用熟悉的、过时的工具要困难得多。在这篇文章中,我们将列出你可以在日常工作中使用的一些新的编程工具。对在线流媒体感兴趣的许多开发人员也已经开始在其开发环境中使用这些新工具,因为这些工具与其陈旧的设施相比具有明显的优势。
 
你可能会想,如果旧的工具可以完成工作,那么是否还有必要去寻找新的替代工具呢?可以肯定的说,技术始终在变革,它正在不断地塑造、改变我们的工作方式,所以,它有必要保持更新。此外,新开发工具可以通过自动化在某些方面为你的工作增添更多价值,从而更好地帮助你控制你的工作流程。所以,如果你现在确信并准备好考虑使用市场上一些新的编程工具,请继续阅读本文,以找出其中最好的、最适合你的工具。
 

1. LiveEdu


LiveEdu 是开发人员和工程师经常光顾的好地方。它是一个基于项目的学习平台,服务于游戏开发、设计、数据科学、编程、增强现实、人工智能以及虚拟现实等方面的技能提升。学习的关键在于项目的真实性,而且 LiveEdu平台还提供了蕴含许多不同主题的项目教程,可以适用于任何人,包括初学者。
 

2.Standup


Standup 对于监控团队开发进度而言是一款非常好的工具。它可以很好地集成所有你已经在用的流行工具(例如Trello、BitBucket、GitHub等)。那么接下来,它是如何工作的呢?首先,它会根据开发团队成员的提交历史完全自动地生成工作报告。这有助于团队成员之间轻松地实现信息共享,也让团队成员之间形成了积极的竞争关系。这一想法是由Mesh Studio提出的,当时他们正在完成一个客户的严格的汇报需求的合同工作。
 

3. Cell 

Cell 自称是“自驱动的网页应用开发框架”。“框架”这一关键词应该会立刻让你想到,它应该包含APIs、方法、或其他框架应该具备的功能。但是,Cell却提供了一种全新的方式来查看如何编写HTML 代码。它适用于3个简单的规则,而且不运行任何函数就能够自主构建DOM。此外,Cell还提供了一种类似写小说的方式(a novel approach)来开发网页应用。
 

4. Osquery

Osquery 是 Facebook 通过 Query 语言揭示操作系统的方法。虽然乍看起来并不是很有趣,但它其实具有很多实际的用途。例如,它可以用于获取通过USB连接的硬件设备的列表。
 
对于那些想要保护自己的应用程序免受安全漏洞影响,或是能够更好地监视其应用程序在不同系统上的性能的Web开发人员来说,其中一个相对比较有效的方法就是不使用底层函数或API交互的能力。

 

5. React Native Firebase

React Native Firebase 可以帮助开发人员更加轻松地使用 React Native 和Firebase。利用RN Firebase,你可以 在Android和iOS系统上使用 JavaScript bridge轻松访问本地 eFirebase SDK。
 

6. Warp

Warp 是一款非常简单的工具。它可以让任何人分享他们的终端。共享终端就像输入一个 warp open 命令一样简单。这可以帮助开发人员或主机供应商轻松地分享彼此的终端。这款工具的关键特征在其“安全性”和“易于传输”。让分享变得前所未有地容易!你很快就会忘记SSH 的必要性,并使用该功能与远程团队和新成员进行互动。
 

7. Draft

Draft 是一款新工具,可以帮助开发人员轻松地在 Kubernet上构建应用程序。截至目前为止,在把应用移动到版本库之前,对应用程序进行测试仍然是一项耗时且艰巨的工作。但是,利用 Draft,开发人员就可以针对“内部循环”并在Kubernetes开发沙箱中对应用程序进行测试。沙箱可以通过公共URL轻松获得,并可以使用本地编辑器进行修改。
 

8. Docsify 

Docsify 是一个文档站点生成器工具。但是,它与其他的静态HTML文件生成器却是完全不同的。利用Docsify,你可以使用 Markdown 文件生成你的站点。这样一来,你就可以修改Markdown中的代码,并及时看到更新。这种差异性使它与其他流行工具(例如GitBook等)相比也能占据明显的竞争优势。


9. Prismic IO 

Prismic IO 是一个无头CMS系统的后台应用。多亏了API,让它可以与任何站点和应用程序一起使用,并可以轻松地与现有系统进行集成。此外,CMS 还为营销人员提供了一些现代化的发布和创作工具。


10. Javalin

Javalin 为Kotlin和Java提供了简单的REST API。该REST API非常易于使用,且API也是非常流畅的。它不是一个框架,因此不应该被混淆。其目的主要是提供一个非常简单易用的轻量级 REST API库。
 
以下是用Kotlin实现的 “Hello World”API的示例:
import io.javalin.Javalin
funmain(args: Array) {
    val app = Javalin.create().port(7000)
    app.get("/") { ctx -> ctx.result("Hello World") }
}


11. Bootsnap

我们都知道,速度对于一些应用程序而言有多重要。Ruby的性能可谓是臭名昭著。然而,Bootsnap尝试通过缓存很多Ruby方法并提高其整体性能来加快其速度。Bootsnap可以以gem的形式轻松地插入你的应用程序中,它目前可用于 MacOS 和 Linux 系统。
未发布 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属性。
未发布 【示例教程】如何用leadtools创建一个OCR驱动的计算器
by Harriet666 keys 分享 1519808939687

Leadtools 19总套包下载>>>

日常工作和业务中会有一些图片中的计算公式等需要计算,这个代码片断显示了LEADTOOLS OCR可以用来检测、识别和执行简单的数学命题,如“2 + 2”。
static void SimpleOCRCalculator(string filePath)
      {
         RasterCodecs codecs = new RasterCodecs();

         RasterImage image = codecs.Load(filePath);

         string[] calculations;
         using (IOcrEngine engine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
         {
            engine.Startup(null, null, null, null);
            IOcrPage page = engine.CreatePage(image, OcrImageSharingMode.None);

            page.AutoZone(null);
            page.Recognize(null);

            calculations = new string[page.Zones.Count];

            for (int i = 0; i < page.Zones.Count; i++)
            {
               calculations[i] = page.GetText(i);
            }

            engine.Shutdown();
         }

         Dictionary<string, Action<double, double>> operands = new Dictionary<string, Action<double, double>>();
         operands.Add("+", new Action<double, double>(delegate(double a, double b) { double ans = a + b; Console.WriteLine("{0} + {1} = {2}", a, b, ans); }));
         operands.Add("-", new Action<double, double>(delegate(double a, double b) { double ans = a - b; Console.WriteLine("{0} - {1} = {2}", a, b, ans); }));
         operands.Add("x", new Action<double, double>(delegate(double a, double b) { double ans = a * b; Console.WriteLine("{0} * {1} = {2}", a, b, ans); }));
         operands.Add("/", new Action<double, double>(delegate(double a, double b) { double ans = a / b; Console.WriteLine("{0} / {1} = {2}", a, b, ans); }));

         for (int i = 0; i < calculations.Length; i++)
         {
            string equation = Regex.Replace(calculations[i], @"\n|\r| ", "");
            string[] ops = new string[] { "+", "-", "x", "/" };

            for (int j = 0; j < ops.Length; j++)
            {
               int index = equation.IndexOf(ops[j]);

               if (index > 0 && index < equation.Length)
               {
                  string op1 = equation.Substring(0, index);
                  string op2 = equation.Substring(index + 1);

                  double arg1 = double.Parse(op1);
                  double arg2 = double.Parse(op2);

                  operands[ops[j]](arg1, arg2);

                  break;
               }
            }
         }

         codecs.Dispose();
         image.Dispose();
      }

 

用于测试的图像如下。

resource

未发布 .NET Core 2将Visual Basic带到了Linux和macOS平台
by Harriet666 keys 分享 1504087156993
Microsoft已经愈加接近将Visual Basic划为.NET Core平台上的一等公民。作为.NET Core 2发行版的一部分,VB开发者现在可以编写针对.NET Standard 2.0的控制台应用程序和类库,并且可以兼容多个平台。这就意味着运行在Windows上的可执行文件或者类库也能够运行在macOS和Linux上。

一旦安装了.NET Core 2 SDK,你就可以开始创建VB项目了。由于这是.NET Core平台,Visual Studio有助于编码,但是它并不是必需的。.NET Core 2.0中有四个VB模板:
  • 控制台应用程序:Hello World程序样例 
  • 类库 
  • 单元测试工程 
  • xUnit单元测试工程 

在命令提示行中,你可以执行:
dotnet –version
来确认你使用的是.NET Core 2.0版本或者是更高的版本。然后你需要创建一个新目录来保存你的工程,并且运行dotnet new来根据其中一个模板创建一个新工程。之后,执行dotnet run来运行这个工程:
mkdir vbcore
cd vbcore
dotnet new console -lang VB
dotnet run
但是这并不意味着Microsoft的工作都已经全部完成,因为目前还有剩余任务要做,例如,让.NET Core平台上的VB开发者拥有使用ASP .NET Core的能力。Microsofs 的Immo Landwerth说,针对于此的模版尚在进行中,这个版本尚不可用。尽管如此,VB开发者现在可以针对macOS和Linux编写跨平台代码了,在此之前,这是不可能完成的。
未发布 VMProtect用户手册:专用术语
by Harriet666 keys 分享 1521622426288
VMProtect是一款虚拟机保护软件,是目前最为流行的保护壳之一。VMProtect将保护后的代码放到虚拟机中运行,这将使分析反编译后的代码和破解变得极为困难。除了代码保护,VMProtect还可以生成和验证序列号,设置过期时间,限制免费更新等等。

VMProtect最新试用版下载>>>


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

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

未发布 全新的Microsoft Office 2016发布,以更少步骤更快地执行工作
by Harriet666 keys 分享 1491535680003

微软在旧版Office基础上对软件做了升级,打造了全新的 Office 2016 办公软件,Office 2016新功能包括附带的Office移动应用程序,其中包括家庭版、个人版及专业版等多个Office版本。全新的 Office 2016 功能众多。你可以借助 Office 365,立即完成作业。新功能有助于以更少步骤更快执行工作、轻松与他人协同创作,并可随时随地获取文档。

Microsoft Office 2016应用的新增功能

                                                                                                                                                                                           

                         
简化协同作业
利用 Office 2016,可更轻松地共享文档并同时与他人协作。
协同处理文档
通过在 Word、PowerPoint 和 OneNote 中共同创作,查看其他人的编辑内容。提升后的版本历史记录让你可以在编辑进程的过程中回顾文档快照。
简化共享
只需单击按钮即可直接从文档中共享。还可使用 Outlook 中的新式附件(从 OneDrive 中附加文件),并在不退出 Outlook 的情况下自动配置权限。
Office 跨所有设备运行
跨任何设备查看、编辑、分析和演示 Office 2016 文档,从电脑或 Mac 到 Windows 和 Apple®,再到 Android™ 电话和平板电脑均可实现。
Office 满足你的需求
使用 Office 2016 以全新更快的方式持续执行任务,达到期望结果。
借助 Tell Me 查找命令
只需告知 Word、Excel 或 PowerPoint 所希望的操作,Tell Me 功能即可引导你找 到命令。
使用 Bing 支持的“智能查找”实现实施核查
“智能查找”使用高亮显示的术语和文档的其他上下文信息,以提供来自 Web 的搜索结果,一切操作均在文档中完成。
更少点击即可查看见解
使用一键式预测将历史数据迅速转变为未来趋势分析。全新图表有助于直观显示复杂数据。
                                                                                        

                                                                                                                                                                                   

                      
Office 随你而动
从工作到钟爱的咖啡店,始终在所有设备上跟进重要信息(朋友、家人和项目)。
Office 应用经过优化可实现触控
通过触控进行阅读、编辑、缩放和导航。使用数字墨迹记笔记或进行注释。
利用 OneDrive 云存储空间实现所有功能
轻松保存到云存储空间,并在设备间切换而无任何错误。无论你使用的是哪种设备,Office 应用都会恰好在你中断的位置继续操作。
完美适用于 Windows 10
Office 2016 和 Windows 10 的组合是执行作业的全球最完整解决方案。
Hello
只需说一次“Hello”,Windows 即会将你登录到电脑和 Office — 只需一步全部完成。
Cortana
将 Cortana 引入 Office,以帮助你执行操作。让带 Office 365 集成的 Cortana 帮助处理会议准备等任务。
Office 移动应用
Windows 10 上的 Office 移动应用支持触控、反应迅捷,并且经过优化,实现了随时随地可用。

 

                                                         
 

                                                                                                                

                            
Office 最佳价值
利用 Office 365 灵活订阅计划,可挑选适合你的选项。选择个人计划或使用整个家庭的计划。
获取已安装的 Office 应用程序
Office 365 包括适合电脑和 Mac 的全新 Office 2016 应用,例如 Word、Excel、PowerPoint、Outlook 和 OneNote。
1 TB 的 OneDrive 云存储空间
OneDrive 让你在任意设备上随时随地始终跟进重要信息(朋友、家人、项目和文件)。
获取免费技术支持
在使用 Office 2016 方面需要帮助?每位 Office 365 订阅者都可从受过培训的 Microsoft 专家处获得免费技术支持。

 
Microsoft Office 专业版 2016 

使用 Office 更智能地工作 - 最适合希望在一台 PC 上使用包含了 Outlook、Publisher 和 Access 的 Office 的用户。

像专家一样工作

     

扩展 Office

 

轻松共享文件

获取像专家一样创建、演示、发送 和发布内容所需的工具 — Word、Excel、PowerPoint、OneNote、Outlook、Publisher 和 Access。                           

 

可使用 Office Online 实时查看、编辑以及与他人协作处理在线存储的文件。可从任何运行受支持浏览器且连接了 Internet 的设备访问内容。

 

在线存储文件以在外出时访问它们,你还可以快速邀请他人查看或编辑这些文件。

Office 专业版 2016 包括:






Office 套件                       
  • Word 2016、Excel 2016、PowerPoint 2016、OneNote 2016、Outlook 2016、Publisher 2016 和 Access 2016。

  • 使用键盘、笔或触摸屏,以最适合你的方式记录灵感。

  • 成为强大的 Office 用户 — 这很简单,只需在功能区上新增的“操作说明搜索”框中键入你需要获得帮助的问题即可获得操作方法。

  • 新主题使你能够选择适合你的 Office 体验。“深色”和“深灰色”主题提供让双眼感到更加舒适的高对比度,“彩色”主题提供在各设备间保持一致的现代外观。

  • 使用由必应提供支持的“见解”可增强你的阅读体验,该功能可在你阅读 Office 文件时显示来自网络的相关信息。

  • 借助“开始”屏幕中的模板完成大部分设置和设计工作,使你能够将精力放在创意和数据上。

  • 在 Word 文档中跟踪批注,并使用新的回复按钮将批注标记为完成。

  • 将 PDF 中的内容直接提取到 Word 中。如同在熟悉的 Word 文档中一样,打开 PDF 并编辑段落、列表和表。

  • 节省在 Excel 中设置信息格式的时间,以便更快地从数据中获得见解。新工具可识别你的模式并自动填充数据。

  • Excel 中新增的现代图表和图形提供更多借助你的业务数据探索和介绍经典案例的方式。Excel 能够推荐最适合你的数据的图表,并让你能够预览数据呈现外观。

  • 在 Excel 中,现在只需单击一下即可创建基于你的数据系列的预测,以便直观地呈现未来趋势。

  • 通过发送指向 PowerPoint 演示文稿的链接或使用免费的 Office Presentation Service 传递该演示文稿,在 Web 上共享该演示文稿,以便你的受众能够从任何位置进行访问。

  • OneNote 笔记本中可嵌入 Excel 电子表格、图表、音频剪辑、视频和几乎任何其他类型的文件。可以保存和搜索笔记,并将其同步到其他设备上的 OneNote 应用,从而能够从任何位置使用或共享它们。

  • 使用内联答复功能更快速地进行答复 - 在 Outlook 中的原始邮件正文处进行答复。只需在“阅读”窗格中键入答复内容。

  • 使用 Publisher 中的在线照片打印选项,节省时间。

  • 在 Access 中列出和汇总相关表中的数据或进行快速查询。只需单击一个项目即可打开该项目的详细视图。

  • 最适合家庭企业和超小型企业

 
未发布 一体化建模仿真平台20-sim v4.6.4发布,修复3D动画
by Harriet666 keys 分享 1503567227661
20-sim是一种机电一体化系统的建模和仿真程序。利用20-sim可以像绘制工程方案一样灵活地的键入模型。这些模型能用于仿真和分析多域动态系统的特性,也可以创建控制系统,甚至可以生成C代码并用于快速原型设计和HIL仿真。

【20-sim v4.6最新版点击下载】

一体化建模仿真平台20-sim v4.6.4发布。此版本是一个维护版本,主要修复了以下问题:
3D动画修复:
  • 点角度范围问题。
代码生成修复:
  • 如果子模型采用输入的积分,则直接映射到R(ate) - 变量。
  • FMU中的初始方程不能影响初始状态。
  • 在FMI 1.0主模拟器中运行FMU时发生崩溃。
文档修复:
  • 参考手册:关于'while do'和'reapeat until'的声明不清楚。
  • 参考手册:3D动画窗口中的欧拉角定向(ZXZ而不是XYZ)。
模拟器修复:
  • 在模拟期间关闭20-sim时不保存模型。
  • 编写多个运行结果的数据文件时出现问题(参数扫描)。
  • 未命名节点可以为连续时间块而不是相应的离散块生成指令的问题。
未发布 网络通讯组件包Red Carpet Subscriptions 2017 v2发布,升级整个代码库
by Harriet666 keys 分享 1501060223518
Red Carpet Subscriptions 2017 v2包括整个产品线的升级代码库,拥有迄今为止最佳的性能、质量和可用性。还包括许多安全更新,支持最新的开发工具,新组件等。我们已将所有组件升级到2016版本。

更新重点


整个产品线的升级

  • 每个产品都已升级到新的代码库,提供更强大的安全性、更好的性能和改进的API。
  • .NET版本支持Microsoft Visual Studio 2017。
  • Delphi和C ++ Builder版本支持Embarcadero RAD Studio 10.2 Tokyo。
  • 默认的签名算法已经更新到SHA-256。

IP*Works! Encrypt安全更新

  • 组件通过了Google的Wycheproof测试。
  • 新的Rijndael组件支持NIST标准。
  • OpenPGP默认签名算法更新为SHA-256。
  • 添加了对SHA-512/256和SHA-512/224的Hash支持。

Cloud Storage Integrator的更多选项

  • 支持Google Drive API v3。
  • 新的AzureBlob组件允许你使用Azure Blob存储。

改进X12和EDI积分器

  • 新的X12Translator组件可轻松将X12转换为XML,反之亦然。
  • 增强API、文档解析和JSON编程功能。

使用TCP与IP*Works! SNMP

  • 新组件(SNMPTCPMgr,SNMPTCPTrapMgr和SNMPTCPAgent)允许你使用SNMP。

IP*Works! SSH的新隧道功能

  • SSHReverseTunnel组件现在具有智能重新连接的功能。

新订阅优惠:选择版本的源代码

  • 为了帮助你在任何Linux系统上进行编译,无需依赖共享对象文件,Red Carpet Subscription包含访问macOS、iOS、C ++ for Linux、PHP和Node.js版本的混淆源代码。

细节


所有产品

  • 支持Micosoft Visual Studio 2017
  • 支持Embarcadero RAD Studio 10.2 Tokyo
  • 默认签名算法更新为SHA-256

IP*Works! Encrypt

  • 新的Rijndael组件。
  • OpenPGP默认签名算法更新为SHA-256。
  • 支持SHA-512/256和SHA-512/224。

IP*Works! SNMP

  • TCP的新组件 - SNMPTCPMgr、SNMPTCPTrapMgr、SNMPTCPAgent。
  • SysUpTime属性支持64位整数集。

X12 Integrator

  • 新的X12翻译器组件 - 轻松将X12转换为XML,反之亦然。
  • API更新为标准化输入/输出选项并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! SSH

  • SSHReverseTunnel智能重连。

EDI Integrator

  • AS2事件的日志记录。
  • AS2默认签名算法更新为SHA-256。
  • 增加OFTPClient AcceptFile事件。
  • AS4默认加密算法更新为AES128-GCM。
  • OFTP LocalFile添加到Transfer和EndTransfer事件。
  • 添加了RNIF SignatureAlgorithm属性。
  • GISB默认使用内部PGP提供程序。

EDIFACT Integrator

  • API更新为标准化输入/输出选项,并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! S/MIME

  • API更新为标准化输入/输出选项,并提供更一致的体验。

IP*Works! Auth

  • 添加OneTimePassword组件。
  • ClaimsAuth现在是SAML。
  • 用于用户和组信息的Active Directory方法。

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

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

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

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

OnceOA