评说华为荣耀千元机,我需要的完美在哪里

华为荣耀从荣耀3C火起之后,一直都很重视低端机市场。先后出了荣耀畅玩4 畅玩4X 畅玩4A 畅玩4C等机型。甚至今天以华为的LOGO出了一款畅享5。 我一开始买了一款荣耀3C,使用一年多,除了边角有磕碰,一直使用至今没有功能性问题。足以可见华为的做工和质量。 但是人的欲望是会随时间膨胀,人会喜新厌旧的,我现在发现荣耀3C的内存太小了,只要1G。自带ROM也太小了,只要4G,系统占去一大半,可用空间只要不到2G。随着安装的应用越来越多,总是感觉空间不足,运行不是那么流畅。是时候该淘汰这部手机,买一款新机器了。 畅玩4,这款外貌不出众的机型,老掉牙的货物,摄像头只要800万像素,前置摄像头200万,电池只有2000mAh,内存仍然只要1G 肯定不在考虑之列。 畅玩4A,外貌还好,就是我不喜欢圆角的手机,我比较喜欢四四方方的。内存2G还好。摄像头只要800万像素,前置摄像头200万。电池也不大,只有2200mAh。不在考虑之列。 剩下的就是畅玩4X和4C, 两款手机都是2G内存,1300万像素摄像头。模样也差不多,特别是摄像头的机器人造型。 4C的ROM是16G(增强版),这个是比较赞的。 就是电池小,只有2550mA。 屏幕只有5寸,还可以接受。此外还有一个大黑边是诟病。特别是白色版。 4X的屏幕是5.5寸,电池有3000mA。唯一可惜的是ROM只有8G,系统占了一半。只有4G不到的可用空间。除此之外,4X没有太大的遗憾。有出色的外观和配置,持久续航,怪不得这款手机可以卖到1000万部。 此外4C和4X只有电信版的有NFC,只有全网通的有金色版。 再看最新出的畅享5.可能就是为了解决纠结这两款手机的用户打造的: 5寸屏幕,4000mA电池 16G的ROM 2G内存 1300万像素 在我心中完美的千元机是这样的: 4C/4A的外观。上下和黑边框都再小一点。 5寸或者5.5寸屏幕 16G的ROM 2G内存 后1300万 前500万像素 3000MA电池 移动4G 支持NFC。

2015年10月10日 · 1 分钟

写个定时任务每天向百度提交新链接

百度蜘蛛的爬行是有周期性的,你当天写的文章,百度可能几天后才会收集到。为了让百度早点收录新写的文章,我们可以向百度主动提交当天的新链接,百度站长可以每个月主动提交500个链接。 首先写个脚本push.sh #!/bin/sh CURRENT_DIR=$(dirname "$0") MYSQL_USERNAME="xxxxxx" MYSQL_PASSWORD="xxxxxxxx" MYSQL_DATABASE="xxxxxxx" MYSQL_CMD="/usr/bin/mysql" #百度链接提交地址,在百度站长里可以找到 BAIDU_COMMIT_URL="http://data.zz.baidu.com/urls?site=zhaoyanblog.com&token=xxxxxxx" #找出今天所有发布的文章,post类型代码文章,publish状态表示发布状态的,排除草稿。 today=`date "+%Y-%m-%d 00:00:00"` ids=`$MYSQL_CMD -N -u $MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE -e "select ID from wp_posts where post_type='post' and post_status='publish' and post_date>'${today}';"` if [ ! -n "$ids" ]; then exit; fi #把文章地址输出到一个临时文件里 cd $CURRENT_DIR rm -rf urls.txt for id in $ids; do echo "http://zhaoyanblog.com/archives/$id.html" >> urls.txt; done #提交给百度 curl -H 'Content-Type:text/plain' --data-binary @urls.txt "$BAIDU_COMMIT_URL" 然后在crontab里添加定时任务,每天晚上11点50执行: 50 23 * * * /bin/sh /home/zhaoyanblog/push/push.sh 2>&1 1»/home/zhaoyanblog/push/push.log

2015年9月30日 · 1 分钟

尘埃落定,2K屏弊大于利

