皇帝的新衣:Node.js 现在有很多人非难Node.js(例如著名的Node.js is cancer),但是反对者往往误解其中所传达的信息并用一些无关的观点进行反驳。更麻烦的是现在有两类人在使用Node.js,第一类人需要一个高并发的服务器来同时处理大量的连接(例如HTTP代理、Websocket聊天服务器等等),第二类人是重度依赖于JavaScript,他们在浏览器、服务器、数据库甚至洗衣机上都用JS。
JavaScript最大堆栈的数量 你对JavaScript引擎能进行多少次递归调用好奇吗?下面的函数可以让你找到答案:
function computeMaxCallStackSize() {
try {
return 1 + computeMaxCallStackSize();
} catch (e) {
return 1;
}
} 未发布 欧洲杯激战正酣,如何用大数据变身专家级球迷 这几天,欧洲杯赛程正在火热进行中,赛况如何,你熬夜看了吗?如果你是一位资深体育迷,一定早已发现,现在的电视转播中出现了越来越多的数据。比如在足球世界杯和欧洲几大联赛的电视转播中,除了以往的角球、任意球、红黄牌和射门次数统计,还出现了包括跑动距离、有效比赛时间、移动轨迹、控球时间、传球次数等数据。这些数据有什么用?
JavaScript通过toLocalString格式化format各个国家本地日期时间 Date对象提供了三个格式化本地时时间的函数,可通过转入国家代码获取相应的本地化时间,比如中国为zh-CN
new Date().toLocaleString('zh-CN')
//输出: '2022/9/29 16:14:48' 如何提高NODE.js中SSL服务的性能 在浏览互联网时,我们都知道,通过SSL进行加密是非常重要的。在贝宝(PayPal),安全是我们的首要任务。我们使用端到端的加密,不仅只是我们的公共网站,对于我们的内部服务调用也同样如此。SSL加密技术将在很大程度上影响node.js的性能。我们已经花时间调整我们的对外服务,并充分地利用他们。下面是一些我们发现能显著地提高SSL对外性能的SSL配置调整清单。
未发布 出现这三种问题,小程序审核肯定通不过! 不同的企业将同一个小程序模版提交微信审核,得到的结果可能是不一样。有的企业小程序审核很快就通过了,有些企业的小程序可能等了很久依然失败了。之所以会出现这种情况,肯定不是模版的问题。
未发布 GIS软件开发包Map Suite v10.0发布,支持Windows、Linux和macOS多平台 Map Suite 10.0新功能
核心功能支持Windows、Linux和macOS多平台。
所有Map Suite产品系列都共享核心API。
删除合并模块并将所需的程序集移动到特定程序包。
创建可在多平台(包括Windows、Linux和macOS)上运行的新产品中心。
Map Suite产品托管在NuGet服务器上,而不是Map Suite安装程序。
简化Map Suite许可策略。
按功能拆分MapSuiteCore 9.0程序集。允许将必要的程序集导入到这些项目中。
在Linux上支持ECW文件。
在Linux上支持MrSid和JPEG2000文件。
用于Map Suite产品的BareBone NuGet Package可以创建最小尺寸的应用程序。
用于Map Suite产品的Standard NuGet Package可以让用户更轻松的将现有的9.0项目转移到10.0版本上。
v10.0和v9.0之间的变化
我们努力使安装过程和版本维护变得更加容易,并将所有Map Suite产品重新打包到NuGet软件包中。开发人员可以选择在本地安装引用、通过使用Visual Studio的NuGet管理器进行管理或者为你的团队设置本地NuGet服务器。
更有效率
Map Suite产品可帮助开发人员更有效地创建GIS应用程序。将Map Suite组件运用到你的项目中并进行分享会让你的工作变得更加效率。
跨平台/便携式
在Map Suite 9.0之前,我们一直考虑支持像Linux、MacOS、Android、iOS这样的多平台。然而,基础结构阻止了我们的步伐。如果你已经是使用Map Suite产品的开发人员,你可能知道我们支持Windows(Wpf、WinForms ...)、iOS和Android平台,但在很长一段时间中这是比较困难的。想象这种情况:客户在Windows平台上报告MapSuiteCore中的错误。我们对它进行修复并测试。但这并不是全部的工作。我们还要向iOS和Android团队报告,要求他们解决相同的错误。这是基础结构方面的错误。我们有几个MapSuiteCore分支,它依赖于不同的框架。每次修复bug时,我们需要与其他平台同步。

现在,我们的目标是让Map Suite Core的源代码尽可能便携。借助分离MapSuiteCore的机会,我们可以将现有的功能转换为便携式。本质上来说各平台可以共享相同的源代码。

分离Map Suite Core
在Map Suite 9.0中,我们在名为“MapSuiteCore”和几个扩展的程序集中支持大部分功能。而其他产品则具有基础结构。当你启动项目时,你只能引用包含Map Suite所有功能的“MapSuiteCore”。这无法最小化你的项目。
我们决定按照功能来分离Map Suite Core,例如形状、层数、样式、符号等。你所知道的每个Map Suite功能都可能是一个单独的包。你可以选择性地使用项目所需的软件包,并将应用程序控制在最小。
更简单的试用许可证
认证和许可是NuGet软件包的一个缺点。不过,我们为非注册开发人员制定了一个新策略,你不用注册就可以在有限的时间内评估Map Suite产品。你只需打开Visual Studio,创建一个项目,打开NuGet管理器并输入“MapSuite”。它会返回给你Map Suite支持的全部功能列表。
PS:原始许可证仍与10.0兼容。
第一次运行Map Suite 9.0或更低版本样本的工作流程。

第一次运行Map Suite 10.0样本的工作流程。

更改命名空间
在Map Suite 9.0和以前版本中,命名空间主要由ThinkGeo.MapSuite.Core和版本命名空间两部分组成,如ThinkGeo.MapSuite.WebEdition。现在ThinkGeo.MapSuite.Core基于它的功能已经分离了,现在我们有:
ThinkGeo.MapSuite包含用于构建Map Suite应用程序的常用和基础类,如GeographyUnit、GeoCollection等。
ThinkGeo.MapSuite.Drawing包含绘图相关类,如GeoImage、GeoSolidBrush等。
ThinkGeo.MapSuite.Layers包含一些基础类,如Layer、FeatureLayer等。
ThinkGeo.MapSuite.Shapes包含几何相关类,如PlygonShape、LineShape等。
ThinkGeo.MapSuite.Styles包含用于构建地图样式的类,如AreaStyle、LineStyle等。
未发布 BCGControlBar中文教程之Ribbon Designer(5/6) Ribbon Designer允许用户轻松地创建实际的应用程序原型。这里需要现有的MFC项目作为输入并生成一个带有RC文件的Ribbon元素的输出。当您使用设计器编辑项目的部分已经完成之后。可以在操作中运行并查看设计的Ribbon控件。
本教程主要为大家介绍如何利用Designer工具的优势。