猫窝私语 — Makumo's Blog

玛酷猫的温馨小窝,记录生活点点滴滴。

@玛酷猫3年前

06/10
22:51
心情点滴 Ruby

Re:从零开始的Ruby之路

离开上一家公司也有一个月了,告别繁忙的工作,卸掉各种压力,清空脑子里乱七八糟的字母符号,早上起来锻炼下身体,买菜做饭,洗衣带伢,虽然依旧很累,不过心态大不一样,节奏慢下来也蛮好,难怪很多人最大的理想就是不上班。不过修仙也还是要经济支持的,放松一个月,参加了下高中20年的同学聚会,带着家人到周边小玩了下,口袋就见底了。开始要苦逼的开始找工作了。正好一个朋友所在新公司正在招人,看我闲着就问我过来聊聊,真是刚想睡觉就有人送来枕头了。枕头是送来了,你能不能睡上去还要另说。约好时间聊了聊,项目还是不错的,教育领域、院校信息化、云平台,也都是现在比较热门的领域,不过一说开发语言就有点懵逼了,项目用Ruby on Rails开发的。ROR到不陌生,至少很久以前听说过,也简单了解过。那还是N多年前,在日常浏览订阅的技术文章时,看到javaEye的创始人robbin的一篇心路历程的文章,才知道Ruby这门语言的存在,那时候还属于菜鸟级码农,也就简单的了解了下,没想到多少年后,自己居然会走到这条开发道路上来。

答应朋友的邀请加入这个团队之前也考虑了几天。这几年的状态一直都不是很好,总说程序猿到了35岁是个坎,其实也就是借口罢了,虽然说随着年龄的增长,精力思维能力都有一定的退步,不过经验也在逐步的积累,两者相抵其实整体能力还是稳中有升的,最主要可能在PHP上面走进僵局了,一方面很长一段时间没有参与过大项目的开发工作,每天的时间都消耗在零碎的小事上,慢慢的也磨疲了,另一方面虽然PHP在不断的发展,很多新功能新开发思路和解决方案也在不断涌现,不过所在地方大部分公司所需要的也就是基本功能,没有太多更高层次的需求,更多的精力投放在怎么做业务,怎么盈利,对技术投入寥寥无几。其实上一家公司项目也很不错,项目领导人也很有想法,在本地还是空白,坚持做下来也很有市场和影响力,很可惜在现在这个大环境下,投资人更看重的是怎么更快的收回成本,如何更快的盈利,各方面降低成本,以至技术团队迟迟无法组建,项目开展缓慢,最终免不了项目完全砍掉的结果。其实这样也好,换一个环境,一切都是新的,都是未知的,说不定对自己是个很好的调整机会。面试的时候,技术股东对我说,其实单从转型来看,JAVA转Ruby是最快的,毕竟从思想上面来说,两者很多相通之处,在本地几乎没有Ruby的开发人员情况下,招人也大部分也是选择JAVA开发人员,PHP转Ruby是有些过程的,毕竟PHP很多面向对象的思想是缺失的,不过语言是相通的,他相信我这么多年的工作经验,这点困难应该不是什么大问题。于是乎,自己答应了对方的邀请,算是对自己的一次历练吧,或许有些新的突破也说不定呢

下周就要去上班了,套用从入门到放弃系列,自己P了张封面,大家共勉。

从入门到放弃系列Ruby版

Re:从零开始的Ruby之路

@玛酷猫3年前

12/22
00:42
计算机

猫窝搬迁至“小公寓”

阿里云买的弹性web托管要到期了,当初买的时候是蛮便宜的,买完了各种后悔呀,就是个虚拟空间么,还叫的这么高大上的名字,毫无自由度可言,充其量也就一个合租房。幸好也就放个博客,凑合着先用着了,之前海外的虚拟空间也就没退,继续续费着,放放测试站,还是可以的。

