未找到

未发布 【推荐】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 分享 1503567760428
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,
简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。

MailBee.NET Objects介绍和试用点击查看>>>
 
 
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
在上期的SMTP部分中,我们将退回的电子邮件发送到指定的单个电子邮件地址。
 
每封退回的电子邮件都包含失败的电子邮件地址(以及其他信息)。这个失败的地址是我们想知道的。这个任务看起来很简单 - 你需要做的是扫描退回的
邮件以确定地址的典型字段。但是有一个隐藏的危险:每个邮件服务器都有自己的邮件退回格式。虽然它们几乎具有相同的“From”和“主题”字段,但是退回地址可以在邮件的任何位置。MailEnable服务器的典型退回邮件如下所示:
From: POSTMASTER@domain.com
To: jdoe@domain.com
Subject: Message Delivery Failure

MailEnable: Message Delivery Failure.

The following recipient(s) could not be reached: 

Recipient: [SMTP: bill@domain.com] Reason: The message could not be delivered because the domain name (domain.com) does not appear 

to be registered.

函数GetInvalidEmailAddressME()检查邮件是否被退回,并从退回的邮件中提取失败的地址。由于退回邮件格式不同,此功能仅对MailEnable服务器有效。例如,如果你正在使用Communigate Pro服务器,则退回消息如下所示:
From: MAILER-DAEMON@domain.local
To: jdoe@localhost Subject:
Undeliverable mail:

Failed to deliver to ''
 
正如你所看到的,这个退回的邮件与前一个几乎相同。使用哪个服务器并不重要,退回信息总是有From,To和Subject字段,退回信息在其正文中有失败的地址。函数GetInvalidEmailAddressCP()与前一个函数几乎相同; 区别仅在于检查邮件字段并搜索失败的地址。支持尽可能多的退回电子邮件格式至关重要。这就是为什么你需要修改GetInvalidEmailAddress()函数,以适应服务器使用的退回电子邮件格式。
 
注意:在某些情况下,你可能需要扫描退回的电子邮件以获取其他信息。如果由于暂时的问题,退回的邮件到达,则不要删除电子邮件地址:邮箱超过配
额,邮件服务器关闭等。退回邮件可以分为两种类型:硬邮件和软邮件。如果是不存在的帐户或域,则会发生硬性退回。其他故障,如完整的邮箱或暂时
不可用的域,则是软性退回。你可以为数据库中的每个地址进行计算。也许下一次尝试发送邮件到具有一些软性退回的地址时将成功。
 
代码示例:
在此示例中,我们从指定的帐户中检索退回的电子邮件,然后从每个退回的电子邮件中提取失败的电子邮件地址。失败的地址传递给RemoveEmailFromDatabase子程序,该子程序必须从数据库中删除失败的地址。应用程序还会从服务器中删除退回的电子邮件,以避免下次处理。
C#:
// Create POP3 object
Pop3 pop = new Pop3();

// Enable logging to file
pop.Log.Enabled = true;
pop.Log.Filename = @"C:\log.txt";
pop.Log.Clear();

// Connect to POP3 server
pop.Connect("mail.domain.com");
pop.Login("bounce", "secret");

// Download headers and bodies of all messages.
MailMessageCollection msgs = pop.DownloadMessageHeaders(1, -1, -1);
                        
// Loop through all messages in the mailbox
foreach (MailMessage msg in msgs)
{
        string strLine = msg.BodyPlainText;
        Console.WriteLine("From: " + msg.From.Email);
                                
        // Get failed email address
        string str_invalid_email =  GetInvalidEmailAddressME(msg);

        // If str_invalid_email is non-empty then failed email 
        // address was found
        if (str_invalid_email.Length > 0)
        {
                // Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email);

                // Display invalid adress
                Console.WriteLine("Invalid email: " + str_invalid_email);                

                // Delete bounced email from server to avoid
                // processing it next time
                pop.DeleteMessage(msg.IndexOnServer);
        }
}

