Tairan's Story

「知之真切笃实处即是行,行之明觉精察处即是知,知行工夫不可离。」


使用App Engine跟踪ADSL外网IP

在家使用ADSL拨号上网,并使用一台电脑作为Home Server,这样以来可以在工作的时候发现什么好东西,就可以远程连接到家中的电脑进行下载,也可以在家托管自己的代码仓库等,工作学习生活都不耽误。

使用ADSL有个问题,ADSL使用DHCP服务动态分配的,可能每一次拨号得到的IP都不一样。为了跟踪当前所获得的IP地址,我设计了一个简单的IP跟踪解决方案。下面是结构图:

iptracker

整个架构分为3个部分
1. Home Server, 定时向 App Engine 发送请求告知自己当前的外网IP
2. Google App Engine, 管理用户和IP地址
3. 用户, 提供预定义的口令后就可以看到当前Home Server的外网IP

我的Home Server使用的是 Gentoo Linux, 每一个小时向 App Engine 发送一次请求,如果使用Windows XP,可以使用系统自带的计划任务,但计划任务的最小执行单位是每天。

Home Server 发送请求,是通过 cURL 来实现的,Windows 需要单独下载。我推荐在Windows上安装 GoW 来使用*nix命令提供的便利。

1
curl http://xxx.appspot.com/collector?key=GUID

App Engine 预置了一个字典,用来记录使用者的信息以及GUID

1
auth_data = {'auth_name': GUID}

用户访问 http://xxx.appspot.com/ ,填入自己的 auth_name 提交即可看到 App Engine 最后一次接收到IP信息。

这只是一个简单的解决方案,暂时够我使用。有兴趣研究 Google App Engine 的朋友可以来交流。

No Comments » | Tags:,,,, | Categories: Technology, 我的声音
谷歌要退出中国了

今天互联网上最热的新闻就是谷歌要退出中国了,对于在中国境内的谷歌用户来说,这个无疑是一个巨大的噩耗。有人因此已经为谷歌准备好了谷歌墓志铭

我本人是一个谷歌重度用户。
第一个是搜索,这个自不用多说,Google的搜索引擎一直是我忙时的最佳伴侣,它总是能给我我想要搜索的结果;
第二个是Google Docs,受够了隔三差五重装Windows时的备份工作,把自己的文档放在Google Docs上,不但有编辑的历史记录,还很方便跟朋友一起分享、共同编辑文档;
第三个就是Gmail了,Web版本的邮件系统Gmail是我使用最舒服的一个,因为在收发邮件的时候根本感觉不到Gmail的存在,一切都那么的如行云流水一般 ,而且还不在你的邮件中插广告;另外企业级的Gmail也很好用,可以使用自己的域名作为邮箱后缀,虽然别人也提供,但Google还是不错的,至少比Live Domain强
第四个是Google Reader,一个Online的RSS订阅工具,我的很多知识都是通过Google Reader去订阅获得的,因为很多有价值的信息都放在博客里,而Google Reader就提供了订阅博客以及搜索其中内容的服务。如Gmail一般的易用,如果显示器大点的话更好用,毕竟订阅的太多啦。:-)
第五个是Google Host,这个呢就是用来放一些自己和朋友随便写写的代码,也挺好用,速度也很快。
第六、七、八 …… Google为我带来的太多太多了,继续写下去只是会觉得更伤心

这次Google真的要走了,以后访问Google就变成了非法访问!在这个神奇的国度里,我只能努力学好翻墙术来报效祖国了!

2 Comments » | Tags:, | Categories: 我的声音
理解Drupal模块之Google

Google 是居家旅行、工作学习必备之搜索引擎,而且Google还可以给我们的网站带来收入。请看我细细道来:

Google的爬虫自不用说,不知道哪天就过来爬了你的网站,可这太依赖于运气,我们需要主动一点,向Google提交我们的网站信息帮助Google更好的索引我们的网站内容(?_? 咋就那么心甘情愿的交给Google呢)。同样Google为了方便我们提交资料,搞了个叫Sitemap的东西作为所有提交资料的规范格式。如此一说,我们对Drupal相关模块需求就了解了,我们需要一个能自动生成网站Sitemap的模块来供Google爬虫享用。

在Drupal模块页搜索”sitemap”, 首先映入眼帘的就是我们需要的那个啦 :-) 。下载、上传、启用模块不用罗嗦。Drupal Sitemap 模块中有5个功能,其中 Sitemap 是核心功能,必须滴!剩下的在仔细阅读说明后酌情启用!在51xna.com我启用了 XML sitemap engines 和 XML sitemap node 两个功能。这两个功能的用法还是蛮简单的,仔细阅读说明即可。

我们网站的资料都交给Google了,那么怎么知道网站都有哪些人来访问呢?这个问题Google也有解决方案,Google Analytics,顾名思义就是用来分析网站访问者的,如访问者的来源地、使用的浏览器、操作系统、访问页面、停留时间等等。

Drupal也有相关的模块来满足我们的这个需要,再次到Drupal模块页搜索“Analytics”,然后。。。(省略若干苦力活)在设置页面填上Google Analytics的帐号即可,其他的设置仔细阅读说明酌情操作。

最后,我们要从Google那里弄点米米养小站了。题外话,你该不是真的以为Google就是一个搜索引擎吧?其实Google是一广告机器,详细点说Google是一个跟广告有关的赚钱机器。Google Adsense 就是这部机器的关键部件之一。我们在Google Adsense上申请个账户,然后在自己的网站上提供广告位,然后Google利用你提供的广告位放广告,如果有人点击这些广告位上的广告,Google就按照专门的计算方式来给你分成,注意啦,分的是$美元。所以弄个Adsense的模块放在网站上是有必要的。

