自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 推荐一款前端刷题系统

推荐一款前端刷题系统大伙好,我是朵拉,临近年底,想必又有一波开发对跳槽蠢蠢欲动,开始寻找着各种机会;同时展开了地毯式全网找面试题,几天下来网盘资料多了几个T;这厂,那厂。。。有种高考逼近,临时抱佛脚,背多少是多少的感觉;一周后,发现啥也没记住呀要能来不波在线测试就好了,做到心里有点数;于是乎全网搜在线测试.时间就是金钱,这里跟大伙推荐一款免费的在线面试测试,不过暂时主要针对前端的js es6 vue 数据结构算法等;还需完善是时候展现我的技术了-_-,哈哈哈

2021-11-15 09:45:08 963

原创 你真的了解“栈”吗?

堆栈(stack)又称为栈或堆叠,是计算机科学里最重要且最基础的数据结构之一,它按照FILO(First In Last Out,后进先出)的原则存储数据。栈一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。栈的定义:栈是一个数据集合,可以理解为只能在一端进行插入或删除操作的列表。栈的特点:后进先出(last-in,first-out), 简称LIFO表。类似一摞书:imag.

2021-10-11 10:51:38 92

原创 数据结构--队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列介绍队列遵循FIFO(First In First Out,先进先出)原则的一组有序的项。队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行.

2021-09-28 10:39:44 37

原创 JS数组不是“真”的数组?

数组是我们前端日常开发中最熟悉的一种数据类型,但你真的了解数组吗?什么是数组?数组的定义:数组(array)是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。首先它是一个线性表 线性表:就是数据排列成一条先一样的结构,每个线性表上的数据最多只有前和后两个方向。除了数组,链表,队列,栈等也是线性表结构。 非线性表:二叉树,堆,图等。之所以是非线性,是因为数据之间并不是简单的前后关系。 然后它是连续的内存空间和相同的数据类型 有了这两.

2021-09-23 10:25:44 102

原创 package.json中的每一个字段你都了解了吗

你真的了解package.json吗?来看看吧,这可能是最全的package解析企业常说需要有项目经验的人,那经验仅仅只是代码和功能模块开发的经验吗,深入理解package.json文件也能让别人对你刮目相看哟,以下将一一分析每个字段的真实含义。在我们搭建的每一个项目的根目录下一般默认都会有一个package.json文件,它定义了当前项目所需要的各种模块以及依赖文件同时也包含了项目的配置信息例如名称、版本、许可证等等。当我们拿到一个项目运行命令npm install的时候,会根据packa.

2021-09-20 09:51:47 273

原创 一图看懂归并排序

归并排序采用的是分治的思想,首先是“分”,将一个数组反复二分为两个小数组,直到每个数组只有一个元素;其次是“治”,从最小数组开始,两两按大小顺序合并,直到并为原始数组大小归并排序归并排序(MERGE-SORT)是利用分治的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。分"分"就是将原始数组逐次二分,直到每个数组.

2021-09-17 14:15:19 28

原创 终于理解希尔排序与插入排序

希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。希尔排序(Shell sort)希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。算法描述先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,具体算...

2021-09-13 09:01:33 118

原创 一图读懂快速排序(Quick Sort)

快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法介绍快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法描述:快速排序使用分治法来把一个.

2021-09-08 09:12:04 37

原创 一图读懂插入排序(Insertion Sort)

插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法描述:一般来说,插入排序都采用 in-place 在数组上实现:从第一个元素开始,该元素可以认为已经被排序; 取出下一个元素,在已.

2021-09-07 08:59:13 29

原创 终于理解冒泡排序与选择排序的区别

排序算法是日常使用最频繁的,工作中很多复杂的场景都需要用到排序,如将数据排序后再做查找,分析,统计等处理。冒泡排序基本思想:基本思想: 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。 直观表达,每一趟遍历,将一个最大的数移到序列末尾。算法描述:比较相邻的元素,如果前一个比后一个大,交换之。第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,这样直到倒数第2个和最后1个,将最大的数移.

2021-09-02 16:59:19 106

原创 vue2从入门到实战【第二版】-专题视频课程

vue2从入门到实战【第二版】—19人已学习课程介绍本系列课程,从入门开始,中间穿插大量实战,涉及node服务搭建,前后联调等实用技术,保证高含金量,高回报率,分分钟答疑(wx:13627241281),让学员无后顾之优!课程收益大量实战,由浅入深,由前到后从零开始搭建一个完整的项目各种组件封装,如loadmore, backhead讲师介绍...

2018-10-15 16:48:19 141

原创 Vue2.x仿京东商场实战-专题视频课程

Vue2.x仿京东商场实战—142人已学习课程介绍使用vue2.x全家桶+mongo+java+mint-ui+axios+vue-infinite-scroll实现仿京东商城实战,功能包括首页,分类,发现,购物车,我的以及商品页等,多个页面实现下拉加载效果,上滑分页加载等实用功能;课程从零开始,由浅入深,从后到前详细讲解.课程收益使用vue2.x全家桶+mongo...

