为了账号安全,请及时绑定邮箱和手机立即绑定

通过代码实例说明如何化腐朽为优雅 原创

一、背景 ​ 最近我负责的活动促销系统中要在审批的时候增加计算参加活动的商品的毛利率的需求。但是我负责打辅助,主要是同事负责具体开发,我了解了他的实现方式思路以后,果断拒绝了,并给出了我的解决方案以及优点,他发现我的方案确实扩展性和可维护性更好以后就采用了,本文就来通过这个实例来说明如何让本腐朽的代码变得优雅起来。 二、需求描述 ​ 活动系统中共有7中活动类型,分别为:价格折扣活动、满减活动、满赠...

17699浏览 12推荐 1评论

Dubbo+zookeeper实现分布式服务框架 原创

什么是Dubbo?? Dubbo也是一套微服务框架,他与SpringCloud的区别就是,他支持多种协议,而SpringCloud只支持Http协议。如果没有分布式,那么他是不存在的。 Dubbo底层架构图 Dubbo底层 首先Provider生成服务将服务注册到zookeeper(具体实现下面有代码),然后zookeeper接收到过后底层会触发zookeeper监听事件(不懂请看前一节),然后告...

118556浏览 10推荐 0评论

CSS :before and :after 伪元素的最佳实践 原创

在这里给大家总结一下,伪元素的八大最佳实践场景。希望对各位的日常开发有所启发。 场景一:插入内容 假设我们有如下的HTML代码 <p>paragraph text</p> 我们可以用伪元素添加内容比如: p:before { content: "this is "; font-weight: bold; font-style: italic; } 将会出...

543浏览 16推荐 1评论

Java后端2017书单推荐

前言 对于程序员来说,个人感觉最佳学习方式是看书,视频花费时间太长,而博客则不够系统。初学相关领域最好的方式就是找到一本经典的好书,然后啃完它。 经常有网友要我推荐一些Java方面的书籍,这次博主就整理下网上现有的推荐,再加上自己这几年看的书籍,统一开一篇来介绍下。 正文 如果你也有写博客,但是不知道从何入手,那博主推荐就是从读书下手,然后按章节总结写成博客。这样知识不仅有巩固,还有产出,方便以后...

2055浏览 32推荐 2评论

分布式监控系统Zabbix3.2跳坑指南 原创

zabbix是什么在此就不多作介绍了,可以参考之前的文章 零代码如何打造自己的实时监控预警系统 ,这篇主要介绍安装及注意事项。 主要分为服务端和客户端安装,客户端又分为Linux、Windows。 服务端安装环境 CentOS6.8 Zabbix3.2 Mysql5.6 Apache PHP56w 环境准备 关闭selinux setenforce 0 进入mysql,创建zabbix用户并授权 ...

602浏览 13推荐 2评论

在没有DOM操作的日子里,我是怎么熬过来的(中) 原创

前言 继上篇推送之后,在掘金、segmentfault、简书、博客园等平台上迅速收到了不俗的反馈,大部分网友都留言说感同身受,还有不少网友追问中篇何时更新。于是,闰土顺应呼声,在这个凛冽的寒冬早晨,将中篇热文滚烫呈上。 搬好小板凳,接下来,正文从这开始~ 在上篇的众多留言中,有位网友的评论比较具有代表性,摘出来供大家一阅: “ 同感啊楼主 比如做tab的时候,以前jq就是切换一下cla...

559浏览 8推荐 0评论

JavaScript执行顺序分析 原创

前言 上星期面试被问到了事件执行顺序的问题,想起来之前看《深入浅出Node.js》时看到这一章就忽略了,这次来分析一下JavaScript的事件执行顺序。废话少说,正题开始。 单线程JavaScript 首先我们要知道JavaScript是一门单线程解释型语言。这就意味着在同一个时间下,我们只能执行一条命令。之所以它是一门单线程语言,和它的用途有关。 JavaScript设计出来的初衷是为了增强浏...