Drupal那里也有Google Adsense的相关模块(真的是要什么有什么:-))

Adsense模块的功能还挺多,有7个。AdSense core 这个是核心模块必须启用,Managed ads 管理广告滴,负责显示广告区块的后面详述,其他的功能带 old 的说明是不推荐使用的。

进入到 首页 › 管理 › 站点设置 › AdSense 有一个Publish ID,这是用来输入Google Adsense帐号的,必须滴!现在用 Managed ads 来管理广告啦。在 首页 › 管理 › 站点设置 › AdSense 中设置 Adsense Blocks,这里输入一个正整数,用来表示你准备在页面上放多少个广告位的,先设置一个练练手。这时在 首页 › 管理 › 站点构建 › 区块 中就可以看到一个AdSense: unconfigured 0 的待设置的区块,在配置选项中配置好相应的设置以后,把这个区块放到某个地方,保存收工!

现在网站就变成了自动提交资料到Google等搜索引擎、可分析网站访问信息、以及放置广告位收费半赚钱的机器了,那一半呢?当然是网站内容和用户来贡献的咯!

最后来句广告:tairan.net也放置了Google Adsense广告位!

EOF

2 Comments » | Tags:,,,, | Categories: Technology, 我的声音
google chrome 第一天体验

google 终于推出浏览器了,试想google的大部分应用都是通过浏览器操作的,怎么能让自家命脉捏在别人手上? 如今满天飞的浏览器,google chrome 又能给大家带来什么?

google 其实还是很霸道的(不霸道如何跟更强悍的microsoft抗争,不霸道怎么能降服如此之多的电脑菜鸟?哈哈),google chrome 的安装是一步到位,不给你任何选择的余地,默认安装在C盘。(还好根据以往经验C盘绝对是足够的大)

早在昨天就通过新闻和google blog了解了下google chrome,当启动google chrome以后还是掩饰不住对它简洁风格的喜爱。那是一个漂亮 ^_^。

今天是在公司初体验google chrome的,这个不刚使用就发现个有个地方让人无法忍受。我们公司的网络环境是这样的, ISA Server 把关,客户端使用代理上网。如果把网络连接设置为自动检测代理,google chrome的速度就真的让人无法忍受了,每次请求文件都要长时间的等待代理响应。把google chrome的rander快速的特性完全掩盖了。经过研究,把自动检测代理设置unchecked,速度会提升不少。

下班回家后,迫不及待的在自己的本本上安装 gogole chrome,公司里的代理问题不存在了。完全沉浸在它的快速,简洁的体验中。。。

BTW:老婆把我的本本霸占玩泡泡糖了,我只好在128M内存的图拉丁的ubuntu上写blog。有时间给大家介绍一下我的轻量级桌面。(其实也不轻量,web server 就安装了 apache2 lighttpd nginx , DB server 装了 MySQL, PostgreSQL 而且此时都启动起来了。呵呵)

No Comments » | Tags:, | Categories: Technology, 我的声音
The Subversion on Google

Google 版本服务器使用说明

SVN 客户端安装

下载 TortoiseSVN
http://tortoisesvn.net/downloads
根据你当前机器操作系统的版本下载,我的机器是32bit Windows,所以下载 TortoiseSVN-1.5.1.13563-win32-svn-1.5.1.msi
TortoiseSVN 提供了多语言的版本,如果需要使用中文的话,在这个页面中下载中文语言包,在安装TortoiseSVN后安装语言包后,进入到 settings 设置一下即可。

安装
一路Next即可,最后会提示你是否重启电脑。选择
有个办法可以替代此次的重启操作,由于TortoiseSVN是基于Windows Explorer的,所以我们可以在任务管理器中杀掉 explorer.exe 进程,然后再启用 explorer.exe 进程就完成了原本需要重启的操作。

SVN 的日常使用
svn 提供了很强大的功能,而对于开发者来说,只要掌握部分常用的功能就可以了。前面已经提到如何从版本库中checkout代码。下面就说如何把修改后的代码checkin

checkout 代码
进入工作目录如 D:Workspace
右键-> SVN Checkout

指定 SVN 服务器地址

输入用户名密码,注意:用户名为 gmail 帐号,但不含@gmail后缀。密码参考下面说明

密码:进入到 http://code.google.com/p/2dcms/source/checkout

点击 googlecode.com password 链接,把GoogleCode生成的密码贴到上面的密码框内。点击ok即可把项目源码checkout到本地。注意,你可以选中 Save authentication 这样就不用每次都输入这奇怪的密码

到此,就可以使用GoogleCode提供的svn服务了。

提交代码
1. 进入到本地的checkout目录,如 D:workspace2dcms
2. 右键->SVN Commit…

3. 选择需要checkin的代码以及相关资源等,如图片,css,js等文件。
注意:
新增的文件默认是不选中状态,如果需要checkin,选中相关文件。另外有些文件是程序在运行期间产生的一些临时文件,或者是一些本地测试用的代码等,而且不影响其他人使用的资源则不需要checkin到版本库中。这样能减少垃圾的存在,使大家在sync代码的时候速度更快一些。
每次提交代码必须填写说明。把此次checkin的意图说清楚。如:增加某个功能,修复某个bug 等。

更新代码 Update
SVN 是一个支持多人协作开发的版本库,为了保证本地的代码是最新的,需要定期的Update代码。也就是把别人提交的代码更新到本地。至于Update的频率,一般建议开始工作前使用Update操作。

进入到工作目录后,Update 命令同样可以在右键菜单中找到。Update命令很简单,就不贴图介绍了。

No Comments » | Tags:, | Categories: Technology, 我的声音


我的豆瓣

二维码快速链接
QR Code fuer diese Seite