Moto360更新Android 4.4W.2 更新内容一览

Android 4.4W.2版本正在逐步推送,Moto360也得到了Moto的更新。从10月21日起Moto已经开始推送本次更新,只要连接上网络应该很快就能收到更新提示,另外要安装更新需要充电到80%。

Moto官方Blog提供的更新内容翻译如下(翻译如果不准确请见谅并指出):

  • 智能省电:当电量小于15%时,Moto360会自动关闭ambient mode;
  • 及时同步时间:Moto360将提高与手机时间的同步频率,使得手表的时间更加准确;
  • 界面消息优化:因为观察到消费者更多时候是把Moto360当作手表来使用,希望能看到精美的时间。所以本次更新了一个新特性,通过在消息上直接下划就可以隐藏通知,等到有新消息到来才会再次显示;
  • 充电时自动调节亮度:Moto360会根据环境的明亮程度,自动调整充电时的屏幕亮度,这样就不会显得太亮或太暗;
  • 准备连接蓝牙耳机:一些内部功能的改进,为Moto360与蓝牙耳机进行连接进行准备;
  • BUG修复:修复一些BUG以提高用户体验。

一些优化功能还是蛮不错的,比如“界面消息优化”和“充电自动调节亮度”。

让Moto360充电时关闭屏幕

有国外Moto360用户反映在充电后屏幕上出现了残影(reddit),按理Moto360使用的是LCD屏幕不会有烧屏的问题,所以比较有可能是软件的问题。Moto360在充电时的常亮画面确实很炫,不过有些人可能不喜欢这样,另外也为了避免出现残影的问题,目前有两个办法可以在充电时关闭屏幕:

  1. 通过在手机上开关Amibent screen选项:先把手表放至于充电底座上,此时屏幕会显示充电画面,这时使用手机上的Android wear软件,勾选Ambient screen选项,之后再取消勾选,屏幕就关闭了。
  2. 安装Slumber for Android Wear软件:在谷歌市场安装Slumber for Android Wear,安装好以后在手表上运行一次,之后放在充电底座时屏幕就不会亮了。

好了,这样充电的时候屏幕就关闭了,不过问题来了,怎么知道充电充满没有呢?很简单,用手机上的Motorola Connect,就可以查看手表的剩余电量。

我知道大家都很懒,所以文中提到的两个软件可以直接在这里下载:

Package Name: com.janderson.slumber
File Size: 2.7 MB
MD5 File Hash: 91d46f2a6678503c663bb69f7de48036
Version: 1.2 (3)
下载地址:http://pan.baidu.com/s/1hqeOPnQ

Package Name: com.motorola.targetnotif
File Size: 14.8 MB
MD5 File Hash: a017649600f60e4afd7732ce02436f2f
Version: 2.01.25-74 (20125)
下载地址:http://pan.baidu.com/s/1hqEaJL6

Moto360屏幕的点亮、熄灭与常亮

点亮屏幕

默认配置下,Moto360屏幕平时是熄灭黑屏的,这时候要点亮屏幕的话,有三种方式:

  1. 翻转手腕:Moto360会根据手腕翻转的动作点亮屏幕,酷是很酷,不过成功率一般,多加练习以后应该能达到70%以上。技巧是翻转速度不用太快,翻转后的角度稍微偏倾斜一些(不要刚好翻到水平),翻转以后要稍微稳住一下,翻转以后屏幕不是马上亮的,有个亮屏的延迟(感觉0.3秒左右),体验不是很好,希望以后通过固件升级可以有所优化。翻转的角度可以不用很大,其实只要15度左右就能触发。
  2. 触摸屏幕:这个就很简单了,用手指触摸一下屏幕就行了,拿东西碰屏幕是点不亮的,所以如果冬天戴手套的话会比较麻烦。
  3. 按下按钮:这个是最简单的了,按下按钮屏幕马上亮起,成功率100%。

熄灭屏幕

熄灭屏幕的方法也有三种:

  1. 什么都不做:最简单的熄灭屏幕的方法就是不管他,一般4-5秒后屏幕就会自动熄灭。
  2. 按下按钮:这个也很简单,屏幕亮着的时候按下按钮,屏幕马上熄灭。
  3. 用手掌覆盖屏幕:这是隐藏绝招哦,覆盖以后会震动一下,然后屏幕就熄灭了。其实不用覆盖整个屏幕,只要用手遮住圆形屏幕最下方的感应区就可以了。

屏幕常亮