在今年年初余总和小米展开了一场关于2K屏的讨论,余总认为在6寸屏幕之下,人眼是几乎无法分辨2k屏和1080p的。而且2k屏会造成手机功耗大,电池续航能力减弱。目前2k屏成本和1080p相差无几,华为坚决不上2k屏,是为用户体验着想。当时小米一众加V,对余总和华为加以讽刺。 时至今日,我们再看各大厂商和群众对2k屏的态度。 首先是魅族,魅族MX4 PRO是最先上2K屏的国产厂商。魅族MX4 PRO在MX4发布2两个月之后就发布了,我想魅族MX4 PRO是在MX4因为用了联发科的廉价芯片,被用户哄抬出来,短时间内上线的一款应急产品。相比魅族MX4,魅族MX4 PRO把CPU从联发科转为三星, 屏幕从5.3寸转为5.5寸 2K屏。内存从2G转3G。以此提高性价比。但是2K屏幕带来的困扰就是续航不足, 为用户诟病,以至于魅族副总裁李楠公开认错,他坦言魅族过去在产品上激进的使用2K屏幕是个错误。最新高端子品牌PRO在PRO 5回归1080p屏幕。 再看小米Note,小米向来标榜为发烧而生,其小米note顶配版悍然配置了高通骁龙820芯片和2K屏幕。一个发热大户,一个耗电大户,而电池只有3100mA,续航能力不言而喻,价格又在3000元左右,那销量可想而知。 再看行业领导者苹果,2k屏其实已经出来好久了,但是至最近发布的iphone 6s plus,屏幕分辨率也是1080p,苹果也并没有选择从分辨率上做文章,而是配置了为用户能带来更好体验的3D touch技术。苹果作为最注重用户体验的公司之一,再加上iphone如此高的售价和利润,元器件的选择应该不会太受成本限制,这说明至少在苹果看来2k屏并不能为用户体验带来什么质的提升,相反可能会带来糟糕的体验。 从以上事实看,屏幕2k屏目前并未成为大众消费者选择手机时考虑的一个因素,相反甚至有些消费基于续航考虑,并不会去选择配备了2k屏的手机。 余总讲1080p和2k屏幕,在6寸屏以下用户难以分辨,是以事实为依据的,分辨率不是越高越好,相反人眼对屏幕的饱和度和亮度很敏感。华为今年接连发布了P8\P8 Max\荣耀7\荣耀7i\Mate S等中高端机型正是朝着这样的方向上提升,余总的选择是明智的。 我在这里再预测小米迟迟不出的下一代手机会采用1080p屏幕,你认为呢?

2015年9月27日 · 1 分钟

荣耀里程碑,4X破千万

重磅消息:#荣耀畅玩4X#成为荣耀家族首破千万销量单品,荣耀4X能有这样的销量,一点不意外,因为荣耀4X是国内首款全网通千元机型,还有金色款。电池容量大3100毫安,2G内存,保证了续航和流畅度,同时它的外观也很出众,机器人灵感的摄像头在千元机中算是漂亮的。 荣耀4X价格最便宜的是移动高配799,最贵的是全网通版999元,初始价格在1299.这并不是一款超低端的手机,所以能卖到千万部是难能可贵的。 最近的一款荣耀畅销机是荣耀4C,最近存储空间从8G升级到了16G,而价格没有改变,仍然为799,造型配置都和4X很接近,相信它或将成为荣耀下一个千元机型。荣耀手机的热卖,代表着用户对荣耀品牌的信赖,说明荣耀的品质得到了用户认可。荣耀手机的热卖不是一个现象级的,它是被用户持续肯定,口碑相传的结果。 荣耀4X在2014年发布,至今仍然很火,前几天我还买了两部准备十一带回家,因为我纵观所有千元机型,发现荣耀4X确实属于性价比较高,又有颜值的一款手机, 看几张官方照片,狠有购买的冲动吧? 只要799元啊

2015年9月26日 · 1 分钟

elasticsearch如何安全重启节点(续)

