Flex学习笔记

Flex是由界面语言MXML、脚本语言ActionScript组成的,主要针对开发人员,也就是代码写的较多的一类人。MXML用来划出界面,功用类似HTML。AS和JS同出规范ECMAScript,不过AS更加地面向对象,浏览器部署依赖Flash插件,桌面部署依赖AIR。JS是浏览器原生支持的,因为考虑安全性,JS无法访问客户端本地数据,这时候Flash只是作为一种替代。至于是否大量应用,还要看开发需求及开发者个人喜好。本人初学,如果有错误之错,敬请指正。 开发Flex应用一般使用Adobe的Flex Builder软件,或者基于Eclipse的Flex Builder插件。官方提供下载。 事件绑定 AS和JS事件绑定类似,不过AS不用考虑浏览器兼容了,直接对象调用addEventListener方法即可。 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="initApp(event);"> <mx:Script> <![CDATA[ » » »阅读更多

jQuery资源收集

JQuery最佳实践 关于使用jQuery时的最佳实践。使用最新版本的jQuery库,优化选择器查询,尽可能使用javascript原生的方法,缓存查询后的jQuery对象,使用实践委托,减少修改DOM次数等。 JQuery设计思想 基础的jQuery使用方式,jQuery的一些设计思想。如果有javascript基础可迅速掌握,或许不了解javascript童鞋还是要读读《jQuery基础教程》。 阅读更多

关于自由的一些思考

我现在拥有的思考维度局限于经验,写出的文字只能是这个阶段读书或思考的派生物,谈不上深度和广度。只是在我这个阶段对自由的理解。源于阅读《历史深处的忧虑》,作者林达。 自由究竟该是什么样子的,而在生活中我们又希望这两者该如何体现出来呢。我们的历史是一个缺少自由的历史,充满着镇压和统治,似乎这历史延伸的文化不断地影响着我们现代的生活,以为这个时代比那个时代前进了,可似乎未必。现如今的矛盾是我们对自由的诉求大于统治者能够给予的尺度。所以,我感觉,我们的自由是统治者所给予我们的自由,不是法律赋予我们的自由。生活中自由该是什么样子,这个无从想象,毕竟我们没有活在那样的环境下。 美国的自由可以通过《历史深处的忧虑》了解一些,毕竟我们没有经历过美国那个环境,对自由的认识只能停留在作者描述阶段。我很认同的一个观点,美国当初建国的顾虑,国家机器的运转不能剥夺人民的权利。任何人不能凌驾于宪法至上,总统也不可以, » » »阅读更多

JavaScript添加收藏

比较反感这个功能,如果某个网站有价值,用不着提供这种功能。不知为何,领导们都挺喜欢这个功能,似乎放这个功能上去,就能增加流量似的。既然有这方面的需求,那么就得弄点代码,迎合一下领导的胃口。 利用JS操作浏览器而非页面,似乎只有IE和Firefox提供了这种接口,大概也是历史上就提供了这种功能了。我所知道的,其它的浏览器没有提供这种接口。况且这也不是JS应该干的事。 function addFavorite(url, title) { url = url || location.href; title = title || document.title; if (document.all && window.external) { // for IE window.external.addFavorite(url, title); } else if (window.sidebar) { // for Firefox window.sidebar.addPanel(title, url, ''); } else { // 其它浏览器 alert('快捷键 Ctrl+d 添加收藏'); } } 如果参数为空,会使用当前页面的标题和链接地址。其它的 » » »阅读更多

nodejs非阻塞特性

传统的编程语言模型中似乎很少有提及非阻塞这个特性的,至少对于我来说,对这个概念很是不解。习惯了阻塞式的编程,在来看nodejs的非阻塞特性,感觉很是新奇,也感觉这种特性更加合理、有效率。 就我理解的来说,阻塞就是在运行一段程序的时候,后续的程序段都是被阻塞的、无法运行的。这样资源便得不到充分利用,效率上来说就有点折扣。而对于非阻塞的程序来说,运行时间长的程序并不会阻塞其它程序段得运行。 访问文件作为例子,传统的步骤一般是打开文件,然后读取或写入,然后关闭文件。 fp = File.open('foo.txt', 'r') fp.each_line do |line| puts line end fp.close() puts 'end here' 打开文件,读取其中的内容,输出内容。在文件内容没有处理完,是无法执行其后的程序的。再看一下nodejs是如何处理这样的情况的。 var fs = require('fs'); fs.readFile('foo.txt', 'utf-8', function(err, data) { if (err) throw err; console.log » » »阅读更多

使用heroku部署nodejs应用

开发环境在ubuntu10.04下。 $ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] $ gem -v 1.3.7 $ node -v v0.4.9 $ npm -v 1.0.15 $ git .... 确保以上软件安装完成。可参考如下文章。 Ubuntu 10.04安装ruby1.9.2和rail3.0.1 Ubuntu下安装nodeJS npm Set Up Git 准备工作尚未完成,还要到heroku官方注册账户,Sign Up。 下面要安装heroku软件包,推荐使用gem来安装。 $ gem install heroku $ heroku version heroku-gem/2.3.6 如果执行heroku命令的时候,终端报错,找不到该命令,这是因为heroku不在环境变量里,还要执行下面的步骤。 $ gem environment ...... - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1 ...... $ export PATH=/usr/local/lib/ruby/gems/1.9.1:$PATH 准备工作基本完成。下面开始创建nodejs应用。打开ubuntu的终端控制台,执行 $ mkdir node_app $ cd node_app $ gedit web.js 然后将下面的内 » » »阅读更多

jQuery幻灯片插件开发

憋了N天,终于整出来个jQuery的幻灯片插件。jQuery的插件资源非常丰富(25个必须学会的jQuery幻灯片插件教程),没有必要重复发明轮子,任务需要或技能训练,必要的时候还是要动手去做一下,有利于提高JS能力。 先来看一下如何使用该插件,知道如何使用jQuery访问DOM,就可以轻松使用该插件。当然要先从HTML结构开始出发。 HTML代码 <div id="ad_gallery"> <div class="ad_sheet_wrap"> <ul class="ad_sheet_con"> <li><a href="#"><img src="image/image_1.jpg"></a></li> <li><a href="#"><img src="image/image_2.jpg"></a></li> <li><a href="#"><img src="image/image_3.jpg"></a></li> <li><a href="#"><img src="image/image_4.jpg"></a></li » » »阅读更多

Ruby学习笔记

学了一段时间的Ruby,长久未使用,日渐模糊,重新来过,留作笔记。 数组和散列表 (Arrays and Hashs) Ruby的数组(arrays)和散列表(hashs)是被索引的收集(indexed collections)。其它编程语言散列表叫做哈希或者键值数组。 散列表支持任何对象作为它的键。 创建数组(Array),方括号包裹逗号分隔的字符串,数组索引从0开始。 fruit = ['apple', 'orange', 'banana', 'melon'] 快捷方式 fruit = %w(apple orange banana melon) // 注意空格 fruit.class # Array 创建散列表(Hash),花括号包裹,键和值之间用=>分隔。 my = { "name" => "david", "sex" => "male", "age" => 23 } my.class # Hash 访问数组或散列表,只需提供相应的索引即可。访问不存在的索引会返回nil,类似于其它语言中的null。 fruit[0] # apple my['name'] # david fruit[4] # nil my['qq'] # nil 阅读更多

Ubuntu下安装nodeJS

神马?!不知道什么是nodeJS,那你跟我一样OUT了。简单说来,nodeJS是运行于服务器端的语言,基于V8引擎,就是说以后前端和后端都可以用JS来写,很期待!关于nodeJS的详细信息,请直接访问官网。 下面来看一下如何安装nodeJS。linux下安装可以采用简单的三部曲,window下可以使用cygwin安装。我的测试环境用的Ubuntu。 首先从官网下载最新的套件,进入下载页。 $ wget http://nodejs.org/dist/node-v0.4.9.tar.gz $ tar -zxvf node-v0.4.9.tar.gz $ cd node-v0.4.9 $ ./configure $ make $ make install 不幸的是,安装过程中出现如下错误。 Checking for openssl : not found 网上有解决办法,似乎缺少libssl-dev开发库,用常用的软件安装命令可以搞定它。 $ sudo apt-get install libssl-dev 然后在控制台下输入 $ node -v v0.4.9 即可看到我们安装的nodeJS的版本号。 最后上一个nodeJS官方的代码。 var http = require » » »阅读更多

JavaScript 图片切换

用原生的JS写动画效果的确是个很令人纠结的事情,倒不如直接用jQuery来写,亦或找一些jQuery插件。能力达不到的时候,为了工作进度,只能采取心有不甘的手段。 如果真的获得能力的提高,我认为还是必须去学习那些优秀的程序员写的优秀的代码。图片切换并不是很难,只不过要获得一些动画效果有些费力,由于本人数学不好,加之不努力,所以做起动画来很吃力。 动画切换要结合JS和CSS达到想要的效果。图片切换一般涉及的CSS的定位,以及JS定时器的知识。定位方式一般定时变换幻灯片的left或者top属性,实现图片移动。还有一种是设置幻灯片的父容器的scrollTop或者scrollLeft属性。这里用的是定位方式。 首先HTML结构遵循一定的规律,至于为什么,下面会提到。 <div id="J_ad_gallery" class="ad_gallery"> <div class="ad_img_wrap"> <ul> <li><img src="image/banner-1.png" width="514" height="191" /></li&g » » »阅读更多