2018-07-24 09:26:27 422

原创 vue2.x+express+mongo实现无限滚动[全栈]--专题视频课程

vue2.x+express+mongo实现无限滚动[全栈]—104人已学习课程介绍从后到前,设计mongo数据结构,express实现restful接口,并使用postman测试接口,使用vue实现无限滚动,前后端联调,跨域处理,插件原理分析课程收益从后到前,设计mongo数据结构,express实现restful接口,并使用postman测试接口,使用vue实现...

2018-06-29 15:29:32 89

原创 vue2.x轻松入门-专题视频课程

vue2.x轻松入门—858人已学习课程介绍基于新的vue2.5,我们将通过简单的例子给大家讲解Vue的基础语法及编程思路,带大家的上手Vue的基础开发,这门课也包含了关于组件化和vue-cli等内容的基础讲解。课程收益了解vue基础功能,挂载点,模板,数据,事件,方法,计算属性等,掌握组件间通信,了解如何在vue脚手架中开发讲师介绍十余年计算机技术领域...

2018-06-22 15:38:32 110

原创 javascript arguments(转)

什么是argumentsarguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的。所有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。他不是一个数组,如果用typeof argumen...

2015-10-21 17:59:44 62

原创 关于Thread.IsAlive属性

今天在讨论多线程的时候,谈到了这个属性。IsAlive,顾名思义,它表示线程当前是否为可用状态,如果线程已经启动,并且当前没有任何异常的话,则返回true,否则为false 为什么要了解这个属性,是因为下面代码有的朋友不是很理解 下面代码演示的多个线程对共享资源争用的问题,具体细节这里不详细讨论了。Thread thread1 = new Thread(new ThreadS...

2015-07-04 12:12:10 191

原创 基于总线模式的消息服务

前言一直以来,都对异步事件很感兴趣,比如一个应用在运行一个耗时的过程时,最好的方式是提交这个耗时的过程给一个专门的工作线程,然后立即返回到主线程上,进行其他的任务,而工作线程完成耗时任务后,异步的通知主线程,这个过程本身是很有意思的。传统的事件-监听器模型可以较好的解决这个问题,不过事件和监听器两者的耦合往往略显紧密,所以需要另一种实现,使得这两者的耦合尽量小,那样模块可以比较通用。 ...

2015-07-03 19:58:30 291

原创 Git合并两个commit

一个同事让我把他的repository若干个commit变成一个,我用git rebase -i合并到最后发现剩下只有两个commit的时候,git rebase -i不再起作用,于是我求助了git maillist,果然很快有人给出了答案:$ git reset --soft HEAD^1   只回退commit,保留change和index$ git commit -a --amen...

2015-03-06 11:04:19 187

原创 Backbone 可编辑表格实现

 需求:用backbone.js和jquery实现一个可编辑的员工信息表格。功能:1、录入员工信息。2、删除员工信息。3、双击表格可对员工信息进行修改。4、能对员工信息进行有效性校验。5、能对员工信息进行持久化。设计:用Employee类(继承自Backbone.Model)表示员工信息,包含ID、姓名、性别、年龄和职位字段。 window.Employee = Back...

2015-03-05 17:08:21 241

原创 使用 RequireJS 优化 Web 应用前端

文章源自:http://www.ibm.com/developerworks/cn/web/1209_shiwei_requirejs/index.html AMD 简介前端开发在近一两年发展的非常快,JavaScript 作为主流的开发语言得到了前所未有的热捧。大量的前端框架出现了,这些框架都在尝试着解决一些前端开发中的共性问题,但是实现又不尽相同。在这个背景下,CommonJS...

2015-03-04 11:35:26 161

原创 Browserify 跑在浏览器上的Node程序(转)

文章源自:http://blog.fens.me/nodejs-browserify/ 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可...

2015-03-04 11:09:58 153

原创 Java:对象的强、软、弱和虚引用

文章源自:http://zhangjunhd.blog.51cto.com/113473/53092/ 1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。...

2015-02-28 11:00:25 86

原创 github添加合作者

打开项目主页,然后按照如下步骤进行操作: Settings  ->  Collaborators ->输入一个要添加的账号->点击"Add Collaborators" 这样即可以进行合作开发了 这仅仅是最简单的操作,还有比较复杂的一些,比如Organizations以及Team等,参见如下(转载):GitHub提供免费的团队环境,不过免费仓库容量...

2015-02-26 09:49:56 706

原创 IndexedDB:浏览器里内置的数据库

文章源自:http://www.webhek.com/indexeddb IndexedDB是HTML5规范里新出现的浏览器里内置的数据库。对于在浏览器里存储数据,你可以使用cookies或local storage,但它们都是比较简单的技术,而IndexedDB提供了类似数据库风格的数据存储和使用方式。存储在IndexedDB里的数据是永久保存,不像cookies那样只是临时的。In...

2015-02-25 16:44:37 74

原创 JavaScript冒泡型/捕获型事件、阻止冒泡和默认行为

冒泡型事件的基本思想是、事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。<html> <head> <title></title> </head> <body onclick="theClick()"> &l

2015-02-25 15:59:10 115

原创 一个通用并发对象池的实现

Source: http://ifeve.com/generic-concurrent-object-pool/Source of English: http://www.javacodegeeks.com/2012/09/a-generic-and-concurrent-object-pool.html这篇文章里我们主要讨论下如何在Java里实现一个对象池。最近几年,Java虚拟机的性...

2015-01-20 09:32:11 87

原创 如何创建不可变的Java类或对象

在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述如何创建不可变的Java类或对象,更多Java专业知识,广州疯狂java培训官网与你分享;  immutable Objects就是那些一旦被创建,它们的状态就不能被改变的Objects,每次对他们的改变都是产生了新的immutable的对象,而mutable Ob...

2015-01-07 16:29:16 200

原创 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

文章源自:http://www.cnblogs.com/linjiqin/archive/2013/05/30/3108188.html 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队...

2014-12-29 11:49:02 37

原创 spring配置详解-连接池配置(转载)

一、连接池概述 数据库连接池概述:  数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。  数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接...

2014-12-26 11:58:25 53

原创 spring中使用查询缓存

由于使用的是spring3所以一下配置都基于spring3. 先来看spring没有默认设置查询缓存的设置,spring的xml如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:...

2014-12-26 09:40:18 443

原创 中断线程深入

本文转自http://jiangzhengjun.iteye.com/blog/652269中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程为中断状态,即设 置为true。线程中断后的结果是死亡、还是等待新的任务或是继续运行至下一步,取决于这个程序本身。线程会不时地检测这个中断标识位,以判断线程是否应 该被中断(中断标识值是否为true)。它并不像stop方...

2014-12-25 15:18:05 98

原创 深入java.lang.ThreadLocal类

文章源自:http://lavasoft.blog.51cto.com/62575/51926/一、概述ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,...

2014-12-24 16:50:29 41

原创 深入HTTP理解

HTTP详解 一.一次简单HTTP 会话。 大家都知道HTTP 是基于TCP协议之上的,那么是不是HTTP一定得基于TCP呢? 不是,HTTP 要求的是建立在一个稳定的链接上,不管是TCP 还是UDP。  物理硬件将数据包以帧的形式发送 看图,我们一次请求的时候,会将请求封装成http数据包,然后封装成Tcp数据包,再封装成Ip数据包, 通过物理硬件(网卡芯片)发生到指定地点,收到方先...

2014-12-22 09:08:47 49

原创 Sublime + NodeJs 开发环境

 1. 从www.nodejs.org下载nodejs并安装到指定的目录。 2.下载sublime并安装,下载列表:http://www.sublimetext.com/2 3.下载sublime的nodejs插件,需是集成Nodejs插件到sublime中,下载地址:https://github.com/tanepiper/SublimeText-Nodejs 4...

2014-12-21 20:51:03 81

原创 git 把远程分支拿到本地,并建立关联关系track

http://www.open-open.com/lib/view/open1328069889514.html 从远程分支 checkout 出来的本地分支,称为_跟踪分支(tracking branch)_。跟踪分支是一种和远程分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull ...

2014-12-19 18:18:54 158

原创 安装python web.py Mako

 在linux下安装python2.7.x,打开终端: 1, wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz #下载到当前目录2, tar xvfz Python-2.7.3.tgz #解压3, cd Python-2.7.3 #进入目录 4, ./configure5, make #编译...

2014-12-08 12:47:12 309

原创 Git详解之二 Git基础

文章源自:http://www.open-open.com/lib/view/open1328069733264.html Git 基础读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更 新。我们还会展示如何...

2014-12-01 16:45:45 46

原创 VMware Ubuntu 下与Win7共享文件夹

现在需要使用Ubuntu + VMware环境,这就牵涉到Windows 和 Ubuntu 共享的问题。试了N多种方法行的通,参考《win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)》才行的通。下面总结如下:    1.安装VMtools.    启动Ubuntu系统,在VMware虚拟机界面下,点击VM->Install VMwa...

2014-11-25 10:03:26 127

原创 python读取xml文件

python读取xml文件什么是xml?如下: abc.xml<?xml version="1.0" encoding="utf-8"?><catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'>

2014-11-13 09:21:18 147

原创 使用Crosswalk开发web app

 一、了解CrosswalkWeb技术的优势早已被广大应用开发者熟知,比如可与云服务轻松集成,基于响应式UI设计的精美布局,高度的开放性,跨平台能力, 高效的分发与部署等等。但是要充分利用Web技术的优势,仍然有许多障碍。Crosswalk项目正是为了跨越这些障碍而生。本文讲会简单介绍 Crosswalk项目相关的概念和基本功能。            首先,Crosswalk采用C...

2014-11-11 10:14:07 248

提示
确定要删除当前文章?
取消 删除