优质文章搬运
文章平均质量分 79
juoduomade
这个作者很懒,什么都没留下…
展开
-
用认知和人性来做最棒的程序员
这里我不会过多去梳理认知和人性的概念,后面会用很多例子来说明,保证通俗易懂,只想先提2个概念:对人性的理解能帮助提升认知 狭义的技术是指java,php,android,spring,vue等的掌握和实践,它们只是帮助你提升认知的工具,却绝不等同于认知。下面逐一举例说明例子1:技术选型问题:今年开始慢慢火的一个移动端跨平台技术是google发布的"flutter",如果你作为...转载 2019-01-17 11:21:35 · 409 阅读 · 0 评论 -
你的专业知识并不等于你的能力——如何提升自我
我家东东上幼儿园了,看着他在幼儿园改变了很多,做父母的非常欣慰。但是也有些不快,甚至是感到惊讶。从幼儿园开始,居然就有了作业,比如连续观察并记录月亮,画画等等,这让我非常不快。一方面,孩子正是天真烂漫无忧无虑的时候,他具备了许多能力,但是显然并不足以让他独自完成作业。另一方面,父母将孩子送到幼儿园,本就失去了很多自主的亲子时间,结果晚上还需陪孩子做一些“乱七八糟”的比我们小时候还烦的作业。...转载 2018-10-14 20:31:17 · 307 阅读 · 0 评论 -
从构建分布式秒杀系统聊聊验证码
前言为了拦截大部分请求,秒杀案例前端引入了验证码。淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归。验证码那么到底什么是验证码呢?验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作。我们常见的互联网注册、登录、发帖、领优惠券、投票等等应用场景,都有被机器刷造成各类损失的风险。目前常见的验...转载 2018-09-28 23:07:32 · 902 阅读 · 1 评论 -
SpringBoot开发案例之整合Dubbo分布式服务
前言在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 xml 配置方式。改造前之前在 SpringBoot 中使用 Dubbox是这样的。先简单记录下版本,Dubbox-2.8.4、zkclient-0.6、zookeeper-3.4.6...转载 2018-10-17 21:01:08 · 187 阅读 · 0 评论 -
Java 11 正式发布,支持期限至2026年9月
美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进行下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.htmlJava ...转载 2018-09-27 21:54:29 · 506 阅读 · 0 评论 -
5年后、10年后,你希望自己是个什么样的人?
5 年后、10 年后,你想成为什么样的自己?你认真思考过这个问题吗?可能你思考过这个问题,但一直没有给自己一个明确的答案,也可能你从来没想过这个问题。这都很正常,毕竟我们都太容易陷入一日复一日的漩涡里。每天早上起来乘一样的交通工具行一样的路去工作,做一样的事情;下班行一样的路回家,做一样的事情;闲暇时去差不多一样的地方玩,去看差不多一样的影剧。然后一天的日子就变成了一年,很快就变成了一生。...转载 2018-09-25 21:34:23 · 2219 阅读 · 0 评论 -
springboot系列文章——过滤器 vs 拦截器
前言之前实际开发项目的时候,虽然有用过滤器和拦截器,但是理解上还是有点懵懵懂懂的,没有彻底明白,这篇文章就来仔细剖析下这二者的区别与联系。过滤器过滤器Filter,是在Servlet规范中定义的,是Servlet容器支持的,该接口定义在 javax.servlet包下,主要是在客户端请求(HttpServletRequest)进行预处理,以及对服务器响应(HttpServletResp...转载 2018-09-25 21:26:25 · 139 阅读 · 0 评论 -
优雅实现延时任务之Redis篇
什么是延时任务延时任务,顾名思义,就是延迟一段时间后才执行的任务。举个例子,假设我们有个发布资讯的功能,运营需要在每天早上7点准时发布资讯,但是早上7点大家都还没上班,这个时候就可以使用延时任务来实现资讯的延时发布了。只要在前一天下班前指定第二天要发送资讯的时间,到了第二天指定的时间点资讯就能准时发出去了。如果大家有运营过公众号,就会知道公众号后台也有文章定时发送的功能。总而言之,延时任务的使...转载 2018-09-19 20:25:39 · 609 阅读 · 0 评论 -
分布式系统消息中间件——RabbitMQ的使用基础篇
前言我是在解决分布式事务的一致性问题时了解到RabbitMQ的,当时主要是要基于RabbitMQ来实现我们分布式系统之间对有事务可靠性要求的系统间通信的。关于分布式事务一致性问题及其常见的解决方案,可以看我另一篇博客。提到RabbitMQ,不难想到的几个关键字:消息中间件、消息队列。而消息队列不由让我想到,当时在大学学习操作系统这门课,消息队列不难想到生产者消费者模式。(PS:操作系统这...转载 2018-09-19 20:11:18 · 248 阅读 · 0 评论 -
腾讯会好吗?
本文来源:格隆汇 APP,微信公众号:港股那点事(ID:hkstocks),作者:包总 2018 年 6 月抖音上火了一首歌《往后余生》,有一段歌词是:往后余生,风雪是你,平淡是你,清贫也是你。 男版沧桑,女版深情,第一次听感觉旋律悠扬,多听几遍便徒添一种往事匆匆、物是人非的伤感,不由让人感慨:唯愿余生,岁月静好。 周四下班,我去常去的餐馆吃面,一位老...转载 2018-10-14 20:34:35 · 2337 阅读 · 0 评论 -
面对峰值响应冲击,解决高并发的三大策略
当前在互联网+的大潮下,众所周知淘宝、京东这些交易系统每天产生的数据量都是海量的,每天的交易并发也是惊人的,尤其是“双11”、“6.18”这些活动,对系统的峰值响应提出了非常高的要求,所以对系统架构也就有了很要的要求。在写这篇博客的前2天,听说某系统在25人的用户量下就宕机了,实在让人震惊,所以捋了下互联网交易系统我们可以采取哪些技术来解决互联网平台下大数据量高并发的问题。首先根据架构...转载 2018-10-08 21:19:24 · 615 阅读 · 0 评论 -
设计 REST API 的13个最佳实践
写在前面之所以翻译这篇文章,是因为自从成为一名前端码农之后,调接口这件事情就成为了家常便饭,并且,还伴随着无数的争论与无奈。编写友好的 restful api 不论对于你的同事,还是将来作为第三方服务调用接口的用户来说,都显得至关重要。关于 restful api 本身以及设计原则,我陆陆续续也看过很多的文章和书籍,在读过原文后,感觉文中指出的 13 点最佳实践还是比较全面的且具有参考意义的,...转载 2018-12-21 10:26:51 · 315 阅读 · 0 评论 -
设计模式7大原则
概述对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它...转载 2018-12-15 11:22:46 · 436 阅读 · 0 评论 -
微服务为什么一定要用docker?
引言早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker。一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌!近几年来,很多互联网关系开始跟风,构建docker+微服务的架构体系。然而,根据笔者观察发现,有些童鞋在使用过程中,只是会用,而根本不了解为什么使用docker,反正对他们来说,公司让用就用!而...转载 2018-12-20 10:31:36 · 286 阅读 · 0 评论 -
深入理解Redis系列之SpringBoot集成Redis
SpringBoot环境快速搭建一个SpringBoot工程进入 https://start.spring.io 网站, 使用该网站初始化一个SpringBoot工程 添加相关依赖因为使用spring initializer已经帮我们把Redis的依赖建立好了; 但是由于我们要使用Jedis客户端访问Redis, 所以还需要添加Jedis的依赖;<depende...转载 2018-12-01 10:17:50 · 215 阅读 · 0 评论 -
synchronize早已经没那么笨重
我发现一些同学在网络上有看不少synchronize的文章,可能有些同学没深入了解,只看了部分内容,就急急忙忙认为不能使用它,很笨重,因为是采用操作系统同步互斥信号量来实现的。关于这类的对于synchronize的污点,我打算帮它清洗下。 JVM锁优化其实jdk1.6对锁的实现已经引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开...转载 2018-12-01 10:05:41 · 193 阅读 · 0 评论 -
分布式系统关注点——99%的人都能看懂的「熔断」以及最佳实践
阅读目录熔断是什么 熔断怎么做 做熔断的最佳实践 总结 当我们工作所在的系统处于分布式系统初期的时候,往往这时候每个服务都只部署了一个节点。 那么在这样的背景下,如果某个服务A需要发布一个新版本,往往会对正在运行的其它依赖服务A的程序产生影响。甚至,一旦服务A的启动预热过程耗时过长,问题会更严重,大量请求会阻塞,产生级联影响,导致整个系统卡慢。 ▲点击图片可查看大图...转载 2018-11-30 09:12:03 · 205 阅读 · 0 评论 -
Spring的事件监听及应用
最近公司在重构广告系统,其中核心的打包功由广告系统调用,即对apk打包的调用和打包完成之后的回调,需要提供相应的接口给广告系统。因此,为了将apk打包的核心流程和对接广告系统的业务解耦,利用了spring的事件监听特性来满足需求。以下说明spring的事件机制的相关内容。 1.观察者模式 Spring的事件监听(也称事件驱动)是观察者模式的一种实现,比较常见的有发布-订阅模型。通常我...转载 2018-11-28 22:13:27 · 1641 阅读 · 1 评论 -
路痴们的新救星!高德推出车载AR导航 行车路线直接显示在实景中
高德地图今天宣布推出车载 AR 导航。该产品借助高德地图专业的交通大数据和车道级导航引擎,以及阿里技术共建的图像识别 AI 技术能力,将真实的道路场景与虚拟的导航指引有机结合,给驾驶员带来更直观的实景导航体验。 该产品计划首批应用在智能后视镜上,做能力验证,后续重点将拓展至仪表盘、车机中控屏以及 HUD 平视系统等更多使用场景,针对不同的展示载体打磨最优的用户体验效果。据悉,该产品也是国内首...转载 2018-10-17 20:57:25 · 4118 阅读 · 0 评论 -
大数据不就是写SQL吗?
应届生小祖参加了个需求分析会回来后跟我说被产品怼了一句:"不就是写SQL吗,要那么久吗"我去,欺负我小弟,这我肯定不能忍呀,于是我写了一篇文章发在了公司的wiki贴出来给大家看看,省略了一些敏感的内容。当然内部版言辞也会温和一点,嘻嘻!在哪里写SQL?这个问题高级点的问法是用哪种SQL引擎?SparkSQL、Hive、Phoenix、Drill、Impala、P...转载 2018-10-09 21:40:12 · 691 阅读 · 0 评论 -
程序员的创业:手里有个锤子,看什么都像钉子
爱一个人,就让他去创业;恨一个人,也让他去创业。所有人都盼着国庆节,但正在创业的人除外。程序员老是吼什么加班,但我那么几个老码农的QQ群骗不了人:上班时间各种嗨,一到下班时间,冷火烟清的没人了。国庆节这几个QQ群几乎没动静,但另外几个创业交流群一样的热闹。有人问,创业和打工最大的区别是什么?反正就我个人而言,打工8小时以外就是自己的时间,创业24小时都没法休息,做梦都是那些烂事!...转载 2018-10-09 21:34:32 · 221 阅读 · 0 评论 -
阿里巴巴官方:明年今日马云将不再担任董事局主席
9 月 10 日教师节当天,阿里巴巴集团创始人马云发出题为“教师节快乐”的公开信宣布:一年后的阿里巴巴 20 周年之际,即 2019 年 9 月 10 日,他将不再担任集团董事局主席,届时由现任集团 CEO 张勇接任。(图/马云曾在多个场合提到,教师是他最喜欢的职业。未来,他也将更多地回归他这一身份。) 这是马云深思熟虑、认真准备了 10 年的计划。10 年前,阿里巴巴创建合...转载 2018-09-10 13:31:00 · 435 阅读 · 0 评论 -
超详细搭建Mysql5.5读写分离
Amoeba简介Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的 时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写...转载 2018-09-08 18:03:45 · 491 阅读 · 0 评论 -
【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单
基于大众对Python的大肆吹捧和赞赏,作为一名Java从业人员,我本着批判与好奇的心态买了本python方面的书《毫无障碍学Python》。仅仅看了书前面一小部分的我......决定做一名python的脑残粉。 作为一名合格的脑残粉(标题党 (ノ◕ω◕)ノ),为了发展我的下线,接下来我会详细的介绍 Python 的安装 到开发工具的简单介绍,并编写一个抓取天气信息数据并存...转载 2018-08-24 10:04:08 · 268 阅读 · 0 评论 -
当你收到面试通知后,通过如下的准备可以大大提升面试成功率
由于我做了比较长时间的技术面试官,根据我的面试体会,不少同学收到面试后,什么准备也不会做,到时候就来了。 这样做的后果是:不知彼,不知己,每战必殆。哪怕侥幸面试成,工资一定会被压得很低。 其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的。 在技术面试的时间段里(最长1个小时),你如果能展现你的...转载 2018-08-24 09:11:54 · 632 阅读 · 0 评论 -
微服务架构的核心要点和实现原理解析
摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的项目中起到积极的作用。微服务架构中职能团队的划分传统单体架构将系统分成具有不同职责的层次,对应的项目管理也倾向于将大的团队分成不同的职能团队,主要包括:用户交互UI团队、后台业务逻辑处理团队与数据存取ORM团队、DBA团队等。每个团队只对自己分层的职责负责,并对使...转载 2018-08-28 09:12:48 · 1865 阅读 · 0 评论 -
十字符病毒,杀不死的小强,一次云服务器沦陷实录
一、现象接到客户的电话,说自己的云服务器被提供商禁止访问了,原因是监测到网络流量暴满,服务器不停的向外发包,在确认客户没有业务量突增的情况下,初步判断可能服务器遭受了流量攻&击(DDOS),不过按照常理来说,客户的业务系统就是一个小的web系统,平时流量不大,影响力也一般,不至于遭受DDOs,带着这些疑问,要到了客户服务器的登录方式,废话少说,还是进入系统,一查究竟吧。点击此处有惊喜...转载 2018-08-23 20:13:45 · 201 阅读 · 0 评论 -
面试、升职、要资源:工作中最常见的三种谈判场景
编者按:谈判需要技巧,有充足的准备是诀窍。本文经译自 Fast Company 原标题为"How to prepare for the three most common types of negotiation at work"的文章。 对于任何谈判,都有一个共同的因素可以促成或摧毁它,那就是研究和准备。无论你是为了得到晋升而谈判,还是你在试图说服你的老板提供给你更多的资源来完成他们分...转载 2018-08-23 20:01:45 · 441 阅读 · 0 评论 -
国产处理器兆芯可运行Windows,已试制出Intel i5级处理器
上海兆芯处理器的整体性能已经能够对标国际主流标准,以 ZX-C 系列 CPU 及 KX-5000 为例,已经可以对标 Intel 第六代 i3 处理器,主机频率可以达到 2GHz,对于日常办公应用、4K 解码,可运行使命召唤、古墓丽影等主流 3D 游戏。 兆芯国产自主可控通用处理器全面兼容 x86 指令,并支持 CPU 虚拟化技术,能稳定、流畅运行全系列 Windows 操作系...转载 2018-08-23 19:58:55 · 3876 阅读 · 0 评论 -
超30亿条用户数据被窃取 BAT无一幸免
微博莫名其妙关注了乱七八糟的营销号,QQ 号忽然加了一些不认识的好友及群聊,淘宝账号不知何时多了几个好友……如果你遇到过这些问题,说明你的账号密码不幸中招,已经被他人非法窃取。 近日,绍兴警方破获了一起涉及 30 亿条用户数据窃取案件,媒体称之为“史上最大规模的数据窃取案”,受害者包括百度、腾讯、阿里、今日头条等全国 96 家互联网公司。 轻易“打败”这些互联网巨头的,是一家名为瑞...转载 2018-08-23 19:54:33 · 1025 阅读 · 0 评论 -
基础运维:基于IP实现网页分流
一、说明想要流量分流,在一个接口上设置多IP的方式,是可以实现的,在互联网上需要访问的域名,一般人并不知道什么是IP,就是知道IP,可能他们理解的IP(知识财产权)跟你理解的IP(互联网协议)并不一样。基于IP的分流,目的在于访问这些IP时打开的网页是一致的。分流网页有很多种,这只是其中的一种而已。二、多IP设置1.复制网络配置文件[root@leo ~]# cd /etc/...转载 2018-08-27 20:16:09 · 1742 阅读 · 0 评论 -
房东要涨800房租,我用Python抓取帝都几万套房源信息,主动涨了1000。
老猫我在南五环租了一个80平两居室,租房合同马上到期,房东打电话问续租的事,想要加房租;我想现在国家正在在抑制房价,房子价格没怎么涨,房租应该也不会涨,于是霸气拒绝了,以下是聊天记录:确认不续租之后,两三年没找过房的我上网搜索租房,没想到出来一坨自如,蛋壳,贝壳等中介网站;进去看看,各种房照非常漂亮,但是一看房租,想送给自己一首《凉凉》;附近房租居然比我当前房租高1000多RMB;自我安慰下,这...转载 2018-08-27 20:12:04 · 712 阅读 · 0 评论 -
让面试官颤抖的Tomcat系统架构系列!
前言俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tomcat来说至关重要!一、Tomcat顶层架构先上一张Tomcat的顶层结构图(图A),如下:Tomcat...转载 2018-08-27 18:11:57 · 137 阅读 · 0 评论 -
从构建分布式秒杀系统聊聊WebSocket推送通知
前言秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功?场景映射首先,我们举一个生活中比较常见的例子:我们去银行办理业务,一般会选择相关业务打印一个排号纸,然后就可以坐在小板凳上玩着手机,等待被小喇叭报号。当小喇叭喊到你所持有的号码,就可以拿着排号纸去柜台办理自己的业务。这里,假设当我们...转载 2018-08-24 10:23:51 · 171 阅读 · 0 评论 -
秒杀架构设计
前言最近在部门内部分享了原来在电商业务做秒杀活动的整体思路,大家对这次分享反馈还不错,所以我就简单整理了一下,分享给大家参考参考业务介绍什么是秒杀?通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束。这种秒杀,对时间不是特别严格,只要下手快点,秒中的概率还是比较大的。...转载 2018-08-24 10:31:44 · 565 阅读 · 0 评论 -
一文读懂Java 11的ZGC为何如此高效
Java 11的新功能已经完全冻结,其中有些功能绝对非常令人兴奋,本文着重介绍ZGC。Java 11包含一个全新的垃圾收集器--ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间。 在本文中,我们将介绍开发新GC的动机,技术概述以及由ZGC开启的一些可能性。那么为什么需要新GC呢?毕竟Java 10已经有四种发布多年的垃圾收集器,并且几乎都是无限可调的。 换个角度看,G1...转载 2018-09-08 18:00:36 · 630 阅读 · 0 评论 -
架构师细说 NGINX 的配置及优化
最近感觉很多东西在运用到一定的程度之后,会发现原来是自己了解到的不够。一方面限于实际运用到的不多,一方面可能是因为一开始没有进行全面认识。遂这里搜集整理了一番NGINX。一、nginx启动和关闭centos平台,源码安装的/usr/local/nginx/nginx # 启动/usr/local/nginx/nginx -s reload # 平滑重启/usr/local...转载 2018-08-25 09:40:47 · 275 阅读 · 0 评论 -
springboot + shiro之登录人数限制、登录判断重定向和session时间设置
项目前篇:spring boot + mybatis + layui + shiro后台权限管理系统:http://blog.51cto.com/wyait/2082803本文是基于spring boot + mybatis + layui + shiro后台权限管理系统开发的,新增功能:shiro并发登陆人数控制(超出登录用户最大配置数量,清理用户)功能; 解决在父子页面中,判断用...转载 2018-08-29 10:48:36 · 987 阅读 · 0 评论 -
spring boot + shiro 动态更新用户信息
场景用户A在线,管理员在后台更改了用户A信息(资料或权限)之后;用户A再进行下一步操作时,会被拦截并退出登录状态,再登录才可以执行操作;来确保用户A的信息同步更新。后台权限管理系统技术实现前篇:spring boot + mybatis + layui + shiro后台权限管理系统:http://blog.51cto.com/wyait/2082803 springboot...转载 2018-08-29 10:44:32 · 2090 阅读 · 0 评论 -
大话后端开发的奇淫技巧大集合
Hi,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来模块化设计根据业务场景,将业务抽离成独立模块,对外通过接口提供服务,减少系统复杂度和耦合度,实现可复用,易维护,易拓展项目中实践例子:Before:在返还购APP里有个【我的红包】的功能,用户的红包数据来自多个业务,如:邀请新用户注册领取100元红包,大促活动双倍红包...转载 2018-08-29 10:41:12 · 225 阅读 · 0 评论