2005-07-13 11:34:05
80S team blog切换
[ 2008-01-08 00:41:31 | 作者: Admin ]
于80s一直使用国外主机架设BLOG,由于主机及数据库连接数问题经常会造成用户无法阅读,现在这个问题总算解决了。今天我们将服务切换到国内的服务器上。现在您看的BLOG,我们已经不进行维护,请您进入新BLOG。
感谢各位对80s team blog长期的支持,我们工作室今后将会为广告开发者提供更好的技术文章和新闻!
由于现在还属于切换过程,请各位将自己以前订阅的Feed更换为Feedsky托管的Feed。聚合网站也请调整。
友情链接会逐步恢复,请各位见谅,欢迎相关技术网站及Blog交换友情链接!
如果您发现切换过程中有任何问题,请您Mail:icejmx@gmail.com,谢谢您的支持!
doubanclaimb21b3dc95015106a
感谢各位对80s team blog长期的支持,我们工作室今后将会为广告开发者提供更好的技术文章和新闻!
由于现在还属于切换过程,请各位将自己以前订阅的Feed更换为Feedsky托管的Feed。聚合网站也请调整。
友情链接会逐步恢复,请各位见谅,欢迎相关技术网站及Blog交换友情链接!
如果您发现切换过程中有任何问题,请您Mail:icejmx@gmail.com,谢谢您的支持!
doubanclaimb21b3dc95015106a
Flash和Silverlight需要比较么?
[ 2008-01-06 03:23:21 | 作者: ai829 ]
最近一段时间有很多朋友都在讨论关于Silverlight和Flash那一个比较牛的问题,看到越来越多的人开始认识到RIA,认识到用户体验在web应用等领域中重要性,心里很是高兴。但是开心归开心,担心也是与日俱增,特别是很多不负责任的报道和所谓评测,在这里我就不一一列举了。
我之前也写个一个 Flash vs Silverlight 的文章, 当时是为了给公司内部培训用的,确实缺乏一些斟酌。后来放到网上跟大家分享,被转载了很多地方,这篇文章是基于当时的技术环境以及特定环境的,现在已经没有很大的参考价值。
一些媒体不负责任的报道主要集中在几个方面:
1 SEO
2 硬件加速以及GPU支持等
3 跨平台
4 控件单一性
5 下载大小
……
下面我简单的说说:
1 对于SEO动态数据我不说了,没有那家能做的出来,静态数据的话Google据说已经可以搜索到swf中的mc了。对于模拟用户点击按钮的操作,不仅是 Sivlerlight和Flash,就连普通的html页面的按钮也没有这样的例子。在这里问题上我们不需要愤青。
2 不知道,因此不知道该怎么说,没听说那家的大众化plugin能支持GPU的,当然理论上是可以的,不排除以后会有,硬件加速的问题讨论的已经够久的了,网上的文章以及我blog之前都有提到过。
3 跨平台一直是微软的痛,Adobe在这点上就做的很好,但是微软已经推出了suse上的linux Silverlight版本,名字叫Moonlight,具体的看这里,至于会不会推出其他linux发行版上的Silverlight,答案是不知道,要看微软对Silverlight的支持策略了。
4和5 至于size,微软的我策略不懂,也就不妄加评论了,至少会增加很多控件,我觉得如果控件够丰富,自定义够灵活,就可以了,在1.0中只要能提供类似Flash的动态和输入文本这两个控件,其他的UI控件基本上都可以写出来。size 应该会尽可能的小,但是应该不会像FlashPlayer那样小巧精致。
7yue的这篇文章推荐大家看一下。
关于7yue这篇文章在蓝色上的讨论:
http://bbs.blueidea.com/thread-2821451-1-1.html
有句话是这么说的:"尽信书不如无书"。
不能只听微软或者Adobe一家之言,也不能什么话都听,信息是需要自己进行过滤和筛选的。但是只要能找到自己技术选型的依据就行了,自己技术的提高的越多,分辨对错的能力就越强,光说不练的人容易让人看不起。还有就是一个1.0的东西和一个9.0的东西确实差距还是很大的。
最后我有一个问题要问问那些写这些比较文章或者耸人听闻的人:
你们这些人有那个真正用过Silverlight做过开发,那个用过Flash做开发超过1年?如果你没有在Silverlight甚至是WPF/E上开发或者咨询的经验,以及在基于Flash的开发中有过超过2年的研发经验,请你不要随便瞎写这种容易误导他人的比较性文章。一个没有对这两款技术熟练掌握并有很长时间研究的人是不可能知道这两个技术领域不同的特性以及优缺点的。写文章和生孩子一样,要负责!
另外再推荐一下这篇文章:
Q&A on Flex and Silverlight
我之前也写个一个 Flash vs Silverlight 的文章, 当时是为了给公司内部培训用的,确实缺乏一些斟酌。后来放到网上跟大家分享,被转载了很多地方,这篇文章是基于当时的技术环境以及特定环境的,现在已经没有很大的参考价值。
一些媒体不负责任的报道主要集中在几个方面:
1 SEO
2 硬件加速以及GPU支持等
3 跨平台
4 控件单一性
5 下载大小
……
下面我简单的说说:
1 对于SEO动态数据我不说了,没有那家能做的出来,静态数据的话Google据说已经可以搜索到swf中的mc了。对于模拟用户点击按钮的操作,不仅是 Sivlerlight和Flash,就连普通的html页面的按钮也没有这样的例子。在这里问题上我们不需要愤青。
2 不知道,因此不知道该怎么说,没听说那家的大众化plugin能支持GPU的,当然理论上是可以的,不排除以后会有,硬件加速的问题讨论的已经够久的了,网上的文章以及我blog之前都有提到过。
3 跨平台一直是微软的痛,Adobe在这点上就做的很好,但是微软已经推出了suse上的linux Silverlight版本,名字叫Moonlight,具体的看这里,至于会不会推出其他linux发行版上的Silverlight,答案是不知道,要看微软对Silverlight的支持策略了。
4和5 至于size,微软的我策略不懂,也就不妄加评论了,至少会增加很多控件,我觉得如果控件够丰富,自定义够灵活,就可以了,在1.0中只要能提供类似Flash的动态和输入文本这两个控件,其他的UI控件基本上都可以写出来。size 应该会尽可能的小,但是应该不会像FlashPlayer那样小巧精致。
7yue的这篇文章推荐大家看一下。
关于7yue这篇文章在蓝色上的讨论:
http://bbs.blueidea.com/thread-2821451-1-1.html
有句话是这么说的:"尽信书不如无书"。
不能只听微软或者Adobe一家之言,也不能什么话都听,信息是需要自己进行过滤和筛选的。但是只要能找到自己技术选型的依据就行了,自己技术的提高的越多,分辨对错的能力就越强,光说不练的人容易让人看不起。还有就是一个1.0的东西和一个9.0的东西确实差距还是很大的。
最后我有一个问题要问问那些写这些比较文章或者耸人听闻的人:
你们这些人有那个真正用过Silverlight做过开发,那个用过Flash做开发超过1年?如果你没有在Silverlight甚至是WPF/E上开发或者咨询的经验,以及在基于Flash的开发中有过超过2年的研发经验,请你不要随便瞎写这种容易误导他人的比较性文章。一个没有对这两款技术熟练掌握并有很长时间研究的人是不可能知道这两个技术领域不同的特性以及优缺点的。写文章和生孩子一样,要负责!
另外再推荐一下这篇文章:
Q&A on Flex and Silverlight
Rails for PHP Developers Website Launched
[ 2008-01-03 20:17:05 | 作者: Admin ]
社区又有新的动作,刚发布了一个新的网站,希望将PHP和RUBY做更好的补充和结合,为PHP和RUBY的开发者提供一个更好的平台来互相学习,和了解。
网站由Mike Naberezny建立。网站:http://railsforphp.com/
网站由Mike Naberezny建立。
引用
Rails for PHP Developers is a new site for PHP developers who are also interested in Rails and Ruby. PHP and Ruby are great complementary tools that are sometimes seen as adversarial, which is really unfortunate. We use both and we'll be writing regular articles to help cross-pollinate ideas and promote collaboration between the communities.
The Spread Toolkit
[ 2008-01-03 08:21:34 | 作者: Admin ]
最近在寻找分布式系统,消息通信的相关资料。发现The Spread Toolkit一个隐藏很久的消息SERVER,根据介绍Flickr在使用。经过同事简单的测试,The Spread Toolkit支持广播,分组等基本功能,API方面支持PHP,PYTHON,JAVA等常见语言。支持UPD,TCP发送消息,可靠性很高。
缺点是:不保存消息内容,当消息接受端出现故障,无法将未发送消息重新发送。
官网:
http://www.spread.org
介绍:
http://www.highscalability.com/product-spread-toolkit
http://www.linuxjournal.com/article/7780
http://www.linux-mag.com/id/1328/
下文是LinuxMagazine的介绍,因为需要注册才能看,就COPY出来了,不进行翻译了。
This month's installment of "Do It Yourself" switches gears a bit. Rather than focus on an application, this month's column looks at a development library called the Spread Toolkit, a powerful network communication system. Spread isn't a new project. It's existed in one form or another for roughly five years. Strangely, during all that time, it hasn't received the attention it deserves.
Developed at the Center for Networking and Distributed Systems at Johns Hopkins University and partially funded by the Defense Advanced Research Projects Agency (DARPA, the same folks who brought us the Internet) and the National Security Agency (NSA, the same folks who brought us Security Enhanced Linux: http://www.linux-mag.com/2001-09/se_linux_01.html), Spread consists of a code library and a server process designed to solve a number of the problems that arise naturally when attempting to build network-based, reliable, and high-performance applications. By using the Spread library appropriate for your project (there are interfaces in C/C++, Java, Perl, Python, PHP, and Ruby), your code can efficiently and reliably communicate with one or more peers on the network.
Break it down
The project's Web site describes Spread this way:
Spread is a toolkit that provides a high performance messaging service that's resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions.
That's quite a dense description of what Spread provides. Let's have a closer look at some of Spread's core features.
Multiplexing network connections. If a distributed application consists of 10 processes each, running on 30 different servers, there may be thousands of connections among the various processes. Spread enables any two processes to communicate without establishing a dedicated connection for each process pair.
Scalability. Spread's use of multicast UDP (a bandwidth-efficient mechanism for broadcasting data ) provides scalability. Need to double the number of machines in your cluster? No problem. Spread can scale with you.
Reliable message delivery. Spread makes sure you don't lose messages. This may not seem terribly impressive until you realize that UDP is an inherently unreliable protocol. Unlike TCP, UDP has no acknowledgements and no provisions for re-sending missed packets. Spread handles the hard work of ensuring delivery over a potentially unreliable network.
Sequenced delivery. This goes hand-in-hand with reliable message delivery. Spread makes sure that messages are presented to your application in the proper order -- even if they arrived completely out of sequence.
Fail-over. Spread provides the infrastructure for building network services that can survive the failure of several nodes. By using Spread, you needn't worry about all the details of sharing state and coordinating communication among the servers.
That's just a small sampling of the capabilities you get with Spread. It's also worth pointing out that Spread works on most popular platforms (Linux, BSD, Windows, etc.), so it's an excellent choice for cross-platform, distributed applications.
Spreading the Love
One of the more popular Spread-related projects is mod_ log_spread (http://www.backhand.org/mod_log_spread). As you might guess, it's an Apache module that enables "logging" of web traffic across a Spread network. It can be a real time saver if you'd otherwise have to automate the log collection process across a large cluster of web servers.
Using Spread, you can designate a small number of hosts for real-time log collection and let Spread worry about making sure all the data gets there. Think of it as adding syslog's remote logging capabilities to Apache with the added benefits of guaranteed delivery -- you won't miss log entries.
Java hackers might find the JMS4Spread (http://www.spread.org/JMS4Spread) project interesting. Using Spread for network communication, JMS4Spread provides a completely decentralized JMS (Java Messaging Service) implementation.
缺点是:不保存消息内容,当消息接受端出现故障,无法将未发送消息重新发送。
官网:
http://www.spread.org
介绍:
http://www.highscalability.com/product-spread-toolkit
http://www.linuxjournal.com/article/7780
http://www.linux-mag.com/id/1328/
下文是LinuxMagazine的介绍,因为需要注册才能看,就COPY出来了,不进行翻译了。
This month's installment of "Do It Yourself" switches gears a bit. Rather than focus on an application, this month's column looks at a development library called the Spread Toolkit, a powerful network communication system. Spread isn't a new project. It's existed in one form or another for roughly five years. Strangely, during all that time, it hasn't received the attention it deserves.
Developed at the Center for Networking and Distributed Systems at Johns Hopkins University and partially funded by the Defense Advanced Research Projects Agency (DARPA, the same folks who brought us the Internet) and the National Security Agency (NSA, the same folks who brought us Security Enhanced Linux: http://www.linux-mag.com/2001-09/se_linux_01.html), Spread consists of a code library and a server process designed to solve a number of the problems that arise naturally when attempting to build network-based, reliable, and high-performance applications. By using the Spread library appropriate for your project (there are interfaces in C/C++, Java, Perl, Python, PHP, and Ruby), your code can efficiently and reliably communicate with one or more peers on the network.
Break it down
The project's Web site describes Spread this way:
Spread is a toolkit that provides a high performance messaging service that's resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions.
That's quite a dense description of what Spread provides. Let's have a closer look at some of Spread's core features.
Multiplexing network connections. If a distributed application consists of 10 processes each, running on 30 different servers, there may be thousands of connections among the various processes. Spread enables any two processes to communicate without establishing a dedicated connection for each process pair.
Scalability. Spread's use of multicast UDP (a bandwidth-efficient mechanism for broadcasting data ) provides scalability. Need to double the number of machines in your cluster? No problem. Spread can scale with you.
Reliable message delivery. Spread makes sure you don't lose messages. This may not seem terribly impressive until you realize that UDP is an inherently unreliable protocol. Unlike TCP, UDP has no acknowledgements and no provisions for re-sending missed packets. Spread handles the hard work of ensuring delivery over a potentially unreliable network.
Sequenced delivery. This goes hand-in-hand with reliable message delivery. Spread makes sure that messages are presented to your application in the proper order -- even if they arrived completely out of sequence.
Fail-over. Spread provides the infrastructure for building network services that can survive the failure of several nodes. By using Spread, you needn't worry about all the details of sharing state and coordinating communication among the servers.
That's just a small sampling of the capabilities you get with Spread. It's also worth pointing out that Spread works on most popular platforms (Linux, BSD, Windows, etc.), so it's an excellent choice for cross-platform, distributed applications.
Spreading the Love
One of the more popular Spread-related projects is mod_ log_spread (http://www.backhand.org/mod_log_spread). As you might guess, it's an Apache module that enables "logging" of web traffic across a Spread network. It can be a real time saver if you'd otherwise have to automate the log collection process across a large cluster of web servers.
Using Spread, you can designate a small number of hosts for real-time log collection and let Spread worry about making sure all the data gets there. Think of it as adding syslog's remote logging capabilities to Apache with the added benefits of guaranteed delivery -- you won't miss log entries.
Java hackers might find the JMS4Spread (http://www.spread.org/JMS4Spread) project interesting. Using Spread for network communication, JMS4Spread provides a completely decentralized JMS (Java Messaging Service) implementation.
Why PHP should never be taught?
[ 2008-01-02 08:13:59 | 作者: Admin ]
在phpdeveloper.org上新发了一篇文章关于PHP教育的话题。
一位blogger在他的博客上发表了一个Php程序,想说明php在判断值时的问题,大意是说:“如果A等于B,B等于C,那么我们都会认为A等于C对吧”,但是程序获得的结果不是。原文如下:
Why PHP should never be taught.
Suppose A equals B, and also B equals C. Any reasonable person would expect that A equals C, right?
Oh yeah?
% cat equality.php
<?php
$a = 0;
$b = "eggs";
$c = "spam";
print ($a == $b) ? "a == b\n" : "a != b\n";
print ($b == $c) ? "b == c\n" : "b != c\n";
print ($a == $c) ? "a == c\n" : "a != c\n";
print ($a == $d) ? "a == d\n" : "a != d\n";
print ($b == $d) ? "b == d\n" : "b != d\n";
print ($c == $d) ? "c == d\n" : "c != d\n";
?>
% php equality.php
a == b
b != c
a == c
a == d
b != d
c != d
%
Try explaining that to a first-time programmer.
php adodb的开发者John Lim回应了这篇博客,大意是"当很难理解的东西又很流行的时候,我们就需要进行培训,而不是按照一个想当然的想法去做。我们说英语是不用教的,但是我们说其他语言时就会逻辑混乱,不严谨。大多数编程语言都存在相似的问题。出现混淆的原因是'==='是真正的值判断符号,'=='只是我们习惯上用来判断是否是true,我们使用这种习惯在很多地方",原文如下:
Why Should PHP ever be taught in school?
Happy New Year Folks! Let's keep on blogging.
This posting by Ka-Ping Yee on why PHP should never be taught is precisely why PHP should be taught. If something is popular but hard to understand then we need an education process. To just shake our heads and give up is simply immature (or trolling). Otherwise we might as well say that English (or any other spoken language for that matter) should not be taught, because spoken languages are illogical, imprecise and therefore ... useless :)
Most programming languages have similar gotchas. Oracle's PL/SQL has "" being equivalent to null. Javascript believes that 0 and "" are equivalent. C has non-zero being equivalent to boolean true. Lisp's gotcha begins with ( and ends with ) -- (just a joke). Java's gotcha begins with J2EE and the obsolete baggage that comes with it.
PS: The confusion is because === is the real equality operator and should be used here. In PHP, == is equality after typecasting, where 0 == "0" and "" == "0" evaluating to true are accepted conventions. They are useful constructs in many situations in a similar vein to C's convention of 0 being boolean true and non-zero being boolean false, which the critics cleverly ignore. See the PHP Manual on type comparisons
一位blogger在他的博客上发表了一个Php程序,想说明php在判断值时的问题,大意是说:“如果A等于B,B等于C,那么我们都会认为A等于C对吧”,但是程序获得的结果不是。原文如下:
Why PHP should never be taught.
Suppose A equals B, and also B equals C. Any reasonable person would expect that A equals C, right?
Oh yeah?
% cat equality.php
<?php
$a = 0;
$b = "eggs";
$c = "spam";
print ($a == $b) ? "a == b\n" : "a != b\n";
print ($b == $c) ? "b == c\n" : "b != c\n";
print ($a == $c) ? "a == c\n" : "a != c\n";
print ($a == $d) ? "a == d\n" : "a != d\n";
print ($b == $d) ? "b == d\n" : "b != d\n";
print ($c == $d) ? "c == d\n" : "c != d\n";
?>
% php equality.php
a == b
b != c
a == c
a == d
b != d
c != d
%
Try explaining that to a first-time programmer.
php adodb的开发者John Lim回应了这篇博客,大意是"当很难理解的东西又很流行的时候,我们就需要进行培训,而不是按照一个想当然的想法去做。我们说英语是不用教的,但是我们说其他语言时就会逻辑混乱,不严谨。大多数编程语言都存在相似的问题。出现混淆的原因是'==='是真正的值判断符号,'=='只是我们习惯上用来判断是否是true,我们使用这种习惯在很多地方",原文如下:
Why Should PHP ever be taught in school?
Happy New Year Folks! Let's keep on blogging.
This posting by Ka-Ping Yee on why PHP should never be taught is precisely why PHP should be taught. If something is popular but hard to understand then we need an education process. To just shake our heads and give up is simply immature (or trolling). Otherwise we might as well say that English (or any other spoken language for that matter) should not be taught, because spoken languages are illogical, imprecise and therefore ... useless :)
Most programming languages have similar gotchas. Oracle's PL/SQL has "" being equivalent to null. Javascript believes that 0 and "" are equivalent. C has non-zero being equivalent to boolean true. Lisp's gotcha begins with ( and ends with ) -- (just a joke). Java's gotcha begins with J2EE and the obsolete baggage that comes with it.
PS: The confusion is because === is the real equality operator and should be used here. In PHP, == is equality after typecasting, where 0 == "0" and "" == "0" evaluating to true are accepted conventions. They are useful constructs in many situations in a similar vein to C's convention of 0 being boolean true and non-zero being boolean false, which the critics cleverly ignore. See the PHP Manual on type comparisons
由于手上都是奥运相关的项目,因此过了2007以后会超级的忙碌,下面这张是RIAMeeting的一张图,大家共勉。
还有就是RIAMeeting于2008年1月19日举行线下讨论活动,回头AIR以及相关RIA技术的介绍,具体的大家看这里
还有就是RIAMeeting于2008年1月19日举行线下讨论活动,回头AIR以及相关RIA技术的介绍,具体的大家看这里
这不是一篇讲大道理的文章,里面有很多细节和经验值得我们学习,人生不是那么平坦,但也不是那么不公平。老天总是会给你机会的。学会忍耐,学会选择,学会等待。同时你要学会积累,一直努力。
我觉得这里面最精辟的一句就是:
不清楚要什么的结果就是什么都想要,结果什么都没得到。
如果各位工作中有什么不顺心,看看这篇文章,会发现犹如醍醐灌顶。下面是文章链接:
http://docs.google.com/View?docid=dgh9xj7w_4f76jrbgh
多谢7yue推荐的这篇文章,虽然心里还是不舒服,但是已经豁然了
我觉得这里面最精辟的一句就是:
不清楚要什么的结果就是什么都想要,结果什么都没得到。
如果各位工作中有什么不顺心,看看这篇文章,会发现犹如醍醐灌顶。下面是文章链接:
http://docs.google.com/View?docid=dgh9xj7w_4f76jrbgh
多谢7yue推荐的这篇文章,虽然心里还是不舒服,但是已经豁然了
Open Source Camp Beijing
[ 2007-12-22 10:50:12 | 作者: qingfeng ]
活动很有意思,见到了很多老朋友,有种聚会的感觉.
P.S
满场满眼的mac阿.....
猜猜是谁
主持人Peter
Peter
Alex的三分钟演讲
HD在准备keynote
HD的xbaydns演讲
Bill Xu的演讲
Bill Xu振臂高呼
关于哲思的介绍
酒吧中的装饰
OpenSource T-shirt
很多不错的书籍
P.S
满场满眼的mac阿.....
猜猜是谁
主持人Peter
Peter
Alex的三分钟演讲
HD在准备keynote
HD的xbaydns演讲
Bill Xu的演讲
Bill Xu振臂高呼
关于哲思的介绍
酒吧中的装饰
OpenSource T-shirt
很多不错的书籍
久闻erlang大名,随着身边的一些项目开始采用erlang,看来不得不好好学习一下erlang了,以后也可以跟人说,今天你lang了吗
1.编译
在mac下,安装还是很简单的一切ok了
2.erlang的交互环境
由于一直搞python,所以很喜欢语言拥有一个shell交互环境,erlang也为我们提供了一个,在命令行下输入:http://www.haokanbu.com/p/49620/
3.编辑器
工欲善其事必先利其器,我的开发环境:
http://www.haokanbu.com/p/49619/
4.尝试erlang的分布式编程
学习erlang,主要的目的就是学习他在分布式方面的使用
概念:在erlang中创建一个节点,非常容易:给一个节点发送消息:更详细的说明参见这里:
http://dennis-zane.javaeye.com/blog/94015
5.Unit Test in Erlang
除了写代码,我们还要保证质量,erlang也有相应的unitest方案:
https://support.process-one.net/doc/display/CONTRIBS/EUnit
中文说明:
http://erlang-china.org/start/unit_test_in_erlang.html
参考资料:
Erlang超快速入门
http://erlang-china.org/start/fast-start.html
1.编译
在mac下,安装还是很简单的
引用
port install erlang
2.erlang的交互环境
由于一直搞python,所以很喜欢语言拥有一个shell交互环境,erlang也为我们提供了一个,在命令行下输入:
引用
erl
3.编辑器
工欲善其事必先利其器,我的开发环境:
http://www.haokanbu.com/p/49619/
4.尝试erlang的分布式编程
学习erlang,主要的目的就是学习他在分布式方面的使用
概念:
引用
节点是分布式Erlang的核心概念。在一个分布式Erlang应用中,术语(term)节点(node)意味着一个可以加入分布式 transactions的运行系统。通过一个称为net kernal的特殊进程,一个独立的Erlang系统可以成为一个分布式Erlang系统的一部分。当net kernal进程启动的时候,我们称系统是alive的。
引用
erl -sname node1
引用
{Name, Node} ! Mess.
http://dennis-zane.javaeye.com/blog/94015
5.Unit Test in Erlang
除了写代码,我们还要保证质量,erlang也有相应的unitest方案:
https://support.process-one.net/doc/display/CONTRIBS/EUnit
中文说明:
http://erlang-china.org/start/unit_test_in_erlang.html
参考资料:
Erlang超快速入门
http://erlang-china.org/start/fast-start.html
My onAIR bus tour
[ 2007-12-09 07:35:35 | 作者: ai829 ]
Here is my onAIR bus tour,take a look:
Quality of the t-shirt is not so good,but thanks wenlei forward me this.
There is AIR beta1 in the disk
Although I am not in the United States and the tour is over.
PS: thanks wenlei for the book of programming Flex 2
Quality of the t-shirt is not so good,but thanks wenlei forward me this.
There is AIR beta1 in the disk
Although I am not in the United States and the tour is over.
PS: thanks wenlei for the book of programming Flex 2
引用
xapian是啥玩意?
xapian 是一个“Xapian 是一个开源概率论信息检索库,基于GPL发布。它是用C++编写的,提供的绑定可以支持其它语言(支持Perl, Python, PHP, Java, and TCL )的开发。 Xapian 设计为一个高度可适应的工具集,可以让开发人员方便地为他们自己的应用程序增加高级索引和搜索功能。”
xapian 是一个“Xapian 是一个开源概率论信息检索库,基于GPL发布。它是用C++编写的,提供的绑定可以支持其它语言(支持Perl, Python, PHP, Java, and TCL )的开发。 Xapian 设计为一个高度可适应的工具集,可以让开发人员方便地为他们自己的应用程序增加高级索引和搜索功能。”
官方编译文档:http://www.xapian.org/docs/install.html
编译过程:
tar zxf xapian-core-1.0.4.tar.gz
cd xapian-core-1.0.4
./configure --prefix=$HOME/xapian-install [此处你可以换成你的目录,或者不要此参数]
make
make install
cd xapian-core-1.0.4
./configure --prefix=$HOME/xapian-install [此处你可以换成你的目录,或者不要此参数]
make
make install
编译python bindings
tar zxf xapian-bindings-1.0.4.tar.gz
cd xapian-bindings-1.0.4
./configure XAPIAN_CONFIG=$HOME/xapian-install/bin/xapian-config --with-python
cd xapian-bindings-1.0.4
./configure XAPIAN_CONFIG=$HOME/xapian-install/bin/xapian-config --with-python
如果在mac下编译记得先
sudo ln -s $HOME/xapian-install/lib/libxapian.15.dylib /usr/local/lib/
OK,现在进入python
import xapian
Done.
Thermo Featured Video
[ 2007-12-04 19:59:01 | 作者: ai829 ]
Adobe Product Manager Steven Heintz and Senior Principal Scientist Mark Anders provide a sneak peek at Thermo, code name for a product currently under development at Adobe.
check the video here
"Thermo" is an upcoming Adobe product that makes it easy for designers to create rich Internet application UIs. Thermo allows designers to build on familiar workflows to visually create working applications that easily flow into production and development.
here is the features list:
http://labs.adobe.com/wiki/index.php/Thermo
check the video here
"Thermo" is an upcoming Adobe product that makes it easy for designers to create rich Internet application UIs. Thermo allows designers to build on familiar workflows to visually create working applications that easily flow into production and development.
here is the features list:
http://labs.adobe.com/wiki/index.php/Thermo
Flash Search Engine SDK review
[ 2007-11-25 10:04:48 | 作者: ai829 ]
很老的一篇文章了,昨天在RIAMeeting上有人问到了Flash中的SEO问题。最近这个问题讨论的很多,我觉得很多争论没有必要,Adobe和Google也在积极开发一个Flash Search Engine SDK相信很快就能问世了,这个SDK可不是仅仅Meta data这么简单。
Macromedia Flash Search Engine SDK
http://www.adobe.com/licensing/developer/search/faq/
Macromedia Flash Search Engine SDK
http://www.adobe.com/licensing/developer/search/faq/
Q&A on Flex and Silverlight
[ 2007-11-20 23:31:49 | 作者: ai829 ]
一次对于两个阵营官方的采访,看这里
主人公分别是
Brad Abrams - Product Group Manager, Microsoft 他的blog看这里
以及
Mike Potter - Flex Marketing Team, Adobe 他的blog看这里
这个是给两个都不太熟悉或者只熟悉一个的开发人员或者项目人员看的,如果你对两个东西都有了解或者比较深入的应用,就没多大意义了。
不过我个人的角度来看,Flex和Silverllight没啥可比性,应该用Flash+Flex或者FlashPlayer和Silverlight比较感觉才对位。官方的说法一贯不疼不痒的,因此也没必要看的太重,知道就行了,具体的还是要看实际应用。
PS:这次的RIAMeeting周末会有7yue来参加,他回头会有很多未露面的Demo在会上show给大家,不要错过哟
主人公分别是
Brad Abrams - Product Group Manager, Microsoft 他的blog看这里
以及
Mike Potter - Flex Marketing Team, Adobe 他的blog看这里
这个是给两个都不太熟悉或者只熟悉一个的开发人员或者项目人员看的,如果你对两个东西都有了解或者比较深入的应用,就没多大意义了。
不过我个人的角度来看,Flex和Silverllight没啥可比性,应该用Flash+Flex或者FlashPlayer和Silverlight比较感觉才对位。官方的说法一贯不疼不痒的,因此也没必要看的太重,知道就行了,具体的还是要看实际应用。
PS:这次的RIAMeeting周末会有7yue来参加,他回头会有很多未露面的Demo在会上show给大家,不要错过哟
RIAMeeting第二次活动报名中
[ 2007-11-18 21:25:36 | 作者: ai829 ]
活动时间:2007/11/24 14:00–17:00
活动地点:北京市建国门外大街1号国贸中心西楼309-10室(Adobe中国代表处)
活动主题:Flex3特性介绍以及Flash技术在社区中的应用
特约嘉宾:Peter(Fans8.com站长,国内Flash社区先行者RIE.com.cn以及1d.com互动娱乐社区创始人)
活动日程
13:30–14:00 签到时间
14:00–15:00 以1d.com为例介绍RIA开发过程中的经验及教训(包含10分钟QA时间)
15:00–16:00 Flex3特性介绍及设计工作流演示(10分钟QA时间)
16:00–16:10 中场休息
16:10–17:00 开发人员交流时间
会后大家合影留念
会议室只能放50人
具体的报名方式请访问这里
PS:下面是新生成的Gtalk和msn的小图片,用这个服务搞的,已经放在左侧,主要是为了弥补评论功能的关闭~~~
活动地点:北京市建国门外大街1号国贸中心西楼309-10室(Adobe中国代表处)
活动主题:Flex3特性介绍以及Flash技术在社区中的应用
特约嘉宾:Peter(Fans8.com站长,国内Flash社区先行者RIE.com.cn以及1d.com互动娱乐社区创始人)
活动日程
13:30–14:00 签到时间
14:00–15:00 以1d.com为例介绍RIA开发过程中的经验及教训(包含10分钟QA时间)
15:00–16:00 Flex3特性介绍及设计工作流演示(10分钟QA时间)
16:00–16:10 中场休息
16:10–17:00 开发人员交流时间
会后大家合影留念
会议室只能放50人
具体的报名方式请访问这里
PS:下面是新生成的Gtalk和msn的小图片,用这个服务搞的,已经放在左侧,主要是为了弥补评论功能的关闭~~~
AIR新logo以及Flash On
[ 2007-11-16 00:55:07 | 作者: ai829 ]
What Tamarin means to developers
[ 2007-11-14 20:30:54 | 作者: ai829 ]
今天在看infoQ上的一片介绍AVM2的文章后搜索了一下
从Java开发者的角度看ActionScript虚拟机[这篇文章挺有代表性的,建议大家看看英文的原文,这也是java社区的一个比较一致的口径]
http://www.infoq.com/cn/news/2007/11/understanding-actionscript-vm
这篇文章里面很多的链接,虽然是英文的但是也很有帮助,建议大家点进去看看。
不知道Tamarin这个项目大家还记得否,虽然开源AVM2的好处现在还没显现的太明显,但至少是一个好的开始
What Tamarin means to developers
http://www.adobe.com/devnet/logged_in/ehuang_tamarin.html
Mozilla Tamarin Project
http://www.mozilla.org/projects/tamarin/
PS:建议大家多订阅RSS,在RSS里看,如果没有显示全的再到blog里看好了,访问量有点大,因此老是出现500或者404的错误,希望大家理解
从Java开发者的角度看ActionScript虚拟机[这篇文章挺有代表性的,建议大家看看英文的原文,这也是java社区的一个比较一致的口径]
http://www.infoq.com/cn/news/2007/11/understanding-actionscript-vm
这篇文章里面很多的链接,虽然是英文的但是也很有帮助,建议大家点进去看看。
不知道Tamarin这个项目大家还记得否,虽然开源AVM2的好处现在还没显现的太明显,但至少是一个好的开始
What Tamarin means to developers
http://www.adobe.com/devnet/logged_in/ehuang_tamarin.html
Mozilla Tamarin Project
http://www.mozilla.org/projects/tamarin/
PS:建议大家多订阅RSS,在RSS里看,如果没有显示全的再到blog里看好了,访问量有点大,因此老是出现500或者404的错误,希望大家理解
Adobe CEO 换人了
[ 2007-11-13 23:02:16 | 作者: ai829 ]

微软设计产品市场总监Forest Key谈Silverlight
[ 2007-11-12 07:24:30 | 作者: ai829 ]
最近忙于工作,也抽空做了些事情,上次受infoQ主编泰稳兄之托采访了微软公司用户体验平台及工具部门亚太区业务发展总经理Forest Key先生。
Forest Key先生主要从几个方面剖析了silverlight这个平台级技术:
1 从应用开发实施的效率上
2 从开发人员以及设计人员的体验上以及终端用户的体验上
3 设计与开发工具上
4 silverlight在整个微软产品线的角色
采访具体内容请看这里:
http://www.infoq.com/cn/articles/forest-key-silverlight
PS:我关闭了blog的评论系统防止大量的垃圾评论影响阅读
Forest Key先生主要从几个方面剖析了silverlight这个平台级技术:
1 从应用开发实施的效率上
2 从开发人员以及设计人员的体验上以及终端用户的体验上
3 设计与开发工具上
4 silverlight在整个微软产品线的角色
采访具体内容请看这里:
http://www.infoq.com/cn/articles/forest-key-silverlight
PS:我关闭了blog的评论系统防止大量的垃圾评论影响阅读
Silverlight1.0正式版发布
[ 2007-09-05 14:32:59 | 作者: ai829 ]



























