博客首页|TW首页| 同事录|业界社区
2011-05-18

摘要

本文详细说明了使用 flashdevelop 基于 Robotlegs flash框架完成一个Hello World示例的 教程,这个示例包括完整的MVC(及Service)。 本示例可以 下载源代码

正文

开始之前

本文已经假定你具备下面的知识:

  1. 阅读过类似于 Essential Actionscript 3.0 这样的书籍,对于Actionscript语言和flash基本显示体系、事件等有一定了解
  2. 能够较熟练地使用 flashdevelop flash IDE
  3. 阅读过 Robotlegs 的文档 Robotlegs Best Practice

下载相关的库

  1. 下载 Robotlegs 相关的swc库,可以从 http://downloads.robotlegs.org/robotlegs-framework-v1.4.0.zip 下载
  2. 解压后,在bin目录下有个 robotlegs-framework-v1.4.0.swc 以及libs目录下有个 SwiftSuspenders-v1.5.1.swc
  3. 上面两个swc就是我们需要的

建立项目

  1. 打开 flashdevelop
  2. 建立一个名为 RobotLegsHelloWorld 的AS3 Project
  3. 将上一步中的两个swc拷贝到新建成项目中lib目录下(IDE左侧的文件结构列表中)
  4. 在拷贝好的文件上点击右键,选择Add To Library,将两个swc都加入到library中

这时基本的结构就好了,我们开始写代码。

定义需求

这个例子是个完整的说明 Robotlegs 框架的例子,所以会涉及到框架的各个主要部分,包括Model, View, Controller,为此 我们定义了这个例子所要完成的需求如下:

用户登录系统的过程,包括:用户输入名字和密码,提交表单,后端进行验证(简化起见,不作真正的验证),并返回成功与否的结果。

整个结构

根据上面的需求定义,我们可以有下面的组织架构:


具体的各个角色(actor)的功能,参考代码中的注释。

需要说明的是:

  1. 在理解代码和框架时,最好了解如单例模式等设计模式
  2. 对于 依赖注入 有一定理解
  3. 对于 MVC 有一定理解

其它应该还是比较容易理解的。

总结

从最开始使用 pureMVC 到这个项目使用 Robotlegs ,两个框架都挺好的,在整个项目的进展中,更加觉得要控制住代码质量并不 取决于框架本身,而是取决于使用框架的人,各位程序员们要加油了。

另外,也可以参考我的另一篇博客 RobotLegs简介 .

下载原文

可从 此处 查看或者下载。

下载源代码

可从 下载源代码 查看或者下载。

2011-05-16

摘要

简单交待了下自己今天辞职的一些事情。

正文

终于,早上交上了我的离职信,和我们敬业的HR和创始人进行了最后的沟通,去意已决的我面对 挽留也只能点头地应和着,但是这次的决定却是坚定的,离开的是北京,迎接的是西安, 4年一个轮回一样,重新开始新的生活。

上面所说的4年的轮回,是说4年的大学生活在西安,刚刚过去的4年研究生生活和工作生活是在北京, 而今又要回到西安了。

老婆很开心,我也是。


附上我的离职信,作为这个轮回的见证。

                    辞职信
您好!

经过和老婆很长时间的商量,我们还是决定回西安发展了,所以我决定辞职。跟随着公司一起已经走过了不短的时间,
最早时那是2009年的4月,2年了也鉴证着公司的一步步做大,就像最初对于公司名称“点点”的期待一样,聚沙成塔,
不断壮大。这期间,更多的是在努力地工作,尽最大努力地完成一些目标,当然事情并不总是很完美。回顾这过去的时间,
我尽心了,我努力了,也就没什么遗憾了。未来的日子,也只能靠各位新来的同事和未来的同事们一起努力,
将“点点互动”真正做大,做到一流,我在西安也为你们祝福。

为了顺利的交接,我手头有两份合同,一份是《劳动合同》,另一份是涉及期权的合同,我都会在交接时附上。
为了不影响公司的正常进展,我计划在6月初正式离职,在接下来的半个多月里将我过去的工作正式进行交接,
也希望在这段时间能够找到合适的人选来接替我的工作,包括partytime和当前carcity的工作,当然交接期间,我依旧会如往常一样努力工作的。

未尽事宜,我们可以面谈。

感谢公司在过去时间里对我各方面的帮助,也感谢在这段快乐的日子里提供给我成长的机会。

