自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

追,是一种生活的态度,理想在领跑,而我在追逐。

  • 博客(111)
  • 资源 (75)
  • 论坛 (16)
  • 收藏
  • 关注

原创 一个入门级别的前端打包工具

写在前面长期以来,前端的模块化管理都不很成熟(webpack出现之前),为此,早期(ES5时代)为了实现依赖管理,甚至会利用window等全局对象进行模块注册。而如今有了webpack,rollup等优秀的打包工具,让前端开发起来事半功倍,因此笔者觉得很有必要去学习下这种划时代工具的实现思路。因此,本篇将讲述如何一步步实现一个初级的前端打包工具,仅供学习和分享,希望读完后可以让大家对打包工具不只是停留在会用(光看文档)的基础上,而是能够有更多的思考(比如如何优化和按需定制)。如果你准备好了,请先倒一

2020-09-13 22:17:28 74

原创 WebSocket分享

1.开篇以下为我之前給组内分享的有关WebSocket的话题,略有删减,未完待续。。。长期以来,在web领域中,若想让客户端与服务端交互,我们首(或者说唯一的)选的肯定是Http。而随着web应用的快速发展,数据的消费量和功能需求的强度也逐渐增加,很显然,传统的Http模式早已不能满足我们,更多的需求则希望服务端可以“主动”跟客户端通信来增加交互。不得已,long-polling逐渐...

2019-04-12 12:52:26 242

原创 前端组件化思想

1.开篇  先说说为什么要写这篇文章吧:不知从什么时候开始,大家相信前端摩尔定律:“每18个月,前端难度会增加一倍”。我并不完全认可这个数字的可靠性,但是这句话的本意我还是非常肯定的。  是的,前端越来越简单了,但也越来越复杂了—简单到你可以用一个Github的starter搭建一个框架,集成所有的全家桶,涵盖单元测试和功能测试,包括部署以及发布,甚至你开发时使用的UI库都让你写不了几行c...

2018-02-27 09:59:14 13647 3

原创 关于Promise的一些

The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.为什么要重新从定义回顾,是因为我觉得就是因为定义太过于简单,所以细节容易被忽略。比如怎么才算最终的状态?怎么更好的处理异常?如何

2018-02-27 09:56:17 434

原创 前端项目应该如何部署

一个标准的前端项目,必定始于yarn start,它将会经历babel编译,webpack构建,server启动等流程,然后由浏览器加载页面。这是很Dev的开发方式,可生产环境我们却往往不这么做。1.何为前端?如果按照以前的看法,前后端最本质的区别当然是运行环境了,一个是浏览器中所写即所见的UI界面,另一个则是藏在背后的服务。在这种简单的区分下,前端往往会被定义为HTML/CSS/Javascri

2017-07-27 10:14:45 21804 1

原创 浅析DDD(领域驱动设计)

最近在做一些微服务相关的设计,内容包括服务的划分,Restful API的设计等。其中比较棘手的就是Service的职责划分:如何抽象具有统一业务范畴的Model,使其模块化,又如何高度提炼并组合多模块,使得业务可独立服务化。为了找寻答案,看了不少书籍和博客,在DDD中找到了一些思路,个人觉得受益匪浅,或许也可以受用于大家,特分享于此。什么是DDD软件开发不是一蹴而就的事情,我们不可能在不了解产品

2017-03-15 20:34:50 8765

原创 Java8之函数接口

以方法作为参数传递时,Ruby有proc,C#有Delegate,而JavaScript则更不用说,唯独Java在这方面很尴尬。但Java8提供了Lambda表达式和函数接口,这无疑是Javer的福音,也使得Java这门语言更佳的优秀和易用。

2017-02-12 13:24:32 667

原创 ES201X

此Deck为我近期给组内分享的有关ES展望的Session,如下。Slide1: 先说一下我为什么讲这个Session:之前为Tech Radar准备了一个Session,是《ES2017》,可不知道为什么,在不知情的情况下就被别人给讲了,瞬间有一种被潜规则的感觉。都准备的差不多了,不讲还怪可惜的。再加上项目结束后许多同事未来可能会是React+ES6的技术栈,因此我就讲内容进行了调整,准备跟大家

2016-12-15 21:58:58 734

原创 就是要跨域

由于CORS(跨域)本身是具有安全隐患的,因此浏览器默认是禁止的。但跨域却在web开发中具有很重要的作用,也是前端dev经常为之头痛的领域。那么,前端到底如何跨这个域呢,且往下看。简书同步 blog同步前端常见的跨域手段如下: 1.script/link/img加载外部资源一个网站常常会加载以下外部资源:<script src="https://maxcdn.bootstrapcdn.c

