秒速巴塞隆那延时摄影短片《Barcelona GO》
短片《Barcelona GO》以女主人公的步伐为线索,通过快速流动的影像,带领观众秒速逛穿巴塞隆那的大街小巷,展现了浪漫而五彩缤纷的巴塞隆那。
黄昏中的古老教堂,街头吹着萨克斯风的艺人,圣洁的管风琴的鸣响,雄伟的歌剧院和墙上珍贵彩绘,广场上的喷泉,伴着延时摄影展现的巴塞隆那美丽的夕阳,在斑驳的阳光下的古老城市,和矗立于古老城市里的现代建筑。
导演经历了 363 个小时的工作,75 小时的准备与游走,31 小时的拍摄地点探索,78 小时的拍摄时间,与 179 小时的精心制作,为观众展现了这场秒速逛穿巴塞隆那的视觉盛宴。
部分拍摄地点:
Museu Nacional d’Art de Catalunya 加泰罗尼亚国立艺术博物馆
被大学上了4年,我学会了什么
你以为你有很多路可以选择,但是在你四周有很多看不见的墙,其实你只有一条路可以走。——《悟空传》
网上有很多大学新生须知,或许 4 年前,我也是下载了一堆类似的资料在电脑里。但是 4 年后,我只能来想想这 4 年我在大学到底都干了什么。四年的大学,人生最美好的青春年华,我学会了什么?我收获了什么?我失去了什么?我遗落了什么?当初我们从一个校门进入学校,现在我们又将从另一个校门走出学校,是时候来想想 4 年的青春。
4 年前,还一脸稚气的我拖着行囊来到了文化小镇。满脸好奇地走进了这个校园。那时觉得校园好大,大到一不小心就会迷路。4 年后,当我拖着一张老脸被很多人熟悉的时候,觉得校园好小,小到没有几分钟就逛完了一遍校园。
当我回想自己走过的大学 4 年,感觉对以前的自己越来越陌生,逐渐的记不清 4 年前的自己。少年时的乘风破浪的理想早就已经被现实打败,以前的豪情壮志早就被时间掩埋。小时候的常常想长大自己要当科学家,要当总统。梦想很美好,现实残酷。
大一的时候,有个学长跟我说大一大二好好学,那时候的 GPA 好拿。但是我浑然不知道这句话的意义。可以说大二是我最疯狂的一年,直到大三才醒悟过来。
使用 FLASK 高仿 简书 的应用
我本来是想写一个论坛,在修改一个开源的应用(,原本我是在抄袭 V2EX 的),但是后来实在改不下去了,打算自己写一个练练手。于是开始了模仿 简书。
起初想试一试 Bootstrap 之外的前端框架,我选择了 Foundation, 写完基本几个页面后发现他的文档我实在看不懂。然后我更换了框架,转回了 Bootstrap。
后台的语言我选择的是 Python, 因为我真的不会其他的语言了。我以前都是用 Ruby 的。但是 SAE 不支持,我反应过几次,但是一直都没有回应。
平时也很少写 Python, 以前用过 Django, 但是我比较喜欢轻量级的框架。之前, 写过一次 FALSK, 写了一个简单的照片网站 photo.naaln.com 刚刚发现翻页不能用了,太久没有管了。这次就继续用 FALSK 吧。由于自己没有看文档的习惯, 所以各种磕磕碰碰终于憋出了这段代码,说实话代码挺丑陋,已经重构过两次了。但是逻辑还是挺混乱的。
DEMO: http://jour.u2sb.com/ (看这域名就知道我原来是在模仿 V2EX 的)
首页的分页未完成
左边按钮的功能没有写
不要吐槽这个左边的图片难看,我是定时去简书上抓取的
登入与多说 SSO,多说开发文档竟然写这么简洁,气死去了。。所以这部分问题还比较多
关于程序「Hello World!」的十个问题
我觉得,基本上可以说每个程序员都很熟悉「Hello World!」程序。依照惯例,它是学习编程语言、编译并运行你的首个程序的一种快速方法。然而,除此之外,它的价值不大。下面是我认为 Hello World 的十个问题。
10.为什么是「Hello World」?为什么不叫「Hello Dave」或者「It Works!」?(Dave 就是《2011 太空漫游》中的 HAL 9000)
我知道这个问题有点夸张。「Hello World」这种说法从何而来呢?除你之外,最后一次有人运行你的程序是什么时候?也许用「Hello」更合理些。
9. 它只适用于一件事情」?
我不是在发表「Hello World」一无是处的言论。然而,他们唯一擅长的就是合理性检查。
被误读的大数据技术
Big data is like teenage sex,everyone talks about it,nobody really knows how to do it,everyone thinks everyone else is doing it,so everyone claims they are doing it.」
看完这句话,大家对什么是「大数据」有点概念了吗?目前,大多数人对大数据的概念还停留在:就是海量的数据,PB(1PB=1024TB)级别的,甚至是 EB、ZB 以上的数据,通过对这些数据进行深入分析,就能得出非常有价值的结论,指引企业做出最佳决策。
大数据就是那种每个人都听过,或者看过此类文章,但却不怎么了解的事物。
其实,现在的大数据指的并不仅仅是海量数据,更准确而言是对大数据分析的方法。传统的数据分析,是通过提出假设然后获得相应数据,最后通过数据分析来验证假设。而大数据不是这样的,大数据是从收集的海量数据中,通过算法将这些来自不同渠道、格式的数据进行直接分析,从中寻找到数据之间的相关性。简单而言,大数据更偏重于发现,以及猜测/印证的循环逼近过程。
而大数据的价值体现在对它的分析利用上。一直以来,大数据的瓶颈并不是数据规模巨大导致的存储、运算等问题,而是在前端数据的收集途径,以及对数据进行结构化处理,进而引导后期的商业决策中的模型和算法问题。
个人知识管理的方法
摘要:学知识是一个很漫长的积累过程,幸好的是,我学会了知识管理,并获益良多,我视之为我人生中最重要的技能,我会将这个技能不断优化,用来雕琢自己。这篇主要介绍了知识的获取及管理方法,都是要靠实践获得的,希望对大家有用。
本文初发于 2014 年 3 月 4 日,2014 年 5 月 12 日大幅修改。
简书地址:《个人知识管理的方法》
前言
知识管理是一个长期养成的过程,不能一蹴而就,有足够的耐心,自然就会有好成果。
如何开始一个模块化可扩展的Web App
虽然从没有认为自己是一个前端开发者,但不知不觉中也积累下了一些前端开发的经验。正巧之前碰到一道面试题,于是就顺便梳理了一下自己关于 Web App 的一些思路并整理为本文。
对于很多简单的网站或 Web 应用来说,引入 jQuery 以及一些插件,在当前页面内写入简单逻辑已经可以满足大部分需要。但是如果一旦多人开发,应用的复杂程度上升,就会有很多问题开始暴露出来:
- 数据源一般都与页面分离,那么 App 启动一般都需要等待数据源读入。
- UI 交互复杂时,需要将逻辑通过面向对象抽象后才能更好的复用。
- 功能间一般都存在依赖关系,需要引入支持依赖关系的模块加载器。那么如何解决这些问题,就以一个简单的订餐 App 为例,从零开始一个 模块化可扩展 Web App。
这个简单的 App 基于 HTML5 Boilerplate、requireJS、jQuery Mobile、Underscore.js,后端逻辑用 jStorage 模拟实现。完成后的成品 在此。所有代码可以在 github 查看。下文将逐一介绍实现的思路与方法。
开始一个 Web 项目,HTML 的书写总是重中之重,一个好的 HTML 能从根源上规避大量潜在问题,所以 Web App 应该全部应用一个标准化的高质量 HTML 模板,而不是将所有页面交由开发人员自由发挥。
如何提升 CSS 选择器性能
CSS 选择器对性能的影响源于浏览器匹配选择器和文档元素时所消耗的时间,所以优化选择器的原则是应尽量避免使用消耗更多匹配时间的选择器。而在这之前我们需要了解 CSS 选择器匹配的机制, 如子选择器规则:
我们中的大多数人都是从左到右的阅读习惯,会习惯性的设定浏览器也是从左到右的方式进行匹配规则,推测这条规则的开销并不高。
我们会假设浏览器以这样的方式工作:寻找 id 为 header 的元素,然后将样式规则应用到直系子元素中的 a 元素上。我们知道文档中只有一个 id 为 header 的元素,并且它只有几个 a 元素的子节点,所以这个 CSS 选择器应该相当高效。
事实上,却恰恰相反,CSS 选择器是从右到左进行规则匹配。了解这个机制后,例子中看似高效的选择器在实际中的匹配开销是很高的,浏览器必须遍历页面中所有的 a 元素并且确定其父元素的 id 是否为 header。
从IBM到微软,从谷歌到脸书看IT产业趋势
从 IBM 到微软,到 Google,再到 Facebook,你看到了什么?IT 产业的发展史?新兴 IT 公司的兴起和传统 IT 产业的衰落?这,就是如今 IT 产业的趋势吗?
在回答问题之前,让我们看下各公司最辉煌时期的经营逻辑:
1.IBM: 世界上只要有 4 台计算机就足够了
2.微软: 每个书桌上都要有一台计算机
3.Google: 所有的互联网访问只需要一个入口
