Webpack篇 开始着手项目打包的一些东西,还不是特别懂,一边学习,一边做笔记好啦. 1.webpack的概念.Webpack 是当下最热门的前端资源模块化管理和打包工具.任何形式的资源都可以视作模块,通过 loader 的转换.2.webpakc的安装.(1)在Node.js  用npm 全局安装Webpack:  npm install webpack -g         通过webpack -h 测试. (2)进入项目目录.通过npm init创建 package.json.安装web…
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 第四篇:发布/订阅 Publish/Subscribe RabbitMQ学习总结 第五篇:路由Routing RabbitMQ学习总结 第六篇:Topic类型的exchange RabbitMQ学习总结 第七篇:RCP(远程过程调用协议) 博客很久没有更新了,这段时间主要是学习设计模式,一直想写一…
前端面试之webpack篇 https://blog.csdn.net/sinat_17775997/article/details/78122999 关于webpack的面试题 随着现代前端开发的复杂度和规模越来越庞大,已经不能抛开工程化来独立开发了,如react的jsx代码必须编译后才能在浏览器中使用:又如sass和less的代码浏览器也是不支持的. 而如果摒弃了这些开发框架,那么开发的效率将大幅下降.在众多前端工程化工具中,webpack脱颖而出成为了当今最流行的前端构建工具. 然而大多数…
出处:  Java 内存区域透彻分析  Java8内存模型—永久代(PermGen)和元空间(Metaspace) 这篇文章主要介绍Java内存区域,也是作为Java虚拟机的一些最基本的知识,理解了这些知识之后,才能更好的进行Jvm调优或者更加深入的学习,本来这些知识是晦涩难懂的,所以希望能够讲解的透彻且形象. 0 运行时数据区域 JVM载执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域. Java 虚拟机所管理的内存一共分为Method Area(方法区).VM Stack…
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardier 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识wrk.wrk2 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈 堪比…
几个月前写了一篇有关gulp和browserify来做前端构建的博客,因为browserify用来做js的打包时可能有些麻烦(特别是在写React的时候),所以这里再强烈推荐一款js打包工具-webpack.webpack很强大,不光可以模块化加载js,甚至还有jsx,css,图片等等.可以看看webpack托管到github的官网,相信你看一眼就能懂webpack的强大之处了.进入webpack官网>> = =说到此处,不免有些尴尬,由于博主的英文so 一般,对webpack的认识还不够深,…
构建一个小项目——FlyBird,学习webpack和react.(本文成文于2017/2/25) 从webpack开始本篇从零开始,详细记录webpack的各个方面.文章中将会放入很多链接以便扩展,我也会归纳总结,不读扩展不会影响到对本文的理解,但是有时间还是看看吧. 声明: 在阅读本文列出的链接文章时,若遇到与本文不同的,因为文章的时效性问题—— 请以本文为标准 当前时间2017/2/26 在此之后出现的文章,读者请注意对比,自行判断 核心资料: webpack2官网doc中文版——小书 后…
1.什么是webpack,与grunt和gulp有啥不同 webpack是一个模块打包工具,在webpack里面一切皆模块 通过loader转换文件,通过plugin注入钩子,最后输出有多个模块组合成的文件 WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到Js模块以及其它的一些浏览器不能直接运行的拓展语言,并将其打包为合适的格式以供浏览器使用 Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案,不过Webpack的优点使得在很多…
2017年09月28日 14:08:18 阅读数:4770 https://juejin.im/post/59cb6307f265da064e1f65b9 还是以前一样,有些概念面试可能会考,我都用*标记了出来,两句话就总结清楚其余的地方如果你想了解webpack,就仔细看看,虽然本教程不能让你webpack玩的很6,但是懂操作流程够了.面试你一般问你webpack的原理,Loader的原理,你有用那些优化措施前端开发已经模块化,它改进了代码库的封装和结构.打包工具已经成为了一个项目必不可少的部…
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle. 四个概念 entry:入口起点,可以配置多页面. output:出口,项目编译完成后之后文件输出路径. loader:webpack 自身只理解 JavaScript,loader 能够去处理非 JavaS…
关于 Babel 如果我们没有配置一些规则,Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比如 Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign )都不会转码. 所以,当这样的代码出现时: const key = 'babel' const obj = { [key]: 'foo', } Babel 默认会编…
准备3台centos 7+ (建议7以上,不然要会很麻烦,要升级内核等等,扯淡的东西) 安装docker 和k8s集群(均以最新版为例)基于官网 设置静态ip(可选) 查看本机的网关ip cd /Library/Preferences/VMware\ Fusion/vmnet8 cat nat.conf 进入centos7 改 service network restart 修改主机名(可选) echo 'newhostname' > /etc/hostname centos 7:(可选) 更改…
现在真是一碰电脑就很颓废啊... 于是早晨把电脑锁上然后在旁边啃了一节课多的算导, 把FFT的基本原理整明白了.. 但是我并不觉得自己能讲明白... Fast Fourier Transformation, 快速傅里叶变换, 是DFT(Discrete Fourier Transform, 离散傅里叶变换)的快速实现版本. 据说在信号处理领域广泛的应用, 而且在OI中也有广泛的应用(比如SDOI2017 R2至少考了两道), 所以有必要学习一波.. 划重点: 其实学习FFT最好的教材是<算法导论…
最近项目改版,用webpack重新架构. 些许心得我会写几篇记录一下. 好处如下: 1.ES6语法用起来,babel-loader转义,各种新语法用起来. 2.import 语法写起来,webpack2.0以上版本直接支持.模块化开发大势所趋.写代码变为享受. import 'pages/liveing/style.scss' import FastClick from 'fastclick' import config from 'configModule' import wx from 'w…
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17382679 在<Java并发编程学习笔记之五:volatile变量修饰符-意料之外的问题>一文中遗留了一个问题,就是volatile只修饰了missedIt变量,而没修饰value变量,但是在线程读取value的值的时候,也读到的是最新的数据.但是在网上查了很多资料都无果,看来很多人对volatile的规则并不是太清晰,或者说只停留在很表面的层次,一知半解. 这两天看<深入Ja…
在上一篇博文中分析了事件分发的流程及规则,本篇会从源码的角度更进一步理解事件分发机制的原理,如果对事件分发规则还不太清楚的童鞋,建议先看一下上一篇博文 <Android查缺补漏(View篇)--事件分发机制> ,先来看一下本篇的分析思路,一会儿会按照事件传递的顺序,针对以下几点进行源码分析: Activity对点击事件的分发过程 PhoneWindow是如何处理点击事件的 顶级View对点击事件的分发过程 View对点击事件的处理过程 Activity对点击事件的分发过程 通过上一篇博文中我们…
** 1.目前通信行业发展背景**运营商基础通信能力的价值逐渐提升进入数字化时代以来,信息产业正迎来新变革与新发展——网络信息技术与社会各领域全面深度融合,为工业制造.智慧城市等各行业赋能.运营商传统的基础通信业务模式也正在转型——中国移动整合“云.管.端”的统合能力.汇聚各类通信连接能力,开放给各行业第三方接入.一起打造万物互联的生态系统,是未来通信业发展的必然趋势. 行业用户对接入简易性需求逐步提高通信协议复杂.种类繁多,若非业内人士,很难在短期内实现通信应用集成.通过API将通信协议接口化…
1.基础 在引入IO模型前,先对io等待时某一段数据的"经历"做一番解释.如图: 当某个程序或已存在的进程/线程(后文将不加区分的只认为是进程)需要某段数据时,它只能在用户空间中属于它自己的内存中访问.修改,这段内存暂且称之为app buffer.假设需要的数据在磁盘上,那么进程首先得发起相关系统调用,通知内核去加载磁盘上的文件.但正常情况下,数据只能加载到内核的缓冲区,暂且称之为kernel buffer.数据加载到kernel buffer之后,还需将数据复制到app buffer…
# 从一个例子说起, **任务:给定这样一段代码,假设我们想分析出这段代码中,每个数值型变量和表达式的符号,即正数,负数或0.** 此外,还有可能出现两种情况就是: 1.我们无法分析出结果,即我们无法确定符号,用(?)表示: 2.有些表达式的值并不是一个数字(例如,有可能是个指针)或者在执行的过程中没有被赋值(有可能是因为对于给定的输入,没有执行到,unreachable),用(⊥)表示. 因此,对于每一个变量或者是表达式,我们会有5种结果(这里将其表征成"格"的形式): (?)可能的…
前言 本文将介绍机器学习分类算法中的Logistic回归分类算法并给出伪代码,Python代码实现. (说明:从本文开始,将接触到最优化算法相关的学习.旨在将这些最优化的算法用于训练出一个非线性的函数,以用于分类.) 算法原理 首先要提到的概念是回归. 对于回归这个概念,在以后的文章会有系统而深入的学习.简单的说,回归就是用一条线对N多数据点进行一个拟合,这个拟合的过程就叫做回归. Logistic回归分类算法就是对数据集建立回归公式,以此进行分类. 而至于如何寻找最佳回归系数,或者说是分类器的…
/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer 以及核心类库TreeNode,本文将详细讲解Spark SQL的Optimizer的优化思想以及Optimizer在Catalyst里的表现方式,并加上自己的实践,对Optimizer有一个直观的认识. Optimizer的主要职责是将Analyzer给Resolved的Logical Plan根据不同的优化策略Batch,来对语法树进行优化…
/** Spark SQL源码分析系列文章*/ 前面几篇文章主要介绍的是spark sql包里的的spark sql执行流程,以及Catalyst包内的SqlParser,Analyzer和Optimizer,最后要介绍一下Catalyst里最后的一个Plan了,即Physical Plan.物理计划是Spark SQL执行Spark job的前置,也是最后一道计划. 如图: 一.SparkPlanner 话接上回,Optimizer接受输入的Analyzed Logical Plan后,会有S…
/** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer,本来打算直接写Optimizer的,但是发现忘记介绍TreeNode这个Catalyst的核心概念,介绍这个可以更好的理解Optimizer是如何对Analyzed Logical Plan进行优化的生成Optimized Logical Plan,本文就将TreeNode基本架构进行解释. 一.TreeNode类型 TreeNode Lib…
/** Spark SQL源码分析系列文章*/ 前面几篇文章讲解了Spark SQL的核心执行流程和Spark SQL的Catalyst框架的Sql Parser是怎样接受用户输入sql,经过解析生成Unresolved Logical Plan的.我们记得Spark SQL的执行流程中另一个核心的组件式Analyzer,本文将会介绍Analyzer在Spark SQL里起到了什么作用. Analyzer位于Catalyst的analysis package下,主要职责是将Sql Parser…
CMS收集器收集步骤: 在上一次[https://www.cnblogs.com/webor2006/p/11055468.html]中已经对CMS的垃圾收集器有了一定的理论上的了解,其中提到了CMS收集器完整的七个步骤,这一次则对每一个步骤进行一个详细了解,并会用程序来理解这七个步骤. Phase1 :Initial Mark[初始标记]这个是CMS两次stop-the-world事件的其中一次,这个阶段的目标是:标记那些直接被GC root引用或被年轻代存活对象所引用的所有对象.用图来表示:…
前言 在本系列的文章中,对每一个病毒分析的最后一个部分,若无特殊情况,我都会采用逆向分析的手段来为读者彻底剖析目标病毒.但是之前的"熊猫烧香"病毒,我用了三篇文章的篇幅(每篇2500字左右)也仅仅分析了病毒的三分之一,而且还没分析到病毒的核心部分.主要也是因为那是我这个系列为大家分析的第一个病毒,为了将一些原理性的东西说清楚,所以文章略显冗长,也主要是照顾一下初学的朋友,摒弃那些高大上的东西,将我的实际分析过程完整地呈现出来.相信大家在认真阅读完那三篇文章后,都能够掌握基本的分析方法,…
千里之行,始于足下.把别人的变成自己,再把自己的分享给别人,这也是一次提升的过程.本文的目的是以一篇文章从整体把握集合体系又不失一些细节上的实现,高手路过. 集合的作用与特点 Java是一门面向对象语言,数据多了用对象封装存储(比如,人有姓名.年龄.性别等数据信息,我们就抽象一个Person对象来封装存储),对象多了又用什么来存储呢?集合,集合就是用来存储对象的. 集合的特点就是适用于存储对象而且可以存储不同类型的对象,集合的长度是可变的. 集合框架图 个模块来学习: 1.Collection集…
一.反射的基石--->Class类 1. Java类用于描述一类事物的特性,该类事物有什么属性,没有什么属性,值域这个属性的值是什么,则是由这个类的实例对象来确定的,不同的实例对象有不同的属性值.Java程序中的各个Java类,他们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?这个类的名字就是Class,要注意与小写class关键字的区别哦.Class类描述了哪些方面的信息呢?类的名字,类的访问属性,类所属的包名,字段名称的列表,方法名称的列表,等等.学习反射,首先就要明白Class这…
前言 本文介绍机器学习分类算法中的K-近邻算法并给出伪代码与Python代码实现. 算法原理 首先获取训练集中与目标对象距离最近的k个对象,然后再获取这k个对象的分类标签,求出其中出现频数最大的标签. 而这个标签,就是分类的结果. 伪代码 对训练集做以下操作: 1. 计算训练集中各点与当前点之间的距离(本文采用最经典的欧式距离) 2. 按照距离递增次序对各点排序 3. 选取与当前点距离最小的k个点 4. 确定前k个点所在类别的出现频率 5. 返回前k个点出现频率最高的类别,即为分类结果. 特别说…
第一部分:对于参加工作一年以内的同学.恭喜你,这个时候,你已经拥有了一份Java的工作. 这个阶段是你成长极快的阶段,而且你可能会经常加班.但是加班不代表你就可以松懈了,永远记得我说的那句话,从你入行那一刻起,你就要不停的学习.在这一年里,你至少需要看完<Java编程思想>这本书.这本书的内容是帮助你对于Java有一个更加深入的了解,是Java基础的升级版.这本书很厚,当初看这本书,我花了整整三个月.正常速度的话,应该可以在半年左右看完.我这里不要求过高,只要你在一年以内把这本书看完即可.当然…