FALLHUNTER

Web & Mobile, Design & Code

Meet Mapiz Users At PIER 39

Mapiz 技术交流

 

Mapiz 技术交流是Mapiz组织的一个半公开的系列技术交流活动,其主题主要涵盖Web开发、LAMP(P指Python)技术、移动开发(IPhone、Andriod)等,主要面在职的技术人员和开发人员,主旨是为大家提供一个轻松的交流机会。

所谓半公开,其主要目的是为了控制参与者的数量和质量。控制数量是因为我们没有足够大的场地来容纳更多的观众,控制质量是因为我们希望参与者对各种技术有一定的认知能力,有自己见解可以发表,有自己的心得可以共享,或提出自己的问题大家一起讨论。我们不希望构建一个Web1.0式的讲座,而是希望构建一个Web2.0式的活动,大家充分参与进来进行讨论和学习,我们希望让这些离开大学的大孩子们找到大学宿舍里讨论问题的感觉。而半公开采用的邀请方法,也是为了基本保持参与人的固定,大家彼此更熟悉,也就更容易发表见解。同时,为了扩大我们的视野,我们也希望不断有新的朋友加入,让这些不善言谈的技术人员们结识更多志同道合的朋友。

 

本周的主题是 Android Application Framework,由来自 Motorola 的一位技术大牛主讲,机会难得,感兴趣的抓紧联系我呀!


添加评论

几个不错的图标搜索引擎和图标资源站

 

伟大的互联网,给我们提供了太多,创意将越来越容易的变成现实。

最近使用过的一些图标搜索引擎和图标资源站点:

 

另外一些不错的图片搜索和资源站点,参见:


添加评论

网站维护日一周年

去年的今天,是中国首届网站维护日,VeryCD、饭否等大批网站停机维护,有些,甚至维护至今…… 于是,中国互联网首个全国节假日,中国网站维护日 诞生了!

正如刚刚过去国际六一儿童节的由来一样,网站维护日也来自悲剧和惨案。国际六一儿童节来自1942年法西斯在捷克的血腥屠杀,为纪念死难儿童,保障儿童权利,在1949年将6月1日定义为国际儿童节。而不同的是,网站维护日却是为了“保障网民的上网权利”,而抹杀一段历史,掩盖一个事实。

互联网的事情,按下葫芦起来瓢,我们不清楚,某些人物在这种类似“打地鼠”的游戏中是不亦乐乎还是焦头烂额。“民可使由之,不可使知之”的理念已经被发扬光大成“民不可使知之,亦不可使由之”,国内的互联网从业者们,老实躲在地鼠洞里做一些和谐的网游呀、团购呀,一样可以闷声发财,干啥老想伸出头来看看,别忘了游戏规则是谁设计的。

所以请不要再抱怨中国的互联网没有创新,是我们创新的伤口还没有痊愈;请不要再感慨中国的创业者缺乏创意,是他们还在掩埋战友的尸体。

我们可爱的追求真理的创业者们,总是不怕牺牲而前仆后继,LBS大哥 foursquare 已经被挡在门外,我们们又有十几位勇士走向了这条路,看看这里(需翻墙) http://foursquare.com/venue/2689874,这是大家不能绕开的问题。

戈壁的神兽啊,请指引我们前进的方向——


添加评论

将django的models放到多个文件中

 

随着django程序越来越大,一个application里的model也越来越多,而django有个非常不好的约定就是所有的model都写在一个models.py 文件中, 而对于喜欢追求“优雅”的程序员来说,这的确很难忍受。

由python的特性,自然会想到将models.py 用一个目录代替,在__init__.py 中,import整个目录里的文件,这样python是认可了,django却不认! ./manager.py syncdb 的时候并不会发现目录下面的model。

搜了半天,发现解决方法比较简单,只要在每个model类中加上Meta的app_label 属性就可以了。

from django.db import models

class Test(models.Model):
    class Meta:
        app_label = 'myapp'
但还是觉得这个地方有点别扭,总是要记着加上这个,显得不那么自然。
这种做法是没有在Django官方文档里说明的,之前还用过另外一个Undocumented Technique,是在Django Single注册的时候,