Moto360屏幕熄灭以后,平时要看手表的时候还要点亮屏幕好像比较麻烦(其实是想要逼格高屏幕整天黑着可不行),这时候就需要开启Amibent Screen模式(不知道怎么翻译:常亮模式、微光模式),开启的方法很简单,进入Setting菜单以后,选择Amibent screen,这时会提示开启后导致缩短电池续航,点勾以后就开启了,另外也可以在手机的AndroidWear软件的设置菜单中开启。

开启AmibentScreen以后,屏幕不会熄灭,而是变为最低亮度并灰度显示,动画效果也会被精简(比如不跳秒了),不过这个模式也不是真正的常亮,只有在表面朝上时才会亮起,其他角度下还是会熄灭成黑屏的,不过确实看时间方便很多,屏幕向上马上就亮了。开启AmibentScreen的代价就是电池续航下降(估计只剩下8-12小时),不过为了更方便(逼格更高)一些,付出一些续航的代价也是可以接受的吧。

多看书城邀请码

20130705:已经有些邀请码被使用了,重新更新了一批。

几年前买了Kindle3以后,陆陆续续看了一些书,期间接触到了多看,后来多看推出了多看书城,由于出版了不少精品书籍,也对此青睐有加,也在多看书城上购买过一些书。今天偶然发现多看书城有邀请活动:发送邀请码给好友,好友凭邀请码在多看书城进行注册,成功后可获赠一本多看精品书;好友首次成功购买多看精品书,同时您也获赠这本书。这个活动还蛮有意思,所以我把邀请码在此分享出来,希望能与爱书的朋友们一起分享。活动帮助见:http://book.duokan.com/help/invite

Continue reading

关于产品包装的ESB服务定义探讨

需求背景:

某银行为支持小微企业发展,解决小微企业流动资金不足的困难,设计新贷款产品:优质客户在贷款到期时,可以通过审批获得一笔新贷款,客户偿还上笔贷款利息后,银行为客户发放新贷款,并自动将新贷款用于偿还上笔贷款本金(实际就是延长了上笔贷款的还款时间,避免小微企业为偿还贷款而借用民间短期借贷)。

系统背景:

该银行建设有信贷系统和核心系统,信贷系统主要负责贷款的贷前审批及贷后管理,核心系统主要负责贷款发放、偿还等账务核算。

实现分析:

该产品是通过对现有的“贷款还息”、“贷款发放”、“贷款还本”三个服务的组合包装,而问题在于该产品是应该由信贷系统连续调用三个服务来实现该产品功能,还是应该由核心系统对三个服务进行组装提供一个新的“贷款还息延期”服务(服务名称可能不合适,暂定)。

服务定义:

最初的思路,是由信贷系统在一个事务中,组合三个服务,包装为一个新的贷款产品,ESB不再新增服务,但若按此思路开发,则信贷系统需对核心系统提供的三个服务分别按次序调用,并保证全部成功,跨系统的事务一致性保障并不容易实现。若改由核心系统提供服务,由于核心系统并无组装现有交易模块的功能,需开发新程序将原有三个交易模块写于同一事务中(实际就是把三个交易代码复制到一起,然后简单修改)。

定义结果:

最终决定,由核心系统提供“贷款还息延期”服务。定义由核心系统提供服务,并非前述的实现难度的差异,而是基于贷款产品的实际提供方的考虑,表面上贷款产品是由信贷系统提供,但如系统背景中所述,该行的信贷系统是作为流程审批系统来使用,贷款的业务处理及账务核算均由核心系统提供,在该背景下,“还息”、“放款”、“还本”都是属于核心系统的服务范围,信贷系统只是作为一个业务发起方,本身无相关业务处理,核心系统才是真正提供该贷款产品的服务方,所以在该背景下,应由核心系统对已有服务进行组装,提供新服务。

扩展思考:

  1. 若信贷系统作为贷款的业务处理系统,承担贷款相关的所有业务处理,而核心系统提供的是会计分录记账,根据信贷系统提供的会计分录进行记账,那么就无需新增服务,因为所有的业务处理在信贷系统内部就可以完成,核心系统不需要进行改造。在这种场景下,信贷系统和核心系统是松耦合的,但对信贷系统的功能要求较高。
  2. 若信贷系统和核心系统间的界限较模糊,均承担了一些业务处理,如核心系统提供通用记账,根据信贷系统提供贷款种类信息及各项记账金额,核心决定记账方式和规则,则该业务产品的实现,可由核心系统对记账规则进行配置,而信贷系统完成相关计算来实现。在这种场景下,信贷系统和核心系统是紧耦合的,新增业务品种,核心需进行相关配置或修改,但核心系统的提供的服务相对唯一。
  3. 在该案例中,信贷实际只是业务发起方,核心系统实现了所有业务及账务处理,信贷系统和核心系统也是紧耦合的,新增业务品种,核心需新增服务(是否核心系统能通过整理产品模型,统一提供较为标准的某类产品服务,这样就貌似和第2点的情况一致了?)。