上个月双11的时候趁着做活动,买了个最低档的云空间,想着有时间就把网站转过来。谁想到懒癌晚期,一直拖到现在,眼看快24号到期,趁着没几天,赶紧弄过来。相对于坑爹的弹性web托管,云空间自由度高多了,就相当一台低配服务器,除了系统啥都没,就像小公寓,可以随便折腾了。不过各种环境包很多,坏境配置起来还是很快的。本着折腾的原则,php直接上的7.0.7,mysql由于内存太小,只能用5.5,Opcache和memcached也都加持上,web服务器用的nginx+apache模式,一方面是想尝试下这种模式的具体配置,充分发挥两者的长处,另外还想着以后在搭个node环境,用nginx做转发,这项也不会相互干扰,不过到那时候内存就要捉襟见肘了。

环境搭好,站点数据库建好,数据备份还原,站点程序上传,解析域名生效各种慢,等不及先改host调试了。都准备好后,打开网站的时候出现和上次博客迁入国内一样的问题,直接显示500服务器错误。估计还是插件的问题,在数据库中禁用所有的插件,页面顺利打开,然后进后台一个一个启用,除了2个插件报错外,一切正常,看报错信息貌似是php7的原因,正巧这两个插件也属于可有可无型,作者也是N年没更新过了,先这样吧,有时间在研究下怎么对应修改下。既然启用的Opcache,当然也要用上了,插件搜了下,选了个叫Opcache dashboard的插件,最后设置了下固定链接,大概试了下没啥大问题,搬迁过程还是蛮顺利的。

这几天测试下,一方面看看传说中的php7的性能,另一方面看看nginx+apache的组合是不是那么高效,还有就是Opcache和memcached的性能影响。有的折腾了,哈哈。

猫窝搬迁至“小公寓”

@玛酷猫3年前

08/3
16:07
计算机

windows 10周年更新蓝屏解决

终于等到windows10的周年更新,之前系统一直各种那种小问题,比如商店无法打开、应用无法打开、各种闪退等等,本想着重装系统,嫌麻烦一直凑合用着,顺便等周年更新(之前一直称为红石Redstone版),这种大更新就相当于重新装次系统,以上那些小问题或多或少会解决的,虽然可能会出现新的问题。官方说是2日放出更新,昨天刷了一天系统都没出现提示,今天上午刷了会也没提示有更新,直接下载官方的易升来升级了。后台挂着下载升级包,就去干活去了。不一会提示30分钟倒计时重启升级,保存下手头的工作,直接重启。然后就是等待那百分比的数字慢慢的跳动。

刷刷手机本想着一切顺利升级完成呢,结果屏幕DUANG的一下蓝了,蓝了,蓝了。。。。。顿时心里一万只草泥马奔过。屏幕显示 Driver IRQL not less or equal (CHDRT64.sys) 错误代码 C1900101-30018,新版的蓝屏居然还配一个二维码,还没来得及扫下看看啥内容就回滚原来版本。。。心想这不会这么衰吧,每次大升级都出点妖蛾子,重新试了次,这次是用微软的工具下载系统ISO镜像,然后使用完整镜像升级,这次留意了下,到32%的时候蓝掉了,还是同样的错误提示。网上搜了下,遇到这个的还不多,都没什么解决方案,无非都是重做系统,用数字大礼包修复系统。。。微软社区有人问了一样的问题,不过是1年前,应该是windown8.1升级到windows10遇到的(传送门)和我一样用的也是联想的yoga,不过下面给出的方法很官方的说法,啰里啰唆一大堆,无外乎磁盘错误扫描、文件完整性检查、系统错误检查、保持最新更新等等,其实没啥用(事实上又臭又长没仔细看,一目十行的看了下)

既然每次都是CHDRT64.sys这个文件引起的蓝屏,那就看下这个是什么东东,网上搜了下,结果也没有多少帮助的,好在在联想的官网上发现了点端倪(传送门),这个是Conexant Audio Driver声卡驱动的一个更新说明,其中有段写着

