- 博客(83)
- 资源 (4)
- 收藏
- 关注
原创 前端排序算法
一. 冒泡排序1.原理:比较两个相邻的元素,将大的交换到右边,如果相等,则不进行交换;2.过程:(1)第一次比较:比较第一个数和第二个数,将值大的放在前面,值小的放在后面;(2)比较第二个数和第三个数,依次类推...;(3)第一次比较完成,最大的数放到了最后面;(4)进行第二次比较,最后一个数不参加比较,依次类推进行第三次比较...;3. 时间复杂度:N个数字要完成排序,要进行总共N-1次排序,每次(第 i 次)排序次数为(N-i)次,用双循环语句,外层控制循环次数,内层控制每一
2020-12-21 17:03:39 464
原创 封装vue组件并发布到npm上
1.使用webpack-simple模板建立一个vue项目,命令:vue init webpack-simple kingtreebtn ,新建项目目录如下:2.在src目录下新建lib目录存放组件源码3.组件封装完后新建组件出口文件index.js,文件内容如下:4. 修改package.json文件5.修改webpack.config.js文件6. 执行npm run build 命令,打包后的文件夹为dist7. 执行npm pack命令,生成kingtre
2020-12-01 14:53:11 318
转载 详细介绍Java虚拟机(JVM)
1. JVM生命周期启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点。 运行。main()作为该程序初始线程的起点,任何其他线程均由该线程启动。 消亡。当程序中的所有非守护线程都终止时,JVM才退出;若安全管理器允许,程序也可以使用Runtime类或者...
2019-03-13 15:05:20 164
转载 前端常见跨域解决方案(全)
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链3.) 脚本请求: j...
2019-03-12 14:46:28 153
转载 很全很全的JavaScript的模块讲解(CommonJS,AMD,CMD,ES6模块)
JavaScript的模块介绍模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分割、作用域隔离、模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面。模块的优点可维护性。因为模块是独立的,一个设计良好的模块会让外面的代码对自己的依赖越少越好,这样自己就可以独立去更新和改进。 命名空间。在 JavaS...
2019-03-06 17:19:39 220
转载 不同内核浏览器的差异以及浏览器渲染简介
一、简单介绍一下什么是浏览器内核。浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有...
2019-02-27 14:41:51 426
转载 Vue数据响应式原理
前言Vue.js 的核心包括一套“响应式系统”。“响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码。例如,视图渲染中使用了数据,数据改变后,视图也会自动更新。举个简单的例子,对于模板:<div id="root">{{ name }}</div>创建一个 Vue 组件:var vm = new Vue({ el: '#root'...
2018-12-04 19:11:31 798
转载 Vue2源码分析
分析目标通过阅读源码,对 Vue2 的基础运行机制有所了解,主要是:Vue2 中数据绑定的实现方式 Vue2 中对 Virtual DOM 机制的使用方式源码初见项目构建配置文件为 build/config.js,定位 vue.js 对应的入口文件为 src/entries/web-runtime-with-compiler.js,基于 rollup 进行模块打包。代码中使用 ...
2018-12-04 19:02:09 410
转载 Vue数据绑定以及双向绑定原理分析
效果分析已经了解到vue是通过数据劫持的方式来做数据绑定的,其中最核心的方法便是通过Object.defineProperty()来实现对属性的劫持,达到监听数据变动的目的,无疑这个方法是本文中最重要、最基础的内容之一,如果不熟悉defineProperty,猛戳https://blog.csdn.net/c_kite/article/details/77950326 整理了...
2018-11-27 18:02:53 370 1
转载 解决IE下Ajax请求无效
在做ajax页面无刷新添加的时候,IE下遭遇Ajax缓存,因为刚开始并不知道IE有这个坏毛病,折腾好久,终于解决问题。 总结一下解决办法: 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,[即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,不会产生这个问题]而FF下不会出现这种情况。为...
2018-08-03 15:40:25 2206
转载 webpack—devtool里的7种SourceMap模式
我们先来看看文档对这 7 种模式的解释:模式 解释 eval 每个module会封装到 eval 里包裹起来执行,并且会在末尾追加注释 //@ sourceURL. source-map 生成一个SourceMap文件. hidden-source-map 和 source-map 一样,但不会在 bundle 末尾追加注释. inline-source...
2018-07-27 20:13:52 1789
原创 VUE预渲染遇到的坑
遇到的问题1.下载prerender-spa-plugin 失败解决方案我更新prerender-spa-plugin 发现运行 下去都是 error报错 安装不成功,但是他会提示你对downloading 什么文件 保存到哪个位置对吧,把 他提示着 这个在浏览器 输入,我的是下面这个 //windowshttp://github.com/Me...
2018-07-27 19:32:54 5813
转载 前端代码规范(静态检查)工具
为了统一团队的代码规范,除了一纸规范说明之外,还需要引入工具进行限制。虽说工具并不能完全实现规范中的规则,但至少能够在一定程度上缓解代码不统一的局面。相对于后端,前端代码规范的质量检查涉及到HTML, CSS,Javascript ,如今还涉及到SCSS,ES5,JSX, React,Vue,Angular等,更是复杂。本文提供了在检查工具方面的规则制定,在编辑器IDE中进行配置,在webpac...
2018-07-10 11:42:10 7694
转载 构建一个预渲染SEO友好的应用示例
“我受不了了!我们的内部报告面板太烂了”产品经理很生气。他从这个即将崩溃的应用程序中拉取数据的操作是灾难性的。“Max,我们需要更好的报告。你能修吗?”“老实说,我更愿意建立一个全新的应用”,我笑着回答说。“好,请便。全权委托,老铁”我笑着,搓了搓手。最后,在一个需要使用JS框架的场景中,大家一致选择了Vue.js。最近,我完成该应用的代码,我对它简直爱不释手。我花了一些时间为社区写了一个vue....
2018-07-05 15:24:03 952
转载 单页应用多路由预渲染指南
前言Ajax 技术的出现,让我们的 Web 应用能够在不刷新的状态下显示不同页面的内容,这就是单页应用。在一个单页应用中,往往只有一个 html 文件,然后根据访问的 url 来匹配对应的路由脚本,动态地渲染页面内容。单页应用在优化了用户体验的同时,也给我们带来了许多问题,例如 SEO 不友好、首屏可见时间过长等。服务端渲染(SSR)和预渲染(Prerender)技术正是为解决这些问题而生的。阅读...
2018-07-05 15:19:05 1550
原创 Nginx安装及配置详解
nginx概述nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。这里主要通过三个方面简单介绍nginx反向代理负载均衡nginx特点1. 反向代理关于代理说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道;...
2018-05-04 14:34:17 140
转载 浏览器渲染页面过程与页面优化
从用户输入浏览器输入url到页面最后呈现 有哪些过程?一道很常规的题目,考的是基本网络原理,和浏览器加载css,js过程。答案大致如下:用户输入URL地址浏览器解析URL解析出主机名浏览器将主机名转换成服务器ip地址(浏览器先查找本地DNS缓存列表 没有的话 再向浏览器默认的DNS服务器发送查询请求 同时缓存)浏览器将端口号从URL中解析出来浏览器建立一条与目标Web服务器的TCP连接(三次握手)...
2018-03-20 10:29:41 256
转载 数据库分库分表策略的具体实现方案
目录(?)[-]一MySQL扩展具体的实现方式二分表实现策略三分库实现策略四分库与分表实现策略五分库分表总结六总结相关文章:1、 使用Spring AOP实现MySQL数据库读写分离案例分析2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解3、MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结4、使用mysqlreplicate命令快速搭建 Mysql...
2018-02-27 18:26:15 160
转载 大型网站应用之海量数据和高并发解决方案总结一二
目录(?)[-]一网站应用背景二针对海量数据和高并发的主要解决方案三海量数据的解决方案高并发情况下的解决方案总结一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,...
2018-02-27 18:09:53 260
转载 用gulp做一个略完整的前端打包工作~
分模块,每个模块都有独立的页面和静态文件,并将所有静态文件打在一个文件夹下,一些常用变量可以进行替换,并可进行简单的页面动态生成,生产环境打包与线上环境打包分开进行,静态文件进行压缩合并,加md5以及cdn,wap的静态文件与web端分离,wap的页面文件没有的继承web端的页面文件,有的要用它本身。打包由grunt换成gulp。整体的路径要像这样:
2016-09-02 17:32:29 7086
转载 使用Flexible实现手淘H5页面的终端适配
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— 手淘的H5页面是如何实现多终端的适配 ?那么趁此 Amfe阿里无线前端团队双11技术连载 之际,用一个实战案例来告诉大家,手淘的H5页面是如何实现多终端适配的,希望这篇文章对大家在Mobil
2016-09-01 11:37:19 873
转载 点击页面判断是否安装app并打开,否则跳转app store的方法
常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码。但往往我们都是直接给推广图片加了一个下载链接(App Store中的)。所以咱们来模拟一下用户的操作步骤:1、用户第一次访问宣传页面 a、点击Banner,进入到APP Store中对应的APP下载页 b、APP下载页中提示:安装;用户点击安装 c
2016-08-26 16:16:07 1042
转载 扫描二维码自动识别手机APP下载地址
移动互联网发展迅速,各种APP的开发都太疯狂了,一般稍大点儿的应用,都会准备多个版本,比如:iPhone版、iPad版、Android版,我们姑且称之为:终端适配。业务做的再大点儿的,APP还会考虑覆盖到多个国家,比如:中文版、英文版、日文版、韩文版等,我们可称之为:APP国际化。还有更拽的,针对不同渠道(流量来源)也提供不同的版本,比如:百度版、Google版、阿里版、腾讯版
2016-07-04 18:33:22 1369
转载 MySQL下载安装、配置与使用(win7x64)
第一大步:下载。a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是 ZIP Archive 版的,win7 64位的机器支持这个,所以我建议都用这个。因为这个简单嘛,而且还干净。地址见图拉倒最下面,看清楚了64bit ZIP Archive ,点击Download。步骤阅读步骤阅读2b.点开之后会进入另一个页面,但却没有开始下载,这个时候不用怕,看不懂没关系,你只要知道他是要让你们登
2016-06-21 20:01:09 691
转载 如何修改Apache的默认站点目录
修改Apache的默认站点目录 Apache HTTP Server安装好后,默认的站点目录位于其安装目录下的htdocs文件夹内,默认首页是该文件夹的index.html文件。比如,我的Apache是安装在C:/Program Files/Apache Software Foundation/Apache2.2/内,那么我的Apache的完整的默认站点目录地址是C:
2016-06-15 11:35:08 4221
转载 SASS入门
一、什么是SASSSASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。 本文总结了SASS的主要用法。我的目标是,有了这篇文章,日常的一般使用就不需要去看官方文档了。二、安装和使用2.1 安装SASS是Ruby语言写的,但是两者的语法没有关系。不懂Ruby,照样使用。只是必须先安装Ruby,然后再安装SA
2016-06-15 11:12:24 416
转载 sass安装
ruby安装因为sass依赖于ruby环境,所以装sass之前先确认装了ruby。先导官网下载个ruby在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量,不然以后使用编译软件的时候会提示找不到ruby环境sass安装安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Pro
2016-06-15 09:59:46 329
转载 使用SeaJS实现模块化JavaScript开发
前言SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依
2016-06-14 17:29:31 1517
转载 自动提取HTML中的JS进行合并与压缩
前段时间公司做网站的优化,其中就有将HTML文件中用到的多个JS压缩成一个min.js。现在做一个总结:css js 压缩用的是 gulp,只要写一个gulpfile.js脚本即可,非常方便css 目前只是将每个源CSS文件压缩了一下,没有进行合并。JS 做了两步工作A. 将每个源JS文件压缩这个简单,不细说,下面会贴出代码。gulp.task('minifyjs-r
2016-05-18 14:09:46 2276
转载 AngularJs ng-route路由详解
本篇基于ng-route来讲下angular中的路由,路由功能主要是 $routeProvider服务 与 ng-view 实现。ng-view的实现原理,是根据路由的切换,动态编译html模板——$compile(html)(scope)。更多内容参考:Angularjs总结前提首先需要在页面引入angular和angular-route,注意要在angula
2016-04-27 14:16:20 595
转载 深入解析浏览器的幕后工作原理
这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络浏览器的源代码。她写道:在 IE 占据 90% 市场份额的年代,我们除了把浏览器当成一个“黑箱”,什么也做不了。但是现在,开放源代码的浏览器拥有了过半的市场份额,因此,是时候来揭
2016-04-27 10:04:23 566
转载 AngularJS开发人员最常犯的10个错误
简介AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客户端应用程序同样强大,它结合了开发简便,特性广泛和出众的性能,使其被广泛使用。然而,大量使用也会产生诸多误区。以下这份列表摘取了常见的一些AngularJS的错误用法,尤其是在app开发过程中。
2016-04-26 09:42:43 454
转载 ReactJs入门
一、ReactJS简介React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来
2016-04-21 14:26:49 733
原创 Express安装教程
假设已经安装了Node.js,接下来创建一个目录$ mkdir myapp$ cd myapp通过 npm init 命令创建一个 package.json 文件$ npm init接下来让你输入几个参数,比如名称和版本。 你可以直接按“回车”键接受默认设置即可下面这个命令除外entry point: (index.js)键入 app.js 或者你所希望的名称
2016-04-20 15:12:53 711
转载 Git使用教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够
2016-04-20 11:41:54 250
转载 Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图: 安装成成之后我们在Eclipse菜单栏中点击File->New->Othe
2016-04-19 15:25:45 229
转载 AngularJS双向数据绑定
工作原理是:HTML模板将会被浏览器解析到DOM中, DOM结构成为AngularJS编译器的输入。AngularJS将会遍历DOM模板, 来生成相应的NG指令,所有的指令都负责针对view(即HTML中的ng-model)来设置数据绑定。因此, NG框架是在DOM加载完成之后, 才开始起作用的. 在html中:body ng-app="ngApp"> div ng-control
2016-04-19 10:15:54 376
转载 简单易用Seajs
背景一个网站必然会涉及很多功能,tab选项卡、slide轮播图、pop弹出层、美化alert、paging分页等等等等,如果是企业网站那整合成一个js文件就够了,即 插件库 。但是对于一个大的网站平台来说需要的功能可能会有很多,而且随着平台的发展,功能会越来越多。到最后会发展成怎样的情况呢?这是 钱庄网 原先的插件库,已经接近20个插件了。想象一下,你在
2016-04-18 11:20:04 306
转载 JavaSript模块规范 - AMD与CMD
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对
2016-04-18 10:29:40 278
转载 AngularJS 数据双向绑定揭秘
AngularJS数据双向绑定揭秘AngularJS在$scope变量中使用脏值检查来实现了数据双向绑定。和Ember.js数据双向绑定中动态设施setter和getter不同,脏治检查允许AngularJS监视那些存在或者不存在的变量。$scope.$watch$scope.$watch( watchExp, listener, objectEquality );
2016-04-14 16:17:52 508
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人