浏览器插件的演化

浏览器插件,主要使用了两种,一种是微软的ActiveX插件,一种是Java Applet。

说实话,两种插件的引入,主要是为了突破浏览器的本地访问限制。而且,很多控件都是内网使用,是自签名的,你懂的。

ActiveX插件,主要用于了调用WindowsAPI,调用本地EXE等。
这种模式,在2013年-2014年,逐步被CS+BS的模式所替代。

Applet插件,主要用于了多线程下载控制,调用JS等。总体来说,JVM对Applet的沙盒控制还是越来越严格了。
在2013年引入了Java Web Star,但效果也一般。

BS架构的演化

==========================================================
2010年下半年,公司开始BS开发,主要语言为java。以Sevlet+JSP为主,只用了Struts1框架。

2011年,引入三大框架Struts2、Hibernate、Spring。

2012年-2013年,以后台通信业务为主,主要使用了Hibernate、Spring。负载均衡采用了APACHE+TOMCAT的方式。

2013年-2014年,引入了Maven及模块式开发,引入了ESB,开始推行单元测试。Struts2逐步切换到SpringMVC,Hibernate逐步切换到MyBatis,并进行了二次封装。

2015年,引入监控机制,版本发布机制,开始抽离SQL语句。引入Reids+Nginx,引入MongoDB,引入消息中间件。

2016年,引入CI,引入eXistDB。

==========================================================
自从2010年开始使用C#以来,也有不少BS项目是C#开发的。

2010年-2014年,主要采用ASPX+ADO.net的开发模式。

2015年,引入了EntityFramwork+MVC的开发模式

2016年,引入单元测试及CI。

CS架构的演化

最开始,公司的CS开发语言,主要有三类:BCB、VC、C#。SVN及自动更新功能已经完善。

2009年,我们组采用的开发工具为VS2008,UI框架为MFC,没有任何框架,为纯Native的C++开发,通过ODBC直连数据库。

2010年,开发工具切换到VS2010,UI框架直接切换到了WPF,程序功能开始进行切分,将后台功能从前端UI分离,封装为Windows服务,但仍然为纯Native的C++开发,仍然通过ODBC直连数据库。

2011年~2014年,个人转战BS,公司CS期间架构相对稳定。

2015年,开始组件式开发,转型很痛苦。

2015年,开始混用CS及BS,将两层CS架构,转换为CBS架构。

2016年,引入应用中间层,将两层CS架构,转换为三层CS架构,开始面向接口编程。

MBP调整硬盘分区(后记)

总结了一下,应该的流程为:

1、在MBP下,用Win7自带功能缩小分区
2、MBP的硬盘取下,调整为移动硬盘,接到虚拟机上,直接Ghost备份
3、MBP硬盘安回去,到MAC下调整分区
4、MBP的硬盘取下,调整为移动硬盘,接到虚拟机上,直接Ghost还原
5、用PE修复Win7的启动项
6、MBP硬盘安回去,就可以进入Win7了
7、进入MAC,备份原装硬盘的数据
8、删除分区
9、进入Win7,扩展分区
10、进入MAC,调整GPT分区表

这样就搞定了,而且不用处理光驱问题。

MBP调整硬盘分区

我的MBP,是2011 Early,如果你体验过它的妖娆,你就懂得,为什么我不想重装。
(安装Win7必须是原装光驱在光驱位)

以前是300G的一块硬盘,后来加了500G的SSD(SSD在硬盘位,原装硬盘在光驱位),在SSD上安装了MAC和Win7。

但最近,MAC盘彻底满了,而Win7的系统盘还有不少空间,于是准备调整一下Win7系统盘的大小。

首先Win7安装了Ghost15,做了个备份,是v2i格式的。

然后重启到MAC系统,删掉Win7分区,用Bootcamp向导平分了整个SSD。

关机,将SSD拿下来,放到移动硬盘盒里,连到另一台笔记本上,准备Ghost回来。

靠,Ghost了两次,都失败了。。。

心里哇凉哇凉的啊。

放回MAC里发现,文件的确可以看得见,但明显不对啊,250G空间,用了200G,还有 150G。

靠,坑爹啊,Windows干脆不认。。。

估计是直接按原来的硬盘分区恢复的,现在硬盘分区变小了,当然放不下,但Ghost大哥,你好歹提示一下啊,欲哭无泪
(如果先把Win7分区缩小,再备份,再还原,应该就可以了)

现在没招了,直接文件恢复吧