谢谢。

 朱 涛
2011年5月15日

总结

留此存照,一年后再来看时,不知道到时会是什么心态,但是我想做的决定,尽力了,努力了,那就没有遗憾了。

加油,一起努力的兄弟们!我们可以唱起那首悲怆的 《在路上》 了。

下载原文

可从 此处 查看或者下载。

参考资料

  1. 《在路上》
2011-05-10

摘要

本文简单地对 pureMVC 和 robotlegs 进行了对比,并且较详细地说明了 robotlegs 各个角色的职责, 以及使用 robotlegs 的常见的注意事项。

正文

最近开始前端的开发,即flash开发,之前使用的是 pureMVC ,也写过一篇关于 pureMVC notification 的博客;而这个项目的开发是使用 robotlegs , 所以,这篇博客主要是基于过去这几周的工作和自己的理解对这个框架的一些简单 说明,希望对看到的朋友有益。

整体感受

做前端的开发不多,与后端相比一些UI上的处理、事件的处理等差异比较大,但是 编程的思想(如解耦、接口编程而非实现编程等)还是一致的,与后端比没有多大 可比性,所以我想简单地说明我对于 pureMVCrobotlegs 二者的一些 感受。

pureMVC 是基于 notification 的一个MVC框架,主要目的是为了各个部分 能够解耦,当然它也基本上能够做到。 robotlegs 则是基于 message 以及 message 携带的payload(数据等)来实现解耦。 robotlegs 是基于pureMVC 的 思想,但是在一些方面更加出色,例如消息的强类型,依赖注入方式,消息携带payload 等等。

当然,任何一个好的东西(语言、框架等)最终还取决于用的人,语言和框架本身并不能 保证用户的代码清晰、解耦等,当然它只是尽可能地做到这点。

关于robotlegs


还是一个MVC的框架,它的几个角色的主要功能有:

  1. M(odel): 提供数据的存储(与后端数据库表的映射),操作等

  2. V(iew): 呈现给用户,提供对用户操作的响应等

    • 通常一个V对应于一个Mediator
    • Mediator的职责是转发来自V的事件到整个框架,或者接收来自框架的事件并更新V(通常通过调用V的方法)
  3. C(ontroller): 业务逻辑,处理M和V之间的连动

    • 通常对应于一个Command
    • Command的职责有,实现业务逻辑,发送事件等

除此之外, robotlegs 还有一个角色是 service , 主要职责是提供一些获得数据的服务接口, 它本身并不存储(和model的区别)数据和提供数据的操作。

为了更好的说明起见,我想以一个员工考勤系统为例来说明各个角色的职责。

为了简化起见这个员工考勤系统只有如下功能:

  1. 提供一个界面供员工登录
  2. 提供一个界面供员工点击来作为考勤的时间

后端也可以很简单,例如有用户表User(id, name), 用户考勤表CheckInRecord(user_id, checkin_time), 那么前端使用robotlegs的结构可以采用:

使用robotlegs的注意事项

  1. 注意各个角色初始化的顺序(顺序关系到注入及事件处理的逻辑)
  2. 注意注入的使用(提前初始化)
  3. 其它的可参考 Best Practice

总结

还是一句话,框架或者语言只能在最大限度上保证用户代码的清晰、可读、解耦、可维护等(例如python语言),但是 最终的代码质量还是取决于用户本身(程序员),所以一些编程的哲学和模式才是更为关键的(大致可看下 Code Complete 、 Design Pattern 等)。

最近一直在看 Code Complete ,一句话让我感受非常深,大致意思是说 写代码的过程就是复杂度管理的过程(Complexity Management) , 这一点之前的认识不够,我推荐给看到的朋友,将它和 DRY 原则一样牢记在心吧。

下载原文

可从 此处 查看或者下载。

2011-05-06

摘要

本文主要对自己过去一年的正式工作的一些总结,主要说明了自己的一些心得和体会。也简要说明了 自己公司的情况、自己为什么要加入这个公司、自己对于这个工作的预期等。

正文

昨天,HR买来了蛋糕,我们庆祝了公司的一周年生日。吃着大大的蛋糕,我不禁也开始回想这过去的一年。


这一年是我从学校毕业进入工作正式开始的一年,也是全职地在拿着工资每天按时上下班的工作,所做的项目 不再是toy project,而是关系到公司是否能够继续,员工是否能够拿到薪水,也同时在影响着数以万计的用户的 正式项目。

