当我们在使用statusnet当中的google map时,发现那个放大缩小的level条不见了。这样很不方便使用。加上它其实并不难。打开\plugins\Mapstraction\js\mxn.google.core.js文件,在原代码:
1 2 3 4 5 6 7 8 9 10 11 12 | mxn.register('google', { Mapstraction: { init: function(element,api) { var me = this; if (GMap2) { if (GBrowserIsCompatible()) { this.maps[api] = new GMap2(element); GEvent.addListener(this.maps[api], 'click', function(marker,location) { ... |
改变为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mxn.register('google', { Mapstraction: { init: function(element,api) { var me = this; if (GMap2) { if (GBrowserIsCompatible()) { this.maps[api] = new GMap2(element); this.maps[api].addControl(new GLargeMapControl()); GEvent.addListener(this.maps[api], 'click', function(marker,location) { ... |
日本的朋友们,你在上厕所的时候是否会觉着无聊却又无所消遣呢?你在等人的时候是否会觉着时间难耐呢?你在坐电车的时候是否不知道把目光留停在哪里好呢?
也许你也想学习日本人用手机上网的习惯。但是那样不是太累了,所有的都是日语。本来只是想消遣一下,变成了变相地强迫自己学习。又或者,那样的花费对你而言太多了,或者说你根本就不懂日语,那可怎么办呢?
这里提供了一个很小的工具,可以帮助你将txt文本的小说发送至自己的手机邮箱,排除乱码问题,让你在手机上轻松阅读全中文小说。
当然它也可以有其它的用途,比如说你觉着开通手机邮箱还是贵了,可以使用任意一个地址接收小说,然后再通过其它方式上传至自己的手机上。又或者你购买了日本的二手手机,可以通过这种方式来阅读中文小说,也不错呢。或者,你还可以使用这一工具为日本的朋友发送邮件,解决让人头疼的邮件乱码问题。
网址是:http://novel2email.qiuworld.com
下面是简单的视频教程:
很简单吧。希望您能喜欢。
Tags: 教程
开发statusNet的过程中必不可少要遇到使用daemons的情况,来运行一些后台程序。但是,如果你租用的服务器并不能提供给你这那大的自由度,而无法重新编译php,也无法自编译pcntl.mo文件,这可如何办呢?难道就没有办法解决call to undefined function pcntl_fork()错误了吗?
如果无法运行后台守护进程的话,那就意味着可能无法与其它的服务同步信息,比如说无法与twitter或者facebook同步信息。
为了能绕开pcntl,我试着屏弊掉与pcntl有关的所有语句,让daemons不在伪多线程下运行。试着换成使用在ssh下nohup命令下运行daemon程序。命令如下:
chmod +x yourApp.php nohup yourApp.php>yourApp.out 2>&1&
但是现在问题还是有很多。nohup本来是可以让程序在后台运行,即使退出ssh也可以继续运行。但是我遇到的情况是一但断开联接,程序就退出了。至于原因,一时不明所以。
但是至少这意味着,只要ssh不退出,就可以让daemon运行。
因为已经完成了twitter的同步连接程序,所以希望它可以维持一段时间。
经过了一个多月的开发,准备重新开放糗微进行内测了。
前一段时间开发的重点在:
1.实现向日本的手机邮箱发送全日文汉字的邮件通知。这里的意思是,你在糗微上所写的任何一条中文微博,在发送至定阅者的手机上时,会自动转换成日文。
2.实现向英文手机邮箱发送邮件时汉字转拼音。
3.增加发起活动功能。可以在糗微上发起一个活动,发起之后,活动的内容会自动发送提醒至所有的定阅者。定阅者通过回复邮件的办法报名参加活动。活动发起人在活动管理面板当中可以一览所有的报名参加的人员信息(,包括人数统计),通过审核通过和否决报名者的参与资格,可以发送更新更所有的报名者,可以发送消息至指定的报名者,可以发送消息至通过审核的,或者在等待列表里的,或者被否决的报名者。可以搜索糗微上定义为公开的活动,并报名参加。
4.方便地邀请windows live联系人。按分组的方式,可以一桶子邀请你windows live上的所有联系人。
可能会增加的功能,发送消息至twitter,facebook等。但开发难度不小。关键是要写很多的代码。所以何时可以写完,待定。
今天发送邀请给许多朋友,造成的打扰,我十分抱歉。
关于为什么要使用糗微?
如果你和父母之间的联系,因为国际电话费太贵的原因导致父母舍不得花钱给你打电话,但是有急事的时候又没有办法联系到你,而你又恰好开通了短信包月功能,那你一定要使用糗微。因为这样就可以让糗微充当一个国际call机的功能。让父母在糗微上注册一个帐号后,你使用手机注册SMS一个特定的帐号,双方相互定阅。父母有事时,通过互联网在糗微上给你的帐号发送一条私人消息,你的手机就会接收到一条消息通知,此时你可以偏振消息内容,或者打电话回去,或者上网与父母联系。尤其是你身在日本,所有的消息会自动转成日文汉字,避免了误解的产生。如果你身在不能显示汉字的国度,汉字转拼音功能对于减少误解就十分有用了。
如果你需要组织一次大型 的活动,比如几十人甚至上百人一起参与的活动,这样大型活动的组织最好交给糗微来完成。糗微的活动功能可以为你组织大型活动提供便利。以往我们组织活动,多半通过邮件组发送通知。的确,邮件组是很方便的发送通知的工具。但是当你想对活动进行人数统计等工作时,你就可能面对简单但是重复次数很多的拷贝粘贴来对人员信息进行统计。当你再次发送通知给部分的报名者时,你就需要很强的技巧来完成邮件的分送工作。而当你使用糗微之后,这一切就变得简单了。在糗微上,可以自动为你生成可供打印用的一览列表,列表内容发括所有报名者的报名信息。报名列表会依照审核通过,审核否决以及等待列表三个不同列表的方式显示报名者信息。你可以针对每一个报名者,或者每一组报名者发送不同的通知消息。
如果网站能够生存,活动通知与搜索功能对于改变宅男宅女们的生活状态也许会有很大的用处。
网站推广计划:
暂无。
上一次提到这个问题的时候,似乎感觉问题解决了,但是后来发现,上次的代码并不能很好的解决问题,很多中英文混杂的标题无法正确的显示。
为此,不得不再次研究一下代码,将代码做了一下精减,反而效果还是不错的。具体代码如下:
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | function cleanup_mail($string) { $string = str_replace(array("\r", "\n", "\r\n"), "", $string); $string = trim($string); return $string; } function utf8_encode_c($string) { $charset = 'utf-8'; $encoded_string = $string; if(strtolower($charset) == 'utf-8' && preg_match('/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff]/', $string)) { // Define start delimimter, end delimiter and spacer $end = "?="; $start = "=?" . $charset . "?B?"; // Encode the string $encoded_string = base64_encode($encoded_string); $encoded_string = $start . $encoded_string . $end; } return $encoded_string; } function mail_send($recipients, $headers, $body) { // XXX: use Mail_Queue... maybe $backend = mail_backend(); if (!isset($headers['Content-Type'])) { $headers['Content-Type'] = 'text/plain; charset=UTF-8'; $headers['Subject'] = utf8_encode_c(cleanup_mail($headers['Subject'])); } assert($backend); // throws an error if it's bad $sent = $backend->send($recipients, $headers, $body); if (PEAR::isError($sent)) { common_log(LOG_ERR, 'Email error: ' . $sent->getMessage()); return false; } return true; } |
Ajax,Asynchronous JavaScript and XML,异步JavaScript和xml。怎么发音呢?传说这是一个希腊文,Aias(Eye-yas),也许可以读作:EYE-yaks,爱牙科斯〜〜〜这两天看到一个教程,上直接念成阿甲克斯,也挺朗朗上口的。其实怎么读,无所谓的。
最近在开发糗微的过程中,不得不学习通过jQuery来实现Ajax。把这个学习过程记录下来,和大家分享。
这个教程使用语言:jQuery,难度:初学者;时间估计:20分钟。
什么是AJAX?
名词解释:XHR,是XML HTTP request的简称。我想大部分人在网上冲浪的时候都体会过Ajax
- 在GMAIL中,当你从收信箱转换至草稿箱,你会发现,网页的部分改变了,但是网页并没有整体刷新。你还在同一个页面上的感觉,地址栏的地址也没有发生任何变化。有人会问这是不是一个网页框架技术?我们观察原代码,找不到任何iframe的影子。
- 在Google Reader当中,你点击了一个feed,内容随之改变,但是并没有重定向网页的感觉。
- 在Google Maps当中,你扩大和缩小地图,地图变化了,但并没有整个的更新网页。
- 在live spaces当中评论别人的博客,留言提交上去了,网页并未发生大的变化。
对,你感觉不到你在与服务器交换数据的过程,这一过程全部放到后台异步完成。在之前,人们要实现与服务器交换数据,浏览器会这样做,首先产生一个访问请求,这时浏览器刷新成空白页,等待服务器的响应,接到响应之后,全新的呈现一个网页在浏览器上。这样就会看到一个明显的网页变换过程。而有一Ajax之后,网页的显示可能就不需要刷新和重定向了。如果你只是想修改部分的网页内容,而不是全部,这一技术无疑是你最想要的。这有点象动态网页技术DHTML+远程访问。这一技术的最大用处就是,当你与服务器交换数据时,不影响你对网页内其它内容的继续阅读与操作。
上手AJAX
jQuery对于Ajax的全局设置
对于一个静态内容的访问,也许我们希望浏览器缓存网页内容,以便下一次访问的时候能提高效率。但是因为Ajax的大部分应用都是数据库的访问,内容随时变化,这个时候我们不希望浏览器缓存网页内容。jQuery提供了一个全局使用的函数,$.ajaxSetup ();我们可以把自己需要的全局操作以参数的形式传进去就可以了。
1 2 3 | $.ajaxSetup({ cache: false }); |
1. load(): 远程调取html内容,并将其插入至指定的位置;
事实上,大部分的Ajax的应用都是实现这个过程,动态地在网页的某个位置加入一段互动显示效果。使用jQuery当中的load()函数可以很方便地实现这一过程。
基本实现
假设网页上有一个load按钮,它会响应鼠标click事件。我们需要写一段代码来具体如何响应这个click事件。最基本的,我们需要点击按钮后有一个等待的动画,消除人们的误会,让人看到正在响应鼠标单击事件,这时后台向服务器提交一个指定网页的请求。当网页内容返回以后,将这段网页内容加载至结果显示区域去。
1 2 3 4 5 6 7 8 9 10 | $.ajaxSetup ({ cache: false }); var ajax_load = "<img src='img/load.gif' alt='loading...' />"; // load() functions var loadUrl = "ajax/load.php"; $("#load_basic").click(function(){ $("#result").html(ajax_load).load(loadUrl); }); |
1-3行,让浏览器对内容不缓网页内容;
4行,定义一个动画地址,显示正在响应事件;
7行,定义访问请求的地址;
8行,$(“#load_bashic”)相当于getElementById(load_basic),获取网页当中id为load_basic的对象。定义它被点击后,id为result的对象首先显示4行当中定义的动画,同时提交7行定义的请求,当请求返回之后替换刚才显示的动画,显示在result对象当中。
读取更多/Read the rest of this entry »
wordPress plugins繁多,如何选择自己需要的呢?这是个问题。安装插件有一个不好,那就是响应时间会变成。所以合理地选择插件非常必要。
下面的六个插件都是使用用户评价很高,对于加速网站访问速度,推广网站,防止垃圾评论都是十分必要的。
1. WP Super Cache
WP Super Cache 可以加速静态网页的生成。设置有些复杂。 它可以有效地提供页面反应速度百分之二百至三百。 读取更多/Read the rest of this entry »
在statusNet当中在connect设置当中可以注册使用手机短信,就是sms了。但是当你打开下拉菜单,没有中国的手机服务运营商。没有中文短信平台的支持,这对于中文化的statusNet微博而言是非常遗憾的一件事情。
我分析过它的短信发送机制,其实是基于Email的发送方式。也就是说,它把sms当成一个使用手机号码做为用户名的邮箱做为发送地址的。比如你的手机号是13912345678,那么你捆绑的手机邮箱就是13912345678@139.com,而StatusNet就向这个地址发送邮件,你收到之后回复的来源信箱也就是它了。
对于日本AU及softbank的短信息地址,至今还没有找到。很大的原因是它们对于垃圾短信的防止,所以地址并未公开。但是还是有很多人分析出了部分的手机短信息地址。只是因为它分得太细了,什么关东关西,北海九洲,我无法分清哪个手机号是属于哪里的,也就没有办法了。这可能需要它们的数据库了。
| 関東・中部 | %s@cmail.ido.ne.jp |
| 北海道 | %s@dct.dion.ne.jp |
| 東北 | %s@tct.dion.ne.jp |
| 北陸 | %s@hct.dion.ne.jp |
| 関西 | %s@kct.dion.ne.jp |
| 中国 | %s@cct.dion.ne.jp |
| 四国 | %s@sct.dion.ne.jp |
| 九州 | %s@qct.dion.ne.jp |
| 沖縄 | %s@oct.dion.ne.jp |
既然原理大约是这样,就按这个思路办吧。具体是否可行,我并没有去实验,因为本人没有中国的手机可以使用。但是我还是把办法写在这里,谁有兴趣可以自己试试。
打开数据库,找到sms_carrier数据表,增加三个字段,具体如下图: 读取更多/Read the rest of this entry »
今天进入wordpress提示有自动升级,可以升级至英文版的2.9.2。我毫不犹豫地就点了自动升级。升完级,提示升级成功。立即查看站点,觉着没有任何问题。再返回控制台,怀具发生了。提示:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /wp-admin/includes/template.php on line 1448
我仔细一看,不慌不忙,进入服务器修改文件,因为这个错误以前见到过,就是内存溢出错误嘛。简单。打开wordpress根目录下wp-settings.php文件,找到
12 13 | if ( !defined('WP_MEMORY_LIMIT') ) define('WP_MEMORY_LIMIT', '32M'); |
修改为
12 13 | if ( !defined('WP_MEMORY_LIMIT') ) define('WP_MEMORY_LIMIT', '64M'); |
一切就OK了。
Tags: wordpress