2016-10-31 13:21:17 574

原创 微信小程序,你怎么看?

微信小程序自内测以来已经刷爆了整个IT圈,至少各大论坛(segmentfault,掘金,CSDN等)的前端板块已经被霸屏。其实小程序这种“无需下载,用完即走”的概念离大多数的微信用户都很近,就拿我们经常使用的“微信运动公众号”来举例:用户只要关注此公众号,并且绑定相应的能够提供记录步数功能的App,即可参与每天行走排名,这就“相当于”实现了一个无需下载但又很有用的小程序。小程序与之类似,但是请注意,

2016-09-28 12:50:33 2985 2

原创 Element和Node的区别你造吗?

1.写在前面 我们经常使用document.getElementById去获取DOM中的元素,也会使用childNodes来获取子节点。那么Element和Node的区别是什么?而什么又是HTMLCollection,HTMLElement,和NodeList呢?一个简单的页面:<html> <body> <h1>China</h1> <!-- My comment ...

2016-09-21 15:08:54 14659 3

原创 "Remote Work Via Git"的正确打开方式

写在前面git pull -r origin branch是程序员最常用的Git指令之一了。可现今为了保证安全性,许多公司的Git Server并不像访问Github那样容易,往往得通过VPN才能进行访问。那么问题来了,假如你在家里办公,连不上VPN肿么办?别懵逼,往下看。场景一小王,小宋和小马都是同一个公司的程序员,它们都在同一个项目上工作,本地都有同一个Git Repository。今天轮到小宋

2016-08-18 09:28:10 1178

原创 不一样的视角,不一样的VR

# 写在前面直到上周,我才跟同事一起看了Google I/O 2016发布会。其实也并不是不想关注VR,只是觉得AR/VR在现在已经被炒的太热了,以至于就好像我们已经完全掌控了它一样。但实际上我们才仅仅开始;或者说,我们还并未真正的开始。此次谷歌大会首推当家虚拟平台Daydream,这个名字好,一下子就体现了VR的最重要的特点。大会上,谷歌宣称未来将会发布可以完美运行Draydream的Androi

2016-08-10 20:24:34 1022

原创 从精益软件到精益思想

说起精益软件开发,这绝对算是一个老生常谈的话题了。所以在这里,我不想去谈论诸如“精益软件开发的几大原则”或是“精益软件开发的最佳实践”等陈词滥调;只是最近在同事的推荐下,拜读了一本有关IT运维方面的书籍(《凤凰项目》)。书中的故事十分有趣,同时又引人深思,细细品味后颇有感悟,对工作和生活上有了许多新的想法,于是便按耐不住写下此文。 写在前面布伦特是一个有着十年以上开发及运维经验的高级工程

2016-08-10 16:39:45 1611

原创 RSpec Trial

1 ### 开篇 这篇Deck是近期对RSpec测试框架的一个Session总结,参考了RSpec官方文档那个和Better Rspec的介绍,对RSpec的一些简单用法和最佳时间进行了介绍。 原文请戳

2016-05-30 22:18:52 699

原创 React从零学起

原文请戳 初接触React,除了不习惯其组件化的设计原则外,往往它所‘依赖’的众多module也会让初学者感到困惑,使得不知从何学起。此文只是我对React的一些浅析,希望能帮助想要学习React的朋友入门。1.React从来就是独立的正如上面我提到的,React’依赖’了很多module,但是这种依赖并不是所谓的耦合依赖,只是为了更好的去实现React。换句话说,React只是一个View层

2016-05-19 14:04:39 1849

原创 Mock & Stub (JUnit)

Visit This Article In Github PageAbstract Both mock and stub are mummy objects for unit test in spring.When you have lots of dependencies in unit test, creating fake object to reduce dependency is re

2016-05-19 14:00:47 1138

原创 Hello, Knockout

来源 也许你有过一些使用MVVM框架的经验,并且你熟悉各种主流框架的使用规则(Angular, Knockout),可你是否静下心去读一读其中的源码,思考一下其内部的实现呢?这个Deck是根据我对MVVM框架的理解编写而成,其中的demo完全模拟了Knockout.js的接口,希望可以跟大家一起去分享一下如何实现一个简单的MVVM框架

2016-05-19 13:50:41 740

原创 打造属于自己的MVVM框架: 3.双向绑定

