未找到

未发布 教你防范勒索软件:加强网络环境的6条建议
by Harriet666 keys 分享 1496220831242

今年5月的WannaCry(勒索软件)已经让大家尝尽苦头也让网络安全系统管理员的颜面尽扫。目前来说,安全专家们仍然无法预料WannaCry(勒索软件)将会出现何种变种。对于拥有专门的安全专家的大公司来说,网络安全最起码还有个基本的保障,但对个人用户来说,就只能靠自己来进行防护了。

在这里为大家提供6条加强你的网络环境的建议,这6条建议对组织和个人用户来说,都非常有用,且易于操作。

一、使用LAPS保护你的本地管理员帐户

密码重用的常见原因是Windows工作站和服务器上的本地管理员帐户,这些密码通常通过组策略设置为公用值,或者在构建系统映像时设置为标准值。因此,在一台机器上发现本地管理员密码的攻击者就可以利用这些值访问网络上的所有计算机。

在2015年年中,微软发布了一个解决这个该问题的工具,即本地管理员密码解决方案(LAPS)。此方案是将本地管理员密码存储在LDAP上,作为计算机账户的一个机密属性,配合GPO,实现自动定期修改密码、设置密码长度、强度等,更重要是该方案可以将该密码作为计算机帐户属性存储在Active Directory中。该属性“ms-Mcs-AdmPwd”可以通过ACL锁定,以确保只有经过批准的用户,如控制台和系统管理员可以查看密码。 LAPS还包括一个PowerShell模块和一个后台客户端,LAPS UI,以简化管理和检索过程。


可以提供Microsoft LAPS UI Thick Client来支持可能需要访问本地管理员帐户的人员

LAPS实现起来非常快速简单,只需要要求系统管理员创建一个定义密码策略和本地帐户名称的GPO来管理,可以直接将单个文件AdmPwd.dll添加到Windows上。

本地管理员密码解决方案允许系统管理员定义符合其公司策略的密码
二、查看当前账户是否具备管理员权限

攻击者对具有漏洞的账户进行控制一样可以获得该设备的管理权限,比如用户有时会为了某种访问的需要,进行一些临时访问,但在访问完毕后,用户有时会忘了对这些访问进行删除或监控,以至于被黑客利用。根据我们的经验,很少有用户会把这些临时访问权限进行删除。

敏感帐户,如具有管理员权限的帐户应与普通账户,如员工的账户在查看电子邮件和浏览网页时进行帐户区分。如果用户帐户被恶意软件或网络钓鱼进行了攻击,或者在密码已被泄密的情况下,帐户区分将有助于防止对管理员的权限造成进一步损坏。

具有域管理员或企业管理员资格的帐户应受到高度限制,比如只能用于登录域控制器,具有这些权限的帐户不应再在其他系统上进行登录了。在此,我们建议大家可以基于不同的管理功能来为每个账户设置不同的权限的管理账户,比如 “工作站管理”和“服务器管理”组,这样每个管理员就不具有访问整个域的权限了,这将有助于对整个域的权限保护。

三、简化你的补丁管理

许多攻击包括WannaCry的基本攻击机制,都是针对未修补的系统。所以,不管你的网络是否对外开放,都应该定期更新操作系统和应用程序。虽然这个建议属于老生常谈,但从另一个侧面也说明了该建议的重要性。许多攻击就是利用未修复的漏洞和未更新的系统来大做文章。

对于Windows系统来说,利用Windows Server进行更新服务简单而高效。利用WSUS部署更新程序时,WSUS易于设置,可以设置为自动或手动方式。而利用第三方软件来管理更新就有点不靠谱了,比如一些商业插件就允许WSUS从其他供应商那里修补软件。还有一些比较小众的工具,像Ninite这样的第三方更新工具,既不是自动配置的,也不是免费使用的,但它允许用户从其列表中选择支持的应用程序和运行没有完全选定的应用程序。 Flexera的企业软件检查器和Microsoft的系统中心配置管理器(SCCM)等工具也可以帮助管理第三方应用程序的修补。


