HTML 5一览

This item was filled under [ html5 ]

HTML 5可谓集万千宠爱于一身,各种高帽戴的不亦乐乎。当然,只要是值得讨论的事情,总有不同的声音。也有 一些人并不看好他,或者至少对HTML5没那么兴奋。

本文就收集整理一些有关HTML5的相关知识、热门评论和新闻动态,帮助你进一步的了解HTML。

什么是HTML 5?

HTML 5 的历史背景

HTML 5草案的前身名为Web Applications 1.0。于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案发 布。[1]WHATWG表示该规范是目前正在进行的工作,仍须多年的努力。wikipedia

WHATWG,这个HTML5背后的组织,用下面的话描述自己:“2004年由Apple,Mozilla基金会,Opera软件中的人员创建,他 们的矛头直指W3C直属的XHTML,认为HTML缺少乐趣,对现实世界的需求置之不理。这些组织中的有识之士决心改变这一切,所以超文本应用技术工作小 组 (WHATWG的英文全称)应运而生”。HTML5预计在2012年正式登上W3C候选标准的舞台。但是这并不意味着你到那时才能使用。一些技术已经成 熟,一些部分已经足够稳定,一些功能实现已经接近尾声,所以我们现在就可以体验它们的新特性了。 当前,市场正一步一步加速WHATWG项目的进程。via

: W3C 日前宣布将从2009年底起终止同 XHTML 2 工作组的合约

HTML 5的新标记

关于HTML5中对元素和标记的更新,我把它们划分为三部份:

  1. HTML5结构元素: 新增了更具语义化的标签,比如<header>表 示页面的头部,<footer>表示底部,<nav>表 示一个链接导航集合等。这种标签将有利于搜索引擎的索引整理、小屏幕装置和视障人士使用。
  2. HTML5 交互元素: 我们上面说过,HTML5的前身名是Web Applications 1.0。所以HTML5当然不只是随便加几个标签,让代码结构更具语义化这么无聊。另外一些新增的元素,诸 如<details>, <datagrid>等,可以实现控制数据和内容展示等交互能力。input元素的新属性:日期和时间,email, url,可以轻松制造一个Webforms 2.0。
  3. 删除的HTML4元素: HTML5删除了HTML4中纯粹用来显示效果的一些标记,比如<font>和<center>,因为它们已经被CSS取代。

看着上面的这些HTML5特性,就不禁让人想到XHTML,XHTML到底做了些什么呢?为什么近几年来,我们老爱跟HTML4划清界线,钟爱 XHTML?这有篇文章说的很好:XHTML 鼓励良好的代码习惯,所有标签都需要完整,严谨,XHTML 可以产生比 HTML 4 更干净的代码。也就是说,XHTML相对HTML4,就起到了一个更严格的约束作用,但事实上,用 HTML4也可以写出很干净的代码,用XHTML也有人把代码写得一团糟。

当然,我等鼠辈都是墙头草,还特喜欢落井下石。HTML5没热腾起来的时候,也没谁寒碜XHTML,更多的却是讨论要用Transitional还 是Strict。废话少,如果你想具体了解HTML新增的元素和属性标记,可以查看下面这些文章:

HTML的新API

除了原先的DOM接口,HTML5增加了更多样化的API。包含了设计师们需要的很多东西,本地的音频,视频支持,多栏布局工具, 离线数据库,本地的矢量图支持等等。

HTML 5的试验

HTML 5的标准还八字才有一撇呢,后面一撇还得慢慢描。但已经有诸多的先锋部队开始拥抱它了。很多主流浏览器的最新版本都已经开始支持HTML5中的部份特性, 除了IE。

如果你确实很迫不及待的也想做下技术先驱,下面的一些实例和资源可能会对你有用:

HTML 5的争论

关于HTML 5的争论多种多样,其中最大的争论点在于业界对HTML 5取代Flash、Silverlight这些RIA主力军。下面听听一些声音吧。

Opera称HTML5将使得Flash变得可有可无

Opera首席执行官Jon von Tetzchner近日在接受采访时表示,下一代HTML语言将使得Adobe Flash技术显得很多余,HTML 5的开放Web标准提供了除Flash之外的富媒体网络内容发布方法。