models.signals.post_save.connect(flaggedentry_post_save, sender=FlaggedEntry, dispatch_uid=’mofin.store.models’)

其中 dispatch_uid 是一个undocumented 参数,指定这个参数后,则对应的single 处理函数不会被重复注册,出现这种问题的情况是,当上面的注册语句被直接写在文件里,而这个文件又被import了多次,则上面的语句会被多次执行,如果没有指定 dispatch_uid 的话,处理函数就会被多次注册,而Single发生时就被执行多次了。

参考资料


添加评论(1)

IPhone WebApp 设计开发工具与资源

 

/*
做IPhone相关的开发也有一阵子了,过程中使用了不少来自互联网的各种工具与资源,在这里整理一下,希望能将互联网给我们的帮助再回馈给互联网,感谢互联网,当然,要先感谢祖国
*/

IPhone 的 App 固然有很多吸引人的地方,然而Web毕竟是大势所趋,已经有越来越多应用用 WebApp 的方式来实现了。所谓 WebApp,说白了就是Web应用而已,只不过是专门对手机尤其是IPhone的特点来定制界面,更有甚者,把界面做的跟本地IPhone App一摸一样,以至于我们都难以区分它是一个App还是一个Web。

优秀的WebApp

先来看看各种漂亮的WebApp,除了用IPhone上的safari里面的默认书签,进到IPhone 的 WebApp 列表 http://www.apple.com/webapps/, 还有不少地方能看到WebApp的展示,如http://cssiphone.com/  汇集了各种优秀的IPhone站点,这些优秀的CSS设计可以给你不少灵感

IPhone 设计素材

WebApp开发框架

IPhone App第三方库

其他IPhone资源站点


添加评论

authorized_keys的文件权限

 

今天在server上配置ssh的key认证方式,这样就不用每次都输入密码。由于已经在其他机器上配置过,我直接把配置好的机器上的authorized_keys 里面的 publickey 考过来,新建一个authorized_keys文件,放在新的server的的.ssh目录中。

ssh一下,不行! 经过反复比较,都没发现问题,郁闷了很久。很久之后,突然发现是文件权限造成的:

自己创建的authorized_keys文件权限为 -rw-rw–r—,  修改成 -rw——- 就可以了。

看来还是算不上一个熟练的linux用户,linux与windows一个显著的区别就在文件权限上,也曾经因为文件权限造成过很多的问题和困扰,然而还是不能在第一时间内考虑的文件权限,是windows造成的习惯吧。看来轻松使用linux,一定要把考虑文件权限变成一种习惯。


添加评论(2)

苹果梨的故事

 

去年回老家的时候,有一天,妈妈买回来一种奇怪的水果,乍看起来像青苹果,但仔细看上面有一些像梨一样的点。

“这是苹果梨”,妈妈说,“既像苹果又像梨。”

当时我在忙手头的事情,没有理会。没多久,听见爸爸说:“不好吃,既不像苹果又不像梨”。

 

这个事情过去已经很久了,也不知道现在这种“苹果梨”是否还卖的好,但可以肯定的是,有人不喜欢。

我一直在想,为什么会有这样的东西?想吃苹果的人就去吃苹果,想去吃梨的人就去吃梨,都想吃的话就都买来吃,为什么要“苹果梨”呢?我们做产品,其实一直在做这种事情。最常见的情形就是,我们要有xx功能,还要有xxx功能,这里要像xxx一样,这里要做成xxx的样子… 最后的结果就是做出来一个“苹果梨”,一个四不像。

铭记 UNIX 哲学:do one thing and do it well


添加评论(1)

怎样选择美国主机

今年冬天特别冷,以至于不少站长都选择迁徙到温暖的米国…

这里就来简单说说米国的主机,相比国内普遍的windows主机,这里更流行linux主机,目前主要有三种类型,按价格从低到高,有

  • shared host 共享主机

是在一台物理机器上放置多个用户,每个用户在一个目录中,大家共享同一个硬件资源。这种服务一般会提供ftp、ssh,database等基础服务,还有控制面板,操作比较简单,适合初学者和个人站点。

