未找到

未发布 MySQL的查询优化方法及原理详解丨附下载
by Harriet666 keys 分享 1493956179760
关于MySQL的查询优化方法大家应该都知道一些:不使用NULL字段、为字段选择合适的数据类型、合理创建索引、不能使用SELECT *等等,但是你真的理解了这些优化方法了吗?它们的工作原理是什么?在实际运用中性能可以得到提升吗?其实未必。如何合理运用这些优化方法的前提是理解其中原理,希望本文能给你一定的帮助。
 
开源数据库MySQL v5.7最新版下载>>>
 

MySQL逻辑架构 

如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。

 

MySQL逻辑架构

MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。 
 
MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。 
 
最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。 

点击查看完整文章>>>

未发布 2017慧都十四周年庆序章——技能升级,团队燃出彩!
by Harriet666 keys 分享 1506762825650
2017慧都十四周年庆预热开启!DevExpress、Telerik首推团队升级珍藏培训套包,劲省10万元!全场满额送豪礼,AppleMac笔记本电脑、iwatch、iPad、Beats耳机等好礼送送送……更多惊喜等您来探索!

2017年,一份价值百万的项目放在您面前,但一看技术需求,只好婉言拒绝?

2018年,您是否想过提升团队专业性和战斗力?

团建打造要趁早!

方案交给我们,您只管去赢千万级项目。

活动时间:2017年10月1日—2017年10月31日


活动一:团队钜惠 自有一“套”

典藏方案,引爆团建升级新风潮!套包首推超低折扣,最高可省10万元。
慧都十四周年庆,联合DevExpress & Progress,全球首推团队升级珍藏培训套包。不论企业预算多少,都有预算范围内最快、最省、最优的团队升级方案。今后,您放心去赢千万级项目。

活动二:全场满额送豪礼

购买慧都任意控件、软件、培训、服务等,满额即送七级壕礼!
  • 购满5000元以下   送2018慧都定制台历
  • 购满5000至9999元    送小米充电宝或乐扣保温杯(二选一)
  • 购满10000至29999元    送美的加湿器(5L大容量)
  • 购满50000至49999元   送beats耳机
  • 购满50000至149999元   送Apple ipad平板电脑
  • 购满150000至199999元   送iwatch
  • 购满200000及以上  送AppleMacBook12英寸笔记本电脑

活动三:老友聚惠

全场8.5折优惠特权,只属于慧都老客户的特别礼遇。
全场产品(特殊、部分产品除外)、培训及技术服务,不论您是购买,还是续费,通通享受8.5折优惠,并赠送慧都学院专家公开课免费入场名额2份。
更多老客户优惠,敬请咨询慧都客服
注:凡在2017年10月9号之前在慧都购买过一次及以上产品、或者服务等的客户均可享受此优惠特权。

活动四:在线订购限量抢

慧都在线订购明星产品Myeclipse最后100套超低折扣限量抢!
同时,慧都在线订购商城全场优惠促销中,包含用户界面、图表报表、加密解密、测试分析、网络通讯、图形图像、BI/大数据等各类产品,空前优惠等你来!

活动五:周年集字送好礼

扫描二维码,关注“慧聚IT”微信公众号参与活动
慧都周年狂欢季,邀您集字赚好礼!90%极高中奖率,定制台历、慧都通用8折券、乐扣高端保温杯、小米定制充电宝轻松拿到手,还有机会赢取价值2999元的慧都学院VIP年费会员。
未发布 jQuery JavaScript的综合性UI组件库jQWidgets发布v4.5.3丨附下载
by Harriet666 keys 分享 1496826265243
jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。

【最新版jQWidgets v4.5.3点击下载>>>】

jQWidgets v4.5.3更新内容:

修复:

  • 修复了jqxGrid中关于编辑模式为“已选择”和选择模式为单元格时数据编辑的问题。
  • 修复了jqxGrid中关于以毫秒加载日期的问题。
  • 修复了jqxGrid中使用过滤器行并且有INPUT过滤器时销毁方法的问题。
  • 修复了jqxGrid中当开启大写锁定并开始使用按键编辑时的问题。
  • 修复了jqxGrid中在RTL模式下列重排序时的问题。
  • 修复了jqxGrid中关于DatetimeInput编辑器在时间输入模式下的问题。
  • 修复了jqxScheduler中关于touchView在触摸设备上的使用问题。
  • 修复了jqxListBox中关于在列表框为空时提交项目值的问题。
  • 修复了jqxDateTimeInput中如果日历按钮被隐藏,显示时间弹出Alt+Down键的问题。

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

1
未发布 多功能文件格式转换器VectorDraw File Converter v7.7011.0.1发布
by Harriet666 keys 分享 1490843010437

VectorDraw File Converter是一个终端应用程序,使得用户能将常用的图像文件(DWG,DGN和DXF)转换为VectorDraw格式标准(VDF,VDI),反之亦然。该工具能将上述文件导出为SVG与DWF格式。VectorDraw File Converter还能进行多种文件的转换(比如*.dwg 到 *.vdf或者 *.dxf,反之亦然)。

VectorDraw File Converter更新至v7.7011.0.1,新版本针对提出的需求和bug做了调整和优化。

VectorDraw File Converter点击下载试用>>>

未发布 Visual Studio 2017最新版正式发布!适用于任何开发人员、平台及APP丨附下载
by Harriet666 keys 分享 1489569909448
适用于任何开发人员、APP及任何平台的Visual Studio 2017 新功能介绍。
【Visual Studio 2017最新版免费下载(包含enterprise、community、professional版本)>>>】
点击查看原文>>>
未发布 jQuery JavaScript的综合性UI组件库jQWidgets更新至v5.4.0丨附下载
by Harriet666 keys 分享 1509093357634
jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。
 
jQWidgets v5.4.0更新内容:
改进:
  • Angular组件脚本引用将自动添加。
  • Angular @Input属性验证。
  • 所有Angular示例已更新。
  • 过滤行、过滤器、排序菜单和呼叫器重的jqxGrid键盘导航。
  • jqxScheduler ICalendar导出支持X-WR-CALNAME和X-WR-DESC。
修复:
  • 修复了几个缺少typescript属性定义的问题。
  • 修复了jqxPivotGrid中关于拖放的问题。

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

未发布 Java新版本的开发已正式进入轨道,版本号18.3
by Harriet666 keys 分享 1509701758197

Java 9在9月21日正式发布,同时Oracle宣布将Java新版本的发布周期调整为每半年一次。目前,Java新版本的开发也已正式进入轨道。就已公开的消息来看,下一个版本的Java预计会在2018年3月发布,版本号将会是18.3,已经规划加入的特性包括JEP 286和296。

根据reddit站点上的讨论,首先更新的是JEP 296,Valhalla预计很快也会加入进来。OpenJDK的主页面则显示,已确定要在18.3版本实现的是JEP 286和296。

JEP 296主要是将JDK仓库群(JDK Repository Forest)合并为一个仓库,旨在降低管理大量仓库群的成本。根据InfoQ之前的报道,该仓库群的合并已经完成。这些软件仓库是在OpenJDK发展史上历次分裂生成的,在OpenJDK 9及以前的版本中将会继续存在。在这次合并操作之前,OpenJDK曾分裂为多个不同的Mercurial软件仓库群,这导致了许多问题,例如不能以原子方式对多个软件仓库应用漏洞修复(Bug Fixes)。在OpenJDK合并完成后,只会有一个软件仓库,并复制在三个开发线上。为了简化仓库的管理,JDK中还创建了用于在合并和未合并版本间移动更改的工具。