Windows Server Update Services向导允许管理员选择要管理的更新类型

使用WSUS,管理员可以自动批准补丁到质量检查环境,或手动批准并分配它们
相关的第三方更新工具下载资源:
https://technet.microsoft.com/en-us/windowsserver/bb332157.aspx
https://technet.microsoft.com/en-us/library/hh852344(v=ws.11).aspx
https://www.flexerasoftware.com/enterprise/products/software-vulnerability-management/corporate-software-inspector/
https://ninite.com/pro
https://www.microsoft.com/en-us/cloud-platform/system-center-configuration-manager
 
四、审核空白和默认密码

Verizon发布的《2016年数据泄露调查报告》显示“63%的已确认的数据泄露事件均涉及到密码口令(password)的丢失、密码口令安全性过低或默认密码未

更改”,所以这个建议是非常重要的。当用户在首次使用设备时,应该先对默认的出厂密码进行修改,如果没有设置密码的要先设置密码,但往往人们会忽

略这些关键的保护手段。攻击者就是利用这些疏忽来进行攻击的,因为一般的出厂默认密码都可以在网络上查到。攻击者可以利用网络设备,如交换机和接

入点上的默认密码来重定向流量,执行中间人攻击,或对网络基础设施执行拒绝服务攻击。

更糟糕的是,内部系统所利用的Web控制台在包含敏感业务数据或系统配置的应用程序中通常使用的都是默认密码。攻击者利用网络钓鱼和常见的恶意软

件的攻击向量就可以绕过安全防护,并且有时候真正的威胁是来自内部人员的恶意行为,所以借着 “内部”这个借口来放松对密码的管理,这个观念是非

常错误的。正确的做法应该是,审核所有登录密码,并进行必要的修改和设置。现在,许多设备和服务都支持双因素身份验证, 建议大家尽量开启。


只是用Google搜索出来的一些默认密码列表 
五、禁用LLMNR和NetBIOS名称解析

链路本地组播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)都可以导致在启用时快速对域名进行攻击。这些协议最常用在初始DNS查找失败时查找所请求的主机,并且会在默认情况下启用。在大多数网络中,由于DNS的存在,所以LLMNR和NetBIOS名称解析根本就没有必要再用了。当对无法找到的主机发出请求时,例如尝试访问 dc-01的用户打算输入 dc01,LLMNR和NBT-NS就会发送广播,寻找该主机。这时攻击者就会通过侦听LLMNR和NetBIOS广播,伪装成用户(客户端)要访问的目标设备,从而让用户乖乖交出相应的登陆凭证。在接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发到执行身份验证过程的流氓服务(如SMB TCP:137)。 在身份验证过程中,用户会向流氓服务器发送用于身份认证的NTLMv2哈希值,这个哈希值将被保存到磁盘中,之后就可以使用像Hashcat或John Ripper(TJR)这样的工具在线下破解,或直接用于 pass-the-hash攻击。

攻击者中断了一个LLMNR请求,并捕获了user01的密码哈希值

由于这些服务通常不是必需的,因此最简单的措施是完全禁用它们。大家可以顺着计算机配置 – >策略 – >管理模板 – >网络 – > DNS客户端 – >关闭组播名称解析来修改组策略,禁用LLMNR。

启用“关闭组播名称解析”的组策略选项禁用LLMNR

禁用NetBIOS名称解析并不是一件简单的事情,因为我们必须在每个网络适配器中手动禁用“启用TCP / IP NetBIOS”选项,或者运行包含以下wmic命令的脚本:

wico nicconfig其中TcpipNetbiosOptions = 0调用SetTcpipNetbios 2
wmic nicconfig其中TcpipNetbiosOptions = 1调用SetTcpipNetbios 2
不过要注意的是,虽然这些服务通常不是必需的,但一些过去的老软件仍然可以依靠NetBIOS名称解析来正常运行。在运行GPO之前,请务必测试以下禁用这些服务会对你的运行环境有哪些影响。

