聚合文章列表
15 浏览

Nginx+Tomcat+Redis实现持久会话

使用开源web应用soloblog进行项目演示。前端使用Nginx作为负载均衡器,后端Tomcat连接Redis实现session存储。Redis的特点就是可以将session持久化。样才能真正实现后台多个Tomcat负载平衡,用户请求能够发往任何一个tomcat主机。keeplived、zabbix与ansible暂不在本文章的范围当中,会在之后的文章逐一进行讲解实验架构图部署环境CentOS7Nginx1.10.2Tomcat7.0Redis3.2.3Mariadb5.5.44一、Nginx服务器配置安装前准备ntpdate172.18.0.1iptables-F安装Nginxyuminstallnginx修改配置文件upstreamtomcatservers:创建后端服务器组,要在http内部追加location:匹配URL,在server内部追加注:省略号为其他默认的参数,如果没有特殊需要按默认即可vim/etc/nginx/nginx.confhttp{...upst

MySQL 2017-11-22 发布
16 浏览

PHP面试题5: MYSQL相关

整理编写不易,百度、Google、翻书,回答验证,才弄了这么多,大多数都不是简单的回答,所以转载请注明出处:一、mysql中出现中文乱码如何解决mysql_query('SETNAMESUTF8')二、试述Myisam与Innodb之间的区别1.早期mysql默认采用myisam,5.7以后默认innodb2.MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。3.InnoDB支持数据行锁定,MyISAM不支持行锁定,只支持锁定整个表。即MyISAM同一个表上的读锁和写锁是互斥的,MyISAM并发读写时如果等待队列中既有读请求又有写请求,默认写请求的优先级高,即使读请求先到,所以MyISAM不适合于有大量查询和修改并存的情况,那样查询进程会长时间阻塞。因为MyISAM是锁表,所以某项读操作比较耗时会使其他写进程饿死。

MySQL 2017-11-23 发布
13 浏览

如何在angular2中获取节点

我们知道在angular2中ts文件支持js代码,为什么用document.getElementById没法获取元素节点呢?其实在angular2中先加载ts文件,再加载view,所以获取不到节点。在应用层直接操作DOM,就会造成应用层与渲染层之间强耦合,导致我们的应用无法运行在不同环境,如webworker中,因为在webworker环境中,是不能直接操作DOM。通过ElementRef我们就可以封装不同平台下视图层中的native元素(在浏览器环境中,native元素通常是指DOM元素),最后借助于Angular提供的强大的依赖注入特性,我们就可以轻松地访问到native元素。angular2有生命周期钩子AfterViewInit可以帮助我们在view加载完之后再执行相应的tsts:import{Component,ElementRef,AfterViewInit}from'@angular/core';exportclassAppComponent{

Angular 2017-11-26 发布
AD 友情赞助
15 浏览

oo css

前言很多开发者觉得css很简单,如果有时间更愿意用在学习和研究js上,随着css3推出以及一些css的预处理语言和面对对象的编程css的方式的出现,css已经出现了更多的可变可提高空间。而面对对象的css是指将可重用的元素样式定义为一个类,而与其对应的元素可以看成一个实例。这个类也支持继承,多态等,在大型项目中,为了降低维护成本,建议使用这样的方式。作用以及注意事项作用增强代码可维护性减少代码体积提高渲染效率组件库思想,栅格布局复用,减少选择器,方便扩展注意事项不要直接定义子节点所有样式,应该把共性申明到父类(子节点和父类存在必然捆绑关系,不是容器与组件的关系,而是组件内部的处理)//badcodes(每个子节点都定义同一字号).m-section.inner1{font-size:12px}.m-section.inner2{font-size:12px}//bettercodes.m-section{font-size:12px;}结构和皮肤相分离,控制结构以及基本样式的类与控制皮肤样式的类分离//badcodes

CSS 2017-11-26 发布
16 浏览

CSS3 radial-gradient径向渐变语法及辅助理解案例10则

这篇文章发布于2017年11月23日,星期四,00:23,归类于css相关。阅读48次,今日45次byzhangxinxufromhttp://www.zhangxinxu.com/wordpress/?p=6521本文可全文转载,但需得到原作者书面许可,同时保留原作者和出处,摘要引流则随意。一、语法细节记不住怎么办?实际开发的时候,当要使用radial-gradient径向渐变的时候,脑中会有大概的语法,但是细节却记不住,于是想快捷找个案例看看具体怎么用,然后直接套一下。通常一番搜索,会发现虽然是个简单需求,但是正好满足这个需求的页面却不好找,乱糟糟的。下次遇到这种场景,直接来本站搜“径向渐变”,或者直接搜索“渐变”,就有专门展示radial-gradient径向渐变基本语法使用案例的文章。文章共展示了10例常见使用案例,相信一定可以覆盖你的使用场景的。首先,假设我们使用同一段HTML作为示意:

然后…二、radia

CSS 2017-11-23 发布
16 浏览

基于 HTML5 WebGL 的 3D “弹力”布局

基于HTML5WebGL的3D“弹力”布局分子力(molecularforce),又称分子间作用力、范得瓦耳斯力,是指分子间的相互作用。当二分子相距较远时,主要表现为吸引力,这种力主要来源于一个分子被另一个分子随时间迅速变化的电偶极矩所极化而引起的相互作用;当二分子非常接近时,则排斥力成为主要的,这是由于各分子的外层电子云开始重叠而产生的排斥作用。HTforWeb提供了弹力布局(也称为力导向布局)的功能,即根据节点之间存在互斥力,相互连接的节点间存在引力,弹力布局运行一段时间后,整体拓扑网络结构会逐渐达到收敛稳定的平衡状态。这个功能很有趣,今天我们就将它的魅力展现出来。本例地址:http://www.hightopo.com/demo/pipeline/index.html使用弹力布局功能需要在引入ht.js核心库之后,再引入一个ht-forcelayout.js的弹力布局插件库,因为还用到了form表单,所以要引入ht-form.js的表单插件库:

HTML5 2017-11-22 发布
AD 友情赞助
15 浏览

Http 遇上 Websocket 协议

说到协议,我们第一反应都会想到http,既然这样,那就对Http协议再简单的BB一番,没有对比就没有伤害,我们来见证一下最终是谁会是受伤的一方,当然结果还是你说了算,不要问小编为什么,因为你牛逼啊。Http和Https详细介绍请看作者写的一篇文章:深入解析Http和Https。Http协议:众所周知的超文本传输协议,所有的万维网都遵循此协议,这家伙出道早(1945年传说中RFC-http1.0),加上又没有竞争对手可称之为在协议界的一大霸主。建立在TCP协议之上,称之为http,但是建立在SSL和TLS协议层之上,又变成了人们常说的https。总之不管怎样,他们只是所承载的协议层不同罢了,不要太介怀。如果你很是介怀,没办法,小编只能说你先去熟悉网络的7层协议,一层层分析,慢慢介怀去。Http请求响应模式:宏观上看是不是超级简单?一个Request对应一个Response。建立连接后,客户端发送一次请求,服务端确认收到了,就被动反应一下。看起来很不友好的样子,在1.0时更可怜,默认的是短连接,客户端和服务端之间

HTML5 2017-11-22 发布
28 浏览

Celery 源码解析七:Worker 之间的交互

前面对于Celery的分布式处理已经做了一些介绍,例如第五章的远程控制和第六章的Event机制,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的,对于多实例直接的交互更多,这就是Gossip和Mingle。Mingle在Celery的介绍中,Mingle主要用在启动或者重启的时候,它会和其他的worker交互,从而进行同步。同步的数据有:其他worker的clock其他worker已经处理掉的tasks这其实也就是它的所有功能的,所以你可以猜测功能应该很简单吧?不妨一起来看看,最开始还是回忆一下第一篇文章中的Bootstep,所以我们可以毫无压力得找出源码所在的文件:这里从注释中可以很简单得看出Mingle的作用,然后初始化也是比较简单,关键还是Line37的start,需要我们关注sync做了什么,为什么上来二话不说就sync?其实上来就sync很好理解,毕竟Mingle的作用就是进行sync嘛,所以我们要关注的

消息系统 2017-11-22 发布
18 浏览

MySQL Binlog 事件介绍篇

原文出处:zhaohui前言上一篇文件MySqlBinlog初识,对Binlog的参数,格式以及个别事件做了详细介绍,但是Binlog事件数量比较多,上篇文章中没有对所有事件进行介绍;本文将对Binlog的事件进行简单说明,必要的时候通过SQL触发相关的事件,以下基于Mysql5.5,5.0以前的版本不考虑。Binlog事件1.UNKNOWN_EVENT此事件从不会被触发,也不会被写入binlog中;发生在当读取binlog时,不能被识别其他任何事件,那被视为UNKNOWN_EVENT。2.START_EVENT_V3每个binlog文件开始的时候写入的事件,此事件被用在MySQL3.23–4.1,MYSQL5.0以后已经被FORMAT_DESCRIPTION_EVENT取代。3.QUERY_EVENT执行更新语句时会生成此事件,包括:create,insert,update,delete;手动触发:

MySQL 2017-11-22 发布
AD 友情赞助
9 浏览

前台与PHP与Mysql

三者之间的联系:前台获取数据库里面的数据,提交数据到数据库,都要通过php(就是我们说的后台),php充当桥梁。下面就以简单的“订餐”来介绍三者之间具体要做什么事。一、前台1、前台,通俗来说就是展示给用户看的页面,那么我们在写页面的时候就要考虑到,我们要展示什么,在页面的展示位置以及数据从哪来。今天要说的这个小例子就是:我们先利用Ajax向后台发送请求,后台执行连接数据库操作,将获取的数据传送给前台,前台就获取了菜单,展示在页面上,然后用户开始点餐,点好之后将提交数据到后台,后台再将数据写入数据库。在这里,我们以form表单提交数据。2、获取与提交数据前台要写的代码:①获取数据库数据:具体的过程都有注释,注意,form的action属性值是提交数据的接口,而Ajax的open方法里面是获取数据的接口,一定要注意区分。二、后台1、从数据库获取数据,后台要写的代码:①连接数据库:$link=mysqli_connect("localhost","root","","mydb");备注:参数1,本地;参数2,root(这里根据具

MySQL 2017-11-26 发布
15 浏览

bootstrap导航栏.nav与.navbar区别

刚刚看了bootstrap的导航栏,发现有点弄混了,现在来整理一下;一、简单的ul,li组成的导航:123//解析:.nav.nav-item.nav-link表示ulli是导航——.nav-pills表示胶囊状导航——.bg-dark/.nav-dark表示黑底白字——.justify-content-center表示导航栏在浏览器上居中显示在浏览器上显示为:缩小浏览器窗口显示为:二、导航栏——

13 浏览

我从.net转到java的心得和体会

前言:由于有不少人咨询过我如果从.net转java,有什么技巧吗,我现在就分享我从.net转java的历程,这里不涉及两门语言的比较,记录的都是我个人的观点。一:从.net转java的初衷我是2013年11月正式开始使用.net这门语言工作一直到2016年3月份截止,前后近2年半的时间,从最开始的套站到用TDD来自己搭架构。说实话我很喜欢.net语言的,编辑器智能,语言很优雅也大家可以从我的博客中看到很多关于.net,但是在2016的一个转折点让我思考是不是应该转java了,因为当时2个同事相继离职,分别去了美团和小米(他们都是前端),谁不想去大企业发展呢,我也想,可是我看遍了网上的招聘,除了汽车之家、去哪儿基本没有知名度高的企业招聘,我又去看看java的真是太多大企业招聘,阿里、百度、美团、网易、爱奇艺等都有,所以那个时候真的想转行,所以在私下就会看了一点java的书籍。二:选择有一天在一个EA(enterprisearchitect)群聊天,他说要招人,我就和他嫌扯几句,因为我会用EA画流程图、活动图、序列图等,所以他觉

.Net 2017-11-22 发布
AD 友情赞助
17 浏览

Kafka0.9获取消费组偏移量

新版本(0.9+)的Kafka将consumergroup的消费偏移量保存在一个特殊的topic里,在此之前的版本中都是保存在zookeeper里。而新版本的kafkaSDK并没有暴露出查询偏移量的方法,也就无从得知现在消费积压了多少任务,而我正需要监控这个事情。经过各种谷歌,最终只能使用Kafka自带的一个工具来获取,方法如下:bin/kafka-consumer-groups.sh--bootstrap-server"10.9.107.229:9092"--new-consumer--describe--group你的消费组名称它将打印消费组关联的所有topic以及partition的Offset信息,下面是个例子:GROUP,TOPIC,PARTITION,CURRENTOFFSET,LOGENDOFFSET,LAG,OWNERsmzdm-1,test-bigpipe,0,4957648,4957648,0,rdkafka_/10.10.25.125smzdm-1,test

消息系统 2017-11-22 发布
13 浏览

来自猎头的一张图:相比交易员,金融业对码农的需求将高得多

摘要:根据金融猎头公司OptionsGroup的预测,2018年,金融企业对数据科学家和机器学习专家等科技人才的需求将继续高涨。与之相反,他们对股票交易员等传统金融岗位的招聘兴趣将颇为寡淡。*本文来自华尔街见闻(微信ID:wallstreetcn),编辑祁月。更多精彩资讯请登陆wallstreetcn.com,或下载华尔街见闻APP。*最近的一年里,码农的风头远远盖过了金融民工,连人工智能都威胁着金融民工们的饭碗。人们不禁要问:金融职业的未来需求将会怎样呢?或许,华尔街金融猎头公司OptionsGroup最新发布的年度薪酬报告可以带我们一窥金融业的职位奥秘。OptionsGroup在薪酬报告中表示,预计2017年绝大多数交易员的薪酬都会比去年少。更重要的是,他们还附带了一份图表,对2018年的金融招聘活动作出了预测:明年,金融业招聘最重要的驱动力量之一以及薪酬集中趋势将是在技术领域。在全球范围内,企业对数据科学家和机器学习专业人才方面的雇佣需求将持续强劲。目前,市场对这类人才的需求已经远远超过了供应。根据这份图,

程序员 2017-11-22 发布
14 浏览

基于Go技术栈的微服务构建

在大型系统的微服务化构建中,一个系统会被拆分成许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种构建形式中,开发者一般会聚焦于最大程度解耦模块的功能以减少模块间耦合带来的额外开发成本。同时,微服务面临着如何部署这些大量的服务系统、如何运维这些系统等新问题。本文的素材来源于我们在开发中的一些最佳实践案例,从开发、监控、日志等角度介绍了一些我们基于Go技术栈的微服务构建经验。开发微服务的开发过程中,不同模块由不同的开发者负责,明确定义的接口有助于确定开发者的工作任务。最终的系统中,一个业务请求可能会涉及到多次接口调用,如何准确清晰的调用远端接口,这也是一大挑战。对于这些问题,我们使用了gRPC来负责协议的制订和调用。传统的微服务通常基于http协议来进行模块间的调用,而在我们的微服务构建中,选用了Google推出的gRPC框架来进行调用。下面这张简表比较了httprpc框架与gRPC的特性:

软件架构 2015-03-26 发布
14 浏览

微服务架构企业级增强产品:数人云推出统一配置中心Hawk

11月16日,数人云在PaaSInnovation大会上,正式发布企业应用架构管理体系EAMS,这是数人云轻量化PaaS平台的重要产品体系,也是数人云向微服务方向延伸,践行微服务落地的战略调整。传统企业对微服务应用的管理需求日益强烈,微服务也成为云计算原生应用的标准开发框架,是落地敏捷开发和部署的关键。如今,EAMS产品家族又多了一位核心成员——数人云统一配置中心Hawk。互联网企业和传统金融等行业具有业务配置复杂,配置数据量大,配置容易出错等特点,如何能将配置数据与程序包解耦,避免对环境的依赖成为一大难点。特别是引入微服务后,业务配置数量急剧增加,出错概率也同步增加,如果能统一管控,支持多环境管理成为运维的一大难点和痛点。基于微服务理念打造的分布式统一配置中心Hawk支持多种类型配置如SpringCloud、Dubbo、KubernetesConfigmap、Logback、LinuxEnvironment等等,具有完善的配置管理流程、配置实时推送、支持多集群多环境、多版本控制,更提供配置细力度的管理如灰度管理、任意版本重置

软件架构 2017-11-22 发布
14 浏览

浅析Android Architecture Components

image前言ArchitectureComponents是谷歌官方提出的Android应用框架。这个新的框架库旨在帮助我们设计健壮、可测试和和维护的应用程序。现在1.0的正式版已经发布了,下面让我们通过实际构建来了解一下。构建在项目的build.gradle中添加GoogleMavenRepositoryallprojects{repositories{google()jcenter()//ArchitectureComponentsmaven{url'https://maven.google.com'}}}在模块build.gradle中添加相关依赖如使用Lifecycle、LiveData、ViewModel,添加如下依赖。//Architecturecomponentsimplementation'android.arch.lifecycle:runtime:1.0.3'annotationProcessor"android.arch.lifecycle:compiler:1.0.0"

软件架构 2017-11-22 发布
12 浏览

MHA failover NON-GTID 专题

MHAfailoverNON-GTID专题这里以masterha_master_switch为背景详解各种可能遇到的场景假定环境(经典三节点)host_1(host_1:3306)(currentmaster)+--host_2(host_2:3306slave[candidatemaster])+--host_3(host_3:3306etl)一、Master:MySQLdown1.1etl延迟8小时配置文件中加上no_check_delay=0即可忽略报错1.2slave(候选master)比etl还要落后更多1.2.1当master的部分日志还没传递两个slave,这时候master上的MySQL挂了###模拟现场,现场的3台DBbinlog状态*masterhost_2dba:lc>showmasterstatus;+---------------------+----------+--------------+------------------+-------------------+|

MySQL 2017-11-22 发布
12 浏览

移动端项目踩到的坑及解决方案

摘要:近期在做移动端项目开发当中遇到了一些了,整理了一些出来,希望对前端小伙伴有帮助。问题1:输入框的readonly属性在IOS的兼容问题问题描述:在业务中,需要对某些个输入框进行readonly操作,Android和PC(仅仅是使用开发者工具进行移动端模拟)都是OK的,但是在IOS上点击的时候却依然会出现光标,聚焦依然存在。问题解决:1:查询网上一些资料,很多都说是使用unselectable="on",好吧,用过后发现并没有什么卵用,原因在于这个属性并不是针对readonly的,而是针对blur的,只能换方法(此方法不成功)2:另外一种方法是直接设置input的disabled属性,但是这样设置会使input的事件失效,而且个人感觉,你设置了disabled,我还得去设置disabled的样式,这又是一个新的问题,由一个问题引发出另一个问题,这确实不是一个好的解决办法(此方法成功,但是有缺陷)3:还有一种方法就是在input聚焦的时候让它马上失去焦点,这样就能规避掉光标的显示问题,具体代码如下:

JavaScript 2017-11-22 发布
14 浏览

让我们一起创建一个 JavaScript Wait函数– Hacker Noon

让我们来创建一个JavaScriptWait函数Async/await以及它底层promises的应用正在猛烈地冲击着JS的世界。在大多数客户端和JS服务端平台的支持下,回调编程已经成为过去的事情。当然,基于回调的编程很丑陋的。如果您还没有使用过,那么开始接触并使用async/await和promise是非常有必要的。在async/await之前,我并没有十分痴迷于promise,就像您看到的下面的代码:比回调地狱好点,但并不美观。关于async/await有很多很好的介绍,所以在这里就不再做过多讨论,只占用15秒:您使您的函数返回一个promise,然后使用await(内置了一个异步函数)来调用这个promise。Theseexampleswillalsomakeuseofanew-ishJSfeature,arrowfunctions.这些示例还将使用一个新的JS特性,箭头函数。如果您习惯于下面这种写法:function(a){returnconsole.log(a)}

JavaScript 2017-11-22 发布
AD 友情赞助