von Tetzchner表示,HTML 5处理富媒体的能力意味着Flash可有可无,“你可以用它实现大多数(Flash)现在做的事,从某种方面说,你可能不再需要Flash。”

von Tetzchner补充说,这并不意味着Flash会消亡,“我喜欢Adobe,他们是一家非常棒的公司,我想Flash还会存在很长很长一段时间,但是 Web标准演变地越来越丰富是‘自然法则’,你可以选择使用Web标准也可以选择使用Flash(发布富媒体内容)。”

编程大师Bruce Eckel不看好HTML5

《Thinking In Java》和《Think in C++》的作者Bruce Eckel最近在博客中评价了 在开发团队选择现有技术时所需要掌握和了解 的知识资源体系。 他指出web开发者花费了过多的精力来使CSS/HTML/javascript程序兼 容各种浏览器,非IT行业的公司不会有太多人手维护主页,这往往导 致他们无法考虑兼容问题,最终结果是主页只支持IE。即使等到HTML5发布,这种状况也未必能有所改变。对于一般公司而言,如果想兼容各种平台,最好的 解决方案是使用flash/flex。

Bookmark and Share

关于xp 用cmd自动关机的问题

This item was filled under [ 技术资料 ]

是不是只需输入一次“at 23:00 shutdown -s”命令,以后每天都是
23:00自动关机了呢?????
如果不是,那应该怎样输入能保证是每天到晚上11点就关机呢???

@ECHO off
TITLE greaterthanme-实现定时关机、注销、重启、锁定等功能。
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO =========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ———————————————
ECHO.
ECHO 1. 定时关机
ECHO 2. 倒计时关机
ECHO 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量”Choice”为用户输入的字符
IF NOT “%Choice%”==”" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I “%Choice%”==”1″ GOTO SetHour
IF /I “%Choice%”==”2″ GOTO outtime
IF /I “%Choice%”==”3″ GOTO delAt
IF /I “%Choice%”==”4″ GOTO view
IF /I “%Choice%”==”5″ GOTO start
IF /I “%Choice%”==”6″ GOTO restart
IF /I “%Choice%”==”7″ GOTO lock
IF /I “%Choice%”==”8″ GOTO logoff
IF /I “%Choice%”==”9″ GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT “%ask%”==”" SET ask=%ask:~0,1%
IF /I “%ask%”==”y” GOTO yes
IF /I “%ask%”==”n” GOTO no
GOTO SetHour
:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes
:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no
:o k
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF “%h%”==”:” (
SET HM=%ah%时%am%分
) ELSE (
SET HM=%bh%时%bm%分)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I “%ask%”==”y” ECHO 系统将于每天的%HM%关闭
IF /I “%ask%”==”n” ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续…
PAUSE >nul
GOTO start
:o uttime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ————————
ECHO (设定后要取消,单击”确定”后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime
:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续…
pause >nul
GOTO start
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续…
PAUSE >nul
GOTO start
:restart
shutdown -r -t 0
:lock
rundll32.exe user32.dll,LockWorkStation
goto start
:logoff
logoff
:end
exit
把以上复制到记事本保存后把后缀.txt改为.bat

Bookmark and Share
Tagged with: [ ]

Android用命令行运行

This item was filled under [ android ]

1。在eclipse下出现 “Failed to find an AVD compatible with target ‘Android 1.5′. Launch aborted.”。
手册上说需要Create an AVD(Android Virtual Device)。

AVD新建在%HOMEPATH%\.android\avd下。
D:\Dev\Android\Android-1.5\tools>android create avd –target 2 –name myavd
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Created AVD ‘myavd’ based on Android 1.5

2。“Hello world!”,初学的第一步总归是跳不出这个圈子的,MS很有些不顺,按手册一步步做,运行时总发现出现的是黑屏的“ANDROID_”,根本不见我的 “Hello world”,折腾了一下午也没看到。到晚上才发现,原来第一次运行时需要等手机的模拟终端完全运行好后,才能看到久违的“Hello world”,中间时长得有个1、2分钟,不是程序运行得太慢,原来是我性子太急,face。

3。新版本的Android sdk 1.5里新的android工具替代了之前版本中activitycreator。

4。用android create project会生成build.xml文件,Eclipse则不会。Android1.5生成的build文件比Android1.1生成的简单多了, 关键使用了自定义的taskdef。

5。命令行启动方式:
D:\Study\Android>emulator.exe -avd myavd

D:\Study\Android>adb install bin\android.apk
292 KB/s (9358 bytes in 0.031s)
pkg: /data/local/tmp/android.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]