直接将v2i备份中的全部文件,还原到新的分区,测试了一下,认不到Win7。

实在不想把光驱恢复,于是想了下,用VMWare,建了个虚拟机,连上移动硬盘,光盘启动。

进入Win7修复界面,

bootrec /FixMbr
...OK

bootrec /FixBoot
...找不到元素

这算啥啊,网上找了下,用diskpart命令将Win7分区设为Active。

bootrec /FixBoot
...ok

bootrec /RebuildBcd
...找不到设备

bcdedit /export C:\bcdbackup
...找不到设备

我靠,你都能看到C盘,你告诉我找不到设备

直接修复启动,还是不行。

疯了。

最后一搏,不用虚拟机,直接将原装光驱换上,光盘启动,修复。
直接提示启动项有问题
修复后重启,好了。

进入系统后,office2010报告无法安装字体文件,直接修复安装,OK。

原装硬盘以前划分了部分空间给MAC,先在MAC系统下数据备份出来,删除分区。
到Windows下,直接扩展了分区。
到MAC下,用gdisk,调整了GPT的分区表。
终于搞定了!

结果,周末没陪老婆,被骂了。。。
哄老婆去了。。。

PS:
1、用老毛桃的PE,换了多个版本,U盘版本无法启动,硬盘版本启动后,找不到设备
2、用一键Ghost,也很挫,硬盘版启动后认不到U盘,U盘版本无法启动
3、其实,虚拟机里,提示过Win7启动项有问题,但我忽略了,否则有可能不需要换光驱
4、下一次可以试一下,直接用虚拟机备份还原,应该前面两个工具就都能用了

此外:
1、Win7驱动有问题,连接移动硬盘后,经常被认成键盘鼠标,移除后就只能强制关机了
2、不知道什么原因,使用iPhone耳机连接后,只有一个声道的声音,而用小米的耳机就有两个声道,不知道哪里的原因,好烦

第一次拆iPhone4S

这绝对是no zuo no die的典型事迹啊。

iPhone4S美版,IOS5.1.1,卡贴解锁,已越狱。美中不足,锁屏键坏掉了。
我当然不能妥协了,于是淘宝上买了个开机排线(感光排线),一个城市三天才到。

晚上下班后,开始了拆机之旅,拆到一半发现没带镊子,于是回家搞了个镊子。
回来继续拆,iPhone 4S比iPhone4难拆一些,尤其是前置摄像头保护罩,用了一刻钟才弄下来。
全部拆掉后,换掉排线,开始组装。

感光排线有些难弄,但还好啦。
主板上好,弄右上角的wifi排线,插好了,发现排线位置不对,与是撬棒弄下来准备再插一下。
靠。。。。。。
不小心把主板上的wifi排线插座弄掉了,整个脱焊了,吐血啊。。。
怀着复杂的心情,将手机装好,发现果真wifi时断时续,基本没法用了。
心情异常沉重,距离成功只有一步之遥啊。。。
查了一下,要重新焊上才行。
虽然能借到电烙铁,但以前只弄过很简单的焊点,这个还是不要自己弄了吧。

今天,跑了一趟电脑城,遇到了一个靠谱的师傅,十几分钟就给我搞定了。
当然,师傅对我可以把这个弄掉表示无法理解,另外鄙视我“和钱过不去”。
好吧,我承认,25块能搞定的东西,我最后花了175。
吐血啊。。。

还好地方是,我自己换上的地方,全都好用哦,哈哈哈哈哈哈哈。
下次继续自己拆。

另外,回来的时候,出租车师傅教导我:
1、心态要好,别瞎着急,着急解决不了问题
2、与人沟通的时候,要注意沟通方式和预期
第一次感觉打车赚到了。。。

我可怜的Nexus7平板啊

想来Nexus7已经挂了4、5个月了吧,今年我的电子产品挂得真是干脆,各种悲剧啊。

其实起因很简单,我从广州回上海时,没有带Nexus7。

当我重新回到广州后,发现没什么电了,但可以更新,于是点击了更新。

更新后,无论如何,Nexus7都会卡在Google的启动界面。

当时心情正郁闷而且Nexus7很久没有Root过了,于是准备开始Root。

网上下了最新的Root工具,然后开始Root。

但过了好久都没有任何反应。

立即清楚,这次悲剧了。

重启后,发现Bootloader已经没有了。

网上各种查找资料,发现Nexus7的1代,这个问题我不是第一个遇到,但大家的解决方法,都是“返厂”。

老子代购的,怎么“返厂”啊。