茶余饭后:

建设ESB的目标,就是将各系统进行解耦,降低系统间耦合度,提高业务响应效率,但在实际工作中,理想的系统模型是难以直接落地的,总会受到历史遗留、能力水平、资源情况等各方面约束,应该认识到建设ESB的过程也是一个循序渐进的过程,在服务的不断演变中循环上升,相信最终能获得成功。

文章只是对突然灵感的记录,不一定就正确,希望有志同道合之人一同探讨。

ICDSoft空间到期后,数据也能取回

一位朋友通过我这代购的ICDSoft空间到期不准备续费了,结果发现数据没备份,这时候已经登陆不上空间了,于是向我求助。

我联系了客服,说明不继续续费,但希望能取回数据,结果客服二话没说,就给处理了,没过几分钟就给了“空间、数据库、邮件”三部分数据的打包下载链接,下载链接有效期72小时。

这位朋友也因为我和ICDSoft如此周到的服务,决定再继续购买ICDSoft空间,真是一个双赢的结果呀!

我个人用了近3年的ICDSoft空间,最直接的感受有两点:1.空间稳定速度快;2.客服服务好效率高。希望ICDSoft越做越好,给我们这些客户带来更多优惠!

Ant编译出现乱码问题解决

最近几天碰到一个Ant编译后,出现乱码的问题,纠结了几天,目前应该算是解决了。事情是这样,手头有一个java的工程,由于是在windows下开发的,所以源码的编码格式均为gbk,之前工程的编译都是在windows环境下进行,所以一直也没有问题。最近由于环境管控需要(《在Linux下的用户特殊操作权限控制》),尝试在Linux环境下进行自动编译和部署,因此就出现了编译出来的应用有乱码的问题,查了几个地方,已确定是ant的javac和copy指令的参数配置问题,在这里把过程中学习到的知识记录一下。

首先是Java的编译和运行机制,从.java编译为.class的过程中,javac会默认按照编译所在操作系统的默认编码读取源代码,并编译成内部为UTF-8编码的.class,而在java虚拟机执行的过程中,会按照程序运行所在操作系统的默认编码,将UTF-8编码再次进行转换。通过这种两次转换的方式,Java实现了对多语言的支持。 Continue reading

使用iconv批量转换文件编码(linux&windows)

Linux环境下,在需要转换的目录下输入:

touch iconv.tmp && find . -iname “*.java” \
-exec iconv -f gbk -t utf-8 ‘{}’ -o iconv.tmp \; \
-exec mv iconv.tmp ‘{}’ \;

Windows环境下,在需要转换的目录下,执行放置iconv.exe程序,并执行如下bat脚本即可(点此下载程序包iconv(bat+exe)):

@ECHO OFF
FOR /R %%F IN (*.java) DO (
echo %%~nxF
iconv.exe -f GBK -t UTF-8 %%F > %%F.utf8
move %%F.utf8 %%F >nul
)
PAUSE

本文参考了以下两篇文章,感谢作者的分享:

Apache版本不同导致的RewriteRule语法不同

最近在利用.htaccess设置RewriteRule时发现,\d及\w语法无法支持,就此咨询了ICDSoft的客服,答复在Apache1.3环境下,是不支持\d和\w的。自己搜了一下网上的其他文章,发现\d可以使用[0-9]+来代替,\w可以.+来临时代替,就先这么解决问题了。

客服也反馈说在今年年底前,ICDSoft会完成所有服务器升级到Apache2.4,到时候就没有这个问题了。

在Linux下的用户特殊操作权限控制

需求背景如下:希望确保开发人员从SVN提取代码进行部署,而不是从本机上传程序,但因为要允许开发人员自行启停服务,所以变更用户需提供给开发人员,因此问题就是如何对变更用户进行控制,不允许进行除编译部署及启停服务的其他操作。

因此进行了如下考虑:

  1. 用户登录时就加载shell脚本
  2. 脚本不允许通过Ctrl+C中断结束
  3. 脚本退出时自动断开当前登录,自动登出
  4. 脚本通过密码或其他认证可以回到正常命令行
  5. 阻止用户通过FTP方式登录进行文件修改
  6. 阻止用户通过SFTP方式登录进行文件修改

可以通过以下配置达到这些效果(登录使用bash,FTP使用vsftp,所以使用其他shell或FTP的话,需根据实际情况进行调整): Continue reading