未发布 多平台移动项目开发工具Elements发布v9.2,新增Java语言 Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。
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兼容性的其他改进。
未发布 视频处理软件BB FlashBack v5.25.0发布丨附下载 BB FlashBack是一种屏幕记录器,能快速容易地创建视频。有详尽的软件阐述、屏幕演示、介绍、指南以及练习。目前BB FlashBack在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
v5.25.0更新内容:
改进网络摄像头捕获代码(现在使用MSMF)
许可证现在只有在FlashBack的多个实例运行时才下载一次
播放器仅适用于具有8GB和更高RAM的电脑
增加了用于音量控制的工具提示
添加了关闭/开启播放器预加载预览录像的选项
修复:Flashback连接上传表单 - 视频名称可能会重叠“复制”和“打开”链接
修复:如果网络摄像头未正确初始化,录制可能会停止
修复:无法选择包含日语字符的声源名称进行录制
修复:MPEG录制模式质量等级设置未保存
修复:FBAPI的帮助文本出现错误,它仅适用于TestAssistant
修复:在Win 32 SaveAs函数中添加了解决异常的方法
修复:当没有音频录音源时,可能会显示不正确的音频格式
试用、下载、了解更多产品信息请点击"咨询在线客服"

未发布 HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能 PrizmDoc新版本增加了多个功能,可提高文档管理流程的效率,促进更高的生产力。
PrizmDoc v13.0中最重要的新功能是文档比较。允许用户比较与Microsoft Word文档的原始版本之间所做的更改。用户选择原始文件以及更新版本,并将原始文件的所有更改(添加、删除等)显示在新的文档中,并以超链接进行快速访问。该功能对于合同条款和附录、组织图、企业标准和程序等文件特别有用。该增强功能与Microsoft Word本身的“跟踪更改”功能类似,旨在满足众多终端用户的要求。
PrizmDoc v13.0还在图像查看技术方面取得了显着进步。新的伽玛调整、图像锐化和线条加粗工具可以增强矢量、像素图像的查看,从而允许用户生成比以往任何时候更精致的效果图。图像增强工具对于医疗、工程和建筑行业特别有用,X射线、蓝图和CAD绘图之类的图像在线观看比以往更容易。
PrizmDoc v13.0新功能
文档比较
PrizmDoc新增了Microsoft Word文档比较功能。文档比较是与先前版本交叉检查文档新版本的过程,您可以看到其更改的内容。这些更改可能包括格式修改如字体或间距更改、语法更改、添加或删除单词、句子、段落。有关如何使用新的文档比较功能的更多信息,请查看以下内容:
图像工具
PrizmDoc v13.0增加了一个名为Image Tools的新选项。您可以在查看器中操作文档保真度。有关更多信息,请参阅最终用户指南。
支持Ubuntu 16.04 LTS
PrizmDoc现在支持Ubuntu 16.04 LTS。
支持Windows Server 2016
PrizmDoc现在支持Windows Server 2016。
本地SVG图标
Viewer已升级为支持本地SVG图标。您可以将默认图标替换成自己的版本。
在线帮助
部署许可部分已更新,可以更好的帮助您了解所有许可选项。
最终用户指南部分已更新:
文档比较 - 如何使用新的比较查看器
图像工具 - 如何使用新的图像工具功能查看文档
PrizmDoc服务器
解决了错误的页面计数和呈现MS Word文档的内容问题(使用MSO渲染引擎时启用了跟踪更改)。
解决了使用LibreOffice渲染引擎时AAA/AAAA Excel日期/时间格式的不正确渲染。

未发布 百度正式开源其RPC框架brpc 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技术细节的文档也都一并开源了,后续也会及时推送改动,请大家放心。这是一个活项目,不会拉个开源分支就不管了。
查看更多资讯>>>
未发布 5个优秀编码挑战帮你训练大脑,你敢尝试吗? 每个人都知道编程正在成为几乎每个行业的重要组成部分,它对组织的帮助和对大型系统的维护是独一无二的,因此越来越多的人开始了他们的编程旅程。你可以从你觉得合适和方便的任何交互式平台和书籍中学习编程。但是这还不够,我们应该练习更多新的东西。
编码与你的创造力、创新能力密切相关。但很多时候,我们花费大量时间来处理常见问题而忘记了创造力。我不太确定这是否是编码挑战出现的原因,但它们肯定可以帮助你去思考。
我们可以说编程挑战是伟大的:
学习新的做事方式
练习一种新的编程语言
解决遇到的关键问题
保持我们的大脑活跃和集中力
以及玩得开心!
在寻找最好的编程挑战过程中筛选了五个非常好的资源。相信这对你的编程旅途有所帮助,并探索更大的计算机科学领域。
未发布 Web集成工具Thinfinity® VirtualUI™ v2.0发布丨附下载 Cybele Software,Inc.发布Thinfinity VirtualUI v2.0版。该产品让开发Windows桌面环境的应用程序变得更加容易、快速和实惠。使用Thinfinity VirtualUI,可以将现有源代码添加一行,以便通过任何操作系统和任何设备上运行的任何HTML5客户端都可以使用虚拟化GUI。
传统的桌面到网络转换过程需要大量的时间和金钱投入,并且需要执行大量的重新编码。这迫使许多公司和开发商将这一昂贵的转型搁置下来。但是,这也意味着他们会丢失无数潜在的用户。
许多开发人员希望他们的桌面平台移动到网络上。在两个平台Windows 和 HTML5上无需两倍工作量。使用Thinfinity VirtualUI就不用维护多个源代码版本。附加的Thinfinity VirtualUI代码不会影响在Window环境中运行的应用程序。
增强最终用户访问架构,允许以以下一种或多种方法进行匿名或身份验证的访问:Windows登录、OAuth/2、RADIUS或使用Thinfinity Authentication API的自定义身份验证方法。
文件系统和注册表虚拟化帮助开发人员为每个最终用户创建安全、受控和独立的环境,映射或仅公开相关应用程序文件夹和注册表项。
会话记录/播放以保存应用程序会话并稍后重播。会话记录有许多场景:复制问题、应用演示和教程、技术支持、审计监控、电子学习等。
通过增加这些功能,Thinfinity VirtualUI v2.0实现了独特的虚拟化和集成级别。
要求:
Thinfinity VirtualUI与.NET、Delphi、C ++和支持Win32 GDI/GDI + API和ActiveX/COM接口的任何编程语言集成。
所需硬件包括运行Windows 8或更高版本(32位/64位)或Server 2012的网关服务器和运行Windows 8或更高版本(32位/64位)或Server 2012的一个或多个服务器。
客户端设备需要符合HTML5标准的Web浏览器,例如IE10 / 11、Chrome、Safari或Firefox。
未发布 TWAIN扫描识别工具Dynamic Web TWAIN发布v13.2,周年限时7折特惠! 慧都十四周年狂欢开启,Dynamic Web TWAIN终极让利7折特惠
限时一个月,错过不再有,马上咨询>>>
Dynamic Web TWAIN v13.2更新内容
[HTML5 for All]修复了内存泄漏的问题,扫描服务在将图像数据传输到Web浏览器后未释放内存。注意:此错误从版本13.0开始。
[HTML5 for Mac]修复了网络服务有时候没有正常关闭的错误。
[ActiveX]修复了base64字符串以“==”结尾的错误,无法使用SetCustomDSDataEx方法进行解码。
[ActiveX]修复了在调用Dynamsoft.WebTwainEnv.Unload方法之后Dynamsoft.WebTwainEnv.Load方法不起作用的错误。
[ActiveX]修复了TransferMode属性无法正常运行的错误。
