- 博客(28)
- 收藏
- 关注
原创 Node.js的初探
针对公司这边使用node的场景,主要是为了进行数据的裁剪,加速首屏的渲染时间;同时避免后端的开发进度影响前端,于是引入node.js这门新的技术。所以决定试node.js,扩大自己的技术水平。https://nqdeng.github.io/7-days-nodejs/这篇文章从最基础的部分介绍了node的概念,包括基本的使用安装方法。node中关于模块的使用方法以及代码的组织和部
2017-07-06 17:59:00
405
原创 ES6+React+Webpack初步构建项目流程
当我们打算使用Webpack构建工具,React和ES6来开发项目的时候,构建这么一套自动化的项目的流程见下: 第一步:webpack是一个基于node的项目,我们使用命令行对webpack进行全局的安装npm install webpack –g。可以通过webpack –h来查看安装的版本信息。然后我们新建一个文件夹用来存放整个项目文件。为了可以在项目中使用webpack,我们需
2016-04-21 20:16:38
7508
原创 关于jQuery中的$.ajax()使用过程中的一些感悟
完成了很久的一个购买页面,后台跟我讲说:购买专区上的省市与线索库的不太一致,对获取线索的准确性造成一定的问题。所以现在对应的省市项,得是后台先传数据给我,然后我在页面展示完呈现给用户。很自然的就想到使用jsonp进行跨域的数据传输。基本想法:页面加载完之后,通过$(document).ready($.ajax())进行数据的获取,然后create新的省份项province;然后根据用户选择的省
2015-11-04 17:10:58
705
原创 AMD,CMD,CommonJS以及RequireJS和SeaJS的个人感悟
今天打开项目群,老大为我们:谁的项目现在在用CommonJS,由于我前段时间接手的项目用到了require来引入新的模块,所以立马说我用到了。之后发现不对经,我好像用的RequireJS模块。越想越觉得模糊,索性在网上找了些文档看了下,下面是我个人的感受。CommonJS:就是用来规范JS的使用的,主要为了JS在后端的表现制定的,不太适合前端。它定了三个模块:模块引用的require,模块
2015-11-04 16:53:33
4165
转载 JSONP和AJAX不同过程的详细分析
由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocke
2015-11-02 14:03:32
818
原创 LeetCode——Word Pattern的JavaScript的实现
Given a pattern and a string str, find if str follows the same pattern.Examples:pattern = "abba", str = "dog cat cat dog" should return true.pattern = "abba", str = "dog cat cat fish"
2015-10-09 15:26:42
636
原创 JavaScript——关于画布元素canvas的使用
在chrome中使用getContext()方法来判断某一浏览器是否支持元素时,使用了如下方法在页面中绘制一个指定大小的矩形。>html>var drawing=document.getElementById("drawing");if(drawing.getContext){var context=drawing.getContext("2d");cont
2015-08-23 17:14:14
864
原创 JavaScript——关于列表权重的笔试题
昨天晚上参加某公司的校招笔试的最后一题,由于时间上的问题导致自己在做最后一道题的时候总感觉力不从心,明明会的问最终还是没有写出完整的最终结果。我还不相信了,于是今天下午花了点时间整理了一下,将答案最终完整的写了出来。先贴在下面,仅供后来的人参考。(由于楼主实力有限,如果不妥请见谅)题目大概是:有一个名为priorityList的列表,向列表项中加入列表参数。例如priorityList.add
2015-08-19 17:37:22
1041
原创 Javascript中的DOM实现显示鼠标的空间位置
为了显示鼠标的空间位置,我们可以利用click事件,获得关于鼠标单击的事件对象event。这个事件对象里的clientX和clientY包含了鼠标的位置信息,所以我突发奇想,那我可以不可以通过DOM中的createElement创建一个标签元素用于在对应的鼠标位置显示当前的鼠标的空间坐标呢?这里我先利用Element中的createElement()方法,创建一个div的标签。为了让标签信息能
2015-08-18 16:33:22
1105
转载 全面理解面向对象的 JavaScript
简介: JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来人们对这一门语言的误解,即认为 JavaScript 不是一门面向对象的语言,或者只是部分具备一些面向对象的特征。本文将回归面向对象本意,从对语言感悟的角度阐述为什么 JavaScript 是一门彻底的面向对象的语言,以及如何正确地使用这一特性。前言当今 JavaScript 大行其道,各种应用对其依赖日
2015-07-26 14:19:26
534
原创 JavaScript——DOM或以树形展示的Web页面
Web网页的一般可以通过document以及document所相关的各种元素组成。当然我们也可以通过层次结构的树形结构在展现Web页面。如果要对一个网页进行修改的话,我们可以通过document对象,Node对象以及Element对象进行相关的操作。【Document对象】是所有页面元素的所有者或是父节点,绝大多数用来创建新元素实例的工厂方法都是核心document对象的方法。DOM1——
2015-07-24 18:25:17
1938
原创 JavaScript——DOM Level0和DOM Level2事件模型
事件处理是JavaScropt中近几年变化最大的部分,也是现有浏览器中仍然存在差异的主要方面之一。为了开发出能够跨浏览器兼容的事件处理程序,我们在编写程序时需要注意一些细节。【DOM Level0】:又称传统事件处理——通过对象属性将一个函数值指定为事件处理程序的做法。任何对象只允许指定一个事件处理程序。DOM Level0时间分成两种阵营:NetScape(Firefox,Mozilla,O
2015-07-20 11:36:22
1935
原创 JavaScript——递归,嵌套和闭包
关于函数创建的三种方式以及递归,嵌套和闭包的概念经常容易搞混。函数定义的三种方式:1.声明式函数(标准的关键字function+函数名+(参数列表)+{函数主体})例如:function functionname(param1,param2,......,paramn) {function statment}2.匿名式函数(将函数赋予的变量+构造函数Function+(参数)
2015-07-19 10:29:25
1157
原创 关于Bootstrap的理解
Web开发领域存在大量的重复劳动。以创建一个菜单为例,不同的人或是同一个人在不同的时期去构建一个菜单,他创建出来的菜单格式都会存在差异;随着构件的菜单越来越多,我们会发现如果将构建菜单这件事形成一个框架,以后只要调用这个框架就能生成一个菜单,这样会极大地提高开发的效率。Bootstrap就是在这样的环境中产生。Bootstrap是一个用于构建响应式网站的前端框架,它将HTML,CSS和Javasc
2015-07-14 14:19:40
1944
原创 JavaScript——对象
1.对象的创建有两种方式:运算符new创建;对象直接量创建;(一)对象由运算符new创建,在这个运算符之后必须有用于初始化对象的构造函数名。例如:var o=new object(); JavaScript还支持内部构造函数,它们以另一种简洁的方式初始化新创建的对象。例如:var now=new Data();(二)对象直接量由属性说明列表构成,列表包含在大括号中,其中
2015-07-12 21:36:50
434
原创 JavaScript——函数
JavaScript中定义函数可以有三种方式:调用function语句;Function()构造函数;函数直接量。(一)function+函数名+括号括起来的参数列表(可选)+构成函数主体的javascript语句(二)var+变量+new+Function(多个字符串)【最后一个字符串是函数的主体,其他字符串参数都是形式参数名。若定义的函数没有参数,可以只需传递最后一个字符串(也即函数在
2015-07-12 10:11:31
640
原创 HTML5+CSS3的应用之(一)
HTML的出现是为了避免网页设计者和浏览器开发者应为设计细节上的偏差,导致万维网的分裂,所以制定html规范来编写和呈现网页,从而使用户体验者能能够得到一致的体验。CSS以强大的样式呈现功能满足了WEB开发人员和设计人员,他可以在网站变得复杂的情况下让设计师更多,更方便的去控制和维护网站的外观。我们在编写HTML网页的时候可能需要注意的一些细节:1.关于html网页中的标签,元素,属性的概
2015-07-09 15:16:13
610
原创 关于加速程式执行效率的几条方法
为了加速程式的执行效率,我们可以通过以下的方式来实现:A.通过pthread_setaffinity_np和pthread_create函数开多个线程,并将不同的线程绑定在不同的core上,充分利用硬件的性能,提高程式的执行效率。B.通过GPU处理器,使用CUDA的编程语言加速程式的执行;也就是利用CPU+GPU的构架,利用CUDAprogramming language来实现程式执行效率
2015-06-01 21:55:03
513
原创 关于CUDA的编程模型的一些介绍
首先大概介绍下CUDA的编程模型,然后以示例程序对运行在GPU上的内核函数进行简单的介绍。1.一个完整的CUDA程序:主机端CPU的串行+一系列设备端kernel函数并行2.运行在GPU上的程序统称为Kernel也就是常讲的内核函数;内核函数必须通过 _global_函数类型限定符定义,并且只能在主机端代码中调用。3.CUDA在执行大量计算时,将计算任务映射为大量可以并行执行的线程
2015-05-27 10:45:10
746
翻译 关于MSB和LSB的C语言操作
一串二进制数从左往右数,最高位为MSB,最右为LSB;我们知道一个data是有unsigned和signed之分,以及32位或是64位等区别。这里我以16位的有符号位二进制数为例,用C语言实际操作一串二进制数的有效位,实现MSB与LSB的排序的调换。#includeint16_t sort(int16_t num){return(num >> 12 & 0x000F ^
2015-05-22 13:01:59
4306
原创 读《富兰克林传》
每次读《富兰克林传》的时候,总有一种深受鼓舞的感动。他的很多为人处世的经验值得我们去学习,特别是在与人打交道方面的原则放在如今处理问题方面都让人拍手称赞。有种大智若愚的感觉,特别实用。1.帮助过你一次的人,一定比受你帮助过的人更愿意再帮你第二次。2.设法消除与别人的敌意,比在心中怀恨,准备报复或继续与别人敌对,更有好处。3.政治家喜欢用一些模棱两口的话语,方便为自己留后路;即所谓的玩政
2015-05-19 15:18:23
602
转载 在Ubuntu Desktop 14.04 64bit上安装CUDA
我们在安装CUDA的时候要留意不同的ubuntu系统对应不同的版本;同时需要注意我们的ubuntu系统要选用64bit的,我在使用32bit的桌面ubuntu时,出现了CUDA无法正常使用的问题。为了使用CUDA,我们首先得安装nVIDIA Driver驱动程式,然后安装CUDA Toolkit工具;最后我们可以通过CUDA Samples来检测CUDA是否可以正常工作。具体的安装步骤:
2015-05-18 21:27:50
488
原创 读《富兰克林传》
读富兰克林自传的“第十一章——创设公共图书馆传播知识”和“第十二章——躬行实践完美到的计划”让我受益匪浅。他不仅告诉我们很多高尚的,重要的美德;还切实的交给我们一些可行的,培养这些美德的操作性的方法;美得很真实。一直感觉富兰克林的很多品质值得我去学习。现列出以下几个比较深受感鼓舞的点:1.一个人从事任何有益公众的计划时,如果只是自己一个人出面,会让别人感觉你喜欢出风头,会遇到很多困难;所以我总
2015-05-12 16:21:30
755
原创 基于GPU的CUDA
(回顾昨天,给今天定了两条做事准则:1.做事时多想想,理清楚一条逻辑。2.重要,困难的事情先做,一点点克服拖延的坏毛病GPU和CPU比较,GPU在处理能力和存储贷款上表交友有时,它可以通过增减处理单元和存储器控制单元来达到上述的目标。支持CUDA的GPU可以简单的类比于:由若干个向量处理器组成的超级计算机。在CPU+GPU的异构并行中: CPU主要负责
2015-05-06 20:53:24
672
转载 简单C语言程序的执行过程
程式的運行方式在開始進行程式開發前,我們先來探討最簡單的C程式如何運作。為了使程式足夠簡單,我們可讓CPU直接從Flash上取得指令(fetch instruction)並執行,而且程式中沒用到全域變數,因此編譯出來的目的檔(object file)中是data section長度是0,如此一來,避免了初始化RAM的步驟,因為data section是可讀寫的,如果目的檔中有dat
2015-04-14 21:11:54
3900
原创 多核多线程——使用GDB进行Debuge
我们在编写程序,特别是大型程序的时候,如果某一个地方出现了一些小的bug,如果通过自己一行一行的排查显然不切实际。这时候我们就得求助于强大的调试工具。调试工具有很多种,比如DDD,Eclipse以及GDB,这里我们着重介绍下GDB的使用注意事项。绝大部分linux系统中都应该安装了gdb,如果没有的话可以使用指令$sudo apt-get install gcc先安装gcc。假设我们要对p
2015-03-28 18:53:50
2149
原创 多核多线程——pthread_setaffinity_np,cpulimit分析CPU资源对应用程序的影响
我们在设计多核多线程程序方案的时候,有时候需要比较不同程序设计方案的性能的区别。比如:同一程序在不同处理器之间切换,充分利用闲置的CPU资源或是了解不同线程绑定在不同CPU资源上的性能等等问题。这里我们可以使用pthread_setaffinity,pthread_getaffinity以及cpulimit配合使用来达到我们的目的。在linux系统下我们不希望某个线程完全占据了某一CPU的全部
2015-03-28 18:02:01
9785
1
原创 北京微软在清交_谈创新与创业(心得)
这次讲座主要是微软亚洲研究院和其中的孵化团队合作的一次回馈国立交大学弟学妹的经验分享,主要内容是围绕着创业的角度展开的。创业是一件有极大风险,成功率很低的事情;它需要有一个旗帜鲜明的领头人,或许很善于交际,或许技术背景很厉害,但最重要的是他得有一种创业者精神——为了达到某种目的或是解决某个问题而奋斗到底的偏执和韧劲。创业的成败与否跟社会环境,国家政策,团队建设等等各种问题有关,但是导致一个创业
2015-03-11 22:10:41
1030
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人