1. 2014-04-15 的记录

    最近 Blog 的貢獻不大,之前写了一些博文,写着写着又删除了。還是把前面的流水賬記錄下來吧。

    IxDC & 游戏用户体验大会

    3月底当了会志愿 ———— IxDC <http://ixdc.org>_ 举办的游戏用户体验大会。 这次志愿者活动,最大的收获就是认识了来自其他高校的朋友。欣慰的是,大会结束到现在,我们还在联系着。

    为何说生活混乱,我想大概是因为认识了这群朋友。

    一直以来,眼光都在局限在深大,见过最强的也许就属江哥。虽然偶尔能结识到广州一些学校的童鞋,但是交流甚少。 就在这个封闭的地方,眼界也小。

    感激这一次机会,认识到更多人,见识到高手、大神们的能力与处事方式。

    很受打击,但我也会更努力。

    瓶頸 & 遺憾

    自己的瓶頸一直都清楚,臨近實習,感觸更深刻。 這麼多年一直往 Web 方向發展。雖然一直說是對其他方面“沒興趣”,可其實是自己沒勇氣去涉足。 很多有關數學的知識都放過去,現在稍微跟科研有關的領域都離不開高數、線代等知識,而這方面依舊薄弱 ...


  2. 游戏与数学

    前段日子看了看 Pygame 的使用方法,其中看到一个之前从来没想过的东西,觉得很神奇,记录下来。

    物体与坐标

    熟悉 html、css,或者 Java GUI 甚至 Flash、Photoshop 的童鞋应该对定位并不陌生。在计算机中,常常使用坐标来对物体进行定位的。 例如,以 Flash 为例,Scene 左上角的像素点就是坐标的原点,而最顶部的像素构成的线是 x 轴,正方向向右;最左边像素构成的线是 y 轴,正方向向下。

    另外需要注意的是,哪一个像素点才是物体的参考点,一般来说是对象正方形区域,左上角的点作为参考点。

    通过将物体以一个(参考点坐标,长,宽)这样的形式来对物体进行定位,可以使得我们很方便的改变物体的位置。

    while True:
        screen.blit(dennis, (position_x, position_y ...

  3. 开学三周

    大学,三年级,第二学期,第三周。

    其实我的开学要更早些,2月6日就回学校。折腾些有的没的。基本每天都在实验室度过。总觉得自由的时间快要结束,要趁结束前学习更多的东西。

    老样子,还是喜欢拖延,本来这篇 blog 应该在一周多前开始写的,一直拖到今天。 拖了蛮久,但想说的话也更多了。。

    关于 “转型”

    这是这篇 blog 原本的标题。

    一个多月前在 weibo 上写了一句话,大概意思是说自己的一直以来以 web developer 来定位自己,其他技术,例如 安卓、iOS、算法之类的知识都不甚涉及,以至于自己的能力大受限制。

    大概是两周前,也就是学校开学的时候,突然改变了想法。大学没剩多少时间,真的应该更多地涉猎各个方面的知识,于是决定转型。

    Web 照做,这是老本行,还是能拿得出手的能力,偶尔挣挣外快(下文会说到这个)也不错。

    课余时间 ...


  4. flask-rbac

    前几个月开始写 MOOC 的时候,发现网上没有 RBAC 的 Flask 插件。于是自己 DIY 一个。

    用了一天做了一个雏形,也融到 MOOC 里用着。

    两周前突然想要发布到 pypi 上,于是完善了文档,完善了各种 files。最后也 publish 到 pypi 上了。

    当天下载量就有 300+ 觉得可满足了~

    之后说说我认为还要改进的部分。

    (1) Model 设计不太友好 - Flask-RBAC 希望能权限信息支持以持久化处理及直接以 module 两种形式存储。但是目前两者是统一着的,因此部分接口设计使用起来并不太友好。

    (2) 不支持纯 SQL 语言 - 使用数据库来存储权限信息的时候,提供的接口是对 SQLAlchemy 兼容,而对纯 SQL 例如 ...


  5. Thoughts on 2014-2-9

    2月9日的胡思乱想

    今天 2 月 9 日。还有一个学期就要找实习了。

    因为 江哥(tonyseek) 的影响,也爱上 Python 了。一年前就定下目标,想要到 http://www.douban.com 实习、工作。

    还记得蛇年初,在豆瓣上写了这样一句话

    蛇年玩蟒蛇

    然后真的不知不觉地玩 Python 玩了一年(其实准确地说应该是后半年时间)。

    这半年对 Python 自身没有多深的造化,倒是学了不少 Web Framework 还有不少 Libraries 的使用。 现在很多编程(好吧是所有)都是用 Python 来完成。

    一年,还没玩够。还想继续玩。

    下半年最后两个月,在为学校写一个 MOOC 系统 ...


  6. pip's Trap

    最近在编写基于 Flask 的 RBAC 模块,并发布到 pypi 上。先前发布了 0.1.0 版本。昨晚因为更新了 API,版本也更新到 0.2.0 了。

    但是本地执行 pip install flask-rbac 的时候,却一直安装 0.1.0 的版本。

    第一反应就是 pip 的 cache 作怪。因此在另一个目录下 virtualenv venv, pip install flask-rbac,果然安装的是 lastest 版本。

    于是在 Google 了 pip 的 cache ...


  7. Semantic Versioning

    Introduction

    Semantic Versioning 即语义化版本识别,是一套用来规范定义软件版本的规则。官网: http://semver.org

    Usage

    SemVer 的基本格式是 主版本号.次版本号.修订号(-先行版本号或元数据信息)

    1. 主版本号:当 Public API 做了向下不兼容的修改的时候,递增。
    2. 次版本号:当 Public API 做了向下兼容的修改的时候,递增。
    3. 修订号:修复了 Bug,但没有对 Public API 做修改的时候,递增。

    Details

    以下是 SemVer 的细致规则:

    1. 要使用 SemVer,首先你得有 公共接口 (Public API)
    2. SemVer 采用 X.Y ...

  8. Some Note

    最近好少博文= =

    面试

    在开始写正文之前,想写一些关于 面试 的感想与自己最近在思考的一些人生问题。

    这学期一共参与了 3 个组织的面试,包括学生会信息部,学子天地以及技术联盟连客计划的面试。再加上高中的学生会以及去年一些面试经历,有些感想需要记录下来,给未来的自己提个醒。

    仪容

    信息部的面试,我是面向面试者进行面试,因此特别留意面试者的仪容,包括着装和精神面貌,这是所谓的形象分。曾经有篇报道说中国往往有先入为主的观念,第一印象好的人,一般会觉得他就是好人(表现出来就是有好感),而且会一直这么认为。因此第一印象常常决定了别人心目中你的形象,并且这个影响是长期持续的。

    如果面试的时候仪容引起了面试官的反感,接下来的面试可能就会比较吃力了。而仪容博得面试官的喜爱,之后面试的“容错性”也自然高点。

    关于这点在 linkedin 看到了相关的讨论:http://www.linkedin.com/groupItem?view=&srchtype=discussedNews&gid=108525&item=277251498&type=member ...


  9. Team and manager

    团队与管理者

    何为团队?

    首先,一个人肯定不是团队,那只是一个个体。而两个人也不能算是一个团队,那是两个相互支撑。

    一个团队至少需要三个人,这样就有了团队的基本特性:①主从 ②监督 ③责任

    当然,这并不代表一个人或者两个人的开发行为并不能成功。

    一个团队,所有成员的目标应该一致,同时也需要一些制度来制约每个成员的行为,以求团队工作效率最高。

    任何团队,都需要一个管理者。作为团队的管理者,勇于承担责任是最基本的素质,管理者未必是团队中能力最强的人,但管理者应该对团队负责。当团队项目失败了,管理者的责任应该是最大的,而不是团队的其他技术人员,因为团队是由管理者所管理的,技术人员的进度、产品的质量也是由管理者所把握的。

    对于项目的成败,主要由以下两个方面进行评估:

    1. 项目完成的质量
    2. 项目完成的时间

    对于“项目完成时间”这一评估标准,一般需要在项目开始之前就做一些估算,经验丰富的工程师可有尽可能接近预计的工期,但没有办法保证工期绝对合理。也因此,项目总是会因为进度而修改工期。所以团队的管理者需要学习如何掌握工期,这需要一定的时间来成长。


  10. Lounger created methods

    懒人造就了方法

    人的精力终归是有限的。提出问的解决方法才是影响做事成效的根本问题。

    在早起的汇编语言中,GOTO语句使用非常频繁,将GOTO语句写到另一个文件中十分不便,因此开发人员习惯将程序写在同一个文件中。久而久之就养成了这样的习惯,并一直延续到高级语言出现之后。

    但随着程序功能日益复杂,代码自然也增多,几千行代码的程序也不罕见了,如此长的代码,PageUp/PageDown 自然成为开发人员最喜欢的按键了。

    但这世界上总有一些懒人,他们疲于天天的 PageUp/PageDown,他们打破习惯的约束,将程序拆分成多个文件编写,这就是“单元文件”的开发方式。“单元文件”使得程序容易修改维护。

    “单元文件”的概念出现之后,很快也有“模块”的概念,把一个大模块分成许多小模块,把小模块分成更小的模块,每个模块对应一个单元,于是历史上的“单文件代码”被拆分成许多的小文件,每个文件由一个团队不同的开发人员完成编写,促进了团队开发模式,也提高了程序的开发效率。

    “单元文件”和“模块”的概念出现之后,便有了“结构化编程”的概念,“结构化编程”实际上也是我们所说的 ...


Page 3 / 6