于是在广州、上海找了不少人帮忙看,发现,我的刷机水平,比他们中95%的人都强。
要是能进入fastboot,我找你干吗?

后来,有人说刷字库可以解决问题,找了两家试试,甚至发快递到深圳修,发现都搞不定。

唉。。。

非主流的悲剧啊。。。

估计是没什么希望了。。。

刷机有风险,入行需谨慎。。。

iPhone4数据备份成功

//=========================================================
上周在天津,找了个iPhone的修理店,里面的小师傅说我的iPhone4主板短路了,不能修。

我和他们商量,帮我换块电池吧,结果被一大三小四个师傅一起鄙视,说是会引起火灾。

估计到最后他们也没明白,我只是想备份数据,手机不打算用了。

但人家说就是不可能开机了,靠,鄙视,有电明明能开机的。

没办法,自己X宝买了个电池。

//=========================================================
昨天,终于回到上海。

电池早就到了,于是下班的时候,换上新电池,开始了手机数据备份。。。

换了电池,开机,成功了!

哈哈哈哈哈。。。

马上备份。。。

然后手机开始发烫,关到飞行模式也不行。。。

只好备份一部分就关机散热,中途自己一顿人工降温。。。

弄了半个小时,终于备份完成了。。。

//=========================================================
后记:
昨天晚上去买5S,晚上去中山公园的永乐买,结果没32G的,就跑到了陆家嘴Apple旗舰店。
买是买到了,但发现,卡必须是nano的,没有卡没法激活。
靠。。。
再等等吧。。。

//=========================================================
卡激活了,还是去联通剪的卡,还在下雨,好坑的说
终于用上了:)

//=========================================================
鄙视Apple,刚买了不到一个月,降价了1200,一张机票没了:(

iPhone4和耳机一起挂了

我可怜的iPhone耳机,上个月开始一直就不太稳定,经常插上后,会自动将音量调到最大,感觉线控挂掉了
但后来,有时候又是好的,而且再买一个也挺贵的,于是就凑合着用了

估计是我周日洗澡的时候,iPhone放到一边,进水了,然后后续的悲剧就开始了
周日晚上开始狂发热,开始还以为是散热不好,但出现了两次手机温度过高的画面后,我意识到,貌似进水啦。。。

周一发现,耗电好厉害。。。
充电一晚,到100%,周二上班。。。
打了30分钟电话,电量只有30%,然后,半个小时以内,电量耗尽,中午的时候,早已经关机啦

尝试了好多次,一直没法充电成功。。。

由于开机工具没在身边,只好回去再处理一下啦。。。

由于MI2S也在刷机,中间出现了几次没有手机可用的窘境。。。

悲剧啊。。。

希望过一阵子可以搞好。。。

小米2S刷Android4.4.4

上周末,本来的工作任务取消了,于是开始了痛苦的刷机历程

开始折腾。。。

1、在小米论坛,找到了秋大的Android自用版4.4.4
2、准备开始卡刷,但发现上次刷了4.1版本,无论如何都进不了Recovery,只能进Fastboot模式
3、只好下载了MIUI的最新版本,线刷到手机中
4、MIUI好了,就开始找第三方的Recovery,找了两个都不好用,最后用秋大的版本是OK的
5、然后将Android4.4.4卡刷到系统2
6、开机,OK
7、开始增加Google服务,但找了几个包刷进去都不行,就只好找了gapps,在Recovery下刷入
8、重启后,无法登陆Google账号,SSH和VPN都不行,悲剧啊

继续折腾。。。

各种尝试后,不小心进入了系统1,MIUI进不去,然后重启到系统2,Android也进不去啦。。。
后来发现是关闭了双系统兼容,所以只好将用户数据全部删除了,重新进入到系统2。。。
然后,Android让我登录Google账号

老子在PRC,不翻墙,哪里上的去Google账号啊,你大爷的。。。
最后,灵机一动,用iPhone4的热点,代理Andoird穿墙。。。
折腾了好几次,终于好了。。。

好消息是,我登上Google账号了。。。
坏消息是,居然没有联系人同步。。。
你大爷的。。。

最后分析,应该是ROM的作者,把Exchange账号类型干掉了,为了给ROM减肥,你至于吗。。。
没办法,只好用很傻很天真的QQ通讯录,真心不专业啊。。。

继续折腾。。。

开始安装APP,用SSH下载软件,下了整整两天,那叫个慢,你大爷的。。。

我的周末就这样过去了,真是一个超(no)级(zuo)充(no)实(die)的周末啊