六、及时了解你的网络设备是否被攻击

如果你登陆过https://www.shodan.io这个网站,你一定会被其中所曝光的敏感漏洞和服务而震惊。与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“...

Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。

Shodan真正值得注意的能力就是能找到几乎所有和互联网相关联的东西。而Shodan真正的可怕之处就是这些设备几乎都没有安装安全防御措施,其可以随意进入。

所以如果没有必要就不要把你的设备连接到互联网,不过要知道网络上有哪些型号的设备已经被攻击了,建议大家尝试使用端口扫描之王——nmap进行扫描,端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况。比如,像“nmap -sV -Pn -top-ports 10000 1.2.3.4/24”这样的简单扫描可以让我们快速了解攻击者可能看到的内容,利用Shodan和Censys.io这样的工具就可以做到自动搜索这些内容。

Shodan提供了有关公共服务和端口的大量信息

你知道你设备在网络上的运行状态吗?例如,你是否运行了IPv6,更重要的是,该运行状态是你打开的还是黑客打开的? SMBv1是否在你的环境中启用了一个设备?当你对这些运行情况有一个清晰地了解之后,请考虑一下你是否有必要禁用这些监控服务。

阅读原文>>>

未发布 PDF插件VintaSoftPDF.NET Plug-in v5.5发布,新增PDF验证功能
by Harriet666 keys 分享 1496299140709

VintaSoftPDF.NET Plug-in是一个完全的.NET组件,可用于查看,创建以及编辑PDF文档。该程序库还可用于显示,渲染,创建,转化,注释,打印,保存,修改和编辑PDF文档页面。

VintaSoftPDF.NET Plug-in下载试用>>>


PDF文件的验证和转换:
  • 增加了验证符合标准的PDF文件的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够验证PDF文档是否符合所有章节、单独的章节或PDF / A规范的项目。
    ·  快速验证模式(直到找到第一个错误)。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够详细查看验证结果。
    ·  开放架构,允许开发任何算法来验证PDF文档。
  • 增加了将PDF文档转换成以下格式的功能:PDF / A-1b、PDF / A-2b、PDF / A-3b。
    ·  能够显示验证过程的多层次进度指标。
    ·  能够查看转换结果的全部细节。
    ·  开放架构,允许开发任何算法来转换PDF文档。

使用PDF文档:

  • 增加了在多个线程中处理PDF文档的功能(渲染、缩略图、文本提取、图像提取)。
  • 改进了XREF表恢复的算法。

使用PDF文档的注释:

  • 支持的新类型的PDF注释:
    ·  Ink
    ·  文件附件
  • 添加了PDF注释的样式:多边形、矩形、自由文本。
  • 在WinForms和WPF中添加了在注释图像查看器中显示PDF注释的弹出窗口的功能。
  • 改进了PdfAnnotationTool和WpfPdfAnnotationTool编辑模式下的注释多选功能。

使用PDF文档的交互式领域:

  • 添加了新的交互式字段--PDFFInteractiveFormVintasoftBarcodeField,它允许使用VintaSoft Barcode .NET SDK中可用的所有类型的1D和2D条形码。该字段有一些额外的参数,这在PdfInteractiveFormBarcodeField中是不可用的:
    ·  背景颜色
    ·  条码颜色
    ·  边框(颜色、宽度)
    ·  条形码布局
    ·  BestFit模式(条形图被拉伸以填充整个区域,二维条形码将保持其比例)
  • 增加了自动更新交互式字段外观的功能(PdfDocument.AutoUpdateInteractiveFormAppearances)。

渲染PDF文档:

  • 增加了在PDF页面中渲染JPEG图像时控制样本插值的功能。
  • 提高了1-bit图像的渲染性能。

查看具体更新内容>>>

未发布 扫描识别控件Dynamic Web TWAIN发布v13.1,改进HTTPUpload方法
by Harriet666 keys 分享 1503480456565
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
 
Dynamic Web TWAIN v13.1点击下载>>>

8ef936a3a9b5499b94ef15c012a796b4ojpg