工作的地方

我所工作的地方是一个创业公司,专注于社交游戏领域,目前开发和运营着数款游戏,MAU数也以百万计,当然这是现在的数据。

初始时,从开始的远程协作(部分同事在美国,没有固定的办公场所)到今天200多平的办公室(明天将搬到400多平的新办公室),从只有3个员工到现在的30多个, 从没有什么像样的产品到现在的有若干款运营不错的产品(包括联合运营的产品),这一路走过还是有一些经验和教训的。

明天,我们公司就要搬到上地更大的办公室,上周末和老婆提前骑车去看过,不错的地方,大楼的对面正好是上地公园,不大,但是 有绿色总是让人高兴的。

公司现在有30多人,谈不上个个是精英,但是大多数还是非常认真地在工作,在推动项目的进展和公司的发展, 所以在公司工作 还是很有信心的。

为什么选择这里


其实,开始时也没有多么明确的目标,当真正开始进入社交游戏领域时,才开始了解和学习这个行业相关的知识。 随着对这个行业认识的加深,自己开始有了一些了解和认识,直至后来 将其定为未来3年互联网行业自己所看好的两大细分领域之一(另一个是智能移动终端)。认识改变的过程也是由于行业的逐渐成熟和相关运营、盈利模式的 不断进化和清晰,以及自己对于这个行业的逐渐了解。

所以,在去年7月正式毕业时(其实那时已经工作了不短的时间)自己便直接来到了当前的公司。

当然,除了对于这个行业本身的认可外,还有对于创业公司本身的一些认识。我所认识或者对于创业公司的期待包括:

  1. 更多的机会(如各个环节的参与,更多的责任,扁平的管理,激情,高效, 直面问题和矛盾, 试错的机会等)
  2. 更好的成长空间(参与从无到有,经历各种里程碑的过程,自己的成长和公司的成长)
  3. 学习机会(无论是正确或者失误的管理、产品、运营等等,都能够有所接触和学习)
  4. 潜力(自己收益的潜力,包括财富和能力等)

创业公司也有许多不好的地方,如制度缺乏,同事能力参差不齐,决策过程的控制,过量的工作量, 过于着急等。

曾经在研究生阶段也尝试着做一些产品,甚至是创业,而对于未来也有创业的期望,所以在创业公司的一手经验是非常重要的,再加上自己对于这个 行业的认可,所以便选择了这里。

如何来到这里

2009年5月的一天,自己看到水木上的一个兼职帖子,便寄上了自己的简历,其后的某一天,接到了发贴人(当前的老板)的电话,畅谈之后基本便决定参与到这个项目中来。

2010年5月初,我们的创始人回到北京创立了当前我们的公司,于是我也顺理成章地加入到这儿。

2011年5月5日,今天,我们公司成立一年了。

巧合的是,上面的几个节点都是发生在五道口。

我对于工作的预期是什么


加入这个创业公司时,自己还没有结婚,也没有过多地考虑到家庭的因素;而自从去年10月份结婚后,面对的是每月的月供、房租和各种的生活开销, 收入方面的预期也开始占到了很重要的因素。

当然,我的主要预期和最初的还是一致的,大致包括如下几个方面(依重要性):

  1. 学习创业公司的公司管理、产品管理、项目管理、决策管理、运营等方面的经验
  2. 学习创业公司的老板的角色特质
  3. 业务能力的提高和认知水平的提高
  4. 行业前景,公司前景的看好,直接地说就是对未来回报的预期

逐条来看,再去回想这一年公司的发展,每条都有一些心得和体会,这也就构成了我下一部分所要说明的内容。

几点心得

