• 2009年11月18日

    用IxEdit进行JavaScript快速开发

    分类:

    IxEdit基于jQueryjQuery UI傻瓜式生成JavaScript代码。开发环境需要浏览器Safari 3.1+, Chrome, Firefox 3+或者Internet Explorer 7+,对于FirefoxInternet Explorer需要安装Gears。此外,由于其所有文件的编码为UTF-8,所以你要修改的HTML必须以UTF-8编码并以标准模式编写才能使其正常工作。

     

    下载IxEdit后,把解压后其下的ixeditjquerysample-style文件夹拷贝到合适的目录下以便加载,在你需要编辑的HTML页面的head元素加上:

     

    所有编辑完成后,在”Route Menu”上选择”Deploy”,再次编辑HTML文件,删除ixedit相关加载。

     

    最后生成的代码兼容MSIE6+Firefox 2+Safari 3+Opera 9+Chrome。进一步阅读移步IxEdit用户指南IxEdit傻瓜式JavaScript开发工具

  • 2008年12月01日

    Perl学习(3)

    分类:

    【资源】

    Perl预置变量

    Perl预置函数

    Strawberry Perl-“让Win32成为Perl世界真正的第一等公民”

    Perl cheat sheets

    Command line parameters

    Higher-Order Perl

    Perl by Example (4th Edition)

  • 2008年11月24日

    Perl学习(2)

    分类:

    Perl的帮助,非windows下用manwindows下用perldoc

     

    $&返回最后一个成功的匹配,$`返回最后成功匹配之前的,$’返回最后成功匹配之后的。

     

    $!存储返回的系统错误,$.是行计数变量。$#返回数组中最后一个元素的下标,$|保证自动清空输出缓存在每行print语句执行之后。

     

    ARGV[0]保存脚本名之后的第一个单词,$0保存Perl脚本名$#ARGV保存数组ARGV中最后那个数的下标。

  • 2008年03月11日

    自动设置IE代理服务器

    分类:

    批处理自动设置Internet Explorer代理服务器。

     

    Batch Code:

    @rem SetIeProxy.bat Createdby fanfeng

    title Set IE Proxy

    @echo off

    :start

    cls

    echo.****************************************************************************

    echo         1. Use Proxy

    echo               0.Stop Proxy     q.Quit

    echo.****************************************************************************

    set /p choice=Please Choose:

    if /i "%choice%"=="0" goto SP

    if /i "%choice%"=="1" goto Proxy

    if /i "%choice%"=="q" goto end

     

    : Proxy

    echo Please wait.....It will be configured automatically when finished......

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "jpnproxy:80" /f

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "<local>" /f

    echo The JPNProxy enabled......Press any key to return

    pause>nul

    goto start

     

    :SP

    echo Please wait.....It will be closed automatically when finished......

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f

    reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f

    echo The Proxy stopped......Press any key to return

    pause>nul

    goto start

     

    :end

    exit

    存为SetIeProxy.bat

     

    当然,如果不在域中且没安装防火墙客户端,可选用“自动配置”

    Internet ExplorerInternet选项->连接->局域网(LAN)设置这一页上,可以指定将为一组用户或计算机自动配置Internet ExplorerURL。可以通过使用 Internet 设置 (.ins) 文件设置标准代理服务器设置来配置选项。也可以使用 JScript (.js)JavaScript (.jvs) 代理自动配置 (.pac) 格式指定脚本文件,通过这些脚本文件来配置和维护高级代理设置。指定自动代理(auto-proxy)脚本文件后,Internet Explorer会使用该脚本动态确定是直接连接到主机,还是使用代理服务器。

     

    自动浏览器配置

    项目

    详细信息 

    自动配置 URL.INS 文件)

    输入要用于自动配置(auto-config).ins文件的位置。

    自动代理 URLJScript(.js)JavaScript(.jvs)或代理自动配置(.pac)文件)

    输入自动代理(auto-proxy)脚本的位置。

     

    资源

    .Ins File Entries and Descriptions

  • 2008年01月24日

    Ruby学习

    分类:

    Ruby,一种解释型纯面向对象的脚本语言,以7月的诞生石ruby(紅宝石)命名,由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby LicenseRuby的作者于1993224日开始编写Ruby,第一个alpha版本在199412月发布,直至199512月才正式公开发布于fj(新闻组)。1996年以前,都是Matz一个人在开发RubyRuby集合了Perl, Smalltalk, Eiffel, Ada, LispPython的特性。Ruby的作者认为Ruby > (Smalltalk + Perl)/2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的程式语言。

     

    ruby基本上是用K&R C(Kernighan and Ritchie C)编写,C语言由Unix的研制者Dennis M. Ritchie1973年设计和实现,到1978RitchieBell实验室的另一位程序专家Kernighan合写了著名的《The C Programming Language》,将C语言推向全世界,由这本书定义的C语言后来被人们称作K&R Cruby是解释器,ruby命令就是Ruby语言的解释器。ruby的核心接口基于UNIX,基本上在类UNIX的系统上,ruby都可以稳定的工作。

     

    特性

    1.     Ruby程序中可操作的东西都是对象,包括数字和基本类型。Ruby的变量是无类型,理由是为了让面向对象的最强武器之一——多态能够更好的得到运用。对象的属性叫实例变量,与对象绑定的函数叫方法。Ruby特意只支持单继承。作为多继承的代替,Ruby程序员可以混入一个模块,来得到模块的所有方法。

    2.     Ruby中,所用东西都是可变的。不用通过子类,就可以给已存在的类添加方法;操作符可以重载;甚至标准库也能在运行时重新定义。

    3.     Ruby不需要声明变量和变量的作用域。变量名指出其作用域。

    4.     (blocks),也就是闭包(closures),是Ruby的强大特性,类似于Java的匿名类,但更简单,闭包使你可以把一块代码传给一个方法。

    5.     优雅、完善的异常处理机制。

    6.     自动垃圾回收。

    7.     独创的用户级线程,在规范和实现两方面都具备非常高的可移植性,是独立于操作系统的线程,可以在DOS下写多线程程序。不过,ruby线程的可移植性带来的反面效果是极大的牺牲了运行速度,世界上所有计算机语言的所有用户级线程中,ruby的线程几乎是最慢的。

    8.     Ruby的程序库可以直接用C编写,无需Ruby再次编译就直接可以加载, 这样的程序库通常称为“Ruby的扩展程序库”或者直接叫做“扩展程序库”。扩展程序库最突出的特点是Ruby层次和C层次的差异极小。Ruby中可以使用的命令几乎在C中也能直接使用。

     

    安装Ruby

    Mac OS X和许多Linux发行版都预装了Ruby。命令行模式下输入:ruby –v来检查Ruby是否已经被安装和确认Ruby在系统上的版本。Windows下安装Ruby,从官方下载或者RubyForge安装one-click installer

     

    Ruby编辑器

    1.     SciTE-基于Scintilla的开源文本编辑器,包含在Ruby安装版本中。

    2.     Emacs或者Vim

    3.     RDT-用于Ruby开发的Eclipse开源插件。

    4.     jEdit RubyPluginjEdit下的智能Ruby编辑器。

    5.     IntelliJ IDEA Ruby PluginIntelliJ IDEA下进行RubyRails开发的插件。

    6.     NetBeans-开源的IDE,支持RubyJRubyRails开发。

    7.     Aptana RadRails-用于Rails开发的Eclipse开源插件。

    8.     CodeGear 3rdRailRuby on RailsIDE,超出宏和生成器的范畴,使Rails编程更加逻辑化。

    9.     EWindows下的文本编辑器,完全克隆了Mac OS X下的TextMate

    10. Ruby In SteelSapphireSteel Software公司开发的Visual Studio Ruby开发插件。

     

    运行Ruby脚本,直接在美元命令提示符($)下键入脚本的完整名称ruby ,比如“ruby hello-world.rb”或者“hello-world.rb”。类Unix操作系统需要给脚本添加运行权限。

     

    Fxri-Interactive Ruby Help & Console是一个基于FXRuby(FOX界面包的Ruby扩展模块)编写的RI界面,是一个Ruby交互帮助和控制台工具,包含在Ruby Windows安装版本中。它不仅可作为语言的在线帮助,而且可以用作交互式Ruby解释器来执行程序。同时集成了Ruby-irbRuby-ri的功能。Ruby-irb是交互式RubyInteractive Ruby)的简称.......Ruby-ri就是查看文档的工具......

     

    nil在其他的程序语言中,叫做null或者NULL,也就是""Ruby使用#来当作行注解符号,任何用#开头的字串都会被Ruby编译器忽略。使用“=begin...=end”来当作多行注解,=begin=end之前绝不要有任何字符。同其它脚本语言一样,Ruby脚本的第一行顶行要加上组织行(shebang lineshebang也叫做hashbanghashplingpound bang)――以#!开头后面跟着ruby的执行路径。这行告诉Linux/Unix等操作系统的Shell在直接执行(chmod +x)该脚本的时候,它应该运行哪个解释器,当然它在Windows下不起作用,因为Windows使用的是文件关联机制。而且,你总是可以通过直接在命令行(无论是shell还是cmd)指定解释器,从而在任何平台上运行你的程序。

     

    ........................................以小写字母或下划线开头的表示局部变量,全局变量以$开头,变量名以大写字母开头的是常量。实例变量以@开头,等同于C++/Java语言中之私有数据成员,未初始化时值为nil。类别变量以@@开头,等同于C++/Java语言中类私有静态成员。

     

    定义一个字串可以用单引号或双引号把字包住。除此之外,%q%%Q为前缀的分界方式括起来的字符串分别对应单引号和双引号规则。单引号只允许两个转义序列:\' 单引号、\\ 单斜线,除了这两个单引号内的其它字符被逐字处理。双引号允许比单引号更多的转义字符,它也允许你嵌入变量或者Ruby代码到字串内。.............................

     

    为创建多行字符串,Ruby支持Here document(将几行文字传递给一个命令,使用I/O 重定向的形式来将一个命令序列传递到一个交互程序或者命令中)put函数后面跟着带单引号的标识符,之间以逗号(,)分隔,能实现多个here documents。另外<<操作符跟着一个标识符,文档结束后再次写上该标识符(此处叫终止符)来注明文档结束,若对齐行是首行空白,标识符不允许对齐。

    ...........................................................

     

    控制结构

    if...elsif...else...end

    unless...else...end

    "short-if"语法[条件式 ? 1 : 2]

    while...[do]/[:]…[break]…end

    until…[do]…[break]…end

    case...when...else...end

    for…in…[do]…[break]…end

    next… 跳转到最内侧循环的头部;在迭代器中,它将跳离yield调用。

    redo…

    retry…

    BEGIN {…} 在编译时被注册,同一条语句只会被注册一次。不能和外部共享局部变量,必须借助于常数或全局变量与块外交换信息。执行顺序将先于该文件中任何语句。若有多个BEGIN块的话,将按照出现顺序依次执行。

    END {…} 同一条语句只会执行一次,在运行时进行注册,在解释器结束前得到执行,同周围部分共享作用域。若注册了若干END块的话,则以与注册时相反的顺序依次执行这些块。

     

    异常处理

    raise

    raise messageexception

    raise error_type, message

    raise error_type, message, traceback

    begin…rescue...else...ensure...end 无论成功与否,关键字 ensure中的代码都将被执行。

     

    Ruby没有函数只有方法,没有“基本类型”。方法由关键字def定义,形如:

    def function_name(...arguments...)

    … …

    return …

    end

    .........................................................................................

     

    Ruby中有代码块(Code blocks)的概念,这类似于CPerl中的if ... { ... }结构。代码块可以和方法调用关联的一系列代码,就好像这些代码是方法的参数一样,把代码块和方法当成是协同工作的关系,在它们之间控制在来回交换。定义代码块用关键字do...end或者曲括号({})。.........

     

    数据结构

    数字类型,数字前加E表指数,加0表八进制数,加0b表二进制数,加0x表十六进制数,下划线可以用作数字中的分隔符。?操作符能得到字符ASCII码,如puts ?H。......

     

    定义类,语法如下:

    class 类别名称 < 父类别

       @@类别变量名

       def 方法名

         #方法的程式区块

       end

    end

    ......................................................................

     

    Ruby第三方实现

    1.     JRubyRuby语言在Java上的实现,基于Java虚拟机(JVM)的一种解释程序,可以嵌入任到Java应用程序并可以在脚本中使Java类。

    2.     XRuby-是一个将Ruby代码(.rb)编译成Java字节码(.class)的开源编译器。

    3.     IronRuby-微软公司在.NET上的Ruby实现,它基于动态语言运行时(Dynamic Language RuntimeDLR)构建的一种解释程序,可以用来开发.net应用程序。

    4.     Ruby.NET-由昆士兰理工大学Wayne Kelly博士和John Gough教授所领导的研究小组负责开发的,于20066月面世,是一个将Ruby代码编译成微软.NET中间语言的开源编译器。

    5.     Rubinius-一个绝大部分代码使用Ruby编写的Ruby虚拟机,不过它使用的是Matz的参考实现(Matz Reference Implementation,简称MRI)中所包含的语法分析器,基于Smalltalk-80架构。

    6.     CardinalParrot虚拟机Ruby前端解释器。

     

    资源

    1.     Ruby官方网站简体中文网站中文社区

    2.     Ruby文档网站中文文档中心

    3.     Ruby用户指南-从Ruby的发明者matz编写的日文版翻译成英语

    4.     Ruby Hacking Guide(中文版)青木峰郎2004年创作的一本剖析ruby实现的书

    5.     Ruby学习

    6.     Ruby编程Ruby快速参考Ruby速查表The Little Book Of Ruby

    7.     RubyForge-开源Ruby项目网站

    8.     RubyGems指南-一个方便而强大的Ruby程序包管理器,类似RedHatRPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。包含在Ruby安装版本中,正逐渐取代RAA

    9.     Ruby应用程序档案-简称RAA,包含各种各样的Ruby软件的索引簿,按功能进行分类

    10. Ruby Lib 中文站

    11. Ruby on Rails中文社区-也称 RoR 或简称 Rails, 是一个使用Ruby语言写的开源网络应用框架,它严格按照MVC (Model-View-Controller) 结构开发。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。 20047月,Rails 的创始人1979年生丹麦人David Heinemeier Hansson 37signals 公司的项目管理工具 Basecamp 里面分离出 Ruby on Rails,并且以开源方式发布。Rails的设计原则包括“不要重复自己”(Don't Repeat Yourself)和“约定优于配置”(Convention Over Configuration

    12. Rails源码

     

    本文完整版PDF下载