服务器全能环境 UPUPW ANK V1.1.4 发布
柚皮Windows服务器集成环境智控平台(以下简称UPUPWANK),主要用于一键部署全能网站运行环境,适用服务器生产环境和本地开发环境。UPUPWANK控制面板集成网站运行环境所需功能,简单几步即可创建PHP,JSP,ASP/ASP.NET站点。UPUPWANK控制面板独特的ANK控制区可随时切换为Apache前端、Nginx前端Apache后端、Kangle前端三种运行模式。UPUPWANK创建的PHP站点可选择不同版本的PHP,支持多PHP版本同时运行,解决了需要适配各种组件与版本的站点同时运行的需求。集成组件列表:Apache、Nginx、Kangle、Tomcat、JRE、MySQL、MariaDB、MongoDB、Sphinx、Filezillaftp、Memcached、Redis、PHP5.2、PHP5.3、PHP5.4、PHP5.5、PHP5.6、PHP7.1、Sendmail、ZendOptimizer、ZendGuardLoader、ionCubeLoader、SourceGuar
SQL经典讲解之配置SQL Server服务器属性
作者:刘新林转载请标明出处:http://blog.csdn.net/loving_ios/article/details/71915703为了确保SQLServer服务器安全、稳定、高效地运行,应对服务器属性进行优化配置,主要从内存、安全性、数据库设置和权限等4个方面根据具体业务需求进行重新设置。启动SSMS主界面,在对象资源管理器中点击鼠标右键,选择“属性”,打开“服务器属性窗口”,对服务器的内存、处理器、安全性、连接、数据库设置、高级和权限进行配置和调节,如图所示。窗口右侧默认显示的是“常规”选项的详细信息,包括服务器名称、产品信息、操作系统、平台、版本、语言内存、处理器、根目录、服务器排序规则、已集群化等属性,这些信息不能做修改。1、内存在内存管理界面中,主要对服务器等项目的内存大小进行配置,包含“服务器内存选项”、“其他内存选项”、“配置值”和“运行值”4项内容。“服务器内存选项”包括:①使用AWE分配内存:指定SQLServer利用AWE支持超过4GB以上的物理内存。②最小服务
JS中的类型转换
由于JS中的数据类型是松散类型,并且其在进行操作符运算时并不会像C++和Java一样先检测数据类型,而是隐式的进行数据类型转换,返回值有时并不如我们想象中那般,所以我们需要了解JS中的显示和隐式类型转换,以便在工程中有更好的运用1.显示类型转换Number(),把东西转换成数字类型Number('123');//123Number('-123');//-123Number('a');//NaNNumber(true);//1Number(null);//0Number(undefined);//NaNNumber(NaN);//NaNparseInt(string,radix),把字符串转换成相应进制的整数parseInt('10',16);//16parseInt('b',16);//11parseInt('b');//NaNparseInt('3',
【quickhybrid】JS端的项目实现
前言API实现阶段之JS端的实现,重点描述这个项目的JS端都有些什么内容,是如何实现的。不同于一般混合框架的只包含JSBridge部分的前端实现,本框架的前端实现包括JSBridge部分、多平台支持,统一预处理等等。项目的结构在最初的版本中,其实整个前端库就只有一个文件,里面只规定着如何实现JSBridge和原生交互部分。但是到最新的版本中,由于功能逐步增加,单一文件难以满足要求和维护,因此重构成了一整个项目。整个项目基于ES6、Airbnb代码规范,使用gulp+rollup构建,部分重要代码进行了Karma+Mocha单元测试整体目录结构如下:quickhybrid|-dist//发布目录||-quick.js||-quick.h5.js|-build//构建项目的相关代码||-gulpfile.js||-rollupbuild.js|-src//核心源码||-api
2017 年全球 JavaScript 技术调查结果解读
「阅」——JSCourse旗下栏目,专门推荐我们为大家精心挑选的优质JavaScript相关技术内容年底了,又将迎来一大波「总结」和「展望」,2016年为自己制定的2017年的目标都实现了吗?如果没有的话,也没关系,因为马上要2018了,已经没有时间去实现了,哈哈,开个玩笑,只要自己觉得过去一年过得充实快乐就行了!眼下,最重要就是跟随潮流,总结下2017年的自己和展望下2018年的自己。技术圈也不例外,所以小编今天就结合stateofjs公布的2017年关于JavaScript全球调查结果来解读下即将要过去的这一年的JavaScript技术相关情况。来自https://stateofjs.com先来介绍下stateofjs到底是什么,简单来说呢,这个网站向全球的工程师做调查问卷,内容涵盖前端框架
Vue组件通信之Bus
关于组件通信我相信小伙伴们肯定也都很熟悉,就不多说了,对组件通信还不熟悉的小伙伴移步这里。在vue2.0中$dispatch和$broadcast已经被弃用。官方文档中给出的解释是:因为基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会变得越来越脆弱。这种事件方式确实不太好,我们也不希望在以后让开发者们太痛苦。并且$dispatch和$broadcast也没有解决兄弟组件间的通信问题。官方推荐的状态管理方案是Vuex。不过如果项目不是很大,状态管理也没有很复杂的话,使用Vuex有种杀鸡用牛刀的感觉,当然,这也是要根据自己的需求来的,只是建议。vue官方文档中有这样一个定义:非父子组件的通信,内容很少,如下:其实关于这个非父子组件通信的demo还是有的,它藏在了$dispatch和$broadcast的迁移文档中,有兴趣的小伙伴可以点击进去查看。文档中的建议就是:对于$dispatch和$broadcast最简单的升级方式就是:通过使用事件中心,允许组件自由交
基于 HTML5 WebGL 的 3D 服务器与客户端的通信
基于HTML5WebGL的3D服务器与客户端的通信这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子。3D机房方面的模拟一般都是需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算是我对这次项目的一个总结吧。对了,这个例子我是参考一个DEMO来完成的,和示例中的显示有些不同,大家莫惊奇。例子链接:http://www.hightopo.com/guide/guide/core/schedule/examples/example_network.html本文动图:这个例子没有设计师的参与,样式上面大家将就将就,但是我觉得还不错啊,哈哈~进入正题,整个例子差不多用了200行的代码来实现的,这就是我喜欢用HT的原因,现在Web3d技术兴起,大体就是分为两派:插件派和HTML5派。HT就是基于HTML5的,不需要安装任何插件,啊,跑题了。。。首先,还是从场景的搭建开始,这个界面是在body体上添加了三个部分:3d组件,属
Rider 2017. 3 发布,.NET 跨平台集成开发环境
Rider2017.3发布了。主要更新内容如下:调试第三方代码:现在可以在Rider反编译的程序集中设置断点。SmartStepInto:当您调试方法链或嵌套的方法调用时,请选择一个特定的调用进入,同时跨过一行中的所有其他调用。返回本地值:函数返回值显示在变量视图中,这在方法调用的结果不存储在局部变量中时非常有用。更多调试器改进:调试器操作在Alt+Enter菜单中可用,现在可以将执行指针拖放到代码中的更前或更后的位置,并且异步函数的调用者现在显示在Framesview中。单元测试改进,包括新操作,本地快捷方式以及单元测试视图中更可靠的过滤。C#交互工具窗口来执行C#语句,而无需等待编译。Unitysupportimprovements,suchasnewcontextactionsandcodeinspections,improvedusabilityofcodecompletion,andsyntaxhighlightingi
为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable R...
当我们为一个委托写-=的时候,ReSharper会提示“DelegateSubtractionHasUnpredictableResult”,即“委托的减法可能出现非预期的结果”。然而在写为事件写-=的时候却并没有这样的提示。然而这个提示是什么意思呢?为什么会“非预期”?为什么委托会提示而事件不会提示?阅读本文将了解委托的减法。▲委托的减法可能出现非预期的结果ReSharper的官方帮助文档例子和现象从ReSharper的提示中,我们可以跳转到官方帮助文档CodeInspection:Delegatesubtractions-Help-ReSharper。官方文档中给出了一个非常典型的Demo程序:staticvoidMain(){Actiona=()=>Console.Write("A");Actionb=()=>Console.Write("B");Actionc=()=>Console.Write("C");Actions=a
一款让你效率翻倍的代码编辑器
没错,本文介绍的就是饱受众多c++程序员喜爱的SourceInishgt。以下简称SI。本文主要介绍基于3.5。因为最新的4.x版本存在不稳定的问题。未来不影响工作,暂时不向上更新。SI作为一款神级代码编辑器,常见的SI使用技巧,网络上已经前人已经写了很多文章。但是,很多人还没有完全挖掘出它的威力。本人的SI3.5配置文件链接:https://pan.baidu.com/s/1hspgDTE密码:c719如果过期下载不到,可以联系我。语义配色在我第一次使用SI的时候,着实被它各种便捷的操作惊艳了一把。但是我还是感觉原生默认的代码主题配色不好,没有发挥颜色的作用。我自己手动把c++里面常见的各种语义全部重新配置了一遍。蓝色--方法(不管是方法调用,还是方法定义)红色--语法关键字(ifelseintforfloatbool等)灰色--所有SI语义分析能关联到的变量白色--所有SI语义分析不能关联到的变量、方法、类名黄色--类名灰色背景--函数的参数
三大开源数据库代码质量横向评测,MySQL垫底
Firebird(官网、github)、MySQL(官网、github)和PostgreSQL(官网、github)是目前非常流行的三个开源数据库,各自都拥有大量的开发者粉丝,应用也非常广泛,但是很少有人去尝试求证这个问题:哪个数据库的代码质量更好?横向评测三大开源数据库的代码质量可是个不小的工程,但DZone近日完成了这个艰巨的任务,以下是评测结果摘要(关于评测方法、标准请查看原文):使用静态代码分析工具PVS-Studio对三个数据库产品的源代码bug分析结果(未排除误报)由于代码量不同,而且未排除误报,上表尚不能作为三大开源数据库代码质量的评判依据。经过后继一系列的代码漏洞测试后,DZone给出了如下的结论:漏洞测试得分(分数越低越好):Firebird4分MySQL12分PostgreSQL3分PostgreSQL在代码质量综合得分方面略微领先Firebird,两者都明显优于MySQL。由于Firebird与PostgreSQL的代码质量差异可能并未如测试分数的差异
Javascript中的Microtask和Macrotask——从一道很少有人能答对的题目说起
首先我们来看一道题目,如下javascript代码,执行后会在控制台打印出什么内容?1asyncfunctionasync1(){2console.log('async1start');3awaitasync2();4console.log('async1end');5}67asyncfunctionasync2(){8console.log('async2start');9returnnewPromise((resolve,reject)=>{10resolve();11console.log('async2promise');12})13}1415console.log('scriptstart');16setTimeout(function(){17console.log('setTimeout');18},0);1920async1();2122newPromise(function(resolve){23c
给初学者:JavaScript 中数组操作注意点
原文出处:CarterLi不要用for_in遍历数组这是JavaScript初学者常见的误区。for_in用于遍历对象中包括原型链上的所有可枚举的(enumerable)的key,本来不是为遍历数组而存在。使用for_in遍历数组有三点问题:遍历顺序不固定JavaScript引擎不保证对象的遍历顺序。当把数组作为普通对象遍历时同样不保证遍历出的索引顺序。会遍历出对象原型链上的值。如果你改变了数组的原型对象(比如polyfill)而没有将其设为enumerable:false,for_in会把这些东西遍历出来。运行效率低下。尽管理论上JavaScript使用对象的形式储存数组,JavaScript引擎还是会对数组这一非常常用的内置对象特别优化。https://jsperf.com/for-in-vs-…可以看到使用for_in遍历数组要比使用下标遍历数组慢50倍以上PS:你可能是想找for_of不要用JSON.parse(JSON.stringify())
canvas 四处乱窜的小球
QQ20171227-203915-HD.gif主要思路:使用面向对象的方法:首先定义一个球的构造函数,在函数原型上写两个方法:1.画球的方法;2.球移动的方法;然后,使用for循环实例化多个小球不停更新canvas画布形成小球碰撞的景象下面是构造函数的参数方法//定义一个球的构造函数functionBoll(x,y,r,color,speedx,speedy){this.x=x;this.y=y;this.r=r;this.color=color;this.speedx=speedx;this.speedy=speedy;}//画的方法Boll.prototype.draw=function(){context.beginPath();context.arc(this.x,this.y,this.r,0,Math.PI*2);context.fillStyle=this.color;context.fill();}//球的移动方法Boll.prototype.move=fun
CQRS
WhatisCQRSCQRSmeansCommandQueryResponsibilitySegregation.ManypeoplethinkthatCQRSisanentirearchitecture,buttheyarewrong.CQRSisjustasmallpattern.ThispatternwasfirstintroducedbyGregYoungandUdiDahan.TheytookinspirationfromapatterncalledCommandQuerySeparationwhichwasdefinedbyBertrandMeyerinhisbook“ObjectOrientedSoftwareConstruction”.ThemainideabehindCQSis:“Amethodshouldeitherchangestateofanobject,orre
Android进程框架:线程通信的桥梁Handler
第一次阅览本系列文章,请参见导读,更多文章请参见文章目录。Android是一个消息驱动型的系统,消息机制在Android系统中扮演者重要的角色,与之相关的Handler也是我日常中常用的工具。今天我们就来聊一聊这个。Android消息循环流程图如下所示:主要涉及的角色如下所示:Message:消息,分为硬件产生的消息(例如:按钮、触摸)和软件产生的消息。MessageQueue:消息队列,主要用来向消息池添加消息和取走消息。Looper:消息循环器,主要用来把消息分发给相应的处理者。Handler:消息处理器,主要向消息队列发送各种消息以及处理各种消息。整个消息的循环流程还是比较清晰的,具体说来:Handler通过sendMessage()发送消息Message到消息队列MessageQueue。Looper通过loop()不断提取触发条件的Message,并将Message交给对应的targethandler来处理。targethandler调用自身的handleMessage()方法来处理Message。事实上,
Android消息机制(Handler)——深入源码解析
2.概念本节都是基础,我化身十万个为什么提出以下几个问题!如果读者都明了那就直接跳向下一节!Android的消息机制是什么?Android的消息机制主要是指Handler的运行机制,主要作用是将当前线程任务切换到指定线程中去执行。为什么会有消息机制?因为Android在内部规定访问UI必须在主线程中去执行,如果在子线程中执行UI会抛出异常。有的同学会说:“那我们全部在主线程中操作不就好啦?”。这样也是不行的,如若该UI有访问网络等耗时操作在主线程中,会阻塞程序,并且导致ANR异常。这样我们只能在子线程中执行耗时操作,在主线程中更新UI,所以这就是Android提供消息机制的原因。总结一下,主要有两个原因:子线程访问UI会抛出异常主线程中执行耗时操作会发生ANR异常消息机制的原理是什么?说到原理,就不得不说3+1兄弟!Handler、MessageQueue、Looper+ThreadLocal3+1兄弟是消息机制的核心,只要掌握了这几兄弟,掌握消息机制就不在话下了!Handler:它的工作主要包含消息的发送和接收过程。Mess
码农不识贝叶斯,虽知数据也枉然
本文作者:伯乐在线-abel_cao。未经作者许可,禁止转载!欢迎加入伯乐在线专栏作者。数据的重要性毋庸置疑,但是如何让数据产生价值呢?对一个全栈老码农而言,经常在开发或者研发管理的时候遇到各种预测、决策、推断、分类、检测、排序等诸多问题。面对“你的代码还有bug么?”这样的挑战,一种理智的回答是,我们已经执行了若干测试用例,代码中存在bug的可能性是百分之零点几。也就是说,我们对当前程序中没有bug的信心是百分之九十九点几。这实际上就是一直贝叶斯思维,或者说使用了贝叶斯方法。不论我们看到,还是没有看到,它都在那里,熠熠生辉。如果预测当前软件有没有bug呢?还是要从贝叶斯定理看起。贝叶斯定理的浅解对老码农来说,贝叶斯定理的概率表达相对清晰,理解起来会相对容易。回忆一下我们学过的概率论,联合概率是满足交换律的,即:
程序员为什么不炫富?
点击上方蓝字即可关注本公众号首先是太宅,没什么花销,或者说没机会炫富,或者说他们的消费项也达不到炫富的程度。你能想象一个认知水平高,有爱好,有追求,有很多事情可以充实生活的人会做炫富这种技术含量很低的动作吗?程序员,以及性质类似的金融业从业者等,首先,收入只是“高薪”,远达不到“小富”。其次,赚得都是踏踏实实依托于个人能力的辛苦钱,没觉得“所得远低于付出”就已经很不错了。乐意炫富的人,不是因为有钱,而是因为付出的少而得到的多。程序员赚的都是辛苦钱,炫富给谁看?程序员是最不大可能炫富的群体,因为程序员这行真真正正知道什么才是真的有钱,不要搞笑了,还是靠工资为主要收入的程序员,无论如何不够格说自己有钱。程序猿改一个代码,可能就可以救活一家大企业,养活一个小镇。他们有时候就像魔法师一样,是不用提着砍刀上街去攒人头也不需要
python程序员开发必备的5大工具,你用过几个?
随着python的火热,不少的程序员业余时间都会研究这门编程语言。利用python开发,大牛用vim,接了2个显示器写python,气场甚是强大。有些程序员表示,jetbrains全家桶解决一切。还有的程序员说:sublime+python插件足矣!python程序员开发必备的5大工具,你用过几个?那么,有哪些值得推荐的Python开发工具呢?下面w3cschool就开始分享干货:0、AnacondaAnaconda简直是做数据分析的利器。非常适合于做一些分析和小段程序调试的工作。1、NetBeans它是开源软件开发集成环境,是一个开放框架,可扩展的开发平台。NetBeans可以用于Java,C/C++,PHP等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功能。python程序员开发必备的5大工具,你用过几个?2、PycharmPycharm可以应用于写相应脚本和程序包的开发。如果推荐pythonIDE,Pycharm排第二,其它的一定不敢排第一。当你写一个大几千行的项目,类、函数很多,