热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大麦回忆录-maibox开发

这些天我又写起来了博客,大概是因为最近不太忙,而且也想总结一下最近学习的东西,看到上次说的大麦回忆录,说实话感觉文采挺不错的,因为当时我是写了稿子的。现在写这个就是想到什么就写什么吧。这次的题目叫ma

这些天我又写起来了博客,大概是因为最近不太忙,而且也想总结一下最近学习的东西,看到上次说的大麦回忆录,说实话感觉文采挺不错的,因为当时我是写了稿子的。现在写这个就是想到什么就写什么吧。这次的题目叫maibox开发。maibox是我们部门的一个产品,主要是售票一类的。为什么单独要去回忆这段历史,是以为它算是我在麦+呆的最紧张的一段时间,原因有很多咱们一一道来吧。

5月初,我和芳哥还在一起搞麦+平台的优化升级呢,我们还在为麦+平台的商品属性配置发愁,因为当时每个人都有工作,就只剩下我和芳哥一起搞了,人手不够,我们只能一点点搞,眼看计划日期快到了但是我们还没有完成工作,这个时候李哥把我们叫到了小屋子,我们以为会挨熊呢,没想到李哥说:最近有一个新的项目需要我们两个人加入,可能会是封闭开发,让我和芳哥做好准备。此时我们心理想的不是说那个未完成的工作怎么去完成,而是听到了封闭开发4个字顿时感觉胸口有点闷。封闭开发就是关在一个小屋子里或者被车接到偏远郊区里去做开发,吃饭洗衣服都不用管,就专心写代码就可以,然后做完项目再出来。当时第一次听到这个解释时,说实话吓出一身冷汗,没听说来到这个公司还有这种开发模式,真的是醉了。我其实是反感的,因为我有女朋友我需要照顾她,她也需要我陪伴她,所以当时其实我很想给领导说,不好意思,我不想去。庆幸的是后来没有真的封闭开发。但尽管如此我和芳哥还是搬到了单独的一间办公司和肖,刘,以及李哥一起搞起了新项目的开发,项目代码;maibox.

领导对这个项目很看重,希望我们可以快点出成绩,我们加班加点坚持了1个多月的时间,那1个多月我们几乎每天加班到很晚,周六还要来加班。甚至周天也来了两个星期。那段时间我很少陪老婆说话,每天下班回家直接睡觉了,为此老婆还很生我气。项目刚开始时,我负责了一个模块,后来发现我负责的模块牵扯到了10多个表,真的十分庞大,但领导要求1个星期就搞定,我压力很大,但说实话,我一向对自己要求很高,如果领导让我一个星期搞定,那我对自己的要求就是4天搞定,所以那4天我几乎每天都加班加点,连喝水的时间都没有,做了两天后领导说能不能再加快,4天搞定,那我只能再要求自己3天就搞定。就这么一直强迫着自己工作,终于,我生病了。

有一天我没有去上班,因为我太累了,我需要休息,那几天,我做梦都想着代码怎么写,甚至在梦里我都看到了自己的代码出现了bug,白天去看代码果然发现有这个bug。你说这是不是很神奇。不过那次生病倒不严重,我没打针没吃药就休息了一上午下午接着又去上班了。这只是那一个月的一个缩影,你可以想象那一个月其实是很辛苦的。通过1个月的努力,我们终于搞除了maibox1.0系统。紧接着开始了第一轮的测试,在测试中我们又不断的修改bug。主要的bug还是前端,因为前端用的wpf技术,大家对这个技术都不是很熟悉。后台我这块的代码bug就很少,为此我还感觉很开心,但说实话代码写的效率很低,有些复杂的查询我都没有依赖sql,而是依赖的java代码去处理,速度有些慢。即使到现在我写sql的能力还是很差,做报表是我的一个弱项。但那段时间确实也太紧张了,后期做报表,大概是表设计的不太好,我发现完成一个报表查询十分吃力,要写很多代码很多判断逻辑,到后期维护的时候我就是否头疼了。

        到maibox1.1阶段的时候,相比1.0就轻松了不少,起码周六我们加班就不频繁了,也知道了原来一开始说的这项目很紧张都是领导吓唬人的,当时一个客户都没有,当maibox1.1做完的时候我们才有了第一个客户。当时给客户部署了后说实话真的有一些成就感,但同时又有很多的挑战和压力。尤其是,我的搭档芳哥被调用了。

也就是说接下来的后台开发,基本就靠我一个人了,虽然当时赵伸也调了过来,但当时他还是实习生的身份,我不能安排他太多工作,他也干不了。所以我只能靠我自己了,我当时想我可能又要回到那个加班加点的日子了。事实的确是这样的,我肩负起来了芳哥的重担,还发现了芳哥以前写的代码中的一些bug。最重要的是代码风格不一样,所以维护的成本也加大了。当然这里不是再怪芳哥只是当时确实很难。就这样坚持了3个月,maibox不断的升级,从1.1到1.2,1.3.1.4的时候就很稳定了。这期间我们使用了一些新的技术,还解决了很多问题,我也总结了场馆的一些算法,前端也做了票面设计的工作。还引入了websocket完成一些客户端和服务端的通信工作。这段时间我的确成长了,这些成长不仅仅是技术上的成长,关于管理方面也有提高,我带着这个小组工作,自然受到很多人尊重。

       随后的一些时间系统出现过一些问题,程序猿和产品狗之间偶尔发生一些矛盾和摩擦,程序员之间都会有一些冲突,包括技术上,或者思想上,管理一个团队真的不是说轻而易举的,你需要考虑自己,也需要考虑所有人的感受。由于在maibox中积累的很多的开发经验,在随后的工作里,我表现出了突出的作用,同时也承担了更多的责任。虽然在10月份的时候maibox夭折了(夭折的原因有很多这里不详谈)maibox的稳定版终结在1.4  1.5虽然也开发完成了但之后就没有再开发,虽然maibox停止了开发,但积累了很多的经验对之后开发新的产品提供了很好的支持。

在这期间,我的薪水也涨了,这里要感谢李哥的提拔,虽然李哥现在已经不在本公司,但去了新公司不忘记把我挖过去,但不好意思的是我现在还没有换工作的计划,所以婉拒了,李哥是一个挺牛的人其实,做事风格雷厉风行,我从他的身上学到了很多,包括我现在工作也是做的特别快又特别好是吸取了李哥工作的特点。但缺点也有,前期太早的投入到开发而不是设计中,导致系统在后期的优化升级上会有很多问题。这种设计不只是数据库的设计,还包括产品定位,产品发展的设计等等。跟李哥工作,你必须时刻保持紧张,刚完成一个工作紧接着下一个活又来了,我个人觉得这样不太好,程序员也需要休息,不仅仅是时间上,大脑也需要休息,我是那种对工作很负责人的人,一个活我做不完可能我能不吃饭我喝水,现在我已经在改掉这个习惯,因为我已经结婚了必须好好的照应身体。今天就写这些吧,已经下班了。就不加班了。


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
author-avatar
陈晏亚363951
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有