最好用的 IntelliJ 插件 Top 10
IntelliJ的十大插件?相信每个人都有自己的选择。我们也同样如此。在这里,我们为您带来我们认为的十大IntelliJ插件。如果你还是不知道什么是IntelliJ插件,请先阅读ourpageaboutplugins。或者访问plugins.jetbrains.com获取更多信息。1.GrepConsole允许您定义一系列的正则表达式,利用它们来对控制台的输出或文件进行测试。每一个表达式匹配的行都会被整行的应用某个样式,或者播放声音。例如,你可以将错误消息设置为以红色的背景来显示。官方网站点击这里.2.JRebelforIntelliJJRebel是一个提升生产力的工具,它可以帮助开发人员快速的重新加载更改的代码。它跳过了Java开发中常见的重新构建,重启以及重新部署的循环操作。JRebel使开发人员能够在相同的时间内完成更多的工作,让开发人员的编码过程变得更加流畅。官方网站点击这里.3.MavenHelper这个一个必须与maven一起工作的插件。它提供了运行/调试当前
JS实现的ajax和同源策略
123
自己动手写Redis客户端(C#实现)4 - 整数回复
比如说,":0\r\n"和":1000\r\n"都是整数回复。返回整数回复的其中两个命令是INCR和LASTSAVE。被返回的整数没有什么特殊的含义,INCR返回键的一个自增后的整数值,而LASTSAVE则返回一个UNIX时间戳,返回值的唯一限制是这些数必须能够用64位有符号整数表示。整数回复也被广泛地用于表示逻辑真和逻辑假:比如EXISTS和SISMEMBER都用返回值1表示真,0表示假。其他一些命令,比如SADD、SREM和SETNX,只在操作真正被执行了的时候,才返回1,否则返回0。以下命令都返回整数回复:SETNX、DEL、EXISTS、INCR、INCRBY、DECR、DECRBY、DBSIZE、LASTSAVE、RENAMENX、MOVE、LLEN、SADD、SREM、SISMEMBER、SCARD。整数回复的代码实现:///
Handler机制原理(三)Looper的源码分析
刚看源码的时候:“这TM写的是啥?那写的又TM是啥?”研究明白了之后:“奥,原来就这点玩意儿啊,太简单了。”Looper的职责很单一,就是单纯的从MessageQueue中取出消息分发给消息对应的宿主Handler,因此它的代码不多(300行左右)。Looper是线程独立的且每个线程只能存在一个Looper。Looper会根据自己的存活情况来创建和退出属于它自己的MessageQueue。创建与退出Looper上面的结论中提到了Looper是线程独立的且每个线程只能存在一个Looper。所以构造Looper实例的方法类似于单例模式。隐藏构造方法,对外提供了两个指定的获取实例方法prepare()和prepareMainLooper()。//应用主线程(UI线程)Looper实例privatestaticLoopersMainLooper;//Worker线程Looper实例,用ThreadLocal保存的对象都是线程独立的staticfinalThreadLocal
码农的薪酬到底有多高 来看硅谷的工程师薪资统计
Triplebyte一个被誉为码农求职神器的求职平台,主要面向软件工程师,并和硅谷的科技公司合作。它和其他求职平台最大的区别是:Triplebyte自己会面试求职者,相当于将技术面试作为一种服务提供给公司,给公司招人省去一部分成本。他们上来先不看求职者的简历,而是要求求职者先参加他们的技术筛选流程,然后对求职者能力进行评估。而根据他们和客户公司之间的协议,Triplebyte推荐的求职者能直接进入公司的最终面试阶段而不必经过考核。截至目前,已经有200多家科技公司成为Triplebyte的客户,包括业界第一的苹果,老牌的云端服务Dropbox,以及Stripe、Quora、Reddit、KhanAcademy、Opendoor等一大票科技界的明星公司。最近,Triplebyte发现求职的软件工程师在与公司的薪酬谈判中总是处于弱势地位,他们认为这是不公平的。于是,Triplebyte利用自身的平台,统计了硅谷众多科技公司对于软件工程师的年薪酬水平,以此新入行的人们提供一个参考。需要注意的是,Triplebyte统计的
程序员简历怎么写?ResumeX — 一个极简主义且独具创意的简历方案
本文将分文两个部分:Part1:讲一讲我过去两年多来见到过的不同类型的简历,以及我个人对于这些简历的看法;Part2:介绍一款自造的简历方案。一家之言,欢迎提出不同意见。Part1:入行时间不久,但经常有机会帮老板面试前端方向的候选人,沉淀了一些想法。还有一部分是找我内推或推荐的亲人、朋友的简历,我都会认真看完,然后尽量推荐相关的岗位给他们。当然,还有很多自己见过的挺多网络模版。程序员的简历应该怎么写?简历优秀与否的根本在于内容,漂亮的排版和样式只是锦上添花。关于内容:(真实!真实!真实!)切忌夸大、绝不要造假经历造假是万万不能接受的。我认为甚至“精通”、“熟悉”也要慎用。岗位要求三年经验,你只有两年,为了应聘你改成三年?在网上搜出来的文章/copy的项目你告诉别人自己的原创?你用过express就真的敢写“精通”Node吗?这些我遇见过,也真的难以接受这种程度的“润色”。务必突出优势你的优势是什么?或者你最得意的项目或者技术是哪一个?简历不是流水账,最重要的请放最醒目显眼的位
程序员的五种不同寻常的特质
程序员身上有很多特质,用通俗点的话说,是“易黑体质”,但同时优秀程序员也有很多体质。因此,如果你认为自己缺少下面的某些品质,千万别往心里去。不是一时兴起才来探讨这些,其中的很多迹象来自于对其他程序猿的观察或阅读他们的代码。1.先试试是本能反应编译器和运行环境通常能比人更快地解释一个问题。一个优秀的程序猿在拿着问题去向别人寻求帮助之前,会自己试试看并判断方法是否有用,而不是直接找一个高级程序员问“我这么做有用吗?”。特征:拥有业余项目。涉猎其他多种编程语言,尤其是那些来自不同“家族”的语言(例如过程式编程语言、基于栈的编程语言、并行编程语言等等)。当你提到arduino时,知道你在说什么。有一堆陈旧且未提交的代码。这些代码是为了模仿他人的代码功能而写,但没在工程的其他地方引用。常常在会议上提出古怪又不切实际的方案。有一个小隔间或一张桌子堆满了从ThinkGeek买的创意玩偶。如何获得这种特质你是不是常常过度谨慎?在得到肯定的时候你心里是不是只感到安慰?有没有人曾经说过你有消极抵抗的态度?你或许该考虑邀请朋友们去参观当地的六旗主题公园(
程序员和项目经理打交道的三条经验
我们公司有一位COO,Yahoo过来的,做产品经理出生。下面有2个SVP,一个技术,一个产品经理。技术的SVP性格比较温和,不强势,最看重的是makethingsdone。产品经理的SVP性格强势,是COO从Yahoo招过来的。网站的流量也不大,一个站点16台应用服务器就搞定了,不是那种技术要求非常高的公司。以上的背景就决定了,我们公司文化并不是工程师导向。很多事情,还是PM话语权比较大,公司策略,开发资源调动,主要是由PM来驱动。甚至有时候需要多少开发人员,也是PM那边直接给建议。我们出现过的一些问题:1.我们有一个页面,是网站最重要的页面,因为长期在这个页面添加各种功能,这个页面的代码已经非常复杂,每次做一个小改动,开发人员会不经意间弄坏其他功能,而QA测试跟bug修复的时候都要几周。2.我们有个功能很独立的组件,作为本地代码放在我们网站应用里面,于是出现了这个组件跟整个网站的代码耦合很深,代码互相牵扯。屡次想花时间把这个组件分离成单独的webservice,但是总是因为business需求的紧迫性,这个项目分不到人
小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐
十年间,负载均衡的前沿技术层出不穷,令用户眼花缭乱。经常在技术网站、文档中出现的“四层负载均衡”、“七层负载均衡”字眼有什么含义?有什么区别?对客户网络有哪些不同的优化?在大型的网站服务器集群中,负载均衡技术是必不可少的。使用负载均衡的技术架构,能够有效避免后端服务出现单点故障,提升服务的稳定性。一、负载均衡简介负载均衡,英文名称为LoadBalance,其意思就是将负载(工作任务)进行平衡,分摊到多个操作单元上进行执行(例如Web服务器、FTP服务器等),实现多个服务器共同完成工作任务的目标。负载均衡建立在现有网络结构之上,它提升了服务器的性能、提高了带宽利用率,增强了网络的灵活性和可靠性。经过十年的发展,负载均衡已经成为网络应用的重要设备,甚至成为大型网络应用的核心设备,与基础路由、交换设备市场并驾齐驱。负载均衡构建在现有网络结构之上,可以方便有效地扩展服务器资源。通常将大量的并发请求分散至多个节点上分别处理,减少客户端的等待时间;也可以将单个重负载的运算分担到多个节点上做并行处理,最后进行汇总。二、负载均衡的作用2.1、
车载语音到底该怎么做?或许你该了解下这家公司
如果仔细观察最近一段时间的新车发布会,你可能发现很多车企开始把「能联网、会说话」这类词汇用来宣传车辆的智能化网联功能。这个现象背后,其实是车联网相关技术发展到一定程度之后,开始进入产品落地阶段的结果。特别是车内交互层面,可联网的大屏、语音交互等技术也是越来越普遍了。而在这其中,语音交互又承担了很关键的作用。这么说吧,一辆车的语音交互体验好坏,能在很大程度上决定用户的直观感受。因此,主机厂背后的语音方案供应商,就成了非常关键的一环。提到语音交互技术,可能你会想到百度、出门问问、搜狗、讯飞、云知声、思必驰等等公司。在互联网层面,他们的确拥有很强的技术储备和用户声量。但是一旦把视角转移到车载领域,互联网行业的很多产品逻辑就没那么适用了。傲硕科技是谁?为了了解车载语音到底是怎么做的,我和傲硕科技总经理郑天堂聊了聊。很多人可能并不了解傲硕科技这家公司,事实上,这次也是他们首次对外界发声。当然,低知名度是汽车供应商领域的普遍现象,除了一些巨头之外,很多供应商虽然提供了车辆的关键部件或者技术,但并不为消费者所熟知。而这类公司,往往都在对
架构设计之防止或缓解雪崩效应
熔断当某个服务调用慢或者有大量超时现象(过载),系统停止后续针对该服务的调用而直接返回,直至情况好转才恢复调用。这通常是为防止造成整个系统故障而采取的一种保护措施,也称过载保护。很多时候刚开始,可能只是出现了局部小规模系统故障,但后来故障影响的范围越来越大,最终导致了全局性的后果。限流对某个服务调用设置最高QPS阈值,高于阈值的请求放弃调用直接返回。这种模式不能解决服务依赖的问题,只能解决系统整体资源分配问题,因为没有被限流的请求依然有可能造成雪崩效应。限流处理方案:限制最大并发数;限制时间窗内最大请求数;令牌桶算法。该算法描述如下:1)限制用户平均发送速率为r字节/s,则以r个/s的速度往桶中放入令牌,即为每一个字节配备一个令牌。2)假设桶的最大容量为b,如果令牌桶已满,则丢弃这个令牌。3)当流入速率为v字节/s,则从桶中取令牌的速率为v个/s。拿到令牌的流量通过,拿不到的则执行限制逻辑。该算法具有如下特点:1)长期来看,流入速率受令牌添加速率的影响,被稳定为r。2)令牌桶有一定的容量,可以抵挡一定的流量突
Mysql 通过frm&ibd 恢复数据
一次误操作,把数据库给搞乱了,innodb的数据库竟然无法直接恢复,还好找了一个文章,按文章进行,最后成功恢复。吓死我了,要是搞坏了,团队的人不背地骂死我了。mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心,只要有部分的frm、ibd存在就可以恢复部分数据。注意:一、这个是对innodb的数据恢复。myisam不需要这么麻烦,只要数据文件存在直接复制过去就可以。二、大家的mysql数据库必须是按表存放数据的,默认不是,但是大家生产肯定是按分表设置的吧,如果不是,不好意思,这个方法不能恢复你的数据。my.ini的设置为innodb_file_per_table=1。1、找回表结构,如果表结构没有丢失直接到下一步a、先创建一个数据库,这个数据库必须是没有表和任何操作的。b、创建一个表结构,和要恢复的表名是一样的。表里的字段
vuejs用户认证实例
在本例子中,使用的请求方法都是使用axios,vuejs的官方推荐。安装与使用axiosnpminstallaxios在main.js(如果你使用的是vue-cli脚手架搭建的项目)中引入importaxiosfrom'axios'Vue.prototype.$http=axios之后使用小栗子即是this.$http.get(URL).then(response=>{//successcallback},response=>{//errorcallback})登录在登录部分,登录成功后,将服务器返回的token存在sessionstorage中,当然也可以放在localstorage,或者使用vuex的方式存储token数据和用户信息。varurl="/api/web/login";vardata={username:this.username,password:this.password};this.$http({method:"get",url:url,auth:data}).th
记录项目版本升级angular4 ~ angular5
前言:在上一篇ng4文章《angular4——实际项目搭建总结》中说过,等到ng5正式发布,并且蚂蚁的NGZORRO兼容ng5之后,我会对ng4项目进行升级。这篇文章就是大概说下升级的折腾过程吧。下面结语中有最佳实践,整个过程中有自己挖的坑,可以选择忽略,直接看结语。升级(折腾)过程:①ng5更新:访问这个链接是ng的升级导向https://angular-update-guide.firebaseapp.com/,内容如下图(看起来还是很简单的):复制了导向上的命令,安装的时候有问题,出现找不到包的情况,后来把报错信息里的包链接复制出来去访问,也确实是404。看起来总觉得不对,转义的url。去掉了转义字符访问,就可以了其实是安装命令后面版本多了引号的问题,确实没注意这个问题,因为直接复制的升级导向里的命令,把版本的引号去掉就可以了安装最新版本的时候,发现有个package-lock文件,以前都没注意,然后了解了一下这个文件,不知道的大家可以自己查询一下。node_mou
百度外卖前端周刊 - 第32期 - Webpack篇
如何10倍提高你的webpack构建效率webpack是个好东西,和NPM搭配起来使用管理模块实在非常方便。而Babel更是神一般的存在,让我们在这个浏览器尚未全面普及ES6语法的时代可以先一步体验到新的语法带来的便利和效率上的提升。在React项目架构中这两个东西基本成为了标配,但commonjs的模块必须在使用前经过webpack的构建(后文称为build)才能在浏览器端使用,而每次修改也都需要重新构建(后文称为rebuild)才能生效,如何提高webpack的构建效率成为了提高开发效率的关键之一。
JavaScript 终于成了一流语言
注:本文节选自「极客时间」大前端专题,有删改。编程语言到底有没有生产力之分呢,当然是有的,尤其对于初中级选手。功夫到了绝顶,拈花飞叶皆是武功,工具就不重要了。但能到绝顶的,毕竟是少数,所以对大多数人来说,工具和编程语言的选择同样重要。《黑客与画家》的作者保罗·格雷厄姆(PaulGraham)就在文章中写过,他决定在公司使用Lisp,就是因为他认为Lisp比当时所有的语言都高出一筹,独特、深邃,能够表达难以描述的事物。保罗说,自己公司相比竞争对手的优势就在于Lisp。Lisp始终没有成为程序员主要的开发语言,但是另一门类似英语表达一般的编程语言JavaScript在最近几年却获得了突飞猛进的发展,目前成为Github上使用最广泛的开发语言,可谓编程语言生产力的代表。然而,JavaScript仍未得到与其他语言同等的尊重。尽管它的使用率在创业公司和大型公司中持续增长,但很多人依然不认为它是一门有用的语言。大公司的高级工程师声称它不是一门「真正的」编程语言,许多人还以为JavaScritp只能操作一些表单和样式,并弹出
JavaScript——ForEach语句和For…In语句的区别
JavaScript——ForEach语句和For…In语句的区别学习如何在JavaScript中使用ForEach语句和For…In语句大家好!在这篇文章里,我要简单介绍一下JavaScript中的foreach语句和for...in语句。这篇文章写给大家,是希望大家能了解一些新方法,而不要老是用for循环语句。For循环语句这里给大家简单快速地复习一下for循环:大家以前可能都用过for循环。它是JavaScript中最基本的循环语句,用途广泛。这里有for循环的基本句法:for(i=0;i<10;i++){//内容}我们这个for循环由三个语句组成:一个语句(i=0)在整个循环开始之前执行;一个语句(i<10)定义循环运行长度;还有一个语句(i++)在每轮循环结束后执行。在这个例子里,整个循环开始之前设i=0,只要i<10,循环就不断继续。每轮循环过后,i的值都加一。最后,每轮循环都运行花括弧中的代码。ForEach语句forEach是一个数组方法,可以用来把一个函数套用在一个数组中
JavaScript学习笔记(十四)——对象
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意!如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/学习。标准对象在JavaScript的世界里,万物皆对象。但是对象与对象之间也有区别。为了区分对象的类型,我们可以用typeof操作符来获取对象的类型,它总是返回一个对象的类型:typeof123;//'number'typeofNaN;//'number'typeof'str';//'string'typeoftrue;//'boolean'typeofundefined;//'undefined'typeofMath.abs;//'function'typeofnull;//'object'typeof[];//'object'typeof{};//'object'从上面的例子我们可以看出,number,string,boolean,undefined,f
如何用语文知识改善代码可读性
我们经常能看到许多技术文章从工程角度介绍各种编码实践。不过在计算机科学之外,编程语言和自然语言之间同样有着千丝万缕的联系。下面我们会从高中水平的语文和英语出发,分析它们与代码可读性之间的关系。如果你看腻了各种花哨的技术新概念,或许回归基础的本文能给你一些启发编程语言与高考作文大师所编写的代码与其说是给计算机看倒不如说是给人看的。真正的大师级程序员所编写的代码是十分清晰易懂的,而且他们注意建立有关文档。——《代码大全》不妨思考一下,我们对某段代码【十分清晰易读】的评价,比起对某篇文章【写得通俗易懂】的评价,是否具有相近的评价标准呢?进一步说,编程语言的代码和自然语言的文章之间,是否存在着某些技术之外的共通性呢?这里我们拿出和代码一样死板的高考作文作为对比,不难发现一些有趣的相似之处:代码很难正确预测需求的变更,而高考作文也很难从题目提炼出主题立意。代码编写前要做好架构设计,而高考作文落笔前也要好好构思。代码要做好模块化、组件化,而高考作文也要求段落划分恰当、衔接紧凑。代码的War