(Fix) Fixed an issue where BSOD 7E on CHDRT64.sys when overwrite-installing Audio driver from 4.XX.X.XX to 8.XX.XX.X

大概意思就是修复从覆盖安装时引起CHDRT64.sys蓝屏(BSOD:Blue Screen of Death)的问题,既然知道这个文件是声卡驱动,那就简单了,把你干掉看你还咋蹦跶。直接把声卡驱动卸载了,然后重新升级,这次顺利跳过32%那个坎,直接升级完成,问题解决。一起解决的还有之前所说的应用商店和应用的问题,又可以愉快的玩耍了。

windows 10周年更新蓝屏解决

@玛酷猫3年前

06/20
17:59
生活

新技能GET:周末撸了一个木镯

快到纪念日了,又开始纠结送给LD什么礼物好,之前看色魔张大妈(什么值得买)一群值友晒各种手工品,看的各种种草,一直没敢尝试,这次想着自己做个当礼物好了。翻了下以前收藏的帖子,仔细的研究了一下,觉得难度不大,应该可以做得来。所做就做,大淘宝买了套基础工具,顺便买了几块半成品料子。选料子真是各种纠结,二十几种,选了半天,后来选了一个尼泊尔紫檀,一个墨西哥黄花梨。买完了后才知道一般都会用柯檀或者紫苏,颜色花纹都会很漂亮,反正第一次弄,选一般的练练手,能熟练了在换好的。

Read More →

新技能GET:周末撸了一个木镯

@玛酷猫4年前

04/20
22:04
计算机 项目管理

再聊聊钉钉开发

之前吐槽了下微信的开发,最近在钉钉中开发一套业务系统,顺便也吐槽下钉钉好了。

起因也很简单,上一家公司一直再用钉钉作为办公OA,相对于传统OA,钉钉更注重移动办公,手机体验感很好,换新公司后,也推荐使用钉钉作为日常办公OA。设置好后,大家也都开始尝试使用,可能是公司大多数人之前很少使用此类软件,对于OA存在一定抵触心理,不过使用一段时间后也都还好,毕竟每天也就占用几分钟的时间。

钉钉里面的业务模块还是比较少,公司的一个业务模块找不到适合的模块改造,于是准备在钉钉下自己开发。最早是准备单独做,后来考虑到办公OA用的是钉钉,很多业务逻辑都在钉钉里面沟通或者下达,何不也一并做进钉钉里面好了,还省得在单独处理用户和登录认证模块,并且以后系统还可以打通。

说做就做,首先还是看文档,虽然两者的模式类似,都是获取相关认证授权信息,然后接口调用,相比微信简单明了的文档,钉钉的开发文档就显得过于复杂繁琐,经常A模块中出现一个参数b需要在B模块获取,有个链接跳过去,然后再看B模块中有个参数c需要在C模块中获取,然后绕来绕去,最后彻底晕菜了。微信的开发仅针对微信内置浏览器,接口也基本两种模式,一种是程序通过API接口进行数据通信,另一种是用JSAPI的模式数据通信。钉钉开发不仅针对内置浏览器,还有PC版软件和第三方APP,相对提供的接口方式就比较丰富。对于我这个项目而言,主要还是使用内置浏览器方式调用web页面方式。文档大概看了几遍,有了基本概念,加上之前微信开发的一些经验。准备着手开发,毕竟文档脱离了具体项目是很难完全理解的。