之前分享的一篇文章介绍了如何滚动rolling重启elasticsearch集群。但是当数据量很大的时候,可能那种方式并不适合修改整个集群的配置。 如果你无法通过api更改集群属性,还是建议你把整个集群关闭,重启整个集群。 重启步骤如下: 1、关闭整个集群 curl -XPOST ‘http://IP:9200/_cluster/nodes/_shutdown’ 2、修改你要修改的配置项,或者是升级elasticsearch版本。 3、修改每个节点配置文件: 配置: gateway.expected_nodes: 10 gateway.recover_after_time: 5m gateway.recover_after_nodes: 8 minimum_master_nodes: 2 以上参考:http://zhaoyanblog.com/archives/745.html 配置:bootstrap.mlockall: true 以上参考:http://zhaoyanblog.com/archives/826.html 4、线启动master节点,再依次启动所有的其它节点。 5、查看集群状态,直到所有节点加入集群,变为green状态 curl ‘http://ip:9200/_cluster/health?pretty=true’ 这 因为第三步的配置,这个过程会很快,即便数据量大,顶多几分钟的事情。

2015年9月21日 · 1 分钟

Cassandra双中心节点要配置keepalive

在低流量的间隔,防火墙的设置会把长时间闲置的链接关闭,导致本地节点和其它datacenter的节点之间失去联系。链接闲置超时时间一般被网络管理员设置为60分钟。 所以Cassandra在创建双中心的时候,中间传输数据会经常超时,如果你不设置系统的keepalive的话。 配置系统的keepalive,首先通过 sysctl -A | grep net.ipv4 查看系统内核参数: net.ipv4.tcp_keepalive_time:链接闲置多久之后开始探测链接(秒),也可以理解为keepalive发送第一个请求的间隔时间。 net.ipv4.tcp_keepalive_probes:链接发送探测请求多少次之后认为链接失效 net.ipv4.tcp_keepalive_intvl:每次发送探测请求中间间隔多久(秒) 你可以使用以下命令临时更改系统内核参数(重启失效) sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10 也可以编辑/etc/sysctl.conf 文件之后,使用sysctl -p 命令让配置永久生效。 这个命令把keepalive的超时时间设为了60秒,间隔10秒探测3次。这个设置可以在90s(60+10+10+10)后探测到死链接。这里不需要会产生担心额外的流量,因为这点流量是我不足道的,而且你长期保持这样的设置也应该不是问题。 参考:http://docs.datastax.com/en/cassandra/2.1/cassandra/troubleshooting/trblshootIdleFirewall.html

2015年9月16日 · 1 分钟

Elasticsearch的Best Practice:把bootstrap.mlockall设为true

elasticsearch中java的最小内存和最大内存,官方建议设置为一样的,这样可以由于内存调整造成的长GC发生。 当然内存大小不要超过32G, 参考http://zhaoyanblog.com/archives/744.html 其次elasticsearch还有一个重要的参数bootstrap.mlockall,这个参数的目的是当你无法关闭系统的swap的时候,建议把这个参数设为true。防止在内存不够用的时候,elasticsearch的内存被交换至交换区,导致性能骤降。 参考http://zhaoyanblog.com/archives/744.html 建议即便你关闭了系统的swap,也把bootstrap.mlockall设为true bootstrap.mlockall的作用就是在程序启动的时候先去获取足够大的内存,再加入集群接收请求。没有bootstrap.mlockall的话,elasticsearch一启动就会发现集群接入集群,接收请求,然后JVM一点点的获取系统内存,直到指定值。 如果你有足够大的内存还好,如果没有足够大的内存,因为了elasticsearch引用文件会,系统内存会大量用于系统cache(linux的内存管理机制)。 从程序启动直到JVM获取到指定大小的内存,可能由于系统cache释放缓慢,而导致这个过程非常长,这有可能使你的节点GC非常频繁,从而导致集群不稳定。 所以强烈建议把bootstrap.mlockall设为true,这个值设为true,可能会让节点启动的时候比较慢,但是保证了节点加入集群后的稳定性。

2015年9月12日 · 1 分钟

华为再出高端旗舰Mate S