D:\Study\Android>adb shell
# rm /data/app/com.heyday.apk
rm /data/app/com.heyday.apk
# exit
exit

D:\Study\Android>adb install bin\android.apk
97 KB/s (9358 bytes in 0.093s)
pkg: /data/local/tmp/android.apk
Success

D:\Study\Android>adb shell
# am start -n com.heyday/com.heyday.Hello
am start -n com.heyday/com.heyday.Hello
Starting: Intent { comp={com.heyday/com.heyday.Hello} }
#

6。两个命令(android.bat adb.exe):

android.bat:
android 是一个批处理脚本(win)或shell脚本(linux),它在android_home/tools目录中,其中 android_home即Adnroid sdk的根目录。用法如下:

android [global option] action [action option]

全局选项(global option):
-h –help 显示命令的帮准信息
-s –silent 以安静模式运行命令,仅会打印错误信息
-v –verbose 以详细模式运行命令,会在控制台输出错误、警告和其它一些信息

动作(action),动作由一个动词后跟一个可选的命令对象
list 列出当前的目标和虚拟设备
list avd 列出当前的虚拟设备
list target 列出当前的目标
create avd 新建一个Android虚拟设备
move avd 移动或重命名一个Android虚拟设备
update avd 更新Android虚拟设备匹配新sdk的目录
delete avd 删除Android虚拟设备
create project 新建Android项目
update project 更新Android项目 (项目中必须存在AndroidMenifest.xml文件)

list、list avd、list target动作没有选项。

create avd动作
-t –target 新avd的目标(必须)
-c -sdcard avd使用的sd card镜像文件的路径,或者新sd card的大小
-p –path 指向新建avd目录的路径
-n –name 新avd的名称(必须)
-f –force 强制新建一个avd
-s –skin avd使用的皮肤

move avd动作
-p –path 移动或重命名的avd的目录路径
-n –name 移动或重名的avd的名称(必须)
-r –rename avd的新名称

delete avd动作
-n –name 删除的avd的名称(必须)

update avd动作
-n –name 更新的avd的名称(必须)

create project动作
-k –package 包名(必须)
-n –name 项目名
-a –activity activity名(必须)
-t –target 新项目的目标(必须)
-p –path 存放新项目的目录路径(必须)

update project动作
-t –target 项目更新后的目标(必须)
-p –path 项目的路径(必须)
-n –name 项目的名称

注:

1. 在上面列出的选项中后面加了必须,说明运行此动作时,必须制定此选项
2. 目标(target)是指使用的Android sdk的版本,在Android sdk 1.5 r1中,其可选值为1、2和3。1表示使用Android sdk 1.1,2表示使用Android sdk 1.5,3在2的基础上,增加了google map api。

adb.exe:
adb(Android Debug Bridge)是Android提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:

1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件;

install 安装应用程序到服务器
pull 将远程文件拉出服务器
push 将本地文件推进服务器
shell 在服务器上打开一个壳环境
forward 从一个端口转递流量到另外一个端口(到或者从服务器上)
start-server 启动服务器
kill-server 停止服务器
ppp 通过USB使用一个ppp连接
devices 列出可用的模拟器
help 列出adb的命令
version 显示adb的版本

以下为一些常用的操作:

1、安装应用到模拟器:

adb install 比较郁闷的是,Android并没有提供一个卸载应用的命令,只能自己手动删除:
adb shell
cd /data/app
rm app.apk

2、进入设备或模拟器的shell:

adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。

3、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000

4、复制文件:
你可向一个设备或从一个设备中复制文件,
复制一个文件或目录到设备或模拟器上:
adb push
如:adb push test.txt /tmp/test.txt
从设备或模拟器上复制一个文件或目录:
adb pull
如:adb pull /addroid/lib/libwebcore.so .

