聚合文章列表
17 浏览

RabbitMQ消息持久化

一、前言如果我们希望即使在RabbitMQ服务重启的情况下,也不会丢失消息,我们可以将Queue与Message都设置为可持久化的(durable),这样可以保证绝大部分情况下我们的RabbitMQ消息不会丢失。当然还是会有一些小概率事件会导致消息丢失。二、队列持久化2.1查看存在的队列和消息数量在windows环境下,在rabbitmq的安装目录/sbin下,通过rabbitmqctl.batlist_queues查看这边启动了两个producer,分别生成两个队列hello和hello1,并且他们都有一个消息存在重启rabbitmq,模拟故障可以看到重启后两个队列都消失了2.2持久化队列我们就hello队列持久化在声明队列名称时,持久化队列,生产端和消费端都要channel.queue_declare(queue='hello',durable=True)我们重复上面的操作,但是给hello队列做持久化,而hello1不做,并重启rabbitmq可以看到重启后,hello队列还在,hel

消息系统 2018-01-04 发布
18 浏览

程序员小白面试过程中,该怎么判断该公司好坏

2017年已经进入尾声,大家换工作的心,是否早已蠢蠢欲动?如果是,请继续看!当你面试结束后,你该如何判断这个工作的好坏呢?今天小编为大家介绍8问题检测法,只需回答这8个问题,就能判断工作的好坏。你也可以在面试的时候,偷偷给这家公司测试一下,如果你的回答里面有2个yes,那么就需要拉响警报,不要再考虑这家公司了。1薪资是否低于市场价值水平如果有公司愿意提供4万8的月薪搜罗拥有10年C++多线程编程经验的骨灰级程序员,我想说这公司肯定是疯了!呵呵,这种疯言疯语绝非长久之计,因为只有你的价值大于给你的价格,才会有公司愿意要你,所以各位还是不要心存妄想,现实一点吧。2我需要随传随到吗没人乐意随时待命,因为一旦如此,就意味着哪怕是周末的凌晨3点,就算是支持门户页面上的Reset按钮呈现的蓝色调与预想的不同,也会call你。当然偶尔一两次我们也可以理解和容忍。3我是IT人员吗程序员写软件、支持软件,天经地义。但这并不意味着,你就是专门搞电脑的IT人员了。试问,公司人员会不会因为一点点计算机的琐事

程序员 1900-01-01 发布
18 浏览

2017:过艰苦的生活和当程序员是脱离这个体面世界的两条捷径

与许多人不同,2017,对于程序员这个群体来说,似乎是与外界爆发剧烈碰撞和事件频发的一年。似乎与代码打越多交道,就离真实世界越远,那个歌舞升平,觥筹交错的体面世界。孤独与焦虑程序员们往往习惯于早早的就把家庭的期待背在肩上。第一批吃到互联网红利的人里,有很大一部分程序员,他们可能早早的就得到了很高的收入。可以以一己之力给家庭提供很好的生活。他是父母的骄傲,妻子的参天大树,孩子眼中无所不能的爸爸。但同时,一睁眼就是每个月一万五的贷款和小孩上学的钱。被新技术抛下的焦虑、移动互联网红利的逐渐消失,以及逐渐无法应付高强度加班的身体状况,都让程序员陷入对未来的焦虑中。十年前大家挤破头想去的中兴华为,在2017年因为裁员都闹出了大动静。年初的时候华为被爆“清退34岁以上的员工”,引发行业集体焦虑,年末中兴因辞退员工而造成的“跳楼事件”更是让人心痛。2018,希望你能缓一缓,停一停,喘口气。好好锻炼身体,调整作息,延长有竞争力的工作年限。误解与认同程序员这个群体的标签,似乎早早就变成了“赚的多,老实,

程序员 2017-12-30 发布
AD 友情赞助
22 浏览

工作面试

2016年末,腾讯,百度,华为,搜狗和滴滴面试题汇总2016年未,腾讯,百度,华为,搜狗和滴滴面试题汇总杭州找Android工作的点点滴滴写在前面的话我从14年毕业到现在一直待一个三线城市,就用C市代替吧。地方很小,适合居住,但不适合it开发,城市很小、圈子很小,it不发达,想要在it上面有出路的还是得去北上广深大城市。我在这个城市呆了三年左右由于自己的一些私事所以趁机就出来想找个大城市呆呆,原本…5款精致简洁的个人简历模板(二)包含INDD、IDML、PDF、PSD、DOCX等格式,方便自由修改和学习。2017移动互联网寒冬(Android)求职随感一名初级工程师的面试随感2017年4月美团Android面试总结开发职位或许没有之前如此火爆,但是只要你有真才实学,找个较好的工作还是比较容易的。如果你是985,211,如果你是硕士学历,那找个满意的offer更是不再话下;即使不是上面的条件,只要你好好努力的学习,把每一项的技术点攻破了,同样可以达到甚至超越上面条件的同学。想不想通过一