推荐服务商: webfaction

  • vps ( Virtual Private Server ) 虚拟主机

是在一个物理机器上安装多个虚拟机,每个用户使用自己的虚拟机,一般配有web界面来安装系统,重启系统,设置密码等。这可能是国内比较少有的方式,这种方式介于sharedhost与dedicatedserver之间,以较为低廉的价格提供相对专业的服务。由于服务器是虚拟机,因此用户会拥有对此机器的全部权限,可以制定操作系统等,任意配置软件,但这对操作者要求也较高。VPS适用于绝大多数小型站点,一般vps服务商都提供多种性能的服务选择,可以随时根据需要进行扩展。

推荐服务商: slicehostlinode

slicehost 与 linode 是如此流行又如此相似,因此,有不人专门来对比它们

http://journal.dedasys.com/2008/11/24/slicehost-vs-linode

http://drupal.org/node/547910

http://www.kavoir.com/2009/09/moving-from-slicehost-to-linode-an-initial-vps-hosting-review.html

这里还有人做了比较专业的 benchmarks 对比

http://forum.slicehost.com/comments.php?DiscussionID=1951

这个从更专业的角度对比了更多的主机,其中包括slicehost 与linode

http://journal.uggedal.com/vps-performance-comparison

  • dedicated server 独立主机

就是一个真实的物理机器,类似于完全托管,价格一般在几百美元一个月。这是专业的主机服务,用户拥有对整个机器软硬件的权限,但操作也更加复杂,重启、安装系统等工作要联系idc的人员来进行。适用于有专业人士维护的大中型站点。

主机选择是一个普遍的需求,以至于有很多站点专门来做主机服务商的评选,可以参考:

http://webhostinggeeks.com/

http://www.besthostratings.com/

等,如果是django站点,还有

http://djangofriendly.com/  在 几个django相关的网站 中提到过。


添加评论

几个 Django 第三方库/applications

 

Django evolution

执行 ./manage.py syncdb 的时候,django会查找新的model来创建数据库表,但当我们更新model的结构时(如增加字段),则需要手工修改对应数据表的结构。Django-evolution 正为解决这个问题而存在。

地址 http://code.google.com/p/django-evolution/

django-ratings

ratings是web2.0的基础元素之一,django自然不能缺少,个人估计它有望成为官方app

http://github.com/dcramer/django-ratings

django-tagging

tagging 是web2.0的另一个基础元素,这个库相当好用和强大。

http://code.google.com/p/django-tagging/

django-messaging

哈哈,还是web2的元素啦,这个是用户与用户之间的message系统,与django内置的message不是一回事,这个库比较简单。

http://code.google.com/p/django-messaging/

django-photologue

强大的图片处理、管理功能

地址 http://code.google.com/p/django-photologue/

django cms

一个基于django的CMS系统

地址 http://www.django-cms.org/

django-grappelli

你认为django的admin界面不够好看吗,看这个, 里面有漂亮的截图,相信你会喜欢。当然这个库也不仅仅是为了好看,它还有很多更方便的功能。

地址 http://code.google.com/p/django-grappelli/

django-filebrowser

这个库的作者就是上面的 django-grappelli 的作者,怎么样,别以为他只会做界面,看看这个,这是一个相当强大的文件管理系统,直接在admin里面就可以完成静态文件的上传和编辑。你还在用自己做的编辑系统吗,咳咳。

地址 http://code.google.com/p/django-filebrowser/

django-solr-search

solr是做中小型搜索的首选,可以说是易用与强大的完美统一,django当然不会放过。solr不是已经很简单了吗,是的,但为什么要拒绝更简单呢?这就是django的哲学,我不骗你,编码真的可以是一种享受…  当然啦,还是有点缺憾,solr内存使用有些大呀…,但这不要怪到django头上。

地址 http://code.google.com/p/django-solr-search/

django-avatar

这跟电影《阿凡达》可没有什么关系,如果你熟悉web开发,早就应该知道 avatar 的意思是指web上用户的头像。这个应用就帮助你的django站点方便的增加用户头像的功能。

地址 http://github.com/ericflo/django-avatar


添加评论

© 2009 FALLHUNTER. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.