1. New start in BearyInnovative

    在成都知道创宇快要结束的时候,黄璜老师就给我安利 一熊科技 并且把我推荐给包大人。

    面试过了之后,休息了几天,今天入职一熊科技,目前在这里写前端。。

    又是一个新的开始,加油~

    一熊衣服

    (我还欠着一篇介绍要写咋办。


  2. 创宇实习周记之伍、六、七

    最近三周都在忙碌,压缩在一篇里面写了。

    测试的重要性

    关于测试,很多程序员都喜欢以“工期紧”为理由拒绝写测试脚本。

    但我认为这是一个错误的观念。

    测试确实不好写,特别是上下文环境有要求的程序更加不好写测试。有时候写一个测试脚本甚至要花上一整天的时间。 但这都是因为测试写得少的原因。

    很多时间之所以要花很多时间来写测试,是因为实在没有思路。“我该怎么测试?”

    举个例子,比如验证用户登录的功能是否正确。在没有经验的情况下,很容易想“我要怎么写一个程序去模拟用户点击操作?” 但是只要写过一次这样的脚本就知道这个思路并不好,更好的思路是“我要怎么写一个程序去模拟浏览器操作?” 这样可能会更明白些。

    当掌握了基本的测试思路之后,写测试就会轻松一些了。

    关于测试还有很多可以讲的,但我想讲的是公司里项目的一些感想。

    《重构》里不断的强调测试的重要性,是因为写了测试,才能保证重构的逻辑正确性。

    而公司项目里缺少了测试,因此即使想重构,也不得不小心翼翼地去重构,甚至望而却步,被里面的逻辑吓怕。

    MongoDB vs OO

    MongoDB 是面向 Document 的数据库。

    它的数据结构可以很灵活,结构可以任意改变。这提供了很大的便利。

    最近的项目里,所有 MongoDB ...


  3. 我看团队

    谈一谈团队

    我是一个对团队要求很高的人,这也许是我一直找不到团队的原因。但其实我是一个对团队要求很少的人。

    想想,在大学,我曾在两个团队里工作过。

    第一个,是我引以为豪的团队 Stu Developers Team,学子天地技术部。可以说,大学所学到的技术,都是在这里学到的。 之所以比其他人了解更多,是因为这里有我很喜欢的技术交流氛围,不定时的技术分享会,时常的 QQ 群交流,每天都能认识到新的知识。 在这里是真的在追求开源的方式进行开发,也是因为这样才让自己更喜欢开源吧。

    在 SDT 里,影响我的事情很多,其中有一件必须提,那就是“软件工程范儿”。 我自认自己写的代码还是挺漂亮。这是在 SDT 里一直强调的事情,一定要写“可读可维护”的代码。 从一开始就一直强迫自己把代码写得好看,不管要修改多少次。 遗憾的是,没有 TonySeek 的那种超强理解力与记忆力。看过的书理解不透又容易忘记。

    SDT 是一支技术强大的团队,至少在深大,我们敢说第二 ...


  4. 创宇实习周记之肆

    这周工作内容比较少,想的事情比较多就只分享一个踩到的坑吧。

    MySQL 死锁问题?

    一次开发中,数据库结构做了修改,于是连接上 MySQL 数据库,执行了 alter 语句,但是很多之后都没有反应。估计是数据库断开了连接,于是 ctrl + c 中断操作,之后再退出 client ,重新登录数据库,重新执行。

    重新执行的结果依旧是卡死在那,甚至连 select 语句都卡死了。

    好嘛那我就 drop table -> 卡死 好嘛那我就 drop database -> 卡死

    奇怪的是,其他数据库访问都很正常。

    后来我觉得应该是第一次操作发生死锁(或者类似的情况)。

    执行 show processlist; 。 果然我所有的命令都显示 Queue,然后 kill 掉对应的 pid。

    问题解决。

    MySQL localhost ...


  5. 创宇实习周记之叁

    填坑大作战

    这周的工作就是 填 坑...

    1. 将之前被拆分的三个项目合并起来。
    2. 合并之后把对应的公共部分继续修改好。
    3. 用 MySQL 替换 Redis。
    4. blabla 还有其他一些比较细的忘记了

    修改到下午,总算是稍微满意了。

    入乡随俗 —— 谈谈我的错误做法

    入乡随俗 这是这周最后一天江哥对我说的话。

    事情的起因是这样的,我参考 Flask-SQLAlchemy 的代码,写了一段套用在 Tornado 框架中。 最后发现怎么用怎么不顺利,怎么失败。

    我一直有一个毛病(终于想通了),不同语言甚至是统一语言不同框架,都有自己的设计理念,对于 Flask 适用的,并不代表适合于 Tornado。

    记得之前写 Java Web 大作业的时候,也是尝试自己实现一个语法上跟 Jinja2 一样的模板引擎,最后虽然做出来,但是代码很丑。这还算是比较好的。

    糟糕的还有,在最开始玩 Python 的时候 ...


  6. 创宇实习周记之貮

    这一周依旧是完成 API 服务。 = = 感觉过得好快,好像失忆了,做了什么都不太记得。 写一点还记得的东西。

    从零开始写项目启示录 —— 我所犯的几个错误

    现在在写的这个项目是从零开始的。boss 讲明白可以任我们发挥。采用什么框架,怎么设计都由我们来。

    而实践过程也犯了不少错,在这里记录下来。

    需求引发的案例

    项目从上周三开始编写代码,其实那时候对需求还很模糊,当时想着跟我合作的同事对项目需求理解应该很清晰(因为他之前是负责 API 的)所以没继续询问 boss。 自己没对需求理解清楚就开始编码 这是我犯的最大的错。

    之后发现我们两个对项目的理解都不算很清楚,走了不少弯路,也是其他错误的起点。

    (具体情况在上一篇博文中已经有讲述,这里不赘述)

    操之过急,效率的阻碍

    开始编写代码的时候,没有做好代码设计,甚至连需要什么模块也是没有很明确的想过。开始编码有点急。分析原因,当时分配任务是周一,而到了周三都没有什么实际代码产出(心里发慌 - - ) 于是周三稍微明白之后就着急开始编码。项目需要有什么模块,数据表怎么设计,都没有设计就开始编码。

    于是边写边想,然后又发现有一个细节没考虑到,之前写的部分返工修改。很明显的影响效率 ...


  7. 创宇实习周记之壹

    (文章的开头决定了整篇文章的风格- - 虽然想写得正式些,但是开头总是严肃不起来- -

    创宇实习流水账

    Day#1

    上周结束之前,黄老师留下一个任务。回去看代码,想好要做什么。 最后决定完成周会上的任务 —— “统一API”(后来才发现这个名字真不好。

    周一上午继续晚上上周的代码。

    下午跟黄老师、姚总、飞飞进行了项目的讨论。

    Day#2

    对项目的理解还是很模糊,对实现也是没什么头绪。。 网上搜索了不少资料,看了别人怎么设计 API ,搜索各种资料(具体做了什么还真忘记了

    下午和飞飞进行了实现的讨论,对项目算是有一定的了解了。

    Day#3

    上午将项目的理解再和姚总做了一翻确认。

    下午开始写代码。。

    Day#4

    coding...

    Day#5

    coding...

    统一 API 设计

    前文提及了,这个名字其实不好。因为容易误解。

    最开始我理解是把现有的 API 风格统一起来,而实际上是设计一个代理服务器,所有服务向它请求,然后再由它做转发 ...


  8. 创宇实习周记之零

    从 4 月份就申请了创宇的实习,一直到 7 月份才正式进入创宇实习。 当时之所以选择创宇,是因为我对创宇的技术氛围十分向往,也希望能够在创宇里认识到安全界的大神以及学习安全相关的知识。

    面试题提价哦之后,忘记是 5 月份哪一天,行之告诉我,我被录用,希望能够尽快到成都实习。

    就一直拖到了 7 月份。

    好吧,我一直在想象行之会是一个怎样的人。但我们就好像有缘无分。周一他离职,周三我报到。

    周三下午报到,因为总监在开会,所以一开始先坐在自己的座位上玩玩手机。过了一阵子,总监黄老师过来了。 = = 给我的印象很亲切,(表面很老可是昨天才问到他其实 30 岁都还没到...)

    第一天下午就开始搭环境,一直知道 vagrant 这玩意,但是一直没有去尝试,终于不得不去尝试。弄了一下午,对它也有一个大概的认识。Ummmmm。

    那天还很尴尬= = 之前在网上看到创宇是朝九晚五的。到了下午 5 点时,周围没有一个人有下班的迹象- - 我就郁闷了。问了问隔壁的同事 ...



  9. 和江哥的聊天记录与思考@2014-04-17

    话题的起因

    最为近日在复习一些知识,准备复习设计模式。 关于设计模式的书,有很多。Java 的 Ruby 的 PHP 的,唯独没有 《Python 设计模式》

    在群里发问,一起讨论下为何没有 《Python 设计模式》。 其中的意思,便是讨论 Python 与其他语言的差异。

    对于问题,我们没有做太详细或是深入的讨论,转而其他方面的讨论。

    AOP

    AOP(Aspect-Oriented Programming,面向侧面编程 面向切面编程,感谢MarkNV 指出错误。)

    Aspect 是一种新的模块化机制,它描述的是分散在程序内部的 横切关注点(crosscutting concern)

    所谓 横切关注点 是分散在程序代码内部(例如被虚函数分散到各个没关系的函数中),难以被类或函数捕捉的代码。

    比如 Java Spring 中的 Logging ...


Page 2 / 6