聚合文章列表
20 浏览

springboot整合rabbitmq

概述RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,或者简单地将作业队列以便让分布式服务器进行处理。它现实了AMQP协议,并且遵循MozillaPublicLicense开源协议,它支持多种语言,可以方便的和spring集成。消息队列使用消息将应用程序连接起来,这些消息通过像RabbitMQ这样的消息代理服务器在应用程序之间路由。基本概念Broker用来处理数据的消息队列服务器实体vhost由RabbitMQ服务器创建的虚拟消息主机,拥有自己的权限机制,一个broker里可以开设多个vhost,用于不同用户的权限隔离,vhost之间是也完全隔离的。productor产生用于消息通信的数据channel消息通道,在AMQP中可以建立多个channel,每个channel代表一个会话任务。exchangedirect转发消息到routing-key指定的队列fanout转发消息到所有绑定的队列,类似于一种广播发送的方式。topic按照规则转发消息,这种规则多为模式匹配,也

消息系统 2017-12-11 发布
35 浏览

Celery分布式任务队列入门(三)-任务

一次性设置多个选项,你可以使用update()方法:app.conf.update(CELERY_TASK_SERIALIZER='json',CELERY_ACCEPT_CONTENT=['json'],#IgnoreothercontentCELERY_RESULT_SERIALIZER='json',CELERY_TIMEZONE='Europe/Oslo',CELERY_ENABLE_UTC=True,)示例:fromceleryimportCeleryCELERY_CONFIG={'CELERY_TIMEZONE':'Asia/Shanghai','CELERY_ENABLE_UTC':True,#content'CELERY_TASK_SERIALIZER':'json','CELERY_RESULT_SERIALIZER':'json','CELERY_ACCEPT_CONTENT':['json'],'CELERYD_MAX_TASKS_PER_CHILD':1}SETTING

消息系统 2017-12-11 发布
28 浏览

使用 Laravel 消息队列要注意的问题

使用Laravel的消息队列处理异步任务,Redis作为队列数据库,Supervisor监控脚本异常中断并自动重启,这是Laravel处理队列任务的标准流程,但是实际中可能还会出现各种各样的问题,为了保证系统可靠性,还要注意几个问题。一、执行失败重试次数设置一定要设置任务执行失败重试次数,避免无限失败重试,超过重试次数Laravel会默认写到失败任务表中,也可以自己写执行失败后续处理逻辑。phpartisanqueue:workredis--tries=3需要先执行以下命令创建数据表:phpartisanqueue:failed-tablephpartisanmigrate二、程序异常的处理有时候程序执行过程会发生异常,比如依赖其他接口,请求HTTP接口超时等等,如果不捕捉异常,那么当前这个队列就会中断不能继续运行下去,比如给10000个用户推送内容,需要依赖接口推送,如果中间的请求挂了就会影响到后面的推送。这里的异常是指程序执行过程中发生的异常,不是指常驻进程挂掉,程序异常不一

消息系统 2017-12-11 发布
AD 友情赞助
14 浏览

深入Weex系列(八)Weex SDK架构分析

1、前言经过前面几篇Weex源码分析系列文章,相信大家对Weex是什么、Weex能带来什么、Weex是如何工作的等几个问题已经有了自己的答案。备注:本文会非常简洁,因为是站在前面几篇源码分析文章的肩膀之上进行概括总结。如果还有疑惑的话强烈建议大家回过头再去看看之前的文章;基于Weex0.16.0版本;2、Weex的核心能力诚然,Weex为了方便开发者提供了各种方便的组件便于傻瓜式开发,但随着我们对Weex剥丝抽茧,我们更能学习到Weex的精髓:如何以新思路解决老难题?Weex动态化、跨平台、结合Native的设计不仅解决了需要频繁发版的问题,同时在一定程度上可以节省人力成本。在技术选型上RN与Weex的思路都没有问题,也都坚信这条道路都可以走得通。对于二者最核心的能力就是JS引擎与Native的交互能力,别的类如Js框架、组件支持、工具链、扩展、生态等实际上都是附属,都是一项技术的附带产物,为了赢得开发者的支持而做的。对于Weex而言其实只要保留下Js与Native的交互能力,别的各种产物我们都可以自己实现一份,思路不会有大的差别

软件架构 2016-04-21 发布
19 浏览

前端每周清单第 43 期:2017 JavaScript 回顾、Rust 与 WebAssembly 开发游戏、Node.js 架构模式

前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周清单。新闻热点国内国外,前端最新动态Angular5.1发布:本文介绍了Angular5.1.0,AngularCLI1.6以及AngularMaterial的首个稳定版本的特性变化。Angular5.1.0中包含了多个小的特性变化与错误修复,此次系列更新主要包括了AngularMaterial&CDK稳定版发布、CLI工具支持ServiceWorker、对于Universal以及AppShell支持的提升、装饰器错误信息优化、支持TypeScript2.5等等。AntDesign3.0发布:AntDesign是面向企业级桌面应用的设计方案与实现,在2.0版本发布的14个月之后,3.0版本正式发布,包含了来自200多位贡献者

JavaScript 2017-12-11 发布
16 浏览

javascript面向对象系列第四篇——OOP中的常见概念

前面的话面向对象描述了一种代码的组织结构形式——一种在软件中对真实世界中问题领域的建模方法。本文将从理论层面,介绍javascript面向对象程序程序(OOP)中一些常见的概念对象所谓对象,本质上就是指事物(包括人和物)在程序设计语言中的表现形式。这里的事物可以是任何东西(如某个客观存在的对象,或者某些较为抽象的概念)。例如,对于猫这种常见对象来说,具有某些明确的特征(如颜色、名字、体型等),能执行某些动作(如喵喵叫、睡觉、躲起来、逃跑等)。在OOP语义中,这些对象特征都叫做属性,而那些动作则被称为方法此外,还有一个口语方面的类比:对象往往是用名词表示的(如book、person),方法一般都是些动词(如read、run),属性值则往往是一些形容词“Theblackcatsleepsonmyhead”cat是一个对象,black是一个颜色属性值,sleep代表一个动作,也就是OOP语义中的方法。onmyhead是动作sleep的限定条件。因此它可以当做传递给sleep方法的一个参数类在现实生活中,相似对

JavaScript 2017-12-11 发布
AD 友情赞助
30 浏览

angular4.0笔记

Template模板以html的形式存在Controller控制器,是一个typescript类,写业务逻辑,通过数据绑定与模板进行通讯@input()输入属性@Outputs输出属性providers提供器LifecycleHooks生命周期钩子style样式表animation动画@Injectable()在服务文件中使用//可注射模块app.module.ts//引入模块中需要的东西import{BrowserModule}from'@angular/platform-browser';import{NgModule}from'@angular/core';import{FormsModule}from'@angular/forms';import{AppComponent}from'./app.component';import{HeroDeatilComponent}from'./hero-deatil/hero-deatil.component';@NgModule(

JavaScript 2017-12-19 发布
15 浏览

PHP 实现验证码制作(二)

PHP验证码校验实例一、实验介绍1.1实验内容通过上节课的学习,相信你,也一定想大展身手一番。正如你所愿,本次实验就是对上节课的验证码的校验实例。本次实验的内容,由于是初级教程,所以在此并没有使用框架,而是用原生的PHP,在登录页面进行验证码的校验。1.2实验知识点编写HTML页面,在页面中创建一个表单,用于输入用户登录信息和验证码使用上节课封装好的ValidateCode验证码类利用尝过的Session技术验证用户提交的验证码使用jquery技术在不刷新页面的情况下,更换验证码,优化用户体验使用ajax技术进行数据传递1.3实验环境实验楼在线环境:Ubuntu14.04.5apache:apache2.4.7PHP:PHP5.5.9代码编辑器:可使用在线环境Brackets文本编辑器。1.4适合人群本课程难度为一般,属于初级级别课程,适合具有PHP基础的用户,熟悉PHP基础知识加深巩固。1.5代码获取你可以通过下面命令将代码下载到实验楼环境中,作为参照对比进行学习。$wgethttp://

JavaScript 2017-12-11 发布
24 浏览

import、require、export、module.exports 混合使用详解

自从使用了es6的模块系统后,各种地方愉快地使用importexportdefault,但也会在老项目中看到使用commonjs规范的requiremodule.exports。甚至有时候也会常常看到两者互用的场景。使用没有问题,但其中的关联与区别不得其解,使用起来也糊里糊涂。比如:为何有的地方使用require去引用一个模块时需要加上default?require('xx').default经常在各大UI组件引用的文档上会看到说明import{button}from'xx-ui'这样会引入所有组件内容,需要添加额外的babel配置,比如babel-plugin-component?为什么可以使用es6的import去引用commonjs规范定义的模块,或者反过来也可以又是为什么?我们在浏览一些npm下载下来的UI组件模块时(比如说element-ui的lib文件下),看到的都是webpack编译好的js文件,可以使用import或require再

JavaScript 2017-12-11 发布
AD 友情赞助
18 浏览

2017.12.11-学习笔记:js进阶知识点整理

前言:古人云,温故而知新,把自己学习js的进阶笔记整理一下,有错误之处还望指出,谢谢。→点我去看js基础知识点整理JavaScript进阶1.typeof:1.返回的是一个字符串;2.只能判断简单数据类型,复杂数据类型用instanceof;3.是一个关键字,不是一个函数,()的作用:提升优先级;4.如果是一个函数,返回的是function,函数在js里是一等公民;5.如果是null,返回的是object。2.逻辑运算符:逻辑中断:&&:找假值,从左往右依次判断,如果某个操作数的逻辑是false,中断。||:找真值,从左右往右依次判断,如果某个操作的逻辑是true,中断。转换成布尔类型是false的几种情况:nullundefined0NaN""false使用场景:functionanimate(fn){fn&&fn();//如果传参数函数就执行函数}animate();3.比较运算符:==的转换规则:NaN不等于任何值包括NaN本身null不等于任何值,除了null和undef

JavaScript 2017-12-19 发布
20 浏览

Serverless 框架 OpenWhisk 开发指南:使用 Node.js 编写 hello, world

在上一篇文章《Serverless框架OpenWhisk开发:hello,world》里,我们介绍了搭建OpenWhisk的环境。在这一篇文章里,我们将介绍:如何将上一节搭建的OpenWhisk服务作为服务器,并使用自己的macOS作为客户端。然后,在这之上运行我们的Serverless应用配置OpenWhisk客户端获取CLI首先,我们需要在我们的电脑上安装OpenWhisk的CLI,可以直接从Bluemix上下载二进制的包:https://openwhisk.ng.bluemix.net/cli/go/download/然后将命令加到环境变量中:$chmod+x./wsk$sudomvwsk/usr/local/bin为客户端获取密钥接着,我们需要到我们的vagrant虚拟机,为客户端分配一下密钥。使用下面的命令登录:vagrantssh然后,获取密钥:$wskpropertyget--authwhiskauth23bc4

JavaScript 2017-12-11 发布
15 浏览

一道小小的题目引发对javascript支持正则表达式相关方法的探讨

以前对于正则是非常惧怕的,因为看不懂和学不会。但最近项目中频繁的使用到了正则,因此强迫自己去学习了解,慢慢的体会到了他的魅力与强大。当然学习正则初入门的时候有些枯燥难懂,但越学越觉得轻松。本文不准备说关于正则本身的事儿,而是说一说关于javascript中关于正则的几个方法中被很多人忽略的地方。工具说到正则,很多人都是从抄到改到自己写,这个过程可能有时候很漫长。如一些工具能帮助你快速分析和学习正则,那么学习的过程你肯定要轻松得多。下面我推荐两个我经常使用的正则在线可视化工具,正则可视化工具图解符合铁路图规律(其实不明白什么是铁路一样很容易看懂,只是一些细微的地方和我们的常规思维有点差别)。regexper我最常用的一个,个人觉得UI做得比其他好regulex备选,他有一个很舒心的功能,可以提供一段js,嵌套到你的网站,生成正则可视化图一道小小的题目这道题目是在群里日常闲聊时,公司同事抛出来的,具体是出自哪里本人没去考察。先先说说题目:写一个方法把一个数字末尾的连续0变成9,如1230000变成1239999一道

JavaScript 2017-12-19 发布
AD 友情赞助
27 浏览

nodejs收集日志,rsyslog同步收集入es的实施

小爝优秀回答者3hoursago之前写过相关的2篇文章:1,前端异常监控系统的落地2,ElasticSearch和Gome-error-report的安装教程其实中间还忽略了一个问题,在文章2中,我只是在GER-server的项目中增加了一个ES的createlog的接口,这么做其实是一个不太好的方案,因为通过API的方式远程写日志,在大并发的情况下并不是最优的,会遇到一些瓶颈和写入失败的问题,如何能够避免呢?换了公司之后,自己在新公司做了一套新的日志收集方案,这里记录并且分享给大家。如果没有读过前两篇文章的建议去阅读前两篇之后再来看这一篇,本文主要是说日志的落地和同步收集的实施。首先来看一下这张图:本文主要是说错误SDK上报后,我们如何来做负载和日志的同步,这里的技术栈包括了rsyslog,es,nodejs,crontab。一,日志收集机的配置首先,一开始设计的是sdk上报后,先推到nginx,拿nginx的accesslog做落地的,但是后来发现,当SDK上报一条信息,包含多条错误日志时,这种做法很蠢,因

JavaScript 2017-12-11 发布
17 浏览

less全知全解

一.简介1.less是什么Less是一门一种动态样式语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让CSS更易维护、方便制作主题、扩充。Less可以运行在Node和浏览器上。如以下的less代码:@base:#f938ab;.box-shadow(@style,@c)when(iscolor(@c)){-webkit-box-shadow:@style@c;box-shadow:@style@c;}.box-shadow(@style,@alpha:50%)when(isnumber(@alpha)){.box-shadow(@style,rgba(0,0,0,@alpha));}.box{color:saturate(@base,5%);border-color:lighten(@base,30%);div{.box-shadow(005px,30%)}}最后会编译为:.box{color:#fe33ac;borde

CSS 2017-12-19 发布
26 浏览

大牛程序员200行CSS实现爆款特效之阴阳师卡片幽灵边框特效,觉得666

注意:下面是代码的一些规范,应该注意哪些点和分析等详细介绍最后在说几句:厉害程序员相对于普通程序员的优势在于:写出的代码更容易排错,不是高手的代码就不会错,而是高手的代码出了错容易找。高手的代码可读性一定很好,模块清晰,命名规范,格式工整,关键的地方有注释,出了异常有log,自然容易排错,即使交给别人去debug也是比较容易的。想获取全部源代码加Q群:657137906。多多练习,多写多操作!

CSS 2017-12-19 发布
15 浏览

前端CSS的工程化——掌握Sass这四大特性就够了

初遇CSS,一见倾心记得刚遇见css的时候,咱像是见了美人儿一样,简直是爱不释手啊,简简单单写几行算不上代码的代码,就能做出这么漂亮的东西,这也成了咱前端之路的最初动力。然而,随着项目体量和页面复杂度的增加,咱很快就发现这美人儿非但不漂亮,而且缺胳膊少腿儿的:缺少模块系统。模块系统是软件工程化的基石,CSS的这个缺陷对前端项目的工程化管理造成了很大阻力,导致开发大型应用时编码和维护都异常困难。js一开始也没有模块系统,后来各种轮子频出,什么CMD,AMD,UMD全蹦出来了,乱哄哄的,好在ES6从语言层面引入了模块系统才终结了这种乱象,以后js的模块化终于可以统一了。css你怎么不好好向你的好基友js学习呢,人家都有了,你还傻了吧唧的一点动静都没有。没有变量机制。这对控制多个地方会引用到的属性值很不方便。比如一个颜色值,页面好多地方用到,设计MM突然心血来潮把这个值换成了另一个颜色,咱们怎么办,ctrl+f全局替换?万一换掉了不该换的,或者漏掉了几个怎么办。嵌套的层级写法非常蛋疼。经常会出现.page.conte

CSS 2017-12-11 发布
21 浏览

c#知识点2.0 语句

主要说一下我认为比较重要的东西。foreach循环格式:foreach(类型循环变量in变量的取值集合)变量值集合类型必须是一个集合,而循环变量必须和它的类型一致,如果不一致,需要显示转换,循环变量是一个只读的局变量goto语句可以用于任何语句的跳转,可以跳进跳出循环语句,共同语句需要指明标签,使goto语句跳转到标签处。尽量少用goto,代码可读性差,容易造成程序混乱。异常处理异常程序运行时遇到的错误,或者程序意外的行为,在异常发生时,采用异常处理**try-catch语句try-finally语句try-catch-finally语句try语句包含一个可能发生异常的代码块,后面更一个或者多个catch语句捕获异常,可以用throw抛出,finall语句一定会被执行。只是大概的说一下,这些语句java,c++中或多或少,都有涉及,只是会有些不同而已。codeusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text

.Net 2017-12-19 发布
18 浏览

Eric Lippert 推荐的C# 阅读清单

EricLippert是微软C#编译器d的开发者和C#语言设计小组的重要成员。他的博客,FabulousAdventuresinCoding,页主要是关于编程语言的设计和实现。他也经常作为一名问题解答者出现在StackOverflow的C#板块内容中。以下是他推荐的一些相关图书:SamsTeachYourselfVisualC#2010in24HoursbyScottDorman中文版:《C#5.0入门经典》不要被这本书的名字吓到,这本书对于入学者非常的初学者。虽然EricLippert更加认同花十年学一门语言。作者没有像其他入门书作者一样,用自己的学习路径来组织书本的结构,也没有按照程序发展的顺序进行介绍,而是采用循序渐进。由浅入深的方式。EssentialC#4.0byMarkMichaelis中文版:《C#6.0本质论》C#InDepth,2ndEditionbyJonSkeet中文版:《深入理解C#》这两本书Eric经

.Net 2017-12-11 发布
21 浏览

关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案

在win7,win10,vs2015,vs2017之间折腾了两天,死活就是调不出来Mysql数据源。真是活见鬼了。直接说方案吧。一,卸载你所安装过的mysql-connector-net、mysql-for-visualstudio-1.2.7、mysql-installer-community、mysql-installer-web-community等为了实现连接的应用或者驱动,在控制面板,卸载程序里搜,搜到这个右键卸载。清理,重启,关掉VS。二,确认ODBC驱动,在控制面板\所有控制面板项\管理工具中查看ODBC数据源64位。确认图中两驱动是否存在。假如不存在,去官方下载:https://dev.mysql.com/downloads/connector/odbc/安装,完成后,重新打开ODBC数据源,确认驱动情况,最好重启。三、安装mysql-for-visualstudio-1.2.7.msi这个有个问题,如果你是下载的mysql-installer-web-community-5.7.20.0.ms

.Net 2017-12-11 发布
15 浏览

关于包含dom元素会出现Warnings while compiling.警告的问题!

做路由的时候,我突然有一个想法,这个<router-link></router-link>能不能不仅仅包文字,能不能包含dom元素呢?如果能包dom元素,那它都能包含什么dom呢?在dom元素里,能跳转的只有a元素,当然a元素是最好的的选择,你要想非要选个span,div之类的,那你可以试试!文档里面写的是可以在router-link标签里加上tag这个属性来修改它的元素指向,所以我就做成了这样<router-linktag="li"v-for="(item,index)inx.child":to="item.link"><ahref="javascript:void(0)"class="title-list"><iclass="iconfonticon-jiantouicon-after"></i>{{item.title}}</a></router-link&

vue.js 2017-12-09 发布
AD 友情赞助