JEP 286提议在Java中引入局部变量的类型推断,该JEP在2016年提出,InfoQ曾经报道过该JEP的概况和相关的开发者调查结果。该JEP旨在减少编写Java代码相关的仪式性的内容,提升开发人员的体验,同时还要保证Java语言的静态性。它会减少开发人员在声明局部变量时,没有必要的变量类型声明。如果该JEP实现的话,在声明局部变量的时候,就可以采用类似如下的方式:

var list = new ArrayList();  // infers ArrayList
var stream = list.stream();          // infers Stream

这种语句只能用于带有初始化器(initializer)的局部变量、增强的for-loop中的索引以及传统for-loop中声明的局部变量。它不能用于方法声明、构造函数声明、方法返回值、字段、catch语句以及其他类型的变量声明中。

关于局部变量的类型推断,不管是JVM体系中的语言还是其他语言都提供了一定形式的支持,比如C++(auto)、C#(var)、Scala(var/val)以及Go(通过:=进行声明)。至于该使用var作为关键字,还是使用let或类似于C/C++中的auto作为关键字,之前曾经有过一个面向开发者的调查。大约84%的回答表明定义可变内容的变量用关键字var是恰当的,只有百分之几的回答者建议使用auto更合适。根据Java语言架构师Brian Goetz介绍,该功能应该使用关键词var。

关于该特性的用法,在reddit上有一些讨论。有人表示,即便在支持“auto”语法的语言中,该特性使用的也比较少,因为有些人希望一眼就能看出变量的类型是什么。也有人认为,var有它的适用空间,在小的代码块中,直接用它实例化对象是可以的。如果是作为方法返回值的话,还是希望明确声明类型,Java的类型推断并不支持方法返回值,这一点倒不必担心。如果函数或代码块比较长的话,就不建议使用var了并要考虑适时进行代码的重写。时间和经验将会让我们更加明确应该在何时使用新功能,就像Optional刚出现时,也是耗费了一些时间才明确其推荐适用场景。

Valhalla项目中包含了一些有趣的JEP,包括值类型(Value Type)、针对原始类型实现泛型功能、增强的volatile等,外界很期待这些内容最终也能添加到新版本中。


2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 微软的dotnet-new工具可以使创建JavaScript Web 程序变得更简单
by Harriet666 keys 分享 1488337232319

Microsoft发布了一组工具,使用他们的dotnet-new工具和使用Node.js的灵活方法可以快速生成基于JavaScript的Web 应用程序。

dotnet-new工具是.NET Core工具的一部分,用于使用简单的命令启动一个新项目。作为ASP.NET Core JavaScript Services的一部分,Web开发人员现在可以使用相同的命令来启动新的单页应用程序(SPA)。

点击查看完整内容>>>

未发布 轻松审计代码安全性,Windows 10有妙招
by Harriet666 keys 分享 1503998911618
如果你是软件开发人员,又希望自己开发的软件安全性高一点,那么当前的Windows 10企业内部预览版(10.0.16253)中就有一个功能可以做到。
 
它的位置在“设置 – > Windows Defender – > Windows Defender安全中心 – >应用程序和浏览器控制 – >漏洞保护设置”中,你可以为整个系统或特定程序启用自定义漏洞利用设置。其中有很多不同的保护特性并且许多都可以在审计模式下打开。在审计模式下,它不是在出现情况时终止进程,而是将事件写入事件日志。对于管理员,这就意味着其会允许软件继续运行,同时能够使我们意识到这一情况是何时发生的。对于希望通过了解这些情况以此来改进产品的人来说,它其实是提供了一个启用安全功能的附加好处,即无需重新编译(在某些情况下),就能告诉你确切的程序代码在当它在运行时遇到问题的位置。在版本10.0.16253中,可以进行审计的保护特性包括:
 
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码)
阻止低完整性图像
阻止远程图像
阻止不受信任的字体
代码完整性守护者
禁用Win32k系统调用
不允许子进程
导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
模拟执行
验证API调用(CallerCheck)
验证图像依赖完整性
验证堆栈完整性
 