由于钉钉存在手机版和PC版,这个业务模块在钉钉两个版本都会使用到,PC版为主,移动为辅,这个就要求页面要自适应宽度,在不同的宽度版本(移动和PC)都要良好的提现,文档中也有对于两个版本的一些宽度尺寸的规范。模块的UI框架直接使用了Amaze UI,这个框架以前项目开发中使用过,文档和易用性都还不错,有些功能或者细节方面还不是很好,不够灵活。不过基本能满足一般项目。(其实还是懒得折腾),框架定好了,刚开始开发就遇到一个大坑,移动版和PC版的JSAPI居然不是同一个,这个一开始没注意到(最开始使用的PC版),等到登录开发完调试的时候才发现,PC版获取钉钉登录信息并自动登录业务系统没问题,移动版直接卡在获取钉钉登录信息那块了。后来多次调试加上仔细看了下文档才发现这个问题。知道问题就好处理,加个移动端判断调用不同的JSAPI文件解决。其实个人认为获取钉钉登录信息通过钉钉自身的接口更好一些,跳转到钉钉的一个认证页面上,获取后在跳转回项目并带着认证信息,钉钉文档里面也有这个接口,不过需要申请才能使用,好像还要有一定的要求,本着不折腾的原则(其实就是懒),暂时用JSAPI的方式处理。接下来就是正常的项目开发,暂时用到钉钉接口的地方不多,最多的也就是将项目里面的信息推送到群里面或者DING下某些人。

钉钉的调试也不是很方便,比微信好的地方就是调试非接口性的功能,钉钉可以在普通浏览器调试,而微信接口控件会直接提示请使用微信打开。但是调试接口方便的,微信可以在官方的开发工具里面调试,而钉钉就只能在客户端调试,好在有PC版的钉钉,至少不用老是在手机上面点来点去了,也希望钉钉会对应出个开发工具,至少方便项目的调试。

针对钉钉不断侵占企业OA这个市场,微信也针对的推出企业微信,虽然之前微信也推出过企业号,但是功能简单,易用性差加上功能没法定制,估计也没多少企业再用。这次的企业微信完全朝着钉钉去的,不可否认企鹅的借(chao)鉴(xi)能力,面对小企业基本能碾死一大片,这回面对阿里,最终结果还不得而知,不过借助微信的势,不可小觑。

再聊聊钉钉开发

@玛酷猫4年前

02/24
21:01
数据库

MySQL同一表中重复数据处理

PS:工作中的随手记录,并非最佳处理方式,仅作为一种思路。

筹备新系统的过程中,遇到这样一个情况,数据库中一个表已经添加了300条信息,这时候突然从外部直接导入了1000条信息,其中有一部分重复信息,在重复的信息里面,新加入的数据有一个字段数据是原来数据里面没有的。现在需要将重复数据中原来没有的那个字段数据更新到原始数据中,并且删除重复数据。假设数据表结构简约如下:

表A
id name phone
1 张三
2 李四
3 王五
-----------------------------
1000 李四 1234567890
1001 赵六 0987654321

其中虚线以上部分是原有数据,以下部分是批量导入数据,phone字段仅新插入数据有内容。

由于在一个表中,先查下有多少重复数据,SQL如下

select name,count(name) as num from 表A group by name having num>1

有一点要注意就是在group by的语句中where和having的区别,两者处理数据顺序不同,where是在group by之前处理筛选数据,having则是group by之后在处理筛选数据,其中重复的数据大概有接近200条。

下一步就是把重复的这近200条数据中,新加入数据中那一个特殊字段的数据更新到老数据中。思路为先从上面重复数据里面分离出后添加的数据,将后添加数据特殊字段内容更新到前面老数据中,假设后添加数据起始id为1000。

update 表A as aa 
inner join (select a.id,a.name,a.phone from 表A as a,(select name,count(name) as num from 表A group by name having num>1) as b where a.name = b.name and a.id >= 1000) as bb
on aa.name = bb.name
set aa.phone = bb.phone
where aa.id < 1000

这里不知道是不是mysql(5.6)版本问题还是其他原因,之前使用update……set……from……select……where语句来更新数据的时候报错,后来换成上述语句更新。

更新完了后就是删除重复数据了,主要还是删除后面添加进来的数据。