5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices

6、查看bug报告:
adb bugreport

7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio

8、获取设备的ID和序列号:
adb get-product
adb get-serialno

9、访问数据库SQLite3
adb shell
sqlite3

Bookmark and Share

disable magento admin notification

This item was filled under [ magento ]

If you want totaly disable notifications do as follow:

1) Remove from app/design/adminhtml/default/default/layout/main.xml two lines:

<block type="adminhtml/notification_window" name="notification_window" as="notification_window" acl="system/adminnotification/show_toolbar" template="notification/window.phtml" />

and

<block type="adminhtml/notification_toolbar" name="notification_toolbar" as="notification_toolbar" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml"></block>

2) Change following code in app/etc/modules/Mage_All.xml

<Mage_AdminNotification>
<
active>true</active>
<
codePool>core</codePool>
<
depends>
<
Mage_Core />
</
depends>
</
Mage_AdminNotification>

into

<Mage_AdminNotification>
<
active>false</active>
<
codePool>core</codePool>
<
depends>
<
Mage_Core />
</
depends>
</
Mage_AdminNotification> 阅读更多...
Bookmark and Share

春风得意的 jQuery

This item was filled under [ ajax-jquery-effect ]

from : http://blog.csdn.net/comsharp/archive/2010/03/27/5422299.aspx

5年前,没有人听说过 jQuery,当时,它只是 JavaScript 大师 John Resig 的一个设想。今天,jQuery 已经是世界上最成功的 JavaScript 库,互联网上 28% 的网站使用 jQuery。最为开源工具,Web 开发者们喜欢 jQuery,大公司也对它张开臂膀,它几乎已经成为 Web 开发与设计的标准,甚至得到了微软的支持。

到底什么是 jQuery, jQuery 团队有一段很好的阐述:

jQuery 是一个快速,精确的 JavaScript 库,简化了对 HTML 文档的操作,动画以及事件处理,同时又是快速 Ajax 开发交互平台。jQuery 的使命是改变你编写 JavaScript 代码的方式。

使用 jQuery 的网站

越来越多的网站使用 jQuery,包括下面这些全球最受欢迎的站点:

  • Twitter.com
  • Wikipedia.org
  • MLB.com
  • Amazon.com
  • Bing.com
  • Microsoft.com
  • Bit.ly
  • ESPN.com
  • Digg.com
  • Reddit.com
  • Netflix.com
  • Wordpress.com

甚至包括美国政府网站(Whitehouse.gov)。

目前,全世界有 28% 的网站使用 jQuery,这个趋势还在上升,下图是根据全球最大的 10000 个网站使用 jQuery 的比例趋势L

jQuery usage
上图: jQuery 使用趋势图 from BuiltWith .

其它 JavaScript 库

jQuery 是目前最流行的 JavaScript 库,在所有使用 JavaScript 库的站点中,超过 38% 使用 jQuery,而位居第二的 Prototype 只有 7.55%。

Javascript library stats
上图: Javascript 库的使用分布 from BuiltWith .

对 jQuery 的讨论也非常多,几年前,人人都谈 Prototype,现在,jQuery 成了人们的话题,下图是人们对各个 JavaScript 库的关注程度:

jQuery dominance

下图是根据 Google Insights for Search 制作了各个 JavaScript 库近几年受关注程度的变化:

jQuery popularity rise
上图: 蓝色代表 jQuery,红色代表 Prototype.

jQuery 得到众多公司的帮助

不仅开发社区喜欢 jQuery,很多大公司也纷纷对它伸出橄榄枝,这是它成功的关键。

比如:

  • 微软Google 都在他们的 CDN 网络中为 jQuery 库提供托管。
  • Media Temple 竭尽全力捐助托管 jQuery 网站。
  • 微 软 表示 帮助对 jQuery 进行测试甚至开发,Visual Studio 和 ASP.NET MVC 都内置 jQuery。
  • 诺基亚 参与 jQuery 测试 ,并雇佣了 jQuery 核心成员 Brandon Aaron。
  • 当然落不了开源领头羊 Mozilla ,他们雇佣了 jQuery 创始人 John Resig。