Dynamic Web TWAIN新版本亮点:


  • 改进了HTTPUpload方法,现在你可以一次上传多个文件。 用户可以扫描或加载多个文件,并将它们作为单独的文件一次性上传到服务器。
  • 添加了一个新的方法ConvertToBlob,它允许你将图像转换为Blob。
  • 你可以使用优化的SetHTTPHeader方法从服务器端下载文件时设置HTTP标头。

Dynamic Web TWAIN v13.1更新内容


新增:
  • [仅限HTML5]添加ConvertToBlob API以返回指定文件类型中指定索引的Blob。
改进:
  • [仅限HTML5]改进了SetHTTPFormField API,以便能够在HTTP窗体中设置除字符串之外的Blob。
  • [仅限HTML5]改进了HTTPUpload API,以便能够上传SetHTTPFormField设置的二进制数据。
  • [仅限HTML5]改进了SetHTTPHeader API以支持HTTPDownload(Ex)方法。
  • [仅限HTML5]为CSS中使用的所有名称添加前缀,以避免可能的冲突。
  • [仅限HTML5]浏览器和服务器之间的通信性能大大提高。
修复:
  • 修复了没有卸载时无法使用方法“Load”在页面上初始化SDK的错误。
  • 修复了在循环中异步完成上传操作则不起作用的错误。
  • 修复了按百分比设置查看器大小时出现的错误。
注意:
  • 该升级版本的ActiveX版本保持不变。
未发布 UI工具包Xamarin.Forms更新至v2.3.5-pre3,与.NET Standard项目兼容
by Harriet666 keys 分享 1497863074339
Xamarin.Forms是一个跨平台、原生支持UI的工具包,允许开发者轻松创建用户界面。这些用户界面可以通过安卓、iOS和Windows Phone共享,使用目标平台的原生控件进行渲染,让每个平台上Xamarin.Forms应用的界面外观搭配得当。
 
【Xamarin.Forms试用版点击下载】

v2.3.5-pre3更新内容

  • Xamarin.Forms现在与.NET Standard项目兼容!并非所有创建功能都能正常工作。
  • 改进:Device.RuntimePlatform现在在WinRT和UWP上返回。
  • 改进:使用新的AutomationProperties可能会影响Android上的UI测试。AutomationId、Name以及HelpText将设置本地ContentDescription属性,Name和HelpText优先于AutomationId(Name和HelpText将被连接起来)。这意味着任何正在寻找AutomationId的测试将会失败,如果Name或HelpText也设置在该元素上。要解决此问题,请更改你的UI测试并在此方案中查找Name/HelpText的值。
  • 改进:调用WinRT/UWP中Picker上的Focus将打开下拉。
  • 弃用:Android IVisualElementRenderer.ViewGroup现在已经过时了,请改用View。

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 图像注释插件VintaSoftAnnotation.NET Plug-in更新至v8.6丨75折优惠
by Harriet666 keys 分享 1519808496858
VintaSoftAnnotation.NET Plug-in是VintaSoft Imaging .NET SDK图像插件,可支持TIFF、PNG、JPEG格式图像以及PDF文档的批注。目前VintaSoftAnnotation.NET Plug-in在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 
 
VintaSoftAnnotation.NET Plug-in v8.6更新内容:

WinForms注释图像查看器(AnnotationViewer类):

  • 支持多页面查看模式。
  • 增加了在多页图像查看模式下将注释从一个页面移动到另一个页面的功能。
WinForms注释可视化工具(AnnotationTool类):
  • 支持多页面查看模式。
  • 增加了一些小的改进。
WPF注释图像查看器(WpfAnnotationViewer类):
  • 支持多页面查看模式。
  • 增加了在多页图像查看模式下将注释从一个页面移动到另一个页面的功能。
WPF注释可视化工具(WpfAnnotationTool类):
  • 增加了对多页面查看模式的支持。
  • 增加了一些小的改进。