MVVM中对Bingding的解析只能算viewModel->view的单项绑定,但MVVM绝不仅仅只有单向绑定,更重要的是如何监控viewModel变化,将信息实时的反馈给view。原文请戳 源码请戳如何监控Object的变化你会可能会遇到一下场景:前端UI已经渲染完成,但并没有数据,因此发送请求向服务器请求数据,AJAX回调完成后,用Callback里的值去更新UI(很可能是暴力的Jquer

2016-05-19 13:44:00 3369

原创 打造属于自己的MVVM框架: 2.模版渲染引擎

上一篇介绍了MVVM的基本知识,本篇讲针对MVVM的模版渲染引擎进行介绍,不但从原理上对模版引擎的渲染原理进行剖析,而且有会相应的实现代码。源码请戳 原文请戳 什么是模版渲染引擎还是先来看一下上一篇有关knockoutjs的Demo:<p>First name: <strong data-bind="text: firstName"></strong></p><p>Last name: <st

2016-05-19 13:38:24 2538

原创 打造属于自己的MVVM框架: 1.什么是MVVM

MVVM(Model View ViewModel)是一种基于MVC的设计,开发人员在HTML上写一些Bindings,利用一些指令绑定,就能在Model和ViewModel保持不变的情况下,很方便的将UI设计与业务逻辑分离,从而大大的减少繁琐的DOM操作。起源MVVM这个概念最是在2005年,由微软的工程师John Grossman在其博客中提出,最初这个概念是用在微软的WPF上的。直到最近几年

2016-05-19 13:31:05 20711

原创 你必须记住的30个CSS选择器[译]

开篇 有30个CSS选择器你必须烂熟于心,它们适应于当今各大主流浏览器。1.** { margin: 0; padding: 0;}*选择器选择的是每一个单一元素。很多程序员用上面的CSS将所有元素的margin和padding清零。虽然这是有效的,但最好还是别这么做,这会使得浏览器的负担很重。*选择器也可以用在孩子选择器中。#container * { border: 1px

2016-05-19 13:24:09 2963

翻译 理解CSS中的BFC(块级可视化上下文)[译]

开篇 一些元素,如float元素,如position为absolute,inline-block,table-cell或table-caption的元素,以及overflow属性不为visible的元素,它们将会建立一个新的块级格式化上下文。上述定义已经很详细的描述了块级格式化上下文(Block Formatting Context)是如何形成的,为了方便起见,文中均用BFC代替。现在,让我们

2015-08-11 13:07:12 1439

原创 shrink-to-fit(自适应宽度)

自适应宽度是指当未明确设定容器的宽度(或外边距设为auto)时,在特定的情况下容器的宽度会根据情况自行设定,而设定的结果往往并不是我们想要的。W3C规范中描述了几种shrink-to-fit的情况10.3.5 Floating, non-replaced elements 10.3.7 Absolutely positioned, non-replaced elements10.3.8 Ab

2015-07-28 14:16:14 3078

原创 Collapsing margins(外边距合并)

开篇 块元素的上边距或下边距有时会合并为一个margin,这种情况称之为外边距的合并,即collapsing margins.一个常见的css样式的bughtml&css:<!DOCTYPE html><html> <style type="text/css"> html, body{ width: 100%; heig

2015-07-27 00:00:44 1444

原创 一个例子让你明白原型对象和原型链

开篇 之前对js中的原型链和原型对象有所了解,每当别人问我什么是原型链和原型对象时,我总是用很官方(其实自己不懂)的解释去描述。有一句话说的好:如果你不能把一个很复杂的东西用最简单的话语描述出来,那就说明你没有真正的理解。最近正在读《Javascript高级程序设计》,书中对原型对象和原型链的描述让我受益匪浅,下面仅用一个对比性的例子来说明。我们经常会这么写 function Perso

2015-06-12 17:51:24 34120 8

原创 Javascript中的几种继承方式比较

开篇 从’严格’意义上说,javascript并不是一门真正的面向对象语言。这种说法原因一般都是觉得javascript作为一门弱类型语言与类似java或c#之类的强型语言的继承方式有很大的区别,因而默认它就是非主流的面向对象方式,甚至竟有很多书将其描述为’非完全面向对象’语言。其实个人觉得,什么方式并不重要,重要的是否具有面向对象的思想,说javascript不是面向对象语言的,往往都可能没有

2015-06-12 17:32:25 13740 1

原创 HTML5实现歌词同步

开篇HTML5的最强大之处莫过于对媒体文件的处理,如利用一个简单的vedio标签就可以实现视频播放。类似地,在HTML5中也有对应的处理音频文件的标签,那就是<audio>.标签在线Demoaudio标签实现一个audio标签非常简单,对应的html代码如下:<audio id="player" src="music/我在人民广场吃炸鸡.mp3" autoplay control

2015-06-12 14:27:00 18359 4

原创 Git使用总结!

情景1:如何多人协作?假若你已经clone了别人的仓库并且需要修改,最好的办法是建立自己的分支然后在合并,具体步骤如下:1.建立一个自己的分支git branch mybranch此时可以使用git branch查看当前的分支情况,如不 出意外,则显示一个master一个mybranchi分支,而你当前在master分支上。2.切换到新建的分支git

2014-11-25 20:40:46 29963 1

原创 Linux Mint 17下搭建Ruby环境

一.环境搭建1.安装curl

2014-11-23 20:41:58 1078

原创 Linux Mint 17下Sublime插件Emmet的安装和使用

众所周知,Sublime可以说是编辑器中的霸主,其代码样式也成为主流。更重要的是其具有丰富的Packages进行扩展,若经常写CSS,那么用Sublime在合适不过了,当然你首先还得安装能能够提高CSS编写效率的插件Emmet。首先打开Sulime,点击View->Show Console,在控制台输入以下脚本:Sublime Text 3:import urllib.reques

2014-11-15 22:08:18 2441

原创 面试准备之常见上机题目搜罗(三)

一、       输入一段英文文本,用程序统计出现频率最高和最低的两个单词;       仅大小写不同的单词算同一个单词;       如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。       返回的单词统一用小写字母返回       英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)       单词之

2014-11-15 21:44:52 1919

原创 Nodejs连接sqlserver数据层封装

一、准备模块msnodesql

2014-06-21 16:52:31 15859 2

原创 Node.js利用Express框架搭建小型网站(下)

一、安装必备模块1.ejs

2014-06-21 16:21:45 12926 1

原创 Node.js利用Express框架搭建小型网站(上)

一、Express环境搭建Express是Node.js下的一个轻量级W

2014-06-16 18:22:12 29777 1

原创 Node.js连接Sql Server 2008

最近需要学习Node.js,所以很久没写东西了,疯狂的

2014-06-16 11:07:48 25492 9

原创 面试准备之常见上机题目搜罗(二)

1.数组比较题目:    比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数

2014-04-21 15:55:16 1154 2

原创 面试准备之常见上机题目搜罗(一)

1.从考试成绩中划出及格线 (1)及格线是10的倍数(2)保证至少有60%的学生及格(3)如果有所有的学生都高于60分,则及格线为60分。算法分析:    关键信息点为“保证至少有60%的学生及格”,可将分数线的概念转换为人数,即只需统计每个档次的人数,若60以上档次的人数就是全体人员则分数线为60,否则去寻找(由高分到低分)最先达到60%人数的档次。java实现如下:

2014-03-30 16:31:37 4119 6

原创 面试准备之常见排序算法的总结!

1.插入排序 1.1直接插入排序     这是一种最简单,最容易理解的排序方式,其排序思路如下:假设待排序数组为R[0,1,2,i...n],首先将R[0]看作一个有序的子序列(尽管它只有一个数),从R[1]至R[n]开始,逐一向该子序列进行插入操作(由小到大排序),那么左半部分的有序子序列将不断增加,而右半部分的待排序列将不断减少,当有序子序列的长度等于原序列时, 排序结束。

2014-03-20 11:54:30 6815

原创 串的基本操作!

#include#includeusing namespace std;#define TRUE 1#define FALSE 0#define ERROR -1#define MAXSIZE 10#define NULL 0typedef int Status;/*串的操作注意:每个串默认开辟Len+1个单元,最后一个单元存储结束符'\0'*/

2014-02-25 09:39:25 1769

javascript.rar

javascript.rar

2014-08-09

Javascript入门分享 (UI).pptx )