delete from 表A 
where id in (
  select aa.id from (
    select a.id from 表A as a,
      (select name,count(name) as num from 表A group by name having num>1) as b 
      where a.name = b.name and a.id >= 1000
    ) aa
  )

这里其实多套了一层select,由于mysql中不允许在同一个表中先select出数据在update这个表,会报类似这样的错误 You can’t specify target table for update in FROM clause,中间多加了一层select来规避这个错误的出现。

至此问题处理完毕。其实在一个表中做这样的处理是非常不好的方法,在数据导入的时候先导入一个临时表中,在进行两个表之间的数据处理,从逻辑上和语句上面都简单很多,出现意外错误的几率也会少很多,误操作影响原有数据几率也小很多。

MySQL同一表中重复数据处理

@玛酷猫4年前

01/19
11:14
计算机 项目管理

微信开发闲扯

自从去年6月份开始接手微信开发,算下来也有半年多了,其间进坑无数,所幸依旧尚存,不得不吐槽下。

首先要说的就是微信这种开发模式,简直丧心病狂、毫无人性呀,不知道当初开发团队是处于什么考虑的,流程各种绕,前置依赖很多,虽然说有开发文档,但是如果你不去开发项目,仅仅的是看文档的话,直接就绕晕掉了。订阅号和服务号,再加上认证,就是四种类型的账号,对应不同的接口权限,加上微信开放平台的接口,微信支付的接口,零零总总一大堆,居然后面还有应用号,不知道又会开放什么新接口。

其次是调试困难,在官方开发工具出来之前,只有一个简单的网页版接口调试工具,用来检测下通信数据传输和返回值是否正常。对于大部分开发者都是本机开发,微信接口映射到本机就是个麻烦的事情,固定IP的话可以在路由器里面做下端口映射,非固定IP可以用一些动态域名比如花生壳之类的,或者使用ngrok工具,其实也是一种动态域名方法,即便是这样问题也很多,一方面大部分使用都是免费动态域名,每次域名都会变,都需要在公共平台里面修改接口地址,另一方面要使用jssdk接口的话域名需要备案,备案,备案。。。。。说完了后端部分就轮到前端了,由于接口必须需要微信浏览器支持,所以在普通浏览器里面用正常的方法都会显示微信的提示。在官方开发工具出来之前,还没有什么很好的解决办法,基本都是去掉微信jssdk部分调页面的效果,线上调试用微信PC版,可以看到源代码,查看下一些动态的内容是否正常输出,再剩下的问题就要靠经验了。还好微信也意识到自己这个生态环境不是很友善,出了开发工具,感觉就是个深度定制的chromium,使用起来还是比较方便的,至少能解决之前的页面和JS调试的痛处。

再次,微信开发应用使用起来也不是很友好,最严重的就是通过公共平台进入开发的应用,比如现在很流行的微商城,我在浏览商品的时候突然来了一个微信消息或者其他的信息,打开看了后就没回到之前浏览的页面了,尤其是在进行一些流程性的步骤,比如说购买,只能重新来过。通俗点说就是抗干扰能力非常差。这就需要开发者在开发应用的时候简单明了,层级流程尽量的短小,无需过多思考,一两步就能完成。也就限制了大型复杂的系统的接入性,不是不能接入,而是使用体验会很差,一有干扰直接重来。不清楚应用号会不会在这方便有所改变。