注释:
  • 支持以下注释的云和三角形样式的:矩形,椭圆,文本,自由文本,高亮。
  • 添加了使用StampAnnotation.TextAlign属性为Stamp注释指定文本对齐的功能。
演示应用程序:
  • WinForms和WPF的AnnotationDemo应用程序:
    · 增加了在多页面模式下注释图像的功能。
    · 增加了一些小改进。
    · 修复了一些小错误。
  • ASP.NET WebForms和ASP.NET MVC的AnnotationDemo应用程序:
    · 添加了从字体列表中为文本标注选择字体的功能。
    · 增加了一些小改进。
未发布 如何选择你的移动APP KPIs(关键绩效指标)
by Harriet666 keys 分享 1487231962156
移动APP市场正以惊人的速度发展。越来越多的人在户外时会选择移动端来访问网络。为了取得更大的竞争力和获得更多用户的注意力,移动端APP开发者还有许多应该做的。近年来应用商店非常受欢迎,它可以为每个使用手机的人提供适合他们的应用。面对这种情况,移动端APP开发者如何衡量自己的应用是否成功呢?在移动应用发展过程中,下载量已经不是衡量成功的唯一标准了。
你需要更精准的关键绩效指标(KPIs)来评判你的APP在市场中的表现是好是坏。需要特别注意的是每个APP是不同的,因此你应该根据自身APP所属的类别来选择KPIS。同样的,所选的指标也必须符合你的商业目标。下面就教大家如何选择你的移动APP KPIs。
查看完整方法>>>>>


未发布 超强的.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创建了以下迷你演示应用程序:
    · “文档查看器”迷你演示应用程序。
    · “加载、查看和保存图像”迷你演示应用程序。
    · “注释图像”迷你演示应用程序。
    · “缩略图查看器定制”迷你演示应用程序。
    · “缩略图查看器拖放”小型演示应用程序。
    · “图像处理”迷你演示应用程序。
未发布 条码控件Dynamsoft Barcode Reader教程:从PDF417驾驶执照中提取数据
by Harriet666 keys 分享 1499929296192
根据AAMVA卡的设计标准,PDF417二维条码符号系统是符合驾驶执照/识别文件必须存在的最低强制性机读技术。条形码编码关于持卡人的关键信息,包括姓名、出生日期、性别、眼睛颜色、身高等等。
 
从驾驶执照中提取数据有两种方法。我们可以使用OCR技术识别ID上打印的字符。或者,我们可以使用条形码识别技术对PDF417符号系统进行解码,然后将其解析为可读的格式。一般来说,后者比前者更准确,性价比更高。
 
本文将讨论如何使用Dynamsoft Barcode Reader SDK从驾驶执照中提取文本。
 
Dynamsoft Barcode Reader最新版下载>>>

在线演示

要了解这是如何进行的,你可以尝试在线演示 - 查看驾驶执照的PDF417条码
 
请注意,此演示还提供文档扫描,由Dynamsoft Web TWAIN SDK提供支持。

如何从PDF417驾驶执照中提取数据

步骤1.检测并解码PDF417代码
var barcodeImage = DWObject.GetImageURL(index, -1, -1);
dbrObject.readURLAsync(barcodeImage,
    index,
    GetBarcodeInfo,
    OnBarcodeReadFailure);
function OnBarcodeReadFailure(sImageIndex, errorCode, errorString) {
    console.log(errorString);
}
function GetBarcodeInfo(sImageIndex, result) {//This is the function called when barcode is read successfully
    //Retrieve barcode details
    var count = result.getCount();
    if (count == 0) {
        alert("The barcode for the selected format is not found.");
        return;
    } else {
        for (i = 0; i < count; i++) {
            Barcode_text = result.get(i).text;
            var x = result.get(i).x1;
            var y = result.get(i).y1;
            var format = result.get(i).formatString;
            var barcodeText = ("barcode[" + (i + 1) + "]: " + "\n" + Barcode_text + "\n");
            extractInformation();
        }
    }
}
 