Javascript入门分享 (UI).pptx )

2014-08-07

js入门分享PPT

js入门分享PPT

2014-08-02

sublime_text

sublime_text

2014-08-02

node.js比较全的开发资料

node.js比较全的开发资料

2014-07-02

NodeJS介绍

NodeJS介绍

2014-07-02

TestNotification

TestNotification

2013-12-16

listview.rar

listview.rarlistview.rar

2013-12-12

自定义dialog实现登录框

自定义dialog实现登录框自定义dialog实现登录框

2013-12-10

AlertDialogTest.rar

AlertDialogTest 代码

2013-12-10

Remoting双向通信V3.0.rar

Remoting双向通信V3.0.rar

2013-06-25

Remoting双向通信V4.0.rar

Remoting双向通信V4.0.rar

2013-06-26

Remoting双向通信v1.0

Remoting双向通信v1.0

2013-06-25

RemotingV2.0

RemotingV1.0.rar RemotingV1.0.rar

2013-06-25

Remoting双向通信V1.0.rar

RemotingV1.0.rar RemotingV1.0.rar

2013-06-25

Remoting双向通信V2.0.rar

RemotingV1.0.rar RemotingV1.0.rar

2013-06-25

谷歌地图添加右键菜单

实现了地图map的右键菜单和marker的右键菜单,这是参考别人的代码,大家可以在次基础上做些修改,感谢原创。