jQuery 还有更多赞助者 ,根据 John Resig 的介绍,jQuery 的资源 100% 来自捐赠,任何人都可以捐赠 jQuery ,不独大公司。

小团队,大成功

jQuery 的核心开发团队只有 6 人,包括 jQuery 创始人 John Resig,还有一个 6 人的开发者关系团队。还有一些开发 jQuery 插件的人,总之,他们不是个大团队,另外,他们是开源团队,人人都是义务开发。这里是 jQuery 团队的情况阅读更多…

Bookmark and Share

Web 地理定位(Geo-Location)知识大全

This item was filled under [ 技术资料 ]

from:http://blog.csdn.net/comsharp/archive/2010/03/12/5373916.aspx

在线地图已经是很平常的应用,Google Map 甚至可以用作驾驶导航仪,然而,这些应用的实现涉及到千丝万缕的艰辛工作,仅仅是定位你现在的位置,就有很多技术,有幸的是,如今在你的 Web 站点中,你可以通过短短的几行代码,获得一个用户的地理位置,本文介绍的是用在 Web 中的各种地理定位技术。

通过 IP 地址获得用户的地理位置信息

互联网不过是一个巨大的网络,上面的每一台电脑对应一个 IP 地址,通过这个 IP 地址,可以知道这个用户在什么位置,我们可以通过查询 Maxmind GeoIP 数据库 获得,Maxmind 还提供了一个 JavaScript 接口 让 你在网站上实现这一功能。

这个方法(演示 )有一个问 题,就是说,你获得的 IP 地理位置信息未必非常准确,因为这个 IP 是你的 ISP 分配给你的,你获得的事实上是 ISP 的地理位置,另外,如果你使用 VPN,你实际的得到可能是十万八千里之外的地方了。

通过 W3C Geo API 获得用户地理位置

通过 IP 地址获取用户地理位置还有一个棘手的问题,就是安全和隐私问题,毕竟,并不是每个用户都愿意自己的地理位置信息被别人知道,鉴于此,人们开发了很多技术,Google Gears 拥有一个 Geo-Location 服务Plazes 帮助你保存你的位置 ,而 Yahoo Fire Eagle 算得上这类技术中最顺手的一个。然而这些技术共同的问题是,它们要求用户要么安装一个插件,要么需要访问特定的 Web 服务,这有些麻烦。

W3C 有一个 Geo-Location API 可以帮助浏览器制造商,在浏览器中集成地理信息功能。Firefox 3.5 以上的浏览器支持 W3C Geo-LocationAPI ,同样支持该 API 的还有 iPhone 上的 Safari 浏览器 (需要 OS3.0 以上)。需要通过浏览器查询自己地理位置的用户,在浏览器中,会显示一个对话条,请求你的授权。如下图所示:

以下是请求使用该功能的代码:

下面的演示 ,可以很好地 演示上面两种地理信息获取技术的不同,可以看到,他们在测量用户地理位 置 方面有很多不同。

将经度/维度转换为地名

将经度/维度信息转换为地位,称为 “反 Geo-Location ”, 网络上有很多这类服务可以使用,其中最著名的是 the geo-names Web service , 但它仍有几个问题,比如,它的结果是以美国为中心的。另一个可免费使用,且支持全球信息,但知道的人并不多的服务来自一个让人有点意外的地方,Flickr 。Flickr 的 flickr.places.findByLatLon 服务可以根据经纬度信息返回地名,你可以在 app explorer 做下体验,但目前最简单的方法是使用 Yahoo Query Language ( Yahoo 查询语言,简称 YQL). YQL 的样子如下:

使用 YQL 查询语言,你可以得到 XML 或 JSon 格式的数据,下图是在 JavaScript 中是使用该查询语言的例子:

结合上面的例子,在反 Geo-Location 查询的帮助下,我们得到了详细的地名 信息

经纬度的问题

经纬度虽然可以定位地球上的一个位置,但经纬度有时候容易引起歧义,为了解决这个问题,Yahoo 和 Flickr (Twitter 很快也会支持)支持另一种定位方法,叫 Where On Earth Identifier (简称 WOEID) 。使用该方法,我们可以很容易获取来自某个区域的 Flickr 图片。