我是最初就加入到公司的,起初也参与到公司的选址、招聘、定名(当前的名字还是我起的:D)等过程。当然自己对于这种无序是非常反感的,不过随着 各个角色的逐渐加入,公司不久便能够良好运作起来。在公司的具体运作方面,我没有参与到资金的运作的细节,所以也无法确认这方面的细节,但是 对于已知的,我还是有几点比较深的感受:

  1. 执行永远是第一位的(初始时,每看到一个任务或者需求,我总要基于自己的认识来考虑是否合理,如果不合理,自己就会降低执行热情,后来逐渐 意识到并且也做到了“即使是执行错误的决策也比没有执行的正确的决策要好”,再加上我逐渐意识到技术并不是产品最重要的环节而只是手段,我更加 不会排斥与自己已有的思维或者技术相背或者不关的需求,例如为了项目需要,我现在就开始写前端的flash代码)
  2. 先让公司活着(每个人都喜欢做自己喜欢的、有挑战的、富有创意的产品,但是这种产品的试错成本也会相对较高,对于创业公司往往不合适,初期的 能够让公司活着,有比较健康的现金流才是硬道理)
  3. 产品经理负责制(当自己确认技术只是手段时,也同时明白产品经理才是产品的核心与产品质量的保证,好的产品经理我觉得要前期有基于数据的产品设计方案、 项目中要严格控制实现的结果、后期要保证运营的有效,总之中后期要保证与前期的产品设计最大程度的相符,有强大说服力和强硬的产品经理是重要的)
  4. 不要提前做当前阶段不需要的事情(或许这些事情着实有用,也对公司有重要的意义,但是初期让公司运转起来,简单而有效的制度就足够了,而不是 几十章节,几百条的所谓完善的制度。很多时候,所谓的over-something通常都是资源的浪费,在初期这种浪费更加致命)
  5. 坚持(我有时候在想,如果我是老板,我能坚持到现在吗?可能不行,公司在过去的一年也出现过问题,但是老板坚持下来了,于是有了今天还算顺畅的 游戏开发和运营,有了30多个员工。这种坚持便显得特别重要。)

至于如何做一个比较出色的创业公司老板,我也只是通过自己的一些观察,和自己对这个角色的理解,觉得下面的一些列表是需要的:

  1. 沟通能力(与合作伙伴,与员工,招聘时等等)
  2. 资源(有效利用外部资源,高效利用内部资源等等)
  3. 招聘的把关(微博上有个朋友说过,一个优秀的员工会带来数倍的价值,而一个不好的员工,会让整个公司效率降低。能力和性格都需要把关。)
  4. 产品经理(老板通常自己是最后拍板的人,所以他通常也自认为是产品经理,无论是自己做产品决策或者招聘其他产品经理时,这种决策显得十分重要)
  5. 愿景(要让每个核心员工能够感受到公司的愿景,能够对员工的期待有一定的肯定作用,并且是反复的周期性正面加强)

自己从研究生毕业后,更多时间是做游戏的后端开发,为前端提供相关的协议支持,但是社交游戏通常是基于flash的,更多的工作量是在前端(如UI、交互、 动画、复杂的算法等),所以后端还显得压力不是太大,当然这样的后果是,整个项目的进度基本上完全取决于前端的进度,而我是无法控制的。后来, 我逐渐意识到技术只是手段时,我也不再拘泥于自己只做后端的后端开发员,也开始学习actionscript,puremvc,robotlegs等,这样前端后端都有较深的了解, 也能够更加主动。总之,在这一年里,自己对于技术的认识有了一定的变化,对于项目管理的认知也在不断调整,我的理解是:

  1. 技术只是手段,但是不能让技术成为障碍
  2. 不要拘泥于特定的技术,能够服务于项目进度和产品,就应该接受
  3. 更高层次的理解能够节约大量的时间,而不要过快地开始编码
  4. 自己在实际中碰到的程序结构、架构等问题,其实前人早已遇到并且有了很好的方案,所以要了解、学习并且使用那些实际中经验,如Code Complete中的 软件构建方法、Design Pattern等
  5. 基本知识的牢靠,相关领域知识的熟识。如果是做后端就要知道常见的性能瓶颈来源,相关框架的best practices等;前端就要了解如何降低加载的大小, 降低CPU和内存使用等。
  6. 算法,不要求完全熟识能达到ACM比赛的程度,但是当遇到一个问题时,知道有个什么算法能够解决这个问题,到时查相关的资料即可

业务能力的提高是需要自己不断反思的,经验有时候成为制约自己进步的障碍,当自己不断地对于同样的问题用同样的解决方案时,可以思考有没有更好的方案? 其它语言(框架)是如何解决的?能否借鉴?能不能用脚本自动化测试等。学习其它语言,看相关的经典的书籍是不断进步的源泉,所以我也制定了 2011年的计划 ,来据此提高自己;另一方面,将学习到的东西写出来,也是一种很好的提高自己的方法。具体的可见我即将要写的一篇博客,拟定标题是 阅读与博客。

