可以在前端实现的几个地理位置小功能

在Smashing Magazine上看到这篇Entering The Wonderful World of Geo Location,介绍了获取并处理用户地理位置的应用和方法,很有意思。结合原文的内容,加上之前的一些应用,整理了几个可以完全在前端实现的地理位置相关小功能。

1.通过IP获取用户位置

很多时候需要通过IP判断用户的位置,通常的办法是通过自己的后台程序查询数据库得到。如果用户位置只是应用在前端,或者有其他的特殊原因(比如,懒:),也有一些其他办法来快速的获取用户位置。

maxmind.com提供了一个服务,通过引入一个js文件(http://j.maxmind.com/app/geoip.js),可以把他判断到的用户的国家、城市、经纬度等信息加入到页面中来。下面是从青岛访问这个js文件返回的内容:
阅读全文 »

TED2010:下一代的地图技术在微软而非Google

点击”View subtitles”可以显示中文字幕

阅读全文 »

JavaScript单元测试工具 — QUnit

QUnit是jQuery团队开发的JavaScript单元测试工具,使用方便,界面美观。近期试用了一下并进一步了解了JavaScript单元测试,记录一下所思所得。

什么是单元测试

单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,也称为个体测试、结构测试或逻辑驱动测试。通常由撰写程式码的程式设计师负责进行。

通常来说,程式設計師每修改一次程式就會進行最少一次單元測試,在編寫程式的過程中前後很可能要進行多次單元測試,以證實程式達到軟件規格書(en:Specification)要求的工作目標,沒有臭蟲;雖然单元测试不是什么必须的,但也不坏,這牽涉到專案管理的政策決定。

—— 维基百科 (中文英文)

为什么JavaScript需要单元测试

阅读全文 »

jQuery1.4下载、性能及新特性详解

jQuery1.4正式版发布了,官方同步推出了The 14 Days of jQuery 网站,来介绍jQuery1.4的新特性和教程,其中有一篇文章详细介绍了jQuery1.4的新增功能,现转载其中文翻译如下:

原文:jQuery 1.4 Released

翻译:coolnalu

jQuery 1.4 发布啦

为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的编程,测试,和记录文档的工作,我们为此感到很骄傲。

我要以个人的名义感谢 Brandon Aaron, Ben Alman, Louis-Rémi Babe, Ariel Flesler, Paul Irish, Robert Kati?, Yehuda Katz, Dave Methvin, Justin Meyer, Karl Swedberg, and Aaron Quint。谢谢他们在修复BUG和完成这次发布上所做的工作。

下载(Downloading)

按照惯例,我们提供了两份jQuery的拷贝,一份是最小化的(我们现在采用Google Closure作为默认的压缩工具了),一份是未压缩的(供纠错或阅读)。
阅读全文 »

google的声明,谷歌百度解禁,白宫表态,接下来会发生什么?

继1月12日百度被黑长达半天之后,今天互联网爆出了更重磅的新闻:google官方博客宣布有意关闭google.cn及谷歌中国办公室

这一消息立即引起了轩然大波,互联网上弥漫着一股哀伤与低迷的氛围。

而接下来发生的一系列事情,让人不禁开始绷紧神经,不禁要问:百度和谷歌究竟发生了什么?中国政府到底想干什么?事态究竟将怎样发展?

本文只搜集看到的、听到的一些消息,不发布个人意见。

Google 官方博客声明

阅读全文 »

百度被黑深层分析

扯淡分析

1. 百度被黑的真正原因是:伊朗圣战军的新任领袖阿卜杜.阿卜杜拉(abaidu.abaidula)看百度不爽,犯了名讳:) -_-!

2. abaidu.abaidula在GOOGLE上搜“SB”搜到自己的名字一下就怒了于是黑了百度 -_-!

3. 政治抗议只是表面原因,其实——由于米国的军事打击威胁,伊朗人准备大批量购买火箭筒,于是来百度搜索,但是遭遇百度的竞价排名,伊朗人选购了搜索结果排名第一位的火箭筒,到手之后发现上当。伊朗人气不过,遂黑了百度 -_-!

4. 国内互联网形势风起云涌,百度忙于公关打理,忘了域名续费 -_-!

5. 因为李彦宏不信春哥,百度未能满状态原地复活。。-_-!

阴谋论分析

阅读全文 »

团队内分享:总结2009,展望2010

有幸在2010年第一次团队会议上作了一次分享,总结了2009年前端界和普加前端发生的事情,对2010年的发展作了一些展望。

View more presentations from guestc94918.

slideshare处理后版面产生了些问题,不过不影响阅读,不再作调整了。

使用框架的最高境界是忘掉框架,而不是依赖甚至依附框架

张三丰一路剑法使完,竟无一人喝彩,各人竟皆诧异:“这等慢吞吞、软绵绵的剑法,如何能用来对敌过招?”转念又想:“料来张真人有意放慢了招数,好让他瞧得明白。”

只听张三丰问道:“孩儿,你看清楚了没有?”张无忌道:“看清楚了。”张三丰道:“都记得了没有?”张无忌道:“已忘记了一小半。”张三丰道:“好,那也难为了你。你自己去想想罢。”张无忌低头默想。过了一会,张三丰问道:“现下怎样了?”张无忌道:“已忘记了一大半。”

周颠失声叫道:“糟糕!越来越忘记得多了。张真人,你这路剑法是很深奥,看一遍怎能记得?请你再使一遍给我们教主瞧瞧罢。”张三丰微笑道:“好,我再使一遍。”提剑出招,演将起来。众人只看了数招,心下大奇,原来第二次所使,和第一次使的竟然没一招相同。周颠叫道:“糟糕,糟糕!这可更加叫人胡涂啦。”张三丰画剑成圈,问道:“孩儿,怎样啦?”张无忌道:“还有三招没忘记。”张三丰点点头,放剑归座。张无忌在殿上缓缓踱了一个圈子,沉思半晌,又缓缓踱了半个圈子,抬起头来,满脸喜色,叫道:“这我可全忘了,忘得乾乾净净的了。”张三丰道:“不坏,不坏!忘得真快,你这就请八臂神剑指教罢!”

寻根究底:Ajax请求的GET与POST方式比较

YSlow里有一条规则叫Use GET for AJAX requests,即“使用GET方式请求AJAX”,YSlow中的解释如下:

When using the XMLHttpRequest object, the browser implements POST in two steps: (1) send the headers, and (2) send the data. It is better to use GET instead of POST since GET sends the headers and the data together (unless there are many cookies). IE’s maximum URL length is 2 KB, so if you are sending more than this amount of data you may not be able to use GET.

翻译:

当使用XMLHttpRequest对象时,浏览器通过两个步骤实现POST:(1)发送请求头;(2)发送数据。而GET的请求头和数据是一起发送的(除非包含很多cookie),所以使用GET方式更好些。IE支持的最大URL长度是2KB,所以你的数据很长的话就不能用GET了。

这段话蜻蜓点水,只说了GET和POST的这两个差别,而实际使用中会是这么简单吗?

寻根:GET与POST的差别

阅读全文 »