这样几句 JavaScript 代码就可以显示来自指定地理位置的图片:

这些代码还可以打包成函数,下面的代码,将显示来自巴黎的10幅照片,你可以自己在 YQL console 中体验:

在文字内容中自动挖掘地理信息

假如你想获得一段文字,或者一个网页内容所提到的地名的地理位置的信息,Yahoo 提供了一个很好的服务,叫 Placemaker 。从 Yahoo 那里获取一个 developer key 就可以使用该服务了。只需创建一个发布表单发布到 http://wherein.yahooapis.com/v1/document , 将 Developer Key 以 appid 发布,需要查询的文字以 documentContent 发布,将文字类型以 documentType 发布,同时用 outputType 定义返回数据类型,如下:

你也可以在这 里亲自体 验一下 ,使用 PHP 调用该 API ,甚至可以对输出数据的格式进行设置 。 这里还有一个使用 PlaceMaker 设计 GeoMaker 服务,简单输入文字或 URL,选择位置,就可以返回地图。

因为还可以在 JavaScript 中通过 YQL 使用 PlaceMaker,我们可以通过几段客户端脚本使用同样的功能:

你需要三样东西,一段位于某个 HTML 对象中的,包含地理位置的文字,一个 Google Maps API Key (申请 ) 以及以下代码:

在网页中插入地图

在线地图有很多,Google Map 是其中的领先者,除了 Google,Yahoo, 微软都提供地图服务,还有一个叫做 Open Street Maps 的开放地图服务,在 上次海地地震救援中被派上用场 。在网页中插入交互地图最简单的方法是使用 Mapstraction ,它提供一个 JavaScript 库,24ways 曾发表过一篇很好的介绍文章 。如果你只想在网页上放上你的地图,指示你的位置,而不想使用太多 JavaScript, Google static maps API 是最好的选择,它会生成静态地图,以下代码可以将这个静态地图插入你的网页(Google 还提供了一个创建静态地图的工具 ):

本文国际来源:http://www.smashingmagazine.com/2010/03/08/entering-the-wonderful-world-of-geo-location/ 阅读更多…

Bookmark and Share

我估计把这个 vimrc 研究一遍,VIM 就有小成了

This item was filled under [ 写程序工具 ]
“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"
” General
“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"
set nocompatible ” get out of horrible vi-compatible mode
filetype on ” detect the type of file
set history=1000 ” How many lines of history to remember
set cf ” enable error files and error jumping
set clipboard+=unnamed ” put yanks/etc on the clipboard
“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"
” Theme/Colors
“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”" 阅读更多…
Bookmark and Share

15分钟轻松定制基于VIM的IDE

This item was filled under [ 写程序工具 ]

1 背景
VIM被人追捧为“无所不能”的文本编辑器,是很多Unix和Linux程序员的最爱。VIM最大的特点是扩展性极强,功能定制异常灵活。灵活性和复杂性之 间通常是矛盾关系,VIM复杂的定制参数和大量的命令也使得很多新手望而却步(我曾经也是其中之一)。本文不打算介绍详细介绍VIM的定制和扩展方法,而 是试图在最短的时间内、通过最简单的手段将VIM定制为一个适合程序开发的IDE。

本文介绍的定制是通过修改.vimrc文件完成,该文件位于用户的home目录下,如果不存在,创建一个。

2 语法高亮
Ubuntu7.10中VIM默认没有启用语法高亮,如果想在当前编辑窗口中使用,可以在命令模式下输入”syntax on”。但这样每次打开新文件都要重新设置,十分麻烦,所以,可以在.vimrc文件的末尾加上syntax on来默认启用语法高亮。

3 代码缩进
在.vimrc中加入
autocmd FileType *      set formatoptions=tcql nocindent comments&
autocmd FileType c,cpp,java,pl,sh,py set formatoptions=croql cindent comments=sr:/*,mb:*,ex:*/,://

意思是只对c,cpp,java,pl,sh,py格式的文件启动自动缩进。你也可以加入自己的文件后缀,例如js。除了对代码段进行缩进外,该设置也对 注释进行了自动缩进,例如,在注释行”/××”末尾换行,新行自动对齐到第一个×,并在行头自动加上×号。