要充分利用此功能,我们需要安装Windows Performance Toolkit。它是Windows SDK安装程序的安装选项之一。当您启用了您感兴趣的设置后,打开管理命令提示符并浏览到Windows Performance Toolkit目录(通常为Program Files(x86) Windows Kits  {Version}  Windows Performance Toolkit)。您可以通过运行以下两个命令(在替换文件名所需的任何路径之后)启动并开始收集上述漏洞保护设置的跟踪以及解析堆栈跟踪所需的数据:
xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl”
 
xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
在您运行任何想要收集的方案之后,您可以停止跟踪并将数据与以下内容合并(再次替换文件名所需的任何路径):
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”
 
然后,您可以删除创建的前两个文件,因为此时您将拥有第三个所需的所有数据。您可以在Windows Performance Analyzer(WPA)中打开生成的etl文件,并查看数据。
 
您可以使用wpaPreset文件扩展名保存它,在WPA中加载数据,转到我的预设(在WPA的较新版本中的文件 – >窗口 – >我的存在),选择导入,浏览到保存预设的任何地方,选择它,并双击它以显示视图。另外,您还需要加载符号,以充分利用这一点。您可以在WPA中在File-> Configure Symbols下设置符号; 您需要将其指向msdl.microsoft.com/download/symbols上的Microsoft符号服务器以及您的符号服务器(或您没有符号服务器设置的符号文件的位置)。您可以在加载跟踪时自动配置WPA加载符号,但也可以通过转到文件 – >加载符号来手动加载符号。一旦完成,您将能够轻松地查看堆栈跟踪。它就会像下面这样:
 
以下是在创建上述过程中我为x64控制台应用程序编译的示例代码:
#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
  memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{  DWORD result = addr(NULL);
  cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
} 
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
 
}void DecisionLoop()
{ while (true)
{  int selection;
  PrintOptions();
  cin >> selection;  switch (selection)
  {   case 0:    return;   case 1:
    ExecuteIllegalMemory();    break;   case 2:
    CreateCodeInVirtualMemory(TRUE);    break;   case 3:
    CreateCodeInVirtualMemoryAndExecute(TRUE);    break;   default:
    cout << "Invalid input" << endl;
  }
}
}int main()
{
DecisionLoop(); return 0;
}
 
在这里我没有去对它的应用做更多的介绍,但我相信我的抛砖引玉一定能够让更多的人对这一功能产生兴趣。
对于在事件查看器中的应用程序和服务日志中找到的大多数内容,您也可以以相同的方式完成此类操作——单击特定日志的属性,它将具有Provider-Name-Parts / LogName形式的名称。您只需要在xperf命令中使用“Provider-Name-Parts”部分即可。
未发布 图像注释插件VintaSoftAnnotation.NET Plug-in更新至v8.5,增加注释样式
by Harriet666 keys 分享 1495531431279
VintaSoftBarcode.NET SDK是一个为软件开发人员开发的专业.NET条形码读取器和条形码生成器组件。它可以在数字图像和PDF中识别和读写1D&2D条形码。目前VintaSoftBarcode.NET SDK支持三种版本:Standard edition, Standard + WPF edition 和Silverlight edition。
 
【VintaSoftBarcode.NET SDK v9.2最新版下载】

更新内容:

  • 创建新的Vintasoft.Barcode.Web.Services组件,包含了用于读取和写入条形码的独立Web服务。该Web服务允许为任何.NET兼容的Web平台快速创建Web服务,例如ASP.NET WebForms、ASP.NET MVC、ServiceStack。
  • 创建新版Vintasoft.Barcode.Web.Api2Controllers,包括用于在ASP.NET MVC 5中读取和写入条形码的Web API 2控制器。
  • 已验证Vintasoft.Barcode.js的JavaScript代码与jQuery 2和3的兼容性。
  • 创建新的演示应用程序,演示了如何在ASP.NET MVC 5中读取和写入条形码。
  • Silverlight 4停止使用。
  • 添加了Visual Studio .NET 2017演示项目。

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