步骤2.将其解析成可读的格式
driverLicenseFields = [
        { 'abbreviation': 'DAA', 'description': 'Full Name' }
        , { 'abbreviation': 'DAB', 'description': 'Last Name' }
        , { 'abbreviation': 'DAB', 'description': 'Family Name' }
        , { 'abbreviation': 'DAC', 'description': 'First Name' }
        , { 'abbreviation': 'DAC', 'description': 'Given Name' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DAD', 'description': 'Middle Name' }
        , { 'abbreviation': 'DAE', 'description': 'Name Suffix' }
        , { 'abbreviation': 'DAF', 'description': 'Name Prefix' }
        , { 'abbreviation': 'DAG', 'description': 'Mailing Street Address1' }
        , { 'abbreviation': 'DAH', 'description': 'Mailing Street Address2' }
        , { 'abbreviation': 'DAI', 'description': 'Mailing City' }
        , { 'abbreviation': 'DAJ', 'description': 'Mailing Jurisdiction Code' }
        , { 'abbreviation': 'DAK', 'description': 'Mailing Postal Code' }
        , { 'abbreviation': 'DAL', 'description': 'Residence Street Address1' }
        , { 'abbreviation': 'DAM', 'description': 'Residence Street Address2' }
        , { 'abbreviation': 'DAN', 'description': 'Residence City' }
        , { 'abbreviation': 'DAO', 'description': 'Residence Jurisdiction Code' }
        , { 'abbreviation': 'DAP', 'description': 'Residence Postal Code' }
        , { 'abbreviation': 'DAQ', 'description': 'License or ID Number' }
        , { 'abbreviation': 'DAR', 'description': 'License Classification Code' }
        , { 'abbreviation': 'DAS', 'description': 'License Restriction Code' }
        , { 'abbreviation': 'DAT', 'description': 'License Endorsements Code' }
        , { 'abbreviation': 'DAU', 'description': 'Height in FT_IN' }
        , { 'abbreviation': 'DAV', 'description': 'Height in CM' }
        , { 'abbreviation': 'DAW', 'description': 'Weight in LBS' }
        , { 'abbreviation': 'DAX', 'description': 'Weight in KG' }
        , { 'abbreviation': 'DAY', 'description': 'Eye Color' }
        , { 'abbreviation': 'DAZ', 'description': 'Hair Color' }
        , { 'abbreviation': 'DBA', 'description': 'License Expiration Date' }
        , { 'abbreviation': 'DBB', 'description': 'Date of Birth' }
        , { 'abbreviation': 'DBC', 'description': 'Sex' }
        , { 'abbreviation': 'DBD', 'description': 'License or ID Document Issue Date' }
        , { 'abbreviation': 'DBE', 'description': 'Issue Timestamp' }
        , { 'abbreviation': 'DBF', 'description': 'Number of Duplicates' }
        , { 'abbreviation': 'DBG', 'description': 'Medical Indicator Codes' }
        , { 'abbreviation': 'DBH', 'description': 'Organ Donor' }
        , { 'abbreviation': 'DBI', 'description': 'Non-Resident Indicator' }
        , { 'abbreviation': 'DBJ', 'description': 'Unique Customer Identifier' }
        , { 'abbreviation': 'DBK', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBL', 'description': 'Date Of Birth' }
        , { 'abbreviation': 'DBM', 'description': 'Social Security Number' }
        , { 'abbreviation': 'DBN', 'description': 'Full Name' }
        , { 'abbreviation': 'DBO', 'description': 'Last Name' }
        , { 'abbreviation': 'DBO', 'description': 'Family Name' }
        , { 'abbreviation': 'DBP', 'description': 'First Name' }
        , { 'abbreviation': 'DBP', 'description': 'Given Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name' }
        , { 'abbreviation': 'DBQ', 'description': 'Middle Name or Initial' }
        , { 'abbreviation': 'DBR', 'description': 'Suffix' }
        , { 'abbreviation': 'DBS', 'description': 'Prefix' }
        , { 'abbreviation': 'DCA', 'description': 'Virginia Specific Class' }
        , { 'abbreviation': 'DCB', 'description': 'Virginia Specific Restrictions' }
        , { 'abbreviation': 'DCD', 'description': 'Virginia Specific Endorsements' }
        , { 'abbreviation': 'DCE', 'description': 'Physical Description Weight Range' }
        , { 'abbreviation': 'DCF', 'description': 'Document Discriminator' }
        , { 'abbreviation': 'DCG', 'description': 'Country territory of issuance' }
        , { 'abbreviation': 'DCH', 'description': 'Federal Commercial Vehicle Codes' }
        , { 'abbreviation': 'DCI', 'description': 'Place of birth' }
        , { 'abbreviation': 'DCJ', 'description': 'Audit information' }
        , { 'abbreviation': 'DCK', 'description': 'Inventory Control Number' }
        , { 'abbreviation': 'DCL', 'description': 'Race Ethnicity' }
        , { 'abbreviation': 'DCM', 'description': 'Standard vehicle classification' }
        , { 'abbreviation': 'DCN', 'description': 'Standard endorsement code' }
        , { 'abbreviation': 'DCO', 'description': 'Standard restriction code' }
        , { 'abbreviation': 'DCP', 'description': 'Jurisdiction specific vehicle classification description' }
        , { 'abbreviation': 'DCQ', 'description': 'Jurisdiction-specific' }
        , { 'abbreviation': 'DCR', 'description': 'Jurisdiction specific restriction code description' }
        , { 'abbreviation': 'DCS', 'description': 'Family Name' }
        , { 'abbreviation': 'DCS', 'description': 'Last Name' }
        , { 'abbreviation': 'DCT', 'description': 'Given Name' }
        , { 'abbreviation': 'DCT', 'description': 'First Name' }
        , { 'abbreviation': 'DCU', 'description': 'Suffix' }
        , { 'abbreviation': 'DDA', 'description': 'Compliance Type' }
        , { 'abbreviation': 'DDB', 'description': 'Card Revision Date' }
        , { 'abbreviation': 'DDC', 'description': 'HazMat Endorsement Expiry Date' }
        , { 'abbreviation': 'DDD', 'description': 'Limited Duration Document Indicator' }
        , { 'abbreviation': 'DDE', 'description': 'Family Name Truncation' }
        , { 'abbreviation': 'DDF', 'description': 'First Names Truncation' }
        , { 'abbreviation': 'DDG', 'description': 'Middle Names Truncation' }
        , { 'abbreviation': 'DDH', 'description': 'Under 18 Until' }
        , { 'abbreviation': 'DDI', 'description': 'Under 19 Until' }
        , { 'abbreviation': 'DDJ', 'description': 'Under 21 Until' }
        , { 'abbreviation': 'DDK', 'description': 'Organ Donor Indicator' }
        , { 'abbreviation': 'DDL', 'description': 'Veteran Indicator' }
        , { 'abbreviation': 'PAA', 'description': 'Permit Classification Code' }
        , { 'abbreviation': 'PAB', 'description': 'Permit Expiration Date' }
        , { 'abbreviation': 'PAC', 'description': 'Permit Identifier' }
        , { 'abbreviation': 'PAD', 'description': 'Permit IssueDate' }
        , { 'abbreviation': 'PAE', 'description': 'Permit Restriction Code' }
        , { 'abbreviation': 'PAF', 'description': 'Permit Endorsement Code' }
        , { 'abbreviation': 'ZVA', 'description': 'Court Restriction Code' }
    ]
未发布 Oracle宣称Java将每半年发布一个版本
by Harriet666 keys 分享 1505123495989
Oracle近日宣布,他们将Java的发布频率改为每六个月一次。

JCP执行委员会在八月份的会议上提到了这一说法,随后,Oracle发言人Donald Smith在他的博客中确认了这一消息。该决定将在Java 9正式发布之后开始实行,也就是说,Java的下一个发布日期是2018年初。

除了发布周期,Oracle还宣布了在Java的构建和发布方式方面所发生的主要变化。Oracle将把OpenJDK的二进制包作为面向开发者的主要版本,取代之前的Oracle JDK。

OpenJDK将采用GPLv2许可(包括“类路径例外”)免费发行,移除了之前在Oracle JDK上存在的一些限制。Oracle JDK仍然会继续存在,但需要与Oracle签订协议才能获得Oracle提供的长期支持。

Java首席架构师Mark Reinhold说,为了避免出现像Java 8和Java 9那样的延期情况,所有决定实行新的发布周期。

Java当前的发布周期为两年一次,Java 9因为模块化系统(Jigsaw)问题一再延期,已经比预期晚了18个月。之前,Java 8也因为安全问题延期了8个月左右。Java 9的GA版本将在9月21号发布。

新的发布周期严格遵循时间点,将在每年的3月份和9月份发布,相应的版本号为18.3、18.9、19.3等。与现在的发布周期不同,新的发布计划不会为了等待某个主要特性完成而延期。如果一个特性还没有完成,它就不会被合并到发布用的代码仓库里。如果错过了一个版本,就要等待下一次发布。

新的发布周期旨在避免未完成的里程碑特性(比如Java 8的Lambda或Java 9的模块化系统)造成发布延期,让其他一些有用的特性也无法与开发者见面。

除了新的发布周期,Oracle将会继续每个季度发布更新版本,时间分别为1月份、4月份、7月份和10月份。也就是说,在下一个大版本发布之前,当前版本都会有两个更新版本。更新版本只包含安全问题修复或回归错误的修复。

Reinhold说:开发者希望加快速度,这样他们就能够尽快地在生产环境中使用新的特性。

对于没有必要快速升级Java版本的企业和组织来说,Oracle建议他们签订每三年一次的长期支持(Long Term Support,LTS)协议。他们因此可以获得由Oracle提供的至少三年的支持,还有可能更长时间,这要取决于市场的反应。

Oracle建议第一个LTS版本为“18.9”,不过这需要与其他的OpenJDK贡献者讨论过后才能最终确定。Java 8被作为一个特别的LTS版本,支持日期截止到2025年。

Smith说:OpenJDK是开发者了解和使用Java SE平台最主要的渠道,而Oracle JDK继续作为Oracle收费用户的LTS版本。

伦敦Java社区的负责人Martijn Verburg也发表了他对新发布周期的看法:新的Java发布周期对于Java生态系统来说是一件好事情。Java 9的Jigsaw和孵化模块问题促成了这一局面的发生。Oracle确实面临着发布方面的巨大挑战,不过OpenJDK社区拥有足够的知识来帮助一起解决挑战。我希望看到中间会有所突破,不过对常规的发布周期仍然很期待。其他实现者可以更早地访问到规范的草案,这样他们就可以更早、更经常地发布版本。

Oracle的Java发布速度经常受到诟病,Java被广大的企业组织所采用,并已成为大量开源平台和语言的基础,而这样的发布速度让Java处于很尴尬的境地。新的Java发布周期恰好满足了广大用户的期望,不过这仍然需要等待Java开发者和Oracle用户的反馈。
未发布 格式转换工具PDF Extractor SDK更新至v8.6.0.2911,修复对比度预处理过滤器
by Harriet666 keys 分享 1501752886016
PDF Extractor SDK是一款可以转换PDF为文本,CSV,XML,从PDF文件中提取图像和信息的多功能工具包。
 
【PDF Extractor SDK点击下载>>>】
 
PDF Extractor SDK v8.6.0.2911更新内容:
  • XMLExtractor,JSONExtractor,HTMLExtractor:添加了KeepOriginalFontNames属性。
  • TextComparer:添加GetChanges()方法以获得比较结果,方便进行程序化分析。
  • DocumentRotator:现在可以指定要旋转的页面。
  • TextExractor.ExtractColumnByColumn属性现在影响Find()方法。
  • 修复SearchResult元素中的字体名称。
  • 修复对比度预处理过滤器。
  • 修复下标和上标文本对象与正常文本合并的问题。
  • 其他小修改和改进。

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