4 自动排版
代码自动缩进的设置只对新编写的代码起作用,对于已有的代码怎么办呢?这就需要自动排版功能。
你可以在浏览模式下按1G=G进行自动排版。这对Eclipse的使用者来说很不习惯,因为在Eclipse中排版的快捷键是”ctrl + shift + f”,对于习惯使用Eclipse的程序员,可以在.vimrc中加入以下两行来设置新的快捷键:
nnoremap <c-s-f> 1G=G
inoremap <c-s-f> <ESC>1G=Gi

其中第一行直接将”ctrl + shift + f”映射为1G=G,即在浏览模式下使用快捷键”ctrl + shift + f”执行1G=G的功能。第二行使得在编辑模式下也可以使用”ctrl + shift + f”进行排版。 阅读更多…

Bookmark and Share

jQuery 页面载入进度条

This item was filled under [ ajax-jquery-effect ]

页面 Loading 条基本人人都会用。它的原理很简单:在页头放置一个文字或者图片的 loading 状态,然后页尾载入一段 JS 隐藏掉,即根据浏览器的载入顺序来实现的简易 Loading 状态条。

loading Process traditional

上图展示了传统 Wordpress 模板在浏览器中的载入顺序,Loading 条的出现和消失分布于头尾。

new  loading bar

如果我们在页面的不同位置放置多个 JS ,每个 JS 用于逐步增加 Loading 条的宽度,那么这个 Loading 条无疑会更具实用价值。它在一定程度上缓解了访客等待载入的枯燥感,同时还能客观反映页面载入的进度。若再配以 jQuery 内建的动画效果,其完全可以与浏览器自带的状态条媲美。

先来看一个演示:地址

要得到演示上的进度条效果,首 先,引入 jQuery 框架(一定要放在页头 <head> 标签内)。然后在 <body> 标签起始位置放置:

<div id=”loading”><div></div></div>

CSS 可以这么写:

#loading {
width:100px;
height:20px;
background:#A0DB0E;
padding:5px;
position:fixed;
left:0;
top:0;
}
#loading div {
width:1px;
height:20px;
background:#F1FF4D;
}

准备工作到这里就做好了。

接着,请随意发 挥,依照你对图二的理解,在模板各个部分的适当位置放置:

<script type=”text/javascript”>
$(“#loading div”).animate({width:”16px“})
</script>

其中红色数值应该随载入顺序逐步增加,直到 footer.php。另外别忘了在 footer.php 最末尾放上:

<script type=”text/javascript”>
$(“#loading”).fadeOut()
</script>

用于载入完毕后隐藏进度条。

Bookmark and Share

7款WordPress代码语法高亮插件

This item was filled under [ wordpress-plugin ]

对于wordpress用户来说,有很多代码语法高亮的插件,这里介绍7款。

Syntax Highlighter

也就是Google Syntax Highlighter for WordPress。 一款帮助开发者/coder 发表代码片段更加简单和漂亮的插件。完全基于javascript。这个我没试用过。wefunction.com 使用的就是这款插件,你可以看看效果页面。非常强,支持以 Plain Text 方式浏览代码,支持快速剪切和打印。首推这款

Highlight Source Pro

强大,灵活,Xhtml 兼容的代码高亮插件。很上面的Syntac Highlighter 正好相反,它是一款服务器端的代码高亮插件,没有Javascript。

iG Syntax Hiliter

非常强大的代码语法高亮插件,支持多种代码语言,包括as, asp, c, cpp, csharp, css, delphi, html, java, js, mysql, perl, php, python, ruby, smarty, sql, vb, vbnet, xml, code。同时包含详细的后台设置项,比如以Plain Text方式看代码, 显示代码语言名称,是否高亮留言列表中的代码,是否显示行数等。

不过它使用的是[tag]代码部份[/tag] 这样的方法渲染代码,比如 [php]代码片段[/php],考虑日后可能发生的更改和兼容问题的话,似乎不太适合。当然,你也可以不用考虑那么多。
阅读更多…

Bookmark and Share
Page 1 of 4612345»102030...Last »