程序员 1900-01-01 发布
24 浏览

有用的框架级的东西

Android开源图表库-SmallChartSmallChart是一个开源的Android图表库,拥有5种不同的图表类型来展示数据。可以通过输入的数据以及可设置的颜色、画笔大小等属性方便的创建图表。Realm,为移动设备而生替代SQLite和CoreData。为你省下数周的时间和数千行的代码,帮你创造出更棒的用户体验。写给新人看的自定义View-onLayout篇简单的流布局Android6.0权限适配及兼容库的实现从6.0MarshMallow开始,Android支持动态权限管理,即有些权限需要在使用到的时候动态申请,根据用户的选择需要有不同的处理,具体表现可以看下图:权限申请本文并不关心权限适配的原理,原理可以参考Android权限管理原理,这里只是针对6.0中的表现做适配,先…android7.0通过代码分享图片到朋友圈android7.0通过代码分享图片到朋友圈Android进程通信之Messenger&AIDL使用详解提到的进程间通信(IPC:Inter-Proce

程序员 1900-01-01 发布
16 浏览

在面试时如何谈论你自己

HowtoTalkAboutYourselfinanInterview?「ErlichLiu」:这篇文章还是刷新了一些我对面试的认识,这可能是很多行业都通用的方法,首先你要有作品集或者说一些经验,总之是你要做过一些相关的事情。然后给这件事一个吸引人的开端,讲述你在做过的项目中对关键节点的认知,对遇到问题的解决过程而并非一定是解决办法。这两点非常重要,因为这就是你工作的核心能力。所以你要把这些经历融入到一个好的故事中讲出来。「原文链接:如何在面试时谈论你自己」在面试时该如何谈论你自己?当人们问我他们在进行技术面试时应该先知道什么,他们都得到了一个同样的答案:为谈话做准备。面试是一种充满压力的环境,压力会影响你的交流。你可能不能完全地思考、说不出完整的句子、在不合适的时候发笑、谈话的话题离主题太远,甚至你忘记了谈话的主题是什么。有时候,你可能开始放弃,表现出绝望……为谈话做准备不是为了填补时间;这是关于优先考虑他们需要了解你的事情。我们转换一下话题,来想象一下你正要雇一名员工,那么你想知道些什么?以下是我的问题

程序员 2018-01-01 发布
AD 友情赞助
20 浏览

markdown模式的一些语法

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。简书支持程序员写技术博客的模式,Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式。一:区块引用符号:大于号区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的>:

程序员 1900-01-01 发布
21 浏览

浅谈微服务架构中的鉴权体系

在微服务架构中,有一个核心的问题是处理好“集权”(中心化)和“放权”(去中心化)的关系。虽然微服务的主旋律是把数据和业务拆成小而独立的模块,但我们仍然需要一个强力的中央安保体系来确保“数据分散,权限集中”。这一篇就谈谈微服务架构中的鉴权体系。身份认证身份认证(Authentication)的目的是证明“你是你(所号称的那个人)”。要证明这一点,你必须掌握一个只有你自己和认证机构才知道的机密信息。在现实中,这个信息可能是DNA、指纹、虹膜这样的生物识别特征,但由于这种特征跟人身直接绑定且又不可修改,一旦泄露,可能被持续冒用,造成不可挽回的严重后果,所以现实中较少采用这些生物识别特征作为识别之用。如果不采用机密信息作为判断标准,就需要一个持续的、不易伪造的“证明材料”。在中国,这个证明材料就是户口或身份证。中国对公民信息的登记相对严格,所以会在小孩出生的时候要求把身份信息登记到户口之中,形成身份证明,跟随一生。在需要证明“你是你”的时候,拿出身份证就行了。(生物特征不可废弃,所以我们必须把它包一层,形成证明材料和对应的Pers

软件架构 2018-01-04 发布
17 浏览

冲顶大会APP技术选型及架构设计

我在1月4日看到虎嗅推送"王思聪撒币"的消息,然后开始推敲背后技术。其中涉及直播流、实时弹幕、OAuth2.0开放授权、SMSapi、Push网关、支付接口等业务,其技术实现并不复杂,我们对此进行剖析。UI设计可以说冲顶大会是照搬HQ的商业逻辑、业务逻辑和UI设计。想必在短期内会有更多的知识问答APP蜂拥出现。对此我不做过多评论,只说背后的技术实现,无关商业。Flutter可以说我是谷歌的脑残粉,据传言Google的FuchsiaOSUI都是用Flutter设计的,在这里,Android和IOS的适配都可以使用Flutter实现。具体设计可以完全模仿HQ。业务逻辑冲顶大会类APP的技术难点在于高并发和时效性。为此我们要对业务进行解耦合,将注册/登录、直播、弹幕、问答、奖池、推送、分享全部进行业务分离,这样有助于业务拓展,保证高并发以及后续维护问题。其中主要的业务难点和重点在直播、弹幕、问答。直播和弹幕是主要的流量出口,将其分离有助于保证高并发和时效性。

软件架构 2018-01-04 发布
AD 友情赞助
22 浏览

Zabbix使用自带模板监控MySQL

(一)简介Zabbix在监控mysql数据库时,会使用自带的模板TemplateAppMySQL,是不能直接使用的,因为没有key,而获取不到数据,前端会出现如下报错“Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.”报错原因是mysql5.6以后的版本增加了密码安全策略,在命令行里加上密码就会强制报错,而5.6之前版本可以直接使用的。前边有篇文章是通过mysql--login-path=local来进行无密码验证登录,而本文是通过另一种方法通过修改/etc/my.cnf来进行无密码验证登录。错误探究:这个提示在mysql5.5之后会出现。而且,这个提示,会被zabbix-servre捕捉到,在zabbix-server.log日志中会出现24123:20160826:101433.609errorreasonfor"110:mysql.status[Bytes_sent]"changed:Receivedvalue[

MySQL 2018-01-04 发布
17 浏览

解析js中的this对象

前言(几天之前写了源码分析之后,感觉太疲惫了,写一些相对轻巧的内容调剂一下,希望喜欢的同学可以点个赞和收藏~)进入正题,this对象在js中是很常见,但是在这里也经常会出错,本文将对常见的this对象的情况做一些总结正文this对象是在函数运行时,基于函数的执行环境绑定的。其实这句话的本质就是,谁调用了函数,this就指向谁具体的来说,通常有以下几种情况:全局函数在全局环境中,this指向Window//例子1functionA(){console.log(this)}A();//Window上面的例子很简单,函数A在全局环境中执行,也就是全局对象Window调用了函数。此时this指向Window对象方法作为对象方法调用时,this指向调用该方法的对象//例子2varb={getThis:function(){

JavaScript 2018-01-04 发布
20 浏览

JavaScript--DOM基础

JavaScript--DOM基础一、DOM查找方法1.document.getElementById()语法:document.getElementById(“id”)功能:返回对拥有指定ID的第一个对象的引用返回值:DOM对象说明:id为DOM元素上id属性的值元素

2.document.getElementsByTagName()语法:document.getElementsByTagName(“tag”)功能:返回一个对所有tag标签引用的集合返回值:数组说明:tag为要获取的标签名称
  • 前端开发
    JavaScript 1900-01-01 发布
  • AD 友情赞助
    21 浏览

    vue vuex vue-rouert后台项目——权限路由(超详细简单版)

    写文章登录vuevuexvue-rouert后台项目——权限路由(超详细简单版)李斌4hoursago项目地址:vue-simple-template共三个角色:adanbarbaracarrie密码全是:123456adan拥有最高权限A他可以看到red,yellow和blue页面(共三个页面)barbara拥有权限B他可以看到red和yellow页面carrie拥有权限C他可以看到red和blue页面技术栈webpack----打包神器vue----JavaScript框架vuex----实现不同组件间的状态共享vue-router----页面路由babel-polyfill----将ES6代码转为ES5代码normalize.css----重置掉该重置的样式element-ui----UI组件库项目初始化#cd到项目文件夹cdwe

    JavaScript 2018-01-04 发布
    20 浏览

    JavaScript中比较运算符的使用

    比较运算符的基本操作过程是:首先对操作数进行比较,这个操作数可以是数字也可以是字符串,然后返回一个布尔值true或false。在JavaScript中常用的比较运算符如下表所示。例如,某商场店庆搞活动,购物满1000元即可参与抽奖活动,某顾客购物消费980元,判断该顾客是否可以参与抽奖活动。代码如下:0102varcost=980;03if(cost>1000){04document.write("该顾客可以参与抽奖活动");05}else{06document.write("该顾客不可以参与抽奖活动");07}08运行结果为:该顾客不可以参与抽奖活动比较运算符也可用于两个字符串之间的比较,返回结果同样是一个布尔值true或false。当比较两个字符串A和B时,JavaScript会首先比较A和B中的第一个字符,例如第一个

    JavaScript 2018-01-04 发布
    18 浏览

    [译] 2018 要学习的优秀 JavaScript 库与知识

    JavaScript有最多的包,取得压倒性胜利。首先,软件吞噬了世界,web吞噬了软件,同时JavaScript吞噬了web。而在2018年,React正在吞噬JavaScript。2018:React之年React在2017年赢得了人气之战。从Google趋势可以看出,还是有很多开发者基于Angular开发:但是React持续的赢得用户满意度。它迅速增长并远远抛开Angular(以及其他)框架。Vue.js呢?我听说它很火每个人都喜欢口头上谈及相关的替代选项,比如Vue.js。这是我去年说的:Vue.js有很多的GitHubstar和下载量。如果情况继续发展的话,它在2017年将会表现的很好,但我不认为它会在下一年里替换Angular或者React。所以在你学习React或者Angular之后再学习它吧。Vue.js在2017年表现出色,赢得了很多新闻头条和人们的兴趣。像我所预测的那样,它没有赶上React,同时我

    JavaScript 2018-01-04 发布
    18 浏览

    什么是BFC?

    对于BFC的概念以及应用场景一直都不是很明白,今天着重去了解了一下,做了以下总结。BFC的定义在解释BFC是什么之前,需要先介绍Box、FormattingContext的概念。Box:CSS布局的基本单位Box是CSS布局的对象和基本单位,直观点来说,就是一个页面是由很多个Box组成的。元素的类型和display属性,决定了这个Box的类型。不同类型的Box,会参与不同的FormattingContext(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子:block-levelbox:display属性为block,list-item,table的元素,会生成block-levelbox。并且参与blockfomattingcontext;inline-levelbox:display属性为inline,inline-block,inline-table的元素,会生成inline-levelbox。并且参与inli

    HTML 2018-01-04 发布
    11 浏览

    丢人笔记

    我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着“努力学习”几个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是“丢人”!2018.1.4DelegateIDEbuild/runactionstoGradleIntellijIDEA里面把这个选项勾上可以解决一些莫名奇妙的问题。中二四天王ALIPROJECT,妖精帝國,Kalafina,SoundHorizon,志方あきこ2018.1.3-Windows下入坑Rust在Windows上,Rust需要VisualC++生成工具2013或更新版本的支持。获取VisualC++生成工具最方便的方法是安装MicrosoftVisualC++BuildTools2017。或者,你可以安装VisualStudio2017,VisualStudio2015,或VisualStudio2013并在安装过程中选择安装「C++工具」。以上内容为来自Rust官网的误导。实际上一共需

    .Net 2018-01-04 发布
    26 浏览

    ASP.NET Core 一步步搭建个人网站(4)_主页和登录验证

    Postedon2018-01-0417:35Lancel0t阅读(...)评论(...)编辑收藏上章节我们已经定制好动态配置的菜单,用户登录网站的第一步就是进入首页内容,那我们先搭建一下我们的首页内容。想着自己的网站内容主要是个人博客类型,所以,首页就展示博主本人的一些基本信息吧,哈哈。当然,做成静态的界面很简单,直接将信息填进html中就行了,基本没有什么技术含量,那我们这里要做成可配置的:将个人信息配置在json文件中(也可以存储在数据库,考虑信息内容结构的不可预期性和易变性,这里不采用数据库保存)。这样,以后我们要更新主页上的信息时,就不用编译发布网站,只要修改对应的json配置文件即可。.NETCore配置机制介绍提到“配置”二字,我们脑海中会立马浮现出两个特殊文件,那就是我们再熟悉不过的app.config和web.config,一直以来我们已经习惯了将结构化的配置信息定义在这两个文件之中。到了.NETCore的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式。有兴趣的同学可以移步官方文档介绍

    .Net 2018-01-04 发布
    23 浏览

    ASP.NET Core文件上传与下载(多种上传方式)

    前言前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NETCore了.打算写个系列,但是还没想好目录,今天先来一篇,后面在整理吧.ASP.NETCore2.0发展到现在,已经很成熟了.下个项目争取使用吧.正文1.使用模型绑定上传文件(官方例子)官方机器翻译的地址:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads这里吐槽一下--,这TM的机器翻译..还不如自己看E文的..首先我们需要创建一个form表单如下:

    Form表单多个上传文件:

    .Net 2018-01-04 发布
    32 浏览

    Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之登录、权限、菜单和登出

    登录登录成功后,服务器会返回访问令牌(accessToken)、加密访问令牌(encryptedAccessToken)和令牌过期时间(tokenExpireDate)等三个数据,在客户端端要做的就是把访问令牌和加密访问令牌保存到Cookie中,具体代码如下:onLoginButton:function(){...success:function(form,action){varrememberMe=form.getValues().rememberClient||false,obj=Ext.decode(action.response.responseText,true),tokenExpireDate,msg='未知错误';if(obj.success){tokenExpireDate=rememberMe?(newDate(newDate().getTime()+1000*obj.result.expireInSeconds)):nullHEADERS.setCookies(HE

    .Net 2018-01-04 发布
    AD 友情赞助