Mate 7的成功,让华为一下子进入了高端手机市场,全金属机身,指纹识别,高端大气的外观,一并得到了众多高端用户的认可。从P1 P6 P7,荣耀6、荣耀6 plus、荣耀7、 Mate 7 华为也渐渐找到了自己的设计语言,越来越得心应手。 9月2日,华为在德国柏林再次发布Mate系列旗舰机型Mate S。走的仍然是高端路线。 外观上 Mate S越加成熟,仍然是全金属机身,厚度只有7.2mm,比Mate 7还薄0.7mm。 整体体现对称美学。 需要说明一定,Mate S的电池容量从4100mA减为了2700mA。华为为什么要牺牲电池容量呢? 因为这是一款阶梯式电池,阶梯式电池比传统电池有更久的续航,形状更容易控制,所以才让Mate S有更薄的机身,重量也只有156g 配置上 Mate S配置了一款流行的2.5D玻璃,换用AMOLED高清屏,蓝宝石摄像头增加光学防抖,后置双色温闪光灯,前置补光灯。 软件上 更加完善,增加专业摄影,硬像黑白模式,智能指纹,指关节2.0,手机刷卡,内含加密芯片,个人健康中心等。 看这张美图,就有心动想买的感觉:

2015年9月7日 · 1 分钟

怎么设置nodetool使用用户名密码访问

cassandra的nodetool工具使用jdk的jmx和cassandra节点通信。 nodetool是集群的重要管理工具。 在cassandra2.0版本中,nodetool默认是允许远程访问,其不需要密码的。 在cassandra2.1版本中,nodetool默认是只允许本机访问,很不方便, 如果远程访问功能打开,又不安全,防止别人乱操作,好方法就是加上访问权限控制。 第一步:打开远程访问权限 编辑conf/cassandra-env.sh文件。 找到: LOCAL_JMX=yes 默认值监听localhost,只允许本机访问。 改为 LOCAL_JMX=no 表示远程也可以访问。 第二步:指定密码文件 同一文件,找到如下配置项: JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/home/cassandra/jmxremote.password" 第三步:创建密码文件 vi /home/cassandra/jmxremote.password 输入 myusername mypassword 注意:修改文件权限只能本用户访问: chmod go-rwx /home/cassandra/jmxremote.password 否则启动的时候会报错 Error: Password file read access must be restricted: /home/cassandra/jmxremote.password 第四步:配置access文件 access权限控制权限,默认使用jdk目录下的: $JAVA_HOME/jre/lib/management/jmxremote.access 写入myusername有读写权限 myusername readwrite 该文件也可以通过-Dcom.sun.management.jmxremote.access.file选项指定。 重启cassandra之后,你需要这样使用nodetool: bin/nodetool -u myusername -pw mypassword status

2015年8月30日 · 1 分钟

从Cassandra 2.0升级到Cassandra 2.1

Cassandra 2.1相比于Cassandra2.0有很多性能提升以及bug修正。 有一点是我特别在意的是: Cassandra 2.1支持增量repair。使用Cassandra2.0的时候,repair整个周期每次都需要很长时间。 此外Cassandra 2.1 发展到2.1.9版,已经经历多个版本,日臻稳定,目前官方已经着手开发2.2.0版本。 根据官方建议,最好1年升级一次版本,防止和最新的版本跨度太大,难以升级到最新版本,所以是时候升级到2.1版本了。 下载最新的Cassandra2.1.9进行升级。 注意: 1、官方注明升级到2.1.x版本,你的当前版本必须是2.0.7之后的版本,否则是无法升级的。 2、你的客户端兼容新版本。 第一步:更改配置文件 把Cassandra 2.0的配置通过比对, 把你原来cassandra.yaml配置文件里的参数移植到新版本的cassandra.yaml配置文件中。 因为cassandra2.1增加了一些配置,也减少了一些配置。所以你不能直接复制过来。你只要把新版的配置文件中有的配置项,从老的配置文件中挪过来就可以了。 第二步:创建快照,防止升级失败 nodetool snapshot keyspace -t snapshot_20150828 创建快照。 如果你使用了JNA,快照是通过硬链接实现的,并不会增加磁盘空间,创建快照时间很短。 第三步:停节点 先执行bin/nodetool drain 关闭写入,同时把数据写入文件。 执行bin/nodetool stodaemon停掉本节点。 第四步: 启动新节点 bin/cassandra。 第五步:重复一到四步把集群所有机器都升级为新版本。 第六步:在所有节点执行升级sstable文件操作 后台执行 nohup bin/nodetool upgradesstables & 目前看,这个操作不会产生太大的负载 等所有节点操作完毕,至此升级完毕。

