dan.hu's blog

为“爪领”设计公益海报

和小毅的第一次会面并没有太多激动人心的内容,因为在此之前我们就已经有过一次愉快的项目合作了,——那是为他和他的合作伙伴Audery共同经营的宠物领养平台“爪领”设计一套宣传海报。

大约在半年前,Audery通过一位客户得到我的联系方式,并希望我能以志愿者的身份为她的公益项目设计海报。我有些惊讶,因为自从担任dminorstudio的技术总监以来,我就已经没有做过美术设计工作,更不要说是与Web领域相差较远的海报设计了。然而一段微信聊天之后,我决定接下这个项目。原来,Audery和小毅这么多年一直凭借一腔热情致力于宠物救助工作,投入大量人力物力财力,甚至因此牺牲了很多个人和家庭生活。这种精神让我深深为之触动。他们推行目前国际上公认最有效的流浪动物救助程序TNR,即“诱捕-绝育-放归(Trap-Neuter-Return)”程序,而此次海报设计的主旨则是“领养代替购买”。海报会张贴在社区和宠物医院等场所,以期爱猫爱狗人士看到以后能够放弃购买宠物的念头,而改作去宠物救助机构领养它们。——毕竟那些地方已经被越来越多的流浪动物所占据,资源日益紧张。

做好准备转向 drupal 8

和很多人的感受一样,Drupal之于我们也是一个让人又爱又恨的存在。爱她,因为她在一个坚实的平台之上有着无限的可能;恨她,因为想要实现这些无限可能需要耗费的气力,完全不比不使用她来得更轻松。好在Drupal 8又给了我们更多爱她的理由。

也谈远程办公

“哇塞,这简直太赞了!”

当我和来参加面试的小伙子说起我们的远程办公制度时,他的惊喜之情简直溢于言表。

是的,也许只有少数的公司会像我们这样如此“放得开”,允许员工选择在家里、餐厅、咖啡馆甚至任何TA喜欢的场所工作,只要TA确保沟通无阻即可。

我不得不庆幸我们生活在当今这个时代,可以享受优秀科学前辈们的成果和贡献,众多功能强大而又小巧灵活的通讯和办公工具让足不出户工作成为可能;我也感谢我们选择的这个行业:互联网、数码设计和程序开发,让脑力劳动创造的价值可以产生于虚拟的世界之中。——显然,依赖自然或物理资源和大型器械生产的人是没有办法远程办公的。

办公室≠公司

就像房子不等于家,办公室也不等于公司;分散在各个地方的一家人仍然是一家人,分散在各个地方的工作者仍然可以组成公司。在英语里,“公司”和“伙伴”是同一个单词(company),一些人在一起协同工作就是公司;而“办公室”(office)则只有一个含义,即工作的场所。只要工作场所不影响协同工作的性质,公司就是成立的。因此我在本文通篇都非常谨慎地区分“办公室”和“公司”这两个名词,并且特别地避免使用办公室来指代公司。

Slack及其开发接口初探

说起Slack,熟悉它的人都知道这是如今互联网世界又一个神奇的存在:它用仅仅不到两年的时间就融资1.6亿美元的奇迹,被大家津津乐道,认为是创造了SaaS(Software as a Service)领域的神话;而不熟悉它的人一定想要马上去问问度娘了,Slack到底是什么?

PHP框架世界的新宠——Laravel

最近这些年,一个新的名词越来越多地出现在PHP开发领域的各种技术文献和大家热议的话题中:Laravel。什么是Laravel?这个念起来有些拗口的单词(官方发音是/’lærəvəl/),简而言之,就是一款PHP开发框架。我们可以先去它的官方主页看一眼:https://laravel.com/

为dminorstudio引入新的项目管理系统GitLab(上)

从2005年诞生至今,Git在软件开发领域早已不是一个新鲜的事物了,但直到半年前,我们对这个领域还是非常陌生的。这一方面是因为dminorstudio一直非常谨慎地控制团队的增长,以致协作开发和版本控制的需求一直没有真正凸显出来(我们一直在用Trello做为团队协作平台,用donedone作为问题追踪平台);另一方面,也是更主要的原因还是,作为技术团队领头人的我,对Git庞大而复杂的结构望而生畏,以致一直止步不前。总之,在经历了几次代码管理混乱的痛苦之后,我们还是决定痛定思痛,要引入Git来管理我们的代码和项目开发了。

所以这篇文章(以及它的后续文章)与其说是经验分享,倒不如说是我们学习过程的一个记录和总结。简而言之,就是现学现卖了。所以不足之处,还请读者不吝赐教

在Drupal中设置分页的区块视图时需要分外小心!

在近期的一个drupal项目中,我们遇到一个十分奇怪的问题:搜索结果页面的总记录数和总页数永远是一个错误的固定数字。这个极具迷惑性的假象让我们朝着各种错误的方向去寻找问题的答案,并且迟迟没有进展,然而等我们找到真正的问题原因时,结果可以说是让人大跌眼镜。

学习Symfony之二:安装和配置

手工安装Symfony很简单,几乎没有太多需要讲的。打开 http://symfony.com/download ,从页面的选择列表中选择一个 Symfony 的发行版本,再点击旁边的 “DOWNLOAD NOW”,把下载到的文件包解压到你的 Web 服务器上的某个位置,安装就算完成了。(选择版本号最高的那个通常是最好的,tgz格式还是zip格式只是个人喜好问题,每个版本的Symfony还有一个“without vendor”的版本,但是初学阶段最好不要选择下载这个版本。)

使用Composer安装Symfony

我的上一篇文章中说到Symfony有个好伙伴叫作Composer,下面我们看看如何用Composer来安装Symfony。

学习Symfony之一:初识Symfony

最早知道Symfony这个PHP框架是在几年前,当时被它的名字所吸引,“Symfony”和“Symphony”谐音,是“交响曲”的意思,自然让人想到创始人应该是位古典音乐爱好者,因而顿时对它增添了好几分的亲切感。当时因为没有太多的应用机会,也没有过多地深入学习,但这份好感却一直保留在心里。