摘要: 在开启JSX的学习旅程前,我们先了解一下React的基本原理。React本质上是一个"状态机",它只关心两件事:更新DOM和响应事件,React不处理Ajax、路由和数据存储,也不规定数据组织的方式。它不是一个MVC的框架,只是MVC里的"V"。 在每次状态改变时,使用JavaScript重新渲染整 阅读全文
posted @ 2016-06-11 12:30 whu-小磊 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 1 工欲善其事必先利其器:前端开发工具 1.1 WebStorm和Sublime Text Sublime Text:作为代码编辑器,Sublime Text的优点如下: 主流前端开发编辑器 体积较小,运行速度快 文本功能强大 支持编译功能且可在控制台看到输出 内嵌python解释器支持插件开发以达 阅读全文
posted @ 2016-06-10 17:33 whu-小磊 阅读(4182) 评论(0) 推荐(1) 编辑
摘要: 1 自定义菜单导航栏插件的必要性 看图说话,下面是利用自定义的菜单导航栏插件simpleMenu创建的网站导航示例: 插件默认提供的是如上图的导航栏样式,即一二级菜单为横向分布;三四级菜单为纵向分布。 使用插件时,可以修改默认参数,目前插件提供了设置菜单的分布方式:横向或纵向;菜单的位置:... 阅读全文
posted @ 2015-09-29 21:45 whu-小磊 阅读(4753) 评论(4) 推荐(1) 编辑
摘要: 1 基本概念 1.1 事件 JavaScript与HTML之间的交互是通过事件实现的。 事件是文档或浏览器窗口中发生的一些特定的交互瞬间,在事件上可以注册处理程序,以便当事件发生时,处理程序中的代码得到执行(这种模型对应设计模式中的观察者模式)。 1.2 事件流 事件流描述的是从页面接受事件的顺序。 阅读全文
posted @ 2016-07-02 10:43 whu-小磊 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 1 背景 伴随着项目功能的不断扩充,客户体验的不断完善,实现交互逻辑的JS代码变得越来越多。起初,为了管理JS代码,我们把JS从页面中解放出来独立成文件,接着又把相似的交互代码提取到公共的JS页面中。然而这还不够,一个团队在编写JS交互逻辑时,往往会出现"命名冲突"的问题。于是乎,我们想到了闭包,并 阅读全文
posted @ 2016-06-05 15:06 whu-小磊 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家。 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确、错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情。要做好表单验证,需要准备以... 阅读全文
posted @ 2015-09-26 18:26 whu-小磊 阅读(5946) 评论(2) 推荐(4) 编辑
摘要: 一、概念介绍 线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.下面对进程和多线程的概念进行讲解和对比。 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下... 阅读全文
posted @ 2013-05-11 21:06 whu-小磊 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 一、Solaris下OpenCV工具安装1.选择OpenCV的linux版本OpenCV2.2,链接地址为http://www.opencv.org.cn/download/OpenCV-2.2.0.tar.bz2,下载后解压并放到linux目录下。2.OpenCV2.2的编译需要借助cmake工具,cmake下载的链接地址为http://www.cmake.org/cmake/resources/software.html,下载后解压并上传到Solaris中。Cmake工具的安装分为3步骤首先./configure 这时可以选择安装目录 --prefix=/usr/local/cmake然. 阅读全文
posted @ 2013-05-09 14:48 whu-小磊 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 无论是词法分析,还是语法分析,给我的第一感觉就是逻辑要严谨。由于项目有自己一套完整的语言和语法,设计好其对应的词法分析器和语法分析器显得尤为重要。 我们采用flex进行词法分析。flex是一个用来生成扫描器(scanners)的工具,其中扫描器就是可以识别文本中词法模式的程序。具体流程为:flex读取给定的输入文件,或标准输入(当没有给定文件名时)读取信息来生成一个扫描器。信息以正则表达式和C代码组成,这种形式称为规则(rule)。flex生成C源代码文件lex.yy.c,其中定义了一个函数yylex()。这个文件通过编译,并用-lfl 链接生成可执行文件。当可执行文件被执行时,它分析输入中可 阅读全文
posted @ 2012-05-09 17:21 whu-小磊 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 1.什么是虚成员函数即其声明在返回类型的前面带有关键字virtual的类成员函数。定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。2.动态绑定通过动态绑定,我们能够编写程序使用继承层次中任意类型的对象,无须关心对象的具体类型。在C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指针)所指对象的实际类型所定义的。3.基类成员函数成员默认为非虚函数,对非虚函数的调用在编译时确定。为了指明函数为虚函 阅读全文
posted @ 2012-04-30 18:53 whu-小磊 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 时间:2012年4月23号 地点:珞珈山国际宾馆话说一面结束后,我感觉良好。次日便收到Tencent的二面通知,感到万分庆幸的我,开始准备迎接第三天的又一次挑战。闲话少说,直入正题。这次面试持续大概25分钟,内容如下:1.自我介绍。事先没有预料,我张口就说。从目前的研究生说起,一直到大学生涯。我的感觉是自己说的有点粗糙,也没啥亮点。这个以后需要事先有所准备,尽量给面试官留下一个好的印象。2.工作地点。面试官问我工作地点意向。我一直都是坚持的深圳。然后他又要我给出一个合理理由,我的回答也很干脆:Tencent的总部就在深圳,觉得比较好发展。3.编程题:.给定一个字符串如"12345&q 阅读全文
posted @ 2012-04-30 17:06 whu-小磊 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 时间:2012年4月21号 地点:珞珈山国际宾馆今天可以说是我第一次参加比较正式的面试,对于缺乏面试经历的我,可谓一次难得的体验机会。Tencent的面试给我最深刻的影响是比较专业,笔试过后,面试共有三轮,第一二轮为技术面试,第三轮为HR面试。昨天晚上收到了一面通知,一方面很兴奋,终于能有机会见识一下大公司的招聘;另一方面又很忐忑,毕竟没有啥面试经历,没见过场面,也不知道会问些啥问题。下午14:10,我准时来到宾馆报到。工作人员在查看了名单后,递给我一张写有房间号的纸条,示意我去该房间号等候面试。此次面试,持续了50分钟,内容如下:1.有一个字串形式为"name1=type1;nam 阅读全文
posted @ 2012-04-29 23:11 whu-小磊 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1、面向对象的标准库 实际的程序不仅限于对控制窗口的IO,通常还需要读或写已命名的文件。此外,程序还应该能够方便地使用IO操作格式化内存中的数据,从而避免读写磁盘或其他设备的复杂性和运行代价。应用程序还需要支持宽字符语言的读写。 从概念上看,无论是设备的类型还是字符的大小,都不影响需要执行的IO操作。要同时支持不同的设备和不同大小的字符流,标准库使用了继承来定义一组面向对象的类。一般而言,通过继承关联起来的类型都共享公共的接口。如果两个类型存在继承关系,则可以说一个类(派生类)“继承”了其父类(基类)的行为——接口。 IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,f 阅读全文
posted @ 2012-03-01 20:57 whu-小磊 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 每次函数传递,都会重新创建该函数的所有形参,此时将所传递的实参初始化对应的形参。形参可以分为非引用形参和引用形参两类。非引用形参:普通的非引用形参是通过复制对应的实参实现初始化。当用实参的副本初始化形参时,函数并没有访问调用所传递的实参本身,因此不会修改实参的值。(非引用形参表示对应实参的局部副本。对这类形参的修改仅仅改变了局部副本的值。一旦函数执行结束,这些局部变量的值也就不存在了)。非引用形参之指针形参:可以将指向const对象的指针初始化为指向const对象或非const对象;但只能将指向非const对象的指针初始化为指向非const对象。若函数使用非引用的非const形参,则既可以给该 阅读全文
posted @ 2012-02-21 15:52 whu-小磊 阅读(237) 评论(0) 推荐(0) 编辑
摘要: # ####################################################################### # makefile 模版 # # # ####################################################################### # ###################项目路径和程序名称################################# # DIR=$(shell pwd) # BIN_DIR=$(DIR)/bin # LIB_DIR=$(DIR)/lib# SRC_DIR= 阅读全文
posted @ 2011-12-18 21:29 whu-小磊 阅读(114) 评论(0) 推荐(0) 编辑