2015年8月28日 · 1 分钟

小米品牌偏向性媒体你们在做什么

不知道是不是小米的米粉真的是各个铁杆,还是小米真的雇佣了水军,据我调查,网上充斥着大量自媒体单位,他们处处发表维护小米形象,抹黑中伤友商的文章。 如果你在你有天天看搜狐新闻,今日头条的习惯,这些用户的文章,你会眼熟吧?所有黑华为,黑乐视,黑锤子,黑周鸿祎的文章,全是从这儿来的。 特别是:砷评论,橡树湾科技评论、通信之友,是赤裸裸的黑华为,甚至是捏造事实,毫无底线可言。 砷评论: http://toutiao.com/m3382209485/ http://chuansong.me/account/ShenPL http://mp.i.sohu.com/521bc2557de0b75/profile 橡树湾科技评论: http://toutiao.com/m4125087365/ 数码笔记: http://toutiao.com/m4630551375/ 极客镖局: http://mp.i.sohu.com/s11826553/profile 子虚说: http://mp.i.sohu.com/28627712aa2dd/profile 大嘴巴搞机: http://mp.i.sohu.com/01994211bd16d/profile 爱说科技 http://aishuokeji.baijia.baidu.com/ 通信之友 http://tmobile.baijia.baidu.com/

2015年8月22日 · 1 分钟

荣耀7i发布,这会够用了吧

8月20日,华为荣耀发布本年度第二款旗舰产品,荣耀7i。华为荣耀卯足了劲去创新,这会的荣耀7i够用了吧? 创新一、可反转摄像头 1300万摄像头加双色温LED闪光灯都可以180度旋转,反转后当前置摄像头用于自拍,想必是极好的。还没见有1300像素的前置摄像头呢。 官方说明:旋转轴可承受50千克重量,按疲劳度计算,镜头可翻转10万次,相当于每天旋转136次,可使用2年时间,我的天呢。 创新二:侧边指纹识别 苹果的前置指纹识别,Mate7的指纹识别,是不是总觉得不那么顺手呢? 荣耀首创侧边指纹识别,全世界最小的指纹识别模组,指纹识别+点亮屏幕,开关手机习惯动作,一气呵成。 夏天不怕出汗,手指潮湿一样解锁 创新三:通信技术优势 双卡盲插,智能双天线切换,智能语音双分集技术。 让你的信号更好,通话更清晰。 配置不含糊: 3G内存,3100毫安高密度电池,5.2寸最常规尺寸,全贴合incell电容屏,80%屏占比。 价格实惠: 荣耀7i共有四种版本全网通版配置3GB RAM+32GB ROM,颜色为冰川白或沙滩金,定价1899元;此外还有双4G版、电信版、移动版,都是2GB RAM+16GB ROM,双4G版和电信版售价1699元,移动版定价1599元。 这样一款手机, 配置、信号、通话,拍照、续航、指纹识别、性价比都有了,这回够用了吧?

2015年8月21日 · 1 分钟

HTTPS到底是如何保证通信安全的