590浏览 5推荐 0评论

Webpack3.0快速入门(二)-- CSS处理与ES6编译 原创

写在前面 在webpack快入门之从零到一初体验 一文中,我们从整体了解了webpack相关特性并手动初步实现了一个可执行编译的webpack环境,这一节,我们将在此基础上继续探讨以下功能的实现: css的编译与加载,基于style-loader、css-loader、postcss-loader、autoprefixer以及css预处理(以less为例)。 ES6的编译与加载,基于babel及其...

732浏览 7推荐 3评论

详谈JavaScript原型链

本文作者:程序猿的程,原文地址 目录 创建对象有几种方法 原型、构造函数、实例、原型链 instanceof的原理 new运算符 创建对象的方法   在了解原型链之前,首先先了解一下创建对象的几种方式,介绍以下三种。 代码: <script type="text/javascript"> // 第一种方式:字面量 var o1 = {name: 'o1&#...

347浏览 11推荐 0评论

一千个不用 Null 的理由

原文出处:xrzs 港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。 下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可...

796浏览 8推荐 1评论

Hadoop入门教程之HDFS架构 原创

为什么要用Hadoop? 1.源码开源 2.社区活跃,参与者很多 3.涉及到分布式存储和计算的方方面面: Flume进行数据采集 Spark/MR/Hive等进行数据处理 HDFS/HBase进行数据存储 4.已经得到企业界的验证 Hadoop相关网址: Hadoop: hadoop.apache.org Hive: hive.apache.org Spark: spark.apache.org ...

1380浏览 11推荐 1评论

Android 撸起袖子,自己封装 DialogFragment 原创

本篇文章已授权为微信公众号 code小生 发布 前言 具体的代码以及示例我都放上 Github 了,有需要的朋友可以去看一下 DialogFragmentDemos,欢迎 star 和 fork. 本文的主要内容 DialogFragment 是什么 创建通用的 CommonDialogFragment 实现各种类型的 DialogFragment 在写正文之前,先来一波效果展示吧 一、Dialo...

609浏览 7推荐 1评论

原理上搞懂LVS的DR和NAT模式的缺陷,不看小心踩坑 原创

笔者最近负责公司负载均衡改造,之前公司用的一套商用的负载均衡,用时已久,其功能更新也停止了。为此,我计划采用lvs+keepalive+nginx+lua的开源架构替换掉商用的那一套。 相信一般的小公司用的最多的还是DR和NAT模式,关于DR和NAT模式的原理请看看下图,我们先从lvs的DR和NAT模式特性聊聊一些问题。 问题1、lvs的DR模式和NAT模式核心缺陷有哪些? DR模式的缺陷 1:R...

526浏览 12推荐 2评论

自然语言理解的微信小程序(“遥知之”智能小秘)完整源码分享 原创

记录自己搭建https的silk录音文件语音识别服务的调用过程,所有代码可在文中找链接打包下载 >>>>>>>>>>>>>>>>>>>>>>>> 欢迎转载 <<<<<<<<<<<<&l...

510浏览 6推荐 0评论

在没有DOM操作的日子里,我是怎么熬过来的(上) 原创

前言 在我动笔写这篇文章的时候,我刚刚从我的项目中删除了最后一行JQuery代码。至于我为何要这么做,请听闰土娓娓道来。前几年我还在想,假如有一天,前端世界里不能再直接操作dom了,我该怎么办?没想到竟一语成谶,这一天终究还是来了...... 此文记录了一次JQ党转变成Vue信徒的心路历程。 那么接下来,正文从这开始~ 熟悉闰土的朋友都知道,我是从JQ时代过来的前端,在刚接触react和vue这类...

582浏览 11推荐 2评论

推荐作者

标签风向标

本月热门

精选推荐

意见反馈 常见问题 APP下载
官方微信