最后对于微信这个业态,我一直认为正确的微信模式就是服务号的模式,个人非常反感订阅号,虽然有很少部分订阅号质量非常高,也仅仅泥塘里的一两颗荷花,剩下的都是信息垃圾,各种鸡汤、伪科学、广告推广等等。我们现在处于信息泛滥的时代,人们已经开始由原来的被动接受信息转变成主动获取想要的信息,订阅号那种天天推送的模式反而令人反感,至少对我来说,再加上微信也是注意到了这些,将订阅号全部合并折叠起来,消息的获取宽度更窄,其实也是鼓励运营者向服务号转变。通过之前微信要推出应用号这个消息也能看出来,微信在不断的弱化自身的媒体属性,更多的作为一种平台,或者说是入口。公共平台利用微信上的人脉,加上微信很方便的扫码、摇一摇周边等参与模式,将用户导入进自己的平台系统中去,这种精准化营销是其他平台不具有的。支付宝虽然也在做类似的事情,可是起步晚了很多,虽然用户基数也不小,可是要用户改变已经养成的使用习惯,也是很难的。如果解决好微信开发的应用使用上的问题的话,也可以是企业一个很好的营销入口。

微信开发闲扯

@玛酷猫4年前

01/5
18:40
心情点滴 计算机

猫窝搬迁至国内

当初因为嫌麻烦懒得去备案,猫窝一直安放在国外,已经好多年了,偶尔服务商调整IP,没注意查看邮件暂时无法访问几天外,整体无大碍,也就是访问慢一些,倒也还在忍受之内。不过近期一连串事情,也让我有了想搬回来的想法。

首先就是备案号,放国外的初衷就是嫌麻烦,也就没有备案号,可是国内越来越多的服务需要提供备案号,第一个就是微信公共平台,近半年来一直在做这方面的开发,虽然公司有些平台账号可以测试,但是由于做活动的需要,经常换来换去,也挺麻烦,自己有个还是方便些,同时做些其他开发也不用拿公司的号来测试,第二个就是一些CDN服务,比如七牛,在这个带宽费用比硬件费用贵的多的时代,图片放在CDN上面还是有必要的,CDN提供的临时域名毕竟太不友好,又长又不好记,肯定是绑定自己的域名方便,但是绑域名同样需要备案号。随着国内互联网管控的越来越严格,很多API接口呀,服务呀可能都慢慢的需要接入域名必须先备案。

话说回来有备案号,网站也不用一定要放在国内,这就说到第二个方面,就是访问速度,近半年网站的访问速度明显下降,主要可能还是要归功于伟大的墙,对很多国外空间商都不很友好,ping起来并不高,但是访问起来明显卡顿。去后台发个文、更新下都要卡半天,那感觉,很不爽。

最后关键的一点就是阿里云做活动抽了张88元的代金券,作为秉持有券不用太浪费的原则,购置一台最低档的虚拟主机,反正就是放个个人博客,再加上也没什么人访问,也不需要多好的配置。然后就是填表提交材料,照相,备案,一气下来也蛮顺利,今天备案号下发下来。

剩下的就简单了,程序打个包下下来,数据库备份下下来,再传上去还原下,解析域名,duang,完成。

以上纯属想当然,实际中也遇到一些问题。

首先就是htaccess文件,这个文件在国外的空间管理系统是隐藏的,打包就没打进去,导致搬家后自定义页面全部都是404,更不用说个性化的用cat作为页面后缀(SEO什么的完全不考虑,我的猫窝我做主),又从原来空间拷下来再传上去。其实在后台上面固定链接里面重新保存下也能生成htaccess文件,只不过原来的里面还有以前老域名的301跳转,所以还是直接拿来了。

站点在墙内了,Gravatar自然而然的挂掉了,头像全都是叉叉,网上搜了下,SSL还没墙,是用这个就好了,添加在主题的function.php中,代码如下

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

放上去,头像的确显示了,不过都是2倍的大小,问题严重呀,看来这个方法也是很久之前的了,看了下原来的头像代码

<img alt='' src='https://secure.gravatar.com/avatar/cae0907deb928695845b7627d7236a60?s=44&#038;d=identicon&#038;r=g' srcset='https://secure.gravatar.com/avatar/cae0907deb928695845b7627d7236a60?s=88&amp;d=identicon&amp;r=g 2x' class='avatar avatar-44 photo' height='44' width='44' />