一直对https有个模糊的概念,只是知道https安全,信息是加密的,但是对于细节一直是不明白,特别是为什么要买个证书。今天看图灵图书的《图解HTTP》一书,看到https这一章节,终于知道个大概是咋回事了。 第一:https的概念 https就是把http协议包裹在SSL协议里,再加上一些证书的东西,就称为https。https就是躲在SSL协议之后的http协议。 http是把http请求或者响应传给传输层,传输层把请求或者响应包装之后发给http通信的另外一端。 https是SSL协议先把通信的两端加密方式协商好,http再把请求和响应传给SSL协议层,SSL层把请求和响应加密之后,再传给传输层,传给通信的另外一端,另外一端也是先由SSL层解密,再交给http层。 第二:SSL协议 SSL协议是介于传输层(tcp协议)和应用层(http协议)之间的一个协议。 SSL协议之前是网景公司提出的,后来由另外一个标准制定组织接收了,又提出了基于SSL协议发展的TLS协议. SSL协议就是用于通信两端建立安全连接,完成加密传输,保证传输的完整性。 第三:https通信过程。 1、SSL协议层先握手建立连接,协商使用的加密算法。 2、服务器先把公钥发给客户端。 3、这样客户端可以使用公钥加密发给服务器,服务器用私钥解密,服务器可以通过私钥加密发给客户端,客户端用公钥加密。 4、后面就开始正式的http通信。 (备注;ssl协议不仅仅使用非对称加密,还会混合使用对称加密,因为非对称加密很耗CPU,性能不好,ssl在建立连接之后,后面会协商一个共享秘钥进行内容通信。) 通过加密传输的数据就是安全的。 第四:证书 上面的通信过程建立链接之后是安全的,但是有一个漏洞。 第一:就是黑客可以冒充服务器发送假的公钥,和客户端通信 第二:就是黑客可以冒充假的客户端和服务器通信 先说第一个问题: 客户端如何证实是真的服务器发过来的真的公钥呢?这就出现了服务端的证书。 方法是通过第三方权威机构颁发的证书,所谓证书,就是第三方权威机构用自己的私钥,对某服务器的公钥进行的数字签名。 服务器在把公钥发给客户端的时候,也要发送自己的证书(也就是第三方机构的数字签名)。 客户端用第三方机构的公钥对数字签名进行验证,验证通过,就认为这个公钥是合法的。因为第三方权威机构的私钥是很安全的(我们暂且这么认为),所以伪造不了。 这就解决了第一个问题。 第三方权威机构必须是有信用的公司,例如VeriSign公司是专门的证书颁发机构,当然如果这个公司靠不住,以上都不成立了。 有人会问,这个第三方机构的公钥也是假的呢? 这个第三方机构的公钥肯定要以一种更安全的方式传给客户端。 那就是各大浏览器在发布的时候,已经把一些权威机构的公钥预置进去了,除非你下载了盗版的浏览器。 再说第二个问题,服务端如何识别客户端是真的客户端呢? 最安全的方式就是客户端也使用证书,每个专门的用户一个证书,但是这个代价比较高,因为申请证书要收费的。 目前大部分互联网企业做法是只对服务器端进行证书认证,只要确保客户端能识别真的服务器就可以了。 至于对客户端的真伪,一般的做法是通过用户名密码,只要用户名密码对了,我就认为和服务器连得客户端就是那个我认为的客户端。 再安全一点的做法就是验证手机号,弄个不断变化的密令,宝令,usb密码狗之类的。 所以用户千万不能把你的密码告诉别人。 以上看来,https通信还是比较安全的,怪不得那么多互联网公司都在转向全网https,这是一个趋势。 对于https还有很多细节,我这里只是大概描述个https的概念,更专业的东西就让专业搞密码学的人去搞吧。

2015年8月9日 · 1 分钟

SSH命令做代理

有时候遇到这样的问题。 第一种情况: A可以访问B机器,B可以访问C机器。A不可以访问C机器。 B机器可以做一个端口代理,让A可以访问到C机器。 在B机器上执行 ssh -C -f -N -g -L 9022:C机器的ip:22 root@B机器的IP 回车后输入B机器root密码。 这样在A机器上访问B机器的9022端口,就是相当于访问C机器的22端口。 第二种情况: 有一个VPN代理,想让多个人代理上网。 找一台linux机器A执行 ssh -q -T -f -n -N -D A机器IP:17111 vpn账号@VPN地址 -p vpn端口 回车后输入vpn密码。 多个浏览器就可以通过A机器的17111代理上网了,代理类型是SOCKET类型。

2015年8月7日 · 1 分钟

[资讯]华为荣耀再创新,8月10日出新品

8月5日上午 10:08 分,@华为荣耀 官方微博发布新品预告海报,主题为“8.10 探索视界更多角度”,配图为一个硕大的惊叹号,但能看出所用背景板取自一款手机背面,或暗示将在手机摄像头上有新突破。 近期一款华为荣耀神秘新机也现身工信部,型号为ATH-TL00H,机身左侧有一颗硕大按键,功能不明。有网友猜测,或是侧面指纹解锁。而且从背面照片显示,摄像头可上下移动,想必和海报的主题有关,在摄像头上可能会有重大创新。 一个企业最重要的原动力就是创新,让我们拭目以待华为荣耀8月10日发布新机。

2015年8月5日 · 1 分钟