// Disconnect from POP3 server
pop.Disconnect();

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for MailEnable servers
static string  GetInvalidEmailAddressME(MailMessage msg)
{
        string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Delivery Failure") == -1)
{ 
                return "";
        }
        if (msg.From.ToString().IndexOf("POSTMASTER") == -1)
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("SMTP:");

        // Check if bounced message report contains "Recipient:" field
        if (i_start == -1)
        {
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// The function checks whether the message is bounced and extracts 
// failed address 
// from bounced message. Valid only for Communigate Pro servers
static string  GetInvalidEmailAddressCP(MailMessage msg)
{
string str_invalid_email = msg.BodyPlainText;

        // Check if this is a bounced message report
        if (msg.Subject.IndexOf("Undeliverable mail") == -1) 
        {
                return "";
        }
        if (msg.From.ToString().IndexOf("MAILER-DAEMON") == -1) 
        {
                return "";
        }

        // Now we're sure this is a bounced message report
        int i_start;
        i_start = str_invalid_email.IndexOf("to '<");

        // Check if bounced message report contains 
        // "Failed to deliver to " field
        if (i_start == -1)
        { 
                return "";
        }
                        
        // Get failed address
        i_start += 5;
        i_end = str_invalid_email.IndexOf("]",i_start);
        str_invalid_email.Substring(i_start, i_end);
                        
        return str_invalid_email;
}

// This function must remove (or disable) specified
// email address from mailing list
static void RemoveEmailFromDatabase(string str_invalid_email)
{
// TODO: Add your code here                        
}
 
VB.NET:
Dim pop As New Pop3

' Enable logging to file
pop.Log.Enabled = True
pop.Log.Filename = "C:\log.txt"
pop.Log.Clear()

' Connect to POP3 server
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret")

' Download headers and bodies for all messages.
Dim msgs As MailMessageCollection = pop.DownloadMessageHeaders(1, -1, -1)

' Loop through all messages in the mailbox
Dim msg As MailMessage
For Each msg In msgs
        Dim strLine As String = msg.BodyPlainText
        Console.WriteLine("From: " + msg.From.Email)

        ' Get failed email address
        Dim str_invalid_email As String = GetInvalidEmailAddressME(msg)

        ' If str_invalid_email is non-empty then failed email 
        ' address was found
        If str_invalid_email.Length > 0 Then
                'Remove failed email from database
                RemoveEmailFromDatabase(str_invalid_email)

                ' Display invalid address
                Console.WriteLine("Invalid email: " & str_invalid_email)

                ' Delete bounced email from server to avoid
                ' processing it next time
                pop.DeleteMessage(msg.IndexOnServer)
        End If
Next
Console.ReadLine()

' Disconnect from POP3 server
pop.Disconnect()

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for MailEnable servers
Function GetInvalidEmailAddressME(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Delivery Failure") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("POSTMASTER") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("SMTP:")

        ' Check if bounced message report contains "Recipient:" field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' The function checks whether the message is bounced and extracts 
' failed address 
' from bounced message. Valid only for Communigate Pro servers
Function GetInvalidEmailAddressCP(ByVal msg As MailMessage) As String
        Dim str_invalid_email As String = msg.BodyPlainText

        ' Check if this is a bounced message report
        If msg.Subject.IndexOf("Undeliverable mail") = -1 Then
                Return ""
        End If
        If msg.From.ToString().IndexOf("MAILER-DAEMON") = -1 Then
                Return ""
        End If

        ' Now we're sure this is a bounced message report
        Dim i_start As Integer, i_end As Integer
        i_start = str_invalid_email.IndexOf("to '<")

        ' Check if bounced message report contains 
        ' "Failed to deliver to " field
        If i_start = -1 Then
                Return ""
        End If

        ' Get failed address
        i_start += 5
        i_end = str_invalid_email.IndexOf("]", i_start)
        str_invalid_email.Substring(i_start, i_end)

        Return str_invalid_email
End Function

' This function must remove (or disable) specified
' email address from mailing list
Sub RemoveEmailFromDatabase(ByVal str_invalid_email As String)
        ' TODO: Add your code here                        
End Sub
未发布 微软C# 8.0中的四个特性
by Harriet666 keys 分享 1504687137082

可空的引用类型(Nullable Reference Types)

可空的引用类型可概括地表述为,引用类型将不再默认可空。因此,开发人员必须使用定义可空值类型的同样语法“Type?”,显式地标记一个引用类型为可空。

如果将一个空值赋值给一个非可空的引用类型,那么将会给出一个编译器警告。与之相类似,从可空类型中读取也会给出编译器警告,除非显式地提前检查了被质疑的变量是否为空值。因此从理论上讲,开发人员需要做的唯一更改就是在代码的适当位置标上问号。

该特性新加了一个语法。该语法针对开发人员明知一个可空变量x并非实际为空值却无法证明给编译器的情况。在上述情况下,开发人员现在可以定义x!.Method(),消除编译器对于潜在空值引用异常的警告。
 

异步流(Async Streams),即foreach async

异步流是IEumerable的异步等价类。C#团队自2015以来就一直在努力实现异步流。在经历了很多争议后,其语法被定为:
foreach await (string s in asyncStream)
开发人员将使用如下的函数签名定义一个异步迭代器:
async IAsyncEnumerable MethodName()
就像使用一个正常的IEnumerable方法一样,开发人员可以使用“yield return”以懒方式(Lazy)构建对象流。

相比于源自响应式扩展(Reactive Extensions)的IObservable,使用这一方法的优点在于让消费者控制流速,这被称为“Pull模式”。与之相对,IObservable是一种“Push模式”,这意味着生产者可以使用高于消费者所能处理的流速让流涌向消费者。
 

缺省接口实现(Default Interface Implementations)

缺省接口实现在本质上是一种有限形式的多重继承。它允许抽象接口像抽象类一样,对方法进行完全的定义,只是抽象接口依然不能定义构造函数和字段。

需注意,开发人员可以通过使用ConditionalWeakTable在接口上模拟字段。

默认接口实现的主要好处是,开发人员可以在不破坏向后兼容的条件下,将一个新方法添加到一个已有的接口中。但是这并非是有保证的,因为默认接口只是在可以设计出适合的默认方法时才能工作。
 

扩展(Extension)

开发人员可以编写扩展方法,但是不能扩展属性,这是长期以来对C#一直存在的一个问题。事实上,如果使用当前的模式,甚至是不能定义一个扩展属性或事件的。此外,在很多开发人员看来,在静态类中放置扩展方法是“很诡异的”。

新的设计中新给出了一种称为“扩展”(Extension)的顶层语言构件。例如,如果开发人员想要为自定义的Customer类创建一个扩展方法和属性,可编写如下代码:
extension CustomerExt extends Customer {
    //定义方法和属性的代码。
}
就接口而言,是不能在扩展中定义实例字段的,但是可以使用ConditionalWeakTable实现模拟。定义静态字段也是允许的。

除了对属性、事件和操作符重载的扩展,C#团队甚至考虑允许扩展构造函数。扩展构造函数非常适用于工厂模式(Factory)和对象池场景。

扩展接口(Extension Interfaces)C#团队还考虑了扩展接口,即在已有类中添加新接口的能力。但是扩展接口将不会成为C# 8中的特性,因为它需要更改底层的运行时。
未发布 WPF界面控件Essential Studio for WPF发布2017 v4版本
by Harriet666 keys 分享 1513326397715
Essential Studio for WPF界面控件包含了利于分析且高性能的Windows应用程序开发中所需的所有控件,如 grids、charts、gauges、menus、calendars、editors等等。同时,我们的文件格式库还允许您导出资料到Excel、World和PDF文件中,以及对这些格式的文件进行处理。
 
Essential Studio for WPF下载>>>
 
Essential Studio for WPF 2017 v4更新内容

史密斯圆图

新的控件
史密斯圆图是用于高频电路应用的最有用的数据可视化工具之一。
主要特征
可视化传输线的阻抗和导纳。
用线条和各种标记表示数据。
数据标签提供更好的可读性。
支持交互式工具提示。
互动性强。
可自定义颜色。
83370706b5e6433098ce3c884f446780ojpg
 

计算

数组公式计算
Excel中提供了对数组公式计算的支持。数组公式可以使用数组或一系列数据值执行多个计算,并返回一个或多个结果。这有助于简化公式表达式。例如,“= MAX(B1-C1,B2-C2,B3-C3,B4-C4,B5-C5)”现在可以用阵列公式“{= MAX(B1:B5-C1:C5) }”。
 

图表

多级轴标签
图表控件中支持多级轴标签。
4cb8f90d9c694e8aa56a59f2037ab3caojpg
 

数据网格

内置的行拖放
添加了对数据网格中或两个数据网格之间拖放行的支持。该功能还允许将行拖放到其他任何控件中。
a6d079f99866447fa6ee6f9c1e2d3483ojpg
 
增强筛选行功能
类似于Excel,用户可以轻松选择或取消选择可见的记录。
ddae5cbb8e494af2ada4f04aa2ec9f8cojpg
 

DIAGRAM

快速命令
支持对修改快速命令的外观和位置。
12058acb09444da7964f4056081e5138ojpg
 
基座接口
基座接口是一个占位符,允许您在任何位置创建连接。
ba34a1bab7254c89ae32a0245a55a184ojpg

自动对齐
如果它们重叠将自动对齐节点或注释。
 

DOCIO

增强Word转换成PDF功能
DocIO现在允许将带有行号的Word文档以其原始格式转换为PDF。
5440fce2632140e997951046f589c766ojpg
 

富文本框

支持从右到左
富文本框控件允许用户查看和编辑从右到左的内容,如文本、段落、列表和表格。 
fa800607b9a54b569c41515d63fba088ojpg

拖放支持
富文本框控件允许用户在控件内拖放内容。它还允许用户拖放内容到其他编辑器控件。 
b067da04c4f04cafbbb055c2be28f126ojpg
 

电子表格

数组公式计算
Excel中提供了对数组公式计算的支持。数组公式可以使用数组或一系列数据值执行多个计算,并返回一个或多个结果。这有助于简化公式表达式。例如,“= MAX(B1-C1,B2-C2,B3-C3,B4-C4,B5-C5)”现在可以用阵列公式“{= MAX(B1:B5-C1:C5) }”。
Single-Cell Array Formula
cbbda1ea2bb041dfbddaa878d52956a3ojpg
Multi-Cell Array Formula
533ed50845524c92ab8c89cb606e1a42ojpg
 

树网格

页脚列
像在Excel中一样,支持冻结右边的列(非滚动列)。
7208ed11c42141feaacf9327ffd4c57cojpg
 

XLSIO

增强图像
图表元素(如图例、标题、绘图区和显示单元)的手动布局位置现在可以正确转换为图像。
2f3f5bb377ca4b74b4f081bbf9d7b592ojpg
未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何使用图像编辑器
by Harriet666 keys 分享 1513675298041
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
 
本文为你介绍Dynamic Web TWAIN中如何使用图像编辑器,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
什么是图像编辑器
图像编辑器是Dynamic Web TWAIN的内置功能。您可以使用图像编辑器来管理图像。
 
你可以用图像编辑器做什么?
在图像查看器中,您可以:
  • 浏览当前扫描或加载的所有图像
  • 以下列方式编辑图像:旋转、镜像、裁剪、更改大小等
  • 打印图像等
 
打开图像编辑器
当缓冲区中至少有一个图像时,可以使用方法ShowImageEditor()来显示编辑器窗口:
DWObject.ShowImageEditor();

image021



未发布 .Net文档图像处理工具包GdPicture.NET发布v14.0.30,改进PDF/OCR生成速度
by Harriet666 keys 分享 1515058010029
GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。
 
GdPicture.NET v14最新版下载>>> 

GdPicture.NET v14.0.30更新内容

  • 改进了检测空白页的准确性。
  • 改进了页面方向检测精度。
  • 改进了autodeskew引擎的准确性。
  • 改进了PDF/OCR生成的准确性和速度。
  • 小的错误修复。
未发布 超强的.NET图像工具包VintaSoftImaging.NET SDK更新至v8.6丨75折优惠
by Harriet666 keys 分享 1519722650099
VintaSoftImaging.NET SDK是一个为.NET开发人员开发的,强大而易于使用的图像工具包。它可以让你加载、查看、处理、打印和保存数字图像,可将它们转换为不同的图像格式,可用多种TIFF和动态GIF文件提高您的工作效率。目前VintaSoftImaging.NET SDK在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
 
Version 8.6更新内容
在WinForms中查看图像:
  • 新增了多页查看模式以在图像查看器中显示图像:
    · 支持以下预定义的图像显示模式:单列、单列连续列、两列、两列连续列、三列、三列连续列。
    · 支持指定用户定义的图像显示模式功能。
  • 为以下可视化工具添加了以多页面视图模式工作的功能:
    · ZoomTool
    · ZoomSelectionTool
    · MagnifierTool
    · ImageMapTool
    · RectangularSelectionTool
    · OverlayImageTool
    · MultiRectangularSelectionTool
    · CustomSelectionTool
  • 可视化工具放大镜:
    · 增加了处理放大镜显示图像的功能。
    · 增加了为放大镜使用椭圆轮廓的功能。
  • 增加了辅助类,允许存储和管理可视化工具(InteractionAreaAppearanceManager类)的交互区域设置。
在WPF中查看图像:
  • 添加了多页查看模式以在图像查看器中显示图像:
    · 支持以下预定义的图像显示模式:单列、单列连续列、两列、两列连续列、三列、三列连续列。
    · 支持指定用户定义的图像显示模式功能。
  • 为以下可视化工具添加了以多页面视图模式工作的功能:
    · ZoomTool
    · ZoomSelectionTool
    · MagnifierTool
    · ImageMapTool
    · RectangularSelectionTool
    · OverlayImageTool
    · MultiRectangularSelectionTool
    · CustomSelectionTool
  • 现在可视化工具Zoom和Pan可以与触摸屏一起使用。
  • 可视化工具放大镜:
    · 增加了处理放大镜显示图像的功能。
    · 增加了为放大镜使用椭圆轮廓的功能。
  • 增加了辅助类,允许存储和管理可视工具(WpfInteractionAreaAppearanceManager类)的交互区域设置。
  • 修复了可视化工具WpfCompositeVisualTool中的一些非关键性错误。
Web图像查看器:
  • 提高了HTML5和SVG图像查看器的性能。
  • 优化HTML5和SVG图像查看器中的动画显示功能。
数据存储:
  • 创建数据存储:CompositeDataStorage,StreamDataStorageOnDisk,CloneableObjectStorageInMemory,CompressedImageStorageInMemory,CompressedImageStorageOnDisk。
  • 改进了数据存储的体系结构。
  • 增加了在数据存储中缓存图像的功能。
用于图像处理的Web服务:
  • 重构Web服务的体系结构。
  • 增加了在缓存管理器中使用数据存储的功能。
  • 现在可以从服务器下载图像文件作为二进制流。
编解码器:
  • 修复了GIF编解码器中的一些错误。
  • 修复了TIFF编解码器中的一些错误。
演示应用程序:
  • 演示ASP.NET WebForms和ASP.NET MVC的应用程序:
    · 增加了本地化演示应用程序界面的功能(使用l20n库)。演示应用程序的界面已经本地化为英语和俄语。
    · 增加了以二进制流的形式从服务器下载图像文件的功能。
    · 增加了在显示图像和PDF文档时使用色彩管理的功能。
    · 演示应用程序的代码已被重构。
  • 演示ASP.NET MVC的应用程序:
    · 增加了显示视频流并从HTML5网络摄像头捕获图像的功能。
  • 为WinForms和WPF创建了以下迷你演示应用程序:
    · “文档查看器”迷你演示应用程序。
    · “加载、查看和保存图像”迷你演示应用程序。
    · “注释图像”迷你演示应用程序。
    · “缩略图查看器定制”迷你演示应用程序。
    · “缩略图查看器拖放”小型演示应用程序。
    · “图像处理”迷你演示应用程序。
未发布 Windows网络守门人UserLock教程:让用户、组或组织单位进行同步会话
by Harriet666 keys 分享 1508390200193
IS Decisions公司旗下的UserLock为企业和组织提供了实施网络访问安全以及优化工作站使用的一系列有效方法。它通过阻挠来自于外部或者内部的恶意访问事件为Windows网络提供了真正的访问安全。(重要推荐:UserLock已加入在线订购,点击购买!

UserLock免费下载试用>>>


您可以用UserLock创建一个规则,让用户进行同步会话。此规则可以由用户、组或用户组织单位创建,同时可以选择使用哪种类型的会话。本文将一步一步的教您如何制定一个将每个成员限制到一个并行工作站的规则。
 
1、点击菜单中的“受保护的帐户”。如果已存在则可以通过双击相应的行来打开所需的用户帐户。否则,您可以为目标组创建受保护的帐户。
 
2、在受保护的帐户设置中,显示“常规”部分(第一部分)。
 
3、在“允许的并发会话数”中,将“工作站会话”调整为“限制”。输入'1'作为值。点击“确定”进行验证。

该组的每个用户将被授权登录到同一个工作站会话。如果该组的用户成员尝试在前一个会话打开时打开第二个会话,则会被拒绝。要登录到另一个工作站,他们将不得不注销他们当前的会话。
 

选项

有些选项有更大的灵活性:
 
如果已经达到允许的会话数,则可以注销现有会话
当尝试打开另一个工作站会话时,用户将有一个提示窗口,允许他们强制从上一个会话中注销。要打开此选项,请将相应的下拉列表从“未配置”
更改为“已启用”。
 
只允许一个解锁的交互式会话
用户可以打开多个会话(在此示例中),但是一旦新会话打开,上一个会话将被自动锁定。这确保了会话所有者正在使用另一个工作站时,任何会话都不会被打开并可以自由利用。要打开此选项,请将相应的下拉列表从“未配置”更改为“已启用”。

未发布 【教程】网络安全工具FileAudit安装指南
by Harriet666 keys 分享 1511429161006
FileAudit可用于对Windows服务器上文件和文件夹的所有访问进行主动跟踪、审核、报告和警告。本文为大家介绍FileAudit的具体安装步骤。
 
FileAudit安装包(FileAudit_Setup.exe)点击下载>>>
 
英文和法文版本是相同的,并且与32位和64位平台兼容。
 
请在安装FileAudit之前阅读要求
 
1、要启动FileAudit安装过程,请使用管理员帐户运行FileAudit_Setup.exe。
 
2、启动安装过程:

 
3、在随后的窗口中,单击 下一步>:
 
4、仔细阅读并接受最终用户许可协议,然后单击下一步> :
 
5、在随后的窗口中,输入您的信息,然后单击下一步> :
 
6、可根据需要更改安装文件夹:
 
7、在“安装类型”中,选中“Complete”复选框并点击下一步> :
 
8、点击 “安装”开始FileAudit安装:
 
9、向导将在FileAudit成功安装时报告。点击“完成 ”:

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何将本地图像加载到查看器中
by Harriet666 keys 分享 1513762100521

 近期热门 - 点击最多
  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