为了适配高分屏,头像里面有两个路径,分别对应原始大小和双倍大小,按照上面正则替换全都换成后面双倍大小尺寸,所显示的头像都是两倍大了,而且原来的方法直接把图片标签替换了,原来图片中带的其他参数也全部丢弃了。其实只用替换掉路径就好了,把原来的路径换成SSL的路径,修改后如下

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/[^\']*avatar\/([^\']*)/','https://secure.gravatar.com/avatar/$1',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

保存,上传,刷新,完美。

另外一个问题就是Jetpack,在墙内虽然也能使用,但是由于墙的存在,很多功能都失效了,而且我这里貌似和后台主题有些冲突,开启插件后,自定义主题就会报500错误,禁用就好了,具体原因不详,在原来的空间不存在这个,可能还是和空间配置或者墙有些关系,反正还有其他的一些替代方法,就暂时不去理他了。

最后试了下定时备份和备份发送邮箱,空间好像有所限制,没法收到备份邮件,看来要勤快点多做备份了。顺便找找有没有其他备选方案。

猫窝搬迁至国内

@玛酷猫4年前

12/24
22:58
计算机

跳版本号的时代

自从windows 10消息的发布,微软就带了个跳版本号的坏头,直接把9给生吞了,(错怪微软了,ORACLE很早就干过这类事情。)前段时间PHP 7消息的发布,且不说如何如何进步,6也被无情的跳过了。最近在改之前同事thinkphp写的站点,去官网查了下手册,才发现thinkphp 5版本也在悄然上线公测了,3.2直接到5.0,跳过了4这个版本。

跳板本号的原因可能有很多,风俗呀、忌讳呀、个人喜好等等,更多的一种情况是,现行版本和新版本并行开发和维护,对现行版本改动很大的新需求都会放到新版本中,慢慢的新版本需求越来越多,期望越来越大,开发进度却越来越缓慢,最终只有放弃这个分支,重新梳理现行版本的下一个版本,导致版本号的跳跃。

由此可见项目管理的重要度,随着项目的推广,使用人群越来越多,各种声音也不断的出现,有需要增加新功能的,有需要精简的;有的需要改成这样,有需要改成那样,众口难调。一味的迎合用户往往结果就是谁都满足不了,最终只能得到一个臃肿不堪、漏洞不断的项目。坚持项目的初始理念,抓住项目的目标人群,再加上合理的迭代,才能保证项目正常的发展下去。而往往这些都是说起来简单,做起来却要很是下一番功夫的。

跳版本号的时代

@玛酷猫4年前

12/11
10:58
心情点滴 魔兽世界

魔兽十年

魔兽十年 回首望去
刹那间不知有多少的回忆 涌上心田
那个总是给你做面包的法师
也许此时此刻 正在为下个月的房贷忙碌奔波
那个喜欢变成熊跳舞的奶德
则已经忙着在家里面奶孩子了
那个沉默寡言的副坦克
如今做了一家公司的副总
依旧在独当一面着 而那个总是被你调戏的 牧师妹子
现在估摸着呀 也应该嫁人啦
魔兽十年 无数强大的公会败给了时间
多少一起玩耍的伙伴相忘于江湖
在我们的回忆里 它就像一个与现实世界相交的独立空间
我们在此相遇过 却不得不渐行渐远
魔兽对于我们 不仅是一个游戏 它是一整个青春呐

——暴走大事件第四季第22期

想想公测的时候加入游戏,期间断断续续,直到熊猫人彻底AFK,和工会的小伙伴们奋斗的日日月月,一次次的FD,感慨万分。电脑中保存了一张MC首次FD的合影,也在几次重做系统中不知去向,就像视频中所说,10年了,当年的一群人现在都已经结婚生子,各自有自己的家庭事业,“相忘于江湖”,不过在这里要谢谢你们,感谢当年一起的游戏的岁月,一起创造的美好回忆。

魔兽十年