至于行业的前景,这个已经得到了很多实证,如美国的 zyngaplaydom ,中国的 五分钟elex 等,简单地通过google搜索下就知道这些 公司的赢利。当然当下的社交游戏已经进入到了红海阶段,玩家已经开始成熟,对于游戏的质量也有了更高的要求,小公司成功的机率也逐渐减小;本地化 的时间窗口也给了许多中国公司copy运营的机会,但是这种机会也在减小(一方面是知识产权,一方面是大的公司的全球化布局)。当然,也有好的方面,如 腾讯平台的开放,这无疑是一个巨大的机会,腾讯的接入规则也给了小公司更多的可能性,但是未来3个月(或者更短)对于腾讯平台的跑马圈地形成的格局 可能会左右整个中国社交游戏公司的格局。所以,腾讯朋友上一时出现了大量的游戏,当然质量参差不齐,我们公司也在努力进军这个市场。 整体来看,我还是很看好这个领域的,现今的阶段也是最为重要的,这个领域没有赢者通吃的规则,但是也会有品牌的问题,产品质量也会与开发商紧紧联系 在一起,如 zynga 和 五分钟

还有,最近大家都在说的腾讯涨薪,也希望老板能够给我们涨薪,如此高的通胀、CPI,程序员的日子不好过啊:D

总结

一年又一年,如果2012我们还健在,那么我的预期还是如上面,到时当我写工作两年回顾时,我希望内心是强大而且平静,并且能够在某些预期上 得到更多的收获。

有人说过,当你在一个领域的研究时间超过10000小时时,你便能够在这个领域成为专家并且成功。10000小时或许太久,我只希望在我所工作的期间, 以我自己的努力为公司带来助益,也实现自己的一些预期,做到对公司和自己无愧即可。

下载原文

可从 此处 查看或者下载。

2011-05-03

摘要

本文主要通过三个场景(荷塘小屋,雨中漫步,陌生的行囊)写了自己所向往的完美生活。

正文

总共三个场景。

荷塘小屋

细雨,下午,迎着荷塘的小木屋。我撑开木窗,能听见雨声,能看到雨溅荷叶的爽快。 这是深夏,雨带走了热气,周围只有雨声,还有偶尔的几声蛙叫。

我坐在木窗前,摊开一本书,大致会是如水墨画的怡情散文,恰适合这午后的时间。桌上还有 一个陶壶,和一个小茶杯,印有朴素的花纹。

老婆,在一旁,我们不言语,只享用这无边的惬意。

雨中漫步

深夏,天上下着不大的雨,路有些泥泞,路面上积有浅浅的水坑。

老婆和我,没有撑伞,慢慢地走在这泥泞中。

路边是两排树,很高,很大,远处有水雾在漫着,世界显得有些不逼真。

我们不说话,只是静静地走着,不刻意避免那些小水坑;我抬头望着这无来由的雨,感受大自然 无比的力量。

静,只听得见轻轻的脚步声,和雨声。

陌生的行囊

老婆,我,背起行囊,开始或走或停于陌生的地方。

我们不带地图,我们装扮很穷,我们迷路会问路人,体会语言障碍下的交流。

入乡随俗,住在山里,住在草原上。

自然,是生命的延续,因为它总在那里看着我们,它区分不了路人甲和比尔盖茨。

人,是自然的延续,即使不认识,相似的笑容在表达着自然所不能表达的情感。

不带相机,不买纪念品,不留下来过的痕迹,不带走来过的证据。

如此三年,走过若干城市,那便是完美。

总结

不知道为什么,自己非常喜欢下雨,喜欢听雨声,可能是小时候,经常会听见自己家里房子漏水母亲用盆接着时, 那响亮而悦耳的声音吧。

喜欢大自然,喜欢一种意境,能让内心真正的平静起来,哪怕那一刻的平静也显得那样美丽。

完美生活,有些有幸曾体验过,有些便是余生的一个追求,留个念想,也说是好的。

下载原文

可从 此处 查看或者下载。

2011-05-02

摘要

确定了本月的“挑战”,即无飞机(参考文中)和 民主的细节 阅读,并说明了为什么 确定这两个“挑战”。

正文

上个月开始了30天“挑战”系列 ,当然一直会坚持着,正值五一小长假的今天,我便将这个月的计划列出来。 想了想将什么作为这月的“挑战”比较合适呢?阅读,跑步还是别的?

