· [置顶] 经典的20个关于FLEX技术、源码、实例、技巧的网站.
· [置顶] 250个设计师、博客和站长应该订阅的RSS Feeds
· 商刊评美20大青年IT企业家:Groupon CEO入选
2009-9-1 14:33:50 阅读1191 评论0 12009/09 Sept1
如果你在寻找一些关于FLEX的信息,比如教程,提示,源码,实例,这篇文章正适合你.我选择了一些最好的FLEX网站,可以帮助你改进你的FLEX技术,获得FLEX的相关信息,
1 - SitePoint
2 - Visual Builder
3 - Sephiroth.it
4 - Flex.org
5 - Ted on Flex
6 - InsideRIA
8 - Switch On The Co
9 - Flex RIA
10 - Quietly Scheming
11 - Doug McCune
12 - RIApedia
13 - Mario Casario
14 - FLEX{er}
15 - EverythingFlex
16 -Axelology
17 - Eric Feminella
18 - The Flex Show
19 - The Flex Blog
20 -Dave Keen
2009-8-31 14:31:02 阅读2027 评论2 312009/08 Aug31
100个优秀的国外设计开发网站,涵盖了Web设计,平面设计,Flash和Flex,设计资源等网站推荐。
相关: 50+Web设计工具、资源和素材
仅限于浏览,设计的面基本都是设计师感兴趣的(流行,音乐,设计)
相关: 10个激发Logo设计灵感的网站
最后,帕兰加一个国内的,已经推荐过很多次的站酷 和6大设计开发类中文网站。
原文链接:99 Sites All Designers Must Know About
译者:元云
译文:99个站点设计师必须知道
2009-8-31 14:26:26 阅读77 评论0 312009/08 Aug31
CSS是简单易学的,但要成为一个CSS高手却不比其它任何一门Web技术语言要简单。本文收集了53个CSS技巧文章,助你步入CSS高手的队列(不过都是英文,想学习的朋友得多费点劲)。同时记得查看我们之前介绍的50款CSS工具和60+CSS技巧教程资源大全。
1. CSS Based Navigation //基于CSS的导航
2. Navigation Matrix Reloaded //导航矩块翻转
3. CSS Tabs //CSS标签
4. CSS Bar Graphs //CSS条状图表
5. Collapsing Tables: An Example //压缩表格:一个实例
6. Adam’s Radio & Checkbox Customisation Method //亚当的单选框和复选框的用户化方法
7. CSS Image Replacement //CSS图像替代
8. CSS Shadows(CSS Shadows Roundup) //CSS阴影(CSS阴影综述)
9. CSS Rounded Corners Roundup (Nifty Corners) //CSS圆角综述(漂亮的拐角)
10. Drop Cap-Capital Letters with CSS //用CSS实现首字母下沉
11. Define Image Opacity with CSS //用CSS定义图像半透明
12. How to Create a Block Hover Effect for a List of Links //如何给链接列表创建鼠标悬停的区块效果
13. Pullquotes with CSS (Automatic Pullquotes with JavaS
14. CSS Diagrams //CSS图表
15.CSS Curves //CSS曲线
16. Footer Stickallows for the footer of a Web page to appear either at the bottom of the browser window or the bottom of the Web page content – whichever is visually lowest.
页脚帖允许一个网站页面的页脚显示在在浏览器窗口的底部或者网站页面内容的底部中实际最底的一个。
17. CSS Image Map //CSS图像地图
18. CSS Image Pop-Up //CSS图像弹出
19.CSS Image Preloader //CSS图像预载
20. CSS Image Replacement for Buttons //CSS按钮的图片替换
21.Link Thumbnail //链接缩略图
22. CSS Map Pop //CSS地图提示
23. PHP-based CSS Style Switcher //基于PHP的CSS样式改变
24. CSS Unordered List Calender (CSS Styled Calender) //CSS无序列表日历(CSS设计的日历)
25. CSS-Based Forms: Techniques //基于CSS的表单:技巧
26. CSS-Based Tables: Techniques //基于CSS的表格:技巧
27. Printing Web-Documents and CSS //打印网站文档和CSS
28. Improved Links-Display for Print-Layouts with CSS //用CSS改良打印布局的链接显示
29. CSS-Submit Buttons //CSS提交按钮
30. CSS Teaser Box //CSS内容摘要盒子
31. CSS Tricks for Custom Bullets //对于定义式列表的CSS窍门
32. Ticked Off Links Reloaded //用记号标出翻转的链接
33. CSS Zooming //CSS缩放
34. Creating a Star Rater using CSS //用CSS创建星型评价
35. The ways to style visited Links //设计浏览过链接的方法
36. PDF, ZIP, DOC Links Labeling //PDF,ZIP,DOC链接的标注
37. Displaying Percentages with CSS //用CSS显示百分比
38. Image Floats without the Text Wrap //没有被正文包围的浮动图片
39. Let visitors decide, whether or not will they open link in a new window //让访问者决定,是否会在新窗口带开链接
40. Simple accessible external links //简单易用的外部链接
41. Zebra Table with JavaS
42. Vertical Centering with CSS (Horizontal and Vertical Centering with CSS) //用CSS实现垂直居中(用CSS实现水平和垂直居中)
43. Unobtrusive Sidenotes //不引人注目的旁注
44. Image Caption with CSS (Styled Images with Caption) //用CSS实现图像说明(设计给图像加上说明)
45. Dynamic Piechart with CSS //用CSS实现动态饼图
46. Format Footnotes with CSS //用CSS实现布局脚注
47. Hierarchical Sitemap with CSS //用CSS实现分等级的网站地图
48. Snook’s Resizable Underlines //史鲁克的可改变大小的下划线
49. Switchy McLayout: An Adaptive Layout Technique //马克布局改变: 一个自适应布局的技巧
50. StyleMap: CSS+HTML Visual Sitemap //样式地图:CSS+HTML 形象化的网站地图
51. Custom Reading Width //自定义阅读宽度
52. CSS Alert Message //CSS提示信息
53. CSS Production Notes //CSS产品注释
英文原文:http://www.smashingmagazine.com/ … uldnt-live-without/
中文译文:Blank(怿飞)
2009-8-31 14:18:45 阅读80 评论0 312009/08 Aug31
下面是1stwebdesigner整理的250个RSS Feeds, 全都是一些顶尖优秀的英文博客,这些博客主要涉及的领域包括平面设计、Web设计、博客技巧和WordPress技巧,以及SEO等。如果你英语还不错,强烈推荐全部拿下。
[RSS] Best Photoshop Tutorials
[RSS] 90 Percent of Everything
[RSS] yensdesign – Tutorials, Web Design and Coding
[RSS] Web Design Marketing Podcast & Blog
[RSS] High Resolution Textures
[RSS] Photoshop Tutorials and PST news
[RSS] TutorialMagazine.com Tutorial Feed
[RSS] advertising/design goodness
[RSS] Kriesi.at – new media design
[RSS] Veerle’s blog: full articles
[RSS] Wake Up Later: Freelance + Passive Income
[RSS] Hot College Girls Guide to Graphic Design
[RSS] About.com/ HTML: Popular
[RSS] Digital Photography School
[RSS] core77.com’s design blog
[RSS] Tutorial9 – Tutorial Bliss.
[RSS] SEO blog – SEO Tips, Social Media Marketing for the learner.
[RSS] Abduzeedo – graphic design
[RSS] Weekly Articles About Blogging – NxE
要手动一个一个的去订阅,当然是很麻烦的。1stwebdesigner很贴心的准确了OPML文件,下载地址。
2011-11-10 13:46:58 阅读13 评论0 102011/11 Nov10
2011-10-2 0:12:05 阅读16 评论0 22011/10 Oct2
2011-6-20 0:26:50 阅读28 评论0 202011/06 June20
如果某天的月亮位置和出生盘中的太阳位置成90度或180度相位,都很容易带来情绪上的不安。
如果成120度,则暗示着顺遂的一天。
如果成0度会相,则会加强所落星座的力量,并使当事人关注内心需要和安全感、也是活动力和外放情况降低的一天。
如果某天月亮和出生图中的金星构成不良相位,容易对感情或金钱问题感到不满,行事的积极度欠缺;
如果和火星构成不良相位,当天的脾气会很不好,有争执、生气的情况,或因为好胜心、不耐、精力大量使用而造成情绪不稳;
如果和水星构成不良相位,会遇到令自己紧张、烦恼的事情;
如果和出生图中的土星构成不良相位,容易面临导致心情低落、沮丧的事,或有压抑情绪的情况发生;
如果和木星成不良相位,虽不至于心情沮丧,但却很容易因为神经大条、匆促行事及下结论,而导致东西庞杂无章或遗漏、事情只做了一半就跑了、或讲话任意下断语而不够真确、不够谨慎的情况;
如果某天月亮和出生图中的海王星成不良相位,则容易遇到令自己失望的事,精神也有不集中或脱离现实的倾向,也容易因没按计画行事而有乱呈一团的情况;
如果和冥王星成不良相位,会遇到引起你嫉妒心、较劲心或防卫心的人或事,精神压力大,情绪有山雨欲来的倾向;
如果和天王星构成不良相位,当天容易发生非预期之事,心情易不稳定,或有独排众议、坚持己见、与人产生距离或隔阂的行为;
如果某天月亮位置和出生图中的月亮构成不良角度,则容易有内心需要不被满足、缺乏安全感、或没来由的情绪低潮的情况。
如果因为月亮的加入,使得原本出生盘中所具有的90度或180度相位,变成三刑会冲(等腰直角三角形)的格局;或使得原本出生盘中所具有的三刑会冲格局,变成大十字格局;都会造成心情特别的紧张、不安。
如果因为月亮的加入,使得原本出生盘中的120相位,变成大三角形的格局,则将会带来特别舒适、愉快的日子。
2011-6-9 9:11:02 阅读181 评论0 92011/06 June9
2011-6-7 18:59:38 阅读241 评论0 72011/06 June7
oracle 取当月最后一天的sql语句:
select last_day(sysdate) from dual;
其他方式:取得当月数据
select t.*
from tbl_order_history_info t
where t.store_id = '1e5dace9-8772-4897-a63a-429b74155958' and
t.trade_time between trunc(sysdate, 'month') and last_day(sysdate)
add_months:在当前日期的基础上加/减月份,返回加/减后的日期。
2011-5-24 14:39:27 阅读49 评论0 242011/05 May24
配色是网页设计的关键之一,精心挑选的颜色组合可以帮助你让设计更有吸引力,相反的,糟糕的配色会伤害眼睛,妨碍读者对网页内容和图片的理解。然而,很多时候设计师不知道如何选择颜色搭配,好消息是如今有很多的配色工具帮助你挑选颜色。下面列出了20款优秀在线配色工具,看看哪款适合你。
Color Scheme Designer是一款互动的在线配色工具,通过拖动色轮来选择色调,可导出十六进制的颜色代码为HTML、XML和文本文件。
Check My Colours是一款帮助你检查不同网页自己的颜色亮度和对比度的差异的工具,同时也检查所有DOM元素的前景色和背景色时候有足够的对比度。
ColorJack是一款在线配色工具,从球形的取色器中选择颜色。
ColourMod是一个面板工具,让用户动态的改变网页的颜色设置。
ColoRotate是一款3D工具,让你在三维空间里更方便的操作和选择颜色组合。
Contrast-A可以让你在一个三维的RGB颜色空间里进行颜色组合实验。
Kuler是一个设计师创建和分享配色方案的平台,可以使用易用的操作界面进行颜色组合实验及浏览成千上万的预制配色方案。
ColourGrab可以让用户通过提交图片地址,然后获得分解出的图片配色。
Pro Color Palette这款工具包含从图片获取配色,还有一个取色器和配色器,可以保存正在使用的颜色。
Color Explorer是一款帮助你挑选主页颜色的免费工具。
Pictaculous是一个方便的配色工具,可以从你选择的图片中提取颜色并生成配色的配色方案。
Color Hunter可以让你从图片中选取颜色并生成对应的配色方案。
colorZilla是一个Mozilla扩展,帮助Web开发者和设计师选择网页中的对象颜色。
Color Wizard是一款在线工具,你可以提交一个基准颜色,它会自动返回匹配的配色方案。
Kolur以简单愉快的方式浏览调色板,帮助你挑选配色方案。
The color Wheel是一款帮助你挑选网站配色的工具,同时生成对应的颜色代码。
ColorMunki是一款工具齐全的配色工具,可配制出任何可见光谱范围内的颜色。
Colorspire这款工具有一个灵活的取色器和颜色轮子,帮助你快速的为网站选择配色方案。
Color Schemer Online v2是一款即时的在线配色工具,帮助你选择网站的配色方案。
Infohound Color Schemer是一款帮助你实验不同配色方案的简单工具。
原文出自:20 Color Scheme Generators for Web and Graphic Designers
2011-5-18 14:37:04 阅读59 评论0 182011/05 May18
北京时间5月17日消息,《商业周刊》今天评出了2011年最佳青年科技企业家,并列出了他们创立的企业、所获得的投资以及最明智的投资决定。
1.亚历克莎·冯·托贝尔(Alexa vonTobel),27岁
企业:女性理财网站LearnVest
融资:获得110万美元种子期投资;2010年获得风投公司AccelPartners的450万美元投资
亚历克莎·冯·托贝尔本应于2006年从哈佛大学毕业,加入摩根士丹利,成为一名交易员。她希望学习从未涉猎的个人理财知识,但发现很少有适合初学者的资料。2008年,她从哈佛商学院停学,创立了LearnVest网站,专门教女性用户如何理财。该网站能帮助用户找到各种小提示和工具,来设立并遵守理财计划。用户还可报名参加关于个人理财、摆脱债务、削减开支和积累财富的网上“训练营”。
最明智的融资决定:托贝尔表示:“我设立LearnVest动用了自己的积蓄,这让我在花钱的时候极为谨慎,如果你想把每个美元都花到刀刃上的话,就必须专注于对业务最重要的领域。即使是从AccelPartners获得450万美元投资之后,我仍然遵循这一原则。”
2.桑吉特·比斯沃斯(SanjitBiswas),29岁
企业:无线网络公司Meraki
融资:谷歌、风险投资公司红杉资本和DAGVentures投资了4000万美元
桑吉特·比斯沃斯于2006年5月在马萨诸塞州剑桥市创立了Meraki公司,当时他是麻省理工学院的博士生。他希望能创立一种服务,使任何人都能在几分钟内部署大规模无线网络,原本还计划在地下室里出售路由器,作为副业。好在投资者对Meraki颇为看好,他和联合创始人约翰·比吉特(JohnBicket)获得了充足的资金,可以全职研究上述概念。
最明智的融资决定:不要到山穷水尽的时候才融资。比斯沃斯表示:“我们融资的目的很清晰,不是为了生存而是为了加速发展。”他表示,风险投资公司也注意到了这一点,因此投资条款对该公司很有利。
3.丹·卡罗尔(DanCarroll),29岁
企业:财富管理网站Wealthfront
融资:获得风投公司DAGVentures及马克·安德森等天使投资人的1000万美元资金
丹·卡罗尔从15岁就开始投资股票,他于2007年创立了Wealthfront网站,以提高投资界的透明度。他表示,那时候“没人注意维护小投资者的利益”,他希望使有天赋的投资者能轻易获得以往只对富豪开放的财富管理工具。“这个行业25年来都没什么创新,”他表示:“Wealthfront希望改变这一点。”
最明智的融资决定:获得多名人脉广阔的风投家青睐。卡罗尔表示:“他们在创办公司方面的经验、人脉和真知灼见都很有裨益,能帮助我这样的初次创业者度过难关。”
4.艾伦·哈里斯(AaronHarris),26岁;瑞恩·拜德纳(RyanBednar),25岁;约什·阿布拉姆斯(JoshAbrams),27岁
企业:教辅网站Tutorspree
融资:获得YCombinator等投资者的100万美元资金;正在进行新一轮融资
艾伦·哈里斯创办Tutorspree的目的是,让所有学生都能获得优质教辅资源,进入像哈佛这样的名校。他表示,高中生找好辅导老师只能“依赖口碑和运气”。而且大学入学竞争激烈,学术要求越来越高,同时高中却在削减开支和教师数量,哈里斯及其同事认为他们可以弥补这一空当。
最明智的融资决定:更重视投资人的经验和能力,而非投资的规模。哈里斯特别注重寻找那些能提供宝贵经验、弥补公司战略缺陷的投资者。他表示:“如果你不这样专注的话,就可能过渡扩张,这对公司没有好处。”
5.亚历克斯·兰佩尔(AlexRampell),29岁
企业:在线支付平台TrialPay
融资:风投公司BatteryVentures、IndexVentures及其他投资者的3000万美元资金
TrialPay首席执行官亚历克斯·兰佩尔从10岁就开始自己做生意,他于2006年创立了最新一家公司TrialPay,为消费者销售虚拟物品和货币,鼓励他们去Gap、Netflix等网站消费,TrialPay从中抽取佣金。该公司已有120名员工,今年收入有望翻番,达到5000万美元。
最明智的融资决定:“早期融资的最大智慧就是要选择合适的投资者,”兰佩尔表示,“有些投资者会给你灌输错误观念,你得选择哪些能提供支持并帮助你向正确方向前进的投资者。”
6.贾里德·赫克特(JaredHecht),24岁;史蒂夫·马尔托奇(SteveMartocci),29岁
企业:短信群发服务GroupMe
融资:获得KhoslaVentures、GeneralCatalyst、First RoundCapital、SVAngel和其他投资者的1150万美元资金
赫克特和马尔托奇在音乐会上相识,他们于2010年5月想出了GroupMe的点子,以解决赫克特的未婚妻提出的问题:在音乐节上没什么与好友通讯的优良工具。几天后他们一场科技会议上开发出了一个群发短信服务的原型产品,并于九月份推出。如今,GroupMe每天信息发送量超过200万条,到今年6月份总发送量有望达到1亿条。许多音乐界的名人都使用该服务。
最明智的融资决定:“我们对电信行业毫不了解,”赫克特表示,“对我们来说,找到在这方面有经验的投资者非常重要。”
7.马特·穆伦维格(MattMullenweg),27岁 企业:博客服务Automattic/WordPress 融资:从PolarisVentures、TrueVentures、RadarPartners和纽约时报公司获得3060万美元资金 穆伦维格本人曾撰写一个关于政治和爵士乐的个人博客,他发现普通用户设立博客困难重重。因此于2003年建立了Automattic公司,推出了WordPress免费博客服务,许多著名博客都使用了该服务,包括VentureBeat和音乐服务Spotify。目前WordPress服务在互联网上非常普及,每天帮助4万个新博客诞生。 最明智的融资决定:“从一开始,我就选择那随我们的发展壮大而增加投资的伙伴,”穆伦维格表示,“我们首轮筹集了100万美元,而第二轮募集的资金更为充裕,让我们可以专注于业务发展,而不必担心资金问题。” 8.亚当·德安吉罗(AdamD'Angelo),26岁;查理·奇弗尔(CharlieCheever),29岁 企业:问答网站Quora 融资:BenchmarkCapital为其提供了数额不明的资金 两位创始人曾在Facebook共事,德安吉罗原为Facebook首席技术官,而奇弗尔负责FacebookConnect通用登录服务。两人在2009年共同创立了问答网站Quora,既涉及天体物理学、私募股权投资等严肃问题,也探讨较为轻松的话题。凭借其专业性,该网站吸引了不少名人用户。 最明智的融资决定:“我们总共只向BenchmarkCapital进行过一次融资,对他们非常满意。” 9.史宗玮(ClaraShih),29岁;史蒂夫·加里蒂(SteveGarrity),29岁 企业:社交网络营销服务Hearsay 融资:募得310万美元,来自红杉资本、YouTube联合创始人陈士骏、Twitter副总裁迈克尔·阿伯特(MichaelAbbott)、Facebook设计总监艾伦·斯提格(AaronSittig)及CitySearch联合创始人托马斯·莱顿(ThomasLayton) 史宗玮与加里蒂两年前在其芝加哥公寓中创立了Hearsay,她当时正撰写一本关于社交网络营销的书,却发现许多财富500强公司在这方面缺乏经验。她和加里蒂决定满足这一需求。 最明智的融资决定:接受红杉资本的投资。 10.里奇·阿伯曼(RichAberman),26岁;比尔·克莱里科(BillClerico),25岁 企业:支付服务WePay 融资:获得Highland CapitalPartners、AugustCapital和YCombinator以及多名天使投资人的920万美元资金 阿伯曼原来是法学院学生,而克莱里科是个投资银行家,两人都经常参与各种活动,为其筹集资金。他们发现这一过程非常繁琐,因此决定创立WePay,解决这一问题。 最明智的融资决定:接受来自YCombinator的一小笔资金,并搬到美国西岸。 11.杰克·明茨(JakeMintz),28岁;大卫·利布(DavidLieb),30岁 企业:应用软件提供商Bump 融资:获得2000万美元融资,来自安德森·霍洛维茨基金(AndreessenHorowitz)、红杉资本、YCombinator和罗恩·康维(RonConway)、艾丁·森库特(AydinSenkut)和拉姆·施里兰姆(RamShrira)多名天使投资人 利布和明茨都是芝加哥大学商学院的学生,利布在大学期间提出了发明Bump的创意。利布希望交换通讯信息能够像碰一下手机这么简单。Bump应用软件的下载次数已经达到3200万次,可以让苹果及Android设备用户分享照片、信息、应用软件等。 最明智的融资决定:在2009年夏天参与YCombinator大会,从而获得了该项目提供的网络、建议和指导。关键词:IT企业家,Groupon,CEO | 作者:吴超 | 收藏这篇资讯 12.丹尼尔·格罗斯(DanielGross),19岁;罗比·沃克(RobbyWalker),27岁 企业:搜索服务提供商Greplin 融资:从红杉资本以及保罗·布奇海特(PaulBuchheit)、布雷特他·泰勒(BretTaylor)、罗恩·康维和基斯·拉博伊斯(KeithRabois)等知名投资者处获得480万美元 Greplin公司的软件可以让用户搜索Gmail信息、Facebook文章、LinkedIn联系人和Salesforce.com账户等个人信息。格罗斯表示:“我们拥有一个非常小的团队,在我们的搜索引擎索引中有数十亿的文件。” 最明智的融资决定:仅接受那些能带来更多价值而不只是现金的投资者的投资。 13.约翰·拉勒米(JohnLaramie),26岁 企业:室外广告买卖网站ADstruc 融资:通过Draper FisherJurvetson和FREVentures等公司融资110万美元。 约翰·拉勒米是ADstruc公司的首席执行官,他此前骑自行车对室外广告进行了观察,然后提出通过互联网提升广告牌广告买卖的效率。ADstruc网站在2010年上线,涵盖了全美各个地方的广告牌标示点,包括纽约和加州奥克兰等。 最明智的融资决定:与具有广告科技经验的投资者合作。 14.詹森·巴普蒂斯特(JasonBaptiste),26岁 企业:OnSwipe 融资:从SparkCapital、Betaworks、SVAngel等投资者处融资100万美元 詹森·巴普蒂斯特在2010年和他人联合创办了总部位于纽约的OnSwipe公司,帮助出版商更轻易地将内容投放到智能手机和平板电脑上。OnSwipe消除了为不同设备制作不同版本的应用软件的需要。巴普蒂斯特还与他人创办了基于互联网的软件商店Cloudomatic,该网站于今年早些时候被Zferral公司收购。 最明智的融资决定:找到了解媒体与科技如何共同协作的投资者。 15.亚当·戈尔茨坦(AdamGoldstein),23岁;史蒂夫·霍夫曼(SteveHuffman),27岁 企业:票务搜索引擎Hipmunk 融资:从YCombinator、IgnitionPartners和SVAngel等投资者处融资520万美元。 亚当·戈尔茨坦和史蒂夫·霍夫曼在去年8月推出Hipmunk搜索引擎,进入在线飞机票销售市场。Hipmunk能够按照路程和时间长短对航线进行筛选,并按便利程度对搜索结果进行排名。戈尔茨坦最近刚从麻省理工大学毕业,霍夫曼此前与他人共同创办社交新闻网站Reddit。 最明智的融资决定:从YCombinator处获得种子基金。 16.安德鲁·梅森(AndrewMason),30岁 企业:团购网站Groupon 融资:11亿美元 Groupon在2008年上线,安德鲁·梅森一直致力于将其建设成最大的优惠券网站。Groupon在去年拒绝了谷歌60亿美元的收购要约,并在今年1月融资接近10亿美元。该公司目前有员工7000人,今年的营收有望达到40亿美元,正在考虑进行IPO,届时该企业的价值可能达到250亿美元。 最明智的融资决定:梅森对Groupon所获得的10亿美元融资开玩笑说:“决定完全独立支持Groupon,拒绝投资者的任何资金。” 17.戴夫·莫林(DaveMorin),30岁 企业:社交网站Path 融资:从KPCB和IndexVenture等投资者处融资1120万美元 这位Facebook老兵去年创办了社交网络网站Path,部分原因是对其老东家的一种还击。与Facebook允许用户广泛传播文章和照片的方式不同,Path只允许用户在一个很小的好友群中分享这些内容。在职业生涯早期,莫林曾在苹果公司负责营销工作,并帮助Facebook创办了开发者平台。Path已经推出了iPhone应用,Android应用也将很快上线。 最明智的融资决定:最初获得天使投资者罗恩·康维的投资,之后在第一轮融资中与KleinerPerkins和Index公司合作。 18.凯文·希斯特罗姆(KevinSYstrom),27岁;麦克·克瑞格(MikeKrieger),25岁 企业iPhone照片效果编辑软件Instagram 融资:从BenchmarktCapital、BaselineVentures以及克里斯·萨卡(ChrisSacca)和杰克·多西(JackDorsey)处融资750万美元。 iPhone拍摄的照片效果并非总是尽如人意。因此曾经担任谷歌产品市场营销经理的希斯特罗姆和微软实习生克瑞格共同创办了Instagram公司,以打造一款能够提高照片效果的编辑软件。Instagram的下载量已经达到400万次。 最明智的融资决定:为我们希望合作的人优化自己。 19.丹尼尔·哈(DanielHa),25岁 企业:网站评论管理服务提供商Disqus 融资:从合广投资(Union SquareVentures)、YCombinator等公司以及艾丁·森库特等天使投资者处融资1450万美元。 为网站开放在线评论功能是一件痛苦的事情,因为这可能会吸引大量垃圾信息和骚扰信息。2007年时丹尼尔·哈2007年就读于加州大学戴维斯分校,他创办了Disqus,目的就是为了解决这个难题。Disqus帮助网站运营者管理评论,实现快速批准和拒绝流程,同时提供更加易读的评论格式。《连线》网络版和《时代》周刊网络版,以及美国总统奥巴马的竞选宣传网站均是该产品的用户。 最明智的融资决定:找到喜爱这款产品的风险投资者。 20.蒂姆·奥肖尼斯(TimO'Shaughnessy),29岁 公司:团购网站LivingSocial 融资:通过光速创投、亚马逊等公司及罗维·普莱斯(T.RowePrice)等投资者融资6.32亿美元。 奥肖尼斯在2007年与他在AOL的同事创办了LivingSocial的前身。该公司最初是Facebook应用软件的开发商,随后通过收购一款名为BuyYourFriendADrink.com的服务开始腾飞。奥肖尼斯及其团队通过这项服务与饮料公司和餐馆进行合作为消费者提供优惠券。自此,该公司逐渐进化成为一家在线优惠券服务网站,目前用户已经达到数百万,成为市场领导者Groupon的最大竞争对手。 原文出处:腾讯科技
2011-4-27 13:57:31 阅读190 评论0 272011/04 Apr27
最近在做自己的一个网站——艾普卡卡联盟(www.ipkaka.com),其中有个功能就是手機定位,无需手機支持GPS即可定位。所以并给大家讲其中一个关键技术google api之一“获取经纬度”。
看此文,请需要准备和温习一些东西。
1、如何获取移动手機基站ID?
对于这个东西,既然是手機基站ID,当然只能通过手機获取,所以建议你先了解手機软件这块的东西。
2、学习google api中的“Geolocation API Network Protocol”。
Geolocation API Network Protocol 是GOOGLE API提供的一个接口,主要功能是发送基站ID/WiFi信息给google api,然后api返回一些列参数,在这些参数中就包括了目标的经纬度。
好了,我们进入正题,主要是给一个PHP Demo 源码。以下源码中部分函数需要php5+支持,还有我封装的curl函数(curl.func.php)
2011-4-26 11:26:36 阅读95 评论0 262011/04 Apr26
作者: H.E. | 您可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.javabloger.com/article/seo-java-j2ee-web-development.html
豆瓣读书 向你推荐有关 J2ee企业顾问、 SEO、 类别的图书。
2011-4-25 12:34:54 阅读44 评论0 252011/04 Apr25
2011-3-31 16:08:51 阅读82 评论0 312011/03 Mar31
文 / 潘凡
起因
视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站。2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上;MySQL使用了Master+Master的部署方案;前端使用自己的PHP框架进行开发;Memcached作为缓存;Nginx进行Web服务和负载均衡;Gearman进行异步任务处理。在传统的基于静态内容(如文章,资讯,帖子)的产品,这个体系运行良好。通过分级的缓存,数据库端实际负载很轻。2009年初,我们进行了新产品的开发。此时,我们遇到了如下一些问题。
用户数据激增:我们的MySQL某个信息表上线1个月的数据就达到千万。我们之前忽略的很多数据,在新形势下需要跟踪记录,这也导致了数据量的激增;
用户对于信息的实时性要求更高:对信息的响应速度和更新频度就要求更高。简单通过缓存解决的灵丹妙药不复存在;
对于Scale-out的要求更高:有些创新产品的增长速度是惊人的。因此要求能够无痛的升级扩展,否则一旦停机,那么用户流失的速度也是惊人的;
大量文件的备份工作:我们面向的是创意人群,产生的内容是以图片为主。需要能够对这些图片及不同尺寸的缩略图进行有效的备份管理。我们之前使用的Linux inotify+rsync的增量备份方案效果不佳;
需求变化频繁:开发要更加敏捷,开发成本和维护成本要更低,要能够快速地更新进化,新功能要在最短的周期内上线。
最初,我们试图完全通过优化现有的技术架构来解决以上问题:对数据时效性进一步分级分层缓存,减小缓存粒度;改进缓存更新机制(线上实时和线下异步更新)提高缓存命中率;尝试对业务数据的特点按照水平和垂直进行分表;使用MogileFS进行分布存储;进一步优化Mysql的性能,同时增加MySQL节点等。但很快发现,即便实施了上述方案,也很难完全解决存在的问题:过度依赖Memcached导致数据表面一致性的维护过于复杂,应用程序开发需要很小心,很多时候出现Memcached的失效会瞬间导致后端数据库压力过大;不同类型数据的特点不同,数据量差别也很大;分表的机制和方式在效率平衡上很难取舍;MogileFS对我们而言是脚小鞋大,维护成本远远超过了实际的效益;引入更多的MySQL数据库节点增大了我们的维护量,如何有效监控和管理这些节点又成了新的问题。虽然虚拟化可以解决部分问题,但还是不能令人满意;
除了MySQL,能否找到一个更为简单、轻便的瑞士军刀呢?我们的目光投向了NoSQL的方案。
候选方案
最初,对于NoSQL的候选方案,我依据关注和熟悉程度,并且在甄别和选择合适的方案时特别制定了一些原则:是否节省系统资源,对于CPU等资源是否消耗过大;客户端/API支持,这直接影响应用开发的效率;文档是否齐全,社区是否活跃;部署是否简单;未来扩展能力。按以上几点经过一段测试后,我们候选名单中剩下Redis、MongoDB和Flare。
Redis对丰富数据类型的操作很吸引人,可以轻松解决一些应用场景,其读写性能也相当高,唯一缺点就是存储能力和内存挂钩,这样如果存储大量的数据需要消耗太多的内存(最新的版本已经不存在这个问题)。
Flare的集群管理能力令人印象深刻,它可以支持节点的动态部署,支持节点的基于权重的负载均衡,支持数据分区。同时允许存储大的数据,其key的长度也不受Memcached的限制。而这些对于客户端是透明的,客户端使用Memcached协议链接到Flare的proxy节点就可以了。由于使用集群,Flare支持fail-over,当某个数据节点宕掉,对于这个节点的访问都会自动被proxy节点forward到对应的后备节点,恢复后还可以自动同步。Flare的缺点是实际应用案例较少,文档较为简单,目前只在Geek使用。
以上方案都打算作为一个优化方案,我从未想过完全放弃MySQL。然而,用MongoDB做产品的设计原型后,我彻底被征服了,决定全面从MySQL迁移到MongoDB。
为什么MongoDB可以替代MySQL?
MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:
使用JSON风格语法,易于掌握和理解:MongoDB使用JSON的变种BSON作为内部存储的格式和语法。针对MongoDB的操作都使用JSON风格语法,客户端提交或接收的数据都使用JSON形式来展现。相对于SQL来说,更加直观,容易理解和掌握。
Schema-less,支持嵌入子文档:MongoDB是一个Schema-free的文档数据库。一个数据库可以有多个Collection,每个Collection是Documents的集合。Collection和Document和传统数据库的Table和Row并不对等。无需事先定义Collection,随时可以创建。
Collection中可以包含具有不同schema的文档记录。 这意味着,你上一条记录中的文档有3个属性,而下一条记录的文档可以有10个属性,属性的类型既可以是基本的数据类型(如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档(embed document)。这样,可以实现逆规范化(denormalizing)的数据模型,提高查询的速度。
图2是一个例子,作品和评论可以设计为一个collection,评论作为子文档内嵌在art的comments属性中,评论的回复则作为comment子文档的子文档内嵌于replies属性。按照这种设计模式,只需要按照作品id检索一次,即可获得所有相关的信息了。在MongoDB中,不强调一定对数据进行Normalize ,很多场合都建议De-normalize,开发人员可以扔掉传统关系数据库各种范式的限制,不需要把所有的实体都映射为一个Collection,只需定义最顶级的class。MongoDB的文档模型可以让我们很轻松就能将自己的Object映射到collection中实现存储。
简单易用的查询方式:MongoDB中的查询让人很舒适,没有SQL难记的语法,直接使用JSON,相当的直观。对不同的开发语言,你可以使用它最基本的数组或散列格式进行查询。配合附加的operator,MongoDB支持范围查询,正则表达式查询,对子文档内属性的查询,可以取代原来大多数任务的SQL查询。
CRUD更加简单,支持in-place update:只要定义一个数组,然后传递给MongoDB的insert/update方法就可自动插入或更新;对于更新模式,MongoDB支持一个upsert选项,即:“如果记录存在那么更新,否则插入”。MongoDB的update方法还支持Modifier,通过Modifier可实现在服务端即时更新,省去客户端和服务端的通讯。这些modifer可以让MongoDB具有和Redis、Memcached等KV类似的功能:较之MySQL,MonoDB更加简单快速。Modifier也是MongoDB可以作为对用户行为跟踪的容器。在实际中使用Modifier来将用户的交互行为快速保存到MongoDB中以便后期进行统计分析和个性化定制。
所有的属性类型都支持索引,甚至数组:这可以让某些任务实现起来非常的轻松。在MongoDB中,“_id”属性是主键,默认MongoDB会对_id创建一个唯一索引。
服务端脚本和Map/Reduce:MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。MongoDB不支持事务级别的锁定,对于某些需要自定义的“原子性”操作,可以使用Server side脚本来实现,此时整个MongoDB处于锁定状态。Map/Reduce也是MongoDB中比较吸引人的特性。Map/Reduce可以对大数据量的表进行统计、分类、合并的工作,完成原先SQL的GroupBy等聚合函数的功能。并且Mapper和Reducer的定义都是用Javascript来定义服务端脚本。
性能高效,速度快: MongoDB使用c++/boost编写,在多数场合,其查询速度对比MySQL要快的多,对于CPU占用非常小。部署也很简单,对大多数系统,只需下载后二进制包解压就可以直接运行,几乎是零配置。
支持多种复制模式: MongoDB支持不同的服务器间进行复制,包括双机互备的容错方案。
Master-Slave是最常见的。通过Master-Slave可以实现数据的备份。在我们的实践中,我们使用的是Master-Slave模式,Slave只用于后备,实际的读写都是从Master节点执行。
Replica Pairs/Replica Sets允许2个MongoDB相互监听,实现双机互备的容错。
MongoDB只能支持有限的双主模式(Master-Master),实际可用性不强,可忽略。
内置GridFS,支持大容量的存储:这个特点是最吸引我眼球的,也是让我放弃其他NoSQL的一个原因。GridFS具体实现其实很简单,本质仍然是将文件分块后存储到files.file和files.chunk 2个collection中,在各个主流的driver实现中,都封装了对于GridFS的操作。由于GridFS自身也是一个Collection,你可以直接对文件的属性进行定义和管理,通过这些属性就可以快速找到所需要的文件,轻松管理海量的文件,无需费神如何hash才能避免文件系统检索性能问题, 结合下面的Auto-sharding,GridFS的扩展能力是足够我们使用了。在实践中,我们用MongoDB的GridFs存储图片和各种尺寸的缩略图。
内置Sharding,提供基于Range的Auto Sharding机制:一个collection可按照记录的范围,分成若干个段,切分到不同的Shard上。Shards可以和复制结合,配合Replica sets能够实现Sharding+fail-over,不同的Shard之间可以负载均衡。查询是对客户端是透明的。客户端执行查询,统计,MapReduce等操作,这些会被MongoDB自动路由到后端的数据节点。这让我们关注于自己的业务,适当的时候可以无痛的升级。MongoDB的Sharding设计能力最大可支持约20 petabytes,足以支撑一般应用。
第三方支持丰富: MongoDB社区非常活跃,很多开发框架都迅速提供了对MongDB的支持。不少知名大公司和网站也在生产环境中使用MongoDB,越来越多的创新型企业转而使用MongoDB作为和Django,RoR来搭配的技术方案。
实施结果
实施MonoDB的过程是令人愉快的。我们对自己的PHP开发框架进行了修改以适应MongoDB。在PHP中,对MongoDB的查询、更新都是围绕Array进行的,实现代码变得很简洁。由于无需建表,MonoDB运行测试单元所需要的时间大大缩短,对于TDD敏捷开发的效率也提高了。当然,由于MongoDB的文档模型和关系数据库有很大不同,在实践中也有很多的困惑,幸运的是,MongoDB开源社区给了我们很大帮助。最终,我们使用了2周就完成了从MySQL到MongoDB的代码移植比预期的开发时间大大缩短。从我们的测试结果看也是非常惊人,数据量约2千万,数据库300G的情况下,读写2000rps,CPU等系统消耗是相当的低(我们的数据量还偏小,目前陆续有些公司也展示了他们的经典案例:MongoDB存储的数据量已超过 50亿,>1.5TB)。目前,我们将MongoDB和其他服务共同部署在一起,大大节约了资源。
一些小提示
切实领会MongoDB的Document模型,从实际出发,扔掉关系数据库的范式思维定义,重新设计类;在服务端运行的JavaScript代码避免使用遍历记录这种耗时的操作,相反要用Map/Reduce来完成这种表数据的处理;属性的类型插入和查询时应该保持一致。若插入时是字符串“1”,则查询时用数字1是不匹配的;优化MongoDB的性能可以从磁盘速度和内存着手;MongoDB对每个Document的限制是最大不超过4MB;在符合上述条件下多启用Embed Document, 避免使用DatabaseReference;内部缓存可以避免N+1次查询问题(MongoDB不支持joins)。
用Capped Collection解决需要高速写入的场合,如实时日志;大数据量情况下,新建同步时要调高oplogSize的大小,并且自己预先生成数据文件,避免出现客户端超时;Collection+Index合计数量默认不能超过24000;当前版本(<v1.6)删除数据的空间不能被回收,如果你频繁删除数据,那么需要定期执行repairDatabase,释放这些空间。
结束语
MongoDB的里程碑是1.6版本,预计今年7月份发布,届时,MongoDB的Sharding将首次具备在生产环境中使用的条件。作为MongoDB的受益者,我们目前也在积极参与MongoDB社区活动,改进Perl/PHP对于MongoDB的技术方案。在1.6版本后也将年内推出基于MongoDB的一些开源项目。
对于那些刚刚起步,或者正在开发创新型互联网应用的公司来说,MongoDB的快速、灵活、轻量和强大扩展性,正适合我们快速开发产品,快速迭代,适应用户迅速变化和更新的种种需求。
总而言之,MongoDB是一个最适合替代MySQL的全功能的NoSQL产品,使用MongoDB+Perl/PHP/Django/RoR的组合将很快成为开发Web2.0、3.0的产品的最佳组合,就像当年MySQL替代Oracle/DB2/Informix一样,历史总是惊人的相似,让我们拭目以待吧!
作者简介:
潘凡(nightsailer,N.S.), 视觉中国网站技术总监,联合创始人,家有1狗2猫。目前负责网站平台设计和底层产品研发工作。当前关注:Apps平台设计、分布式文件存储、NoSQL、高性能后现代的Perl编程。Twitter:@nightsailer Blog:http://nightsailer.com/
(本文来自《程序员》杂志10年06期)
《程序员》10月刊最新上市:http://www.programmer.com.cn/4128/
《程序员》订阅:http://dingyue.programmer.com.cn/