2013-06-08

ZigBee实战演练

网蜂(WeBee)ZigBee实战演练,学习物联网的好帮手,很全的资料,里面有所有代码和讲解。

2013-01-23

网蜂基础实验代码

网蜂基础实验代码,内含有点灯实验,串口通信等8个基础实验。

2013-01-23

网蜂组网试验代码

网蜂组网试验代码,里面有例子。比如无线透传,无线点灯等等,还有PDF。

2013-01-23

网蜂项目实践源码

网蜂项目实践源码,内含三个项目,还有PDF。

2013-01-23

紫蜂技术及其应用

紫蜂技术及其应用,学习物联网的好帮手。PDF

2013-01-23

CC2530数据手册(中文).pdf

CC2530数据手册(中文).pdf

2013-01-23

PL2303驱动

PL2303驱动PL2303驱动,不多说了,你自己懂得

2013-01-23

鸟哥的私房菜1-26章完整版.rar

鸟哥的私房菜1-26章完整版.rar ,不多说了,这样的完整版在CSDN中很难找到的。

2013-01-23

嵌入式应用程序开发综合实验9例.pdf

嵌入式应用程序开发综合实验9例.pdf ,对想学嵌入式的朋友来说很好的。

2013-01-23

晶体管电路设计(上)放大电路技术的实验解析.pdf

晶体管电路设计(上)放大电路技术的实验解析.pdf

2013-01-23

linux一句话精彩问答.pdf

\linux一句话精彩问答.pdf ,想学linux的朋友可以看下。

2013-01-23

DS18B20.pdf

DS18B20.pdf ,这传感器在不用介绍了吧,你懂得。

2013-01-23

GPS设计全攻略.pdf

GPS设计全攻略.pdf

2013-01-23

AT指令说明书.rar

AT指令说明书,里面有很详细的AT指令,基本够你用了

2013-01-23

GPS测试软件.rar

GPS测试软件.rar

2013-01-23

GSM串口调试助手.rar

GSM串口调试助手.rar

2013-01-23

SIM300资料.rar

SIM300资料.rar

2013-01-23

SIM900B.rar

SIM900B.rar

2013-01-23

汉字Unicode互换小工具.rar

汉字Unicode互换小工具.rar ,可以实现汉字到UNICODE或者UNICODE到汉字的转换

2013-01-23

Socket调试工具

TCPUDP调试工具.rar

2013-01-23

华为内部LINUX资料

华为内部LINUX资料

2013-01-03

visual c#.net网络核心编程

visual c#.net网络核心编程

2013-01-03

visual+c#网络变成技术与实践

visual+c#网络变成技术与实践源文件.rar

2013-01-03

VS2010打包WINFORM出现问题!

发表于 2013-01-25 最后回复 2013-03-07

QT下的SOCKET????

发表于 2013-01-09 最后回复 2013-01-23

求推荐几本书,谢谢!

发表于 2013-01-06 最后回复 2013-01-08

求推荐几本书!

发表于 2013-01-06 最后回复 2013-01-08

求视频传输的思路、方案?

发表于 2012-12-23 最后回复 2012-12-30

代码提示问题!

发表于 2012-11-25 最后回复 2012-12-23

VS2010出现了个奇葩问题。。。

发表于 2012-11-01 最后回复 2012-11-04

alert对话框弹不出来!

发表于 2012-09-25 最后回复 2012-09-26

问一个有关提高数据库安全性的问题!

发表于 2012-08-26 最后回复 2012-08-28

怎么打包C#代码可执行文件!

发表于 2012-08-10 最后回复 2012-08-11

关于打包代码的问题!

发表于 2012-08-09 最后回复 2012-08-11

“LinkDB”的类型初始值设定项引发异常。

发表于 2012-06-30 最后回复 2012-07-15

谁能给小弟一个几行的代码?

发表于 2012-07-01 最后回复 2012-07-15

请教一个很弱的问题。。

发表于 2012-07-05 最后回复 2012-07-06

无法加载 DLL“Mwic_32.dll”: 找不到指定的模块。

发表于 2012-06-29 最后回复 2012-06-30

求教,IC卡读卡器的二次开发。

发表于 2012-06-28 最后回复 2012-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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