老婆今天上午去她的妹妹那儿,我一人在家,于是看起了微博,看到了 @不加V 老师发起的一个讨论,并且 浏览了几乎所有的留言,微博的地址在 这里 ,不知道是否会被和谐。这大致是一个关于性的一个讨论,从留言 来看,不乏一些吹牛的兄弟和姐妹,还有求ONS的同学;只是围观的我,其实也在思考这个问题,“性是不是和自由 一样不容扭曲的限制”。

晚上老婆回来时,让老婆也看了看,单纯的老婆说很多地方看不懂,我笑说这是少儿不宜。

而此刻老婆已经休息了,安静极了,老婆没有过多的欲望,于生活,于物质,于性。而我呢?一直对这个话题比较 隐晦的我,其实也不曾间断思考过这个问题。其实从高中时开始了解,从第一次的尝试到今天的有了老婆,这过程 中我一直是在努力面对这个问题。

@不加V 的微博就像酒一样,此刻我借着酒劲,也开始真正公开面对下这个平日里羞于启齿的问题。对,是个问题, 特别是对于男生;别的的男生,我不知道,自己是看见性感或者自己喜欢类型的女生时总有将其摁到的冲动的,也是 在看A片时总幻想自己就是那男主角的,不定时地还会玩下飞机。


有一种时候,是抓狂的。看见性感的美女后,或者自己突然生出性的念头时,自己便坐立不安,任何其它的事物都无法 平复那时心中的狂躁,平常看的周星驰、天下足球、科比灌篮这时根本没有一点心思,微博、平常非常喜欢的书籍,此时 变得没有一丁点吸引力。我不知道这是种什么样的力量,或许是荷尔蒙泛滥后的症状,如同万千蚂蚁在心中乱爬乱咬,而 中止这一切的开关就在两腿之间的龙头上。

记得,自己经常也会困扰与飞机事宜,不过一次看到过 @连岳 回答一个青年类似的问题时,有如下的精彩回答:

1、看见漂亮女孩子很冲动,很正常。看见丑女孩才冲动,那叫反常。
2、看黄色电影后手淫也很正常,看了没反应才反常。
3、手淫怕被同学看见也很正常,找个安全一点的地方吧。
4、24岁性欲“蓬勃”很正常,性欲不振才反常。
5、手淫不是罪,不会对不起父母,性欲长期释放不了才可能做对不起父母的事情。
6、那些关心你的人,尤其是男性,基本上都手淫过,不要觉得对不起他们。除非你手淫时想着他们。
7、就算想着他们,似乎也不必对不起他们,给他们面子呢。
8、性其实是你生活的细小组成部分,几天才想一次,有时几周才手淫一次——你真忍得住。
9、你比你想象的纯洁。
10、我们的教育比我想象的还要失败。

这些话语确实减轻了一些负疚,但是自己也在思索这个问题。还是记得有一个名人说过,“当你知道没有任何监督和惩罚时, 你会选择怎么做,这才能体现你的道德”,我十分认可这种发自本能或者自我道德约束下行为选择;而“自制力是一个人成熟 和成功的体现”,与自己战斗是痛苦的,也是辛苦的,但是往往也是最易带来成就感的。“与天斗,其乐无穷;与人斗,其乐无穷”, 我要加一句“与己斗,其乐无穷”。

所以,即使某些行为有足够的理由得以认定为合理或者可以理解,但是,当自己觉得不喜欢或者觉得不自在时,让自己逐渐摆脱 这种束缚的过程,通常就是与己斗的过程。

说了半天,其实就是想说明,本月的一个“挑战”就是本月无飞机。

根据 迟到的2011年度计划 ,年度的阅读计划还是不轻的,基本上需要一月有2本书的阅读量,为此本月的另一个“挑战”与上月一致, 也是阅读,紧接着 林达的民主 的话题,本月的计划是刘瑜的 民主的细节


至此,本月的“挑战”计划已经确定,具体如下:

  1. 本月无飞机
  2. 刘瑜的 民主的细节

相应的,月底会有一个回顾来总结本月的执行情况。

总结

第一次写这种羞于启齿的内容,或许还是自己有些虚伪,或许还是不成熟,不过这个博客本就是记录自己成长过程中的点滴,我想 能够面对这本身也是种成长。

下载原文

可从 此处 查看或者下载。