七在歪国人的眼里是个有魔力的数字,因为上帝创造世界用了六天,第七天他就安息了,并赐福给第七日,所以西方人对7这个数字很有好感。
再就是很多软文说人每七年会变为另一个人,因为细胞确实7年左右更新一次。针对这点,我记得神经细胞好像终身不会更新的,从这个角度看,你还是以前的那个人吧。
早上和熟识但是不在一个部门的同事一起抽了一根烟,他问我最近忙吗?我说:“老板天天付工资给我,我必须天天忙才对。”他默默笑道:“呵呵,你成长了”
10年毕业到现在为止已经是七年了。
just a diary
七在歪国人的眼里是个有魔力的数字,因为上帝创造世界用了六天,第七天他就安息了,并赐福给第七日,所以西方人对7这个数字很有好感。
再就是很多软文说人每七年会变为另一个人,因为细胞确实7年左右更新一次。针对这点,我记得神经细胞好像终身不会更新的,从这个角度看,你还是以前的那个人吧。
早上和熟识但是不在一个部门的同事一起抽了一根烟,他问我最近忙吗?我说:“老板天天付工资给我,我必须天天忙才对。”他默默笑道:“呵呵,你成长了”
10年毕业到现在为止已经是七年了。
什么是大型网站?
关于大型网站的解释,在学术上并没有精确的定义。但是作为一个大型网站,数据量和访问量二者是缺一不可的,此外,除了海量数据和高并发的访问量,网站本身的业务逻辑和系统的复杂度也是一个很重要的考量方面。
网站技术发展最初,通常是使用JAVA技术进行单机构建网站,但是随着数据量和访问量不断增长、业务逻辑复杂度不断增加,网站结构也逐渐发生了变化。当初始单机构建的网站负载告警后,采取数据库和应用分离可暂时从一定程度上缓解系统压力;随着生产过程中使用量增加,应用服务器负载告警,我们采取将应用服务器走向集群部署的形式来缓解应用的访问压力。并且在这个过程中引入了负载均衡设备且解决了服务器变为集群环境后SESSION会话数据的管理问题;然而,业务的发展激增使得数据库读写压力很大,于是我们采取数据库读写分离的方式缓解数据库的压力。可是,在当前数据读的压力遇到瓶颈后,往往会采取分布式缓存系统技术来进一步分担数据库的读压力。尽管我们采取了增加缓存,读写分离的方式,这个数据库压力也是在继续飙升,因为业务复杂度和访问量在持续飙升,因此,要解决这个问题,我们开始考虑分布式数据库和数据库水平拆分、垂直拆分的思路,即将数据库进行分布式部署或者使用专库专用、数据分割的水平拆分方式。
然而,在数据库的问题解决后,应用程序继续面临着新的挑战,应用压力在持续性增大。这时,我们要考虑就是应该把应用拆分开,将一个应用根据业务划分拆分成多个业务应用(这个在很多大型业务系统中都有体现)。
JAVA中间件是什么?
字面意思是基于JAVA技术构建的中间件,处于“中间位置”的组件。因此,它既可以是应用与应用之间的桥梁,也可以是应用和服务之间的桥梁。特定的中间件是解决特定场景下问题的组件,它能够让软件开发人员专注于自己的开发。当今的JAVA中间件包括但不限于下面三个领域:远程过程调用和对象访问的中间件、消息中间件、数据访问中间件。
当今,随着技术和程序管理思路上的进步,很多大型网站开始走服务化的路子,将散落在各个业务的代码集中起来提供统一服务调用,同时也一定程度上降低了数据库的连接。应用间交互的服务通过服务中心来集中,由专门小团队维护,相对来说也提高了系统对外交互的稳定性。
从传统意义上来讲,作为目前互联网应用的流行工具,消息中间件为我们带来异步数据交换的特性,它对系统进行了解耦,同时为系统间数据交互提供了种种可靠的机制来保证数据收发的一致性,因此它的存在为数据交互带来了很大便利性和价值。
技术绝不仅仅是脱离业务使用而孤立存在的,它总是通过解决某种问题而产生和进步的。如《程序员的职业素养》书中所写:深刻理解业务目标。这并不是说你必须成为业务方面的老学究,而是说你需要理解手上正在编写的代码的业务价值是什么,了解雇佣你的企业将如何从你的工作中获得回报。
尝试想象这样一个业务场景:有人收集了一个庞大的、快要到期的域名列表,想从其中筛选出来适合作为自己域名的域名,因为确实存在很多无意义的垃圾域名,如果肉眼去寻找的话,非常费力气。
好的域名的一个标准就是最好是一个完整的英文单词,或者有意义的英文单词组合。
如果仅将这个作为一个校验原则,那么需要一种API将这些域名列表进行拼写校验,将有意义的域名筛选出来,这里推荐使用python中的PyEnchant库进行单词拼写检查。
官网有安装教程,附上链接http://pythonhosted.org/pyenchant/download.html
这里主要碰到的问题是,官方仅提供了32bit的windows安装包,安装之后64位windows系统会报错
64位系统报错信息:
1 | Traceback (most recent call last): |
所以最好使用Linux或者Mac作为开发系统…
python代码:1
2
3
4
5
6
7
8# -*- coding: utf-8 -*-
import enchant
en_dict = enchant.Dict("en_US")
# sample worldshift.net
print en_dict.check("worldshift")
print en_dict.suggest("worldshift")
输出结果:
python domain_check.py
False
[‘world shift’, ‘world-shift’, ‘worldliest’, ‘redshift’, ‘afterworld’, ‘Wordsworth’, ‘Waldensian’, ‘validation’]
结果说明这个域名不错是两个单词的拼接
my_words.txt 是本地的词库,里面只有一行记录就是 “OK”
1 | # -*- coding: utf-8 -*- |
输出结果:
python domain_check.py
False
[‘OK’]
结果说明符合了自己定义的词库规则,是一个符合某种条件的域名
提供示例
1 | # -*- coding: utf-8 -*- |
以上,希望对您的工作和学习有帮助
偶然看到关于《人类群星闪耀时》的推荐,按照以往的习惯先搜索了下免费资源,发现下载的几本在kindle设备都无法打开,于是花了2.99CNY从亚马逊官方买了一本电子版的。
周末两天时间看完了这本书,这是第一次完整的看茨威格的作品,里面关于拿破仑的那一章好像初中的时候在阅读课本上就读过,现在才知道出自这本书。
这本书的写作风格类似明朝那些事,都是一种历史小说的类型。写的是12个历史人物的决定世(ou)界(zhou)历史的瞬间,按照官方说法应该是,当强烈的个人意志与历史宿命碰撞之际,火花闪烁,那样的时刻从此照耀着人类文明的天空。
这本书的中译本翻译的很好,比起以前读的其他书籍的译本都好。全书篇幅也不长,在刚刚会产生厌倦感的时候全书就结束了…
很遗憾没有在年纪小的时候进行通读,但是很庆幸30岁之前读过了这本书。
以下摘录一些我在本书中做过标记内容:
没有一个艺术家平日一天二十四小时始终是艺术家的 ,艺术家创造的重要的一切 ,恒久的一切 ,总是只在罕有的充满灵感的时刻完成的
-引自作者序言一个人最大的幸福莫过于在人生的中途 ,富有创造力的壮年 ,发现自己此生的使命
-引自巴尔博亚一章然而历史好比人生 ,抱憾的心情无法使业已失去的一瞬重返 ,绝无仅有的一小时 ,所贻误的 ,千载难以赎回
-引自滑铁卢的一分钟一章人的意志依旧不能战胜物质的反抗
-引自越过大洋的第一次通话一章没有一个道德的秩序能通过暴力而强行建立起来 ,因为每一种暴力不可避免地又制造出暴力 。一旦你们拿起武器 ,那你们就会制造出新的专制 。你们不是去摧毁它 ,而是在使它永远存在下去
-引自托尔斯泰一章这个前天还住在修鞋匠家中的男人 ,被上百只手抓住 ,把他举到一辆坦克上面 。大楼上 、要塞上的探照灯朝他扫了过来 ,他从坦克上向人民做了他的第一次讲演 。大街震颤起来 ,不久 “震撼世界的十天 ” ( 1 0 )开始了 。炮弹发射出去了 ,一个帝国 ,一个世界被摧毁了
-引自列宁一章
运行一个tornado websocket程序的时候,遇到一个问题,客户端发送websocket请求的时候一直报错:1
WebSocket connection to 'ws://127.0.0.1:8888/soc' failed: Connection closed before receiving a handshake response
code没有问题,如果放在linux ubbantu中执行是完全可以看到效果的,但是windows环境就是有问题
google了半天终于找到一个人遇见了和我类似的问题:
tornado issue:https://github.com/tornadoweb/tornado/issues/1793
stackoverflow:http://stackoverflow.com/questions/38661067/connection-closes-immediately-on-open
阅读英文解答的结论是:windows并不能完全支持tornado,遇到这个问题和代码无关,就是环境的问题…
小时候在别人家看过一点星球大战的碟片,就对光剑非常痴迷,一直幻想自己有一把光剑
后来慢慢补起了星球大战6部曲还有卢卡斯的《克隆人战争》CG动画,当刚出第七部原力觉醒的时候,终于按捺不住,开发了一个挥动手机触发光剑音效的小程序
先看下使用效果,视频拍的不好,走廊有回声,也听不清:
优酷视频地址:http://v.youku.com/v_show/id_XMjUwNTUzNTE2MA==.html
我手里握着的是手机,还有一个荧光棒,就当是光剑了吧…
这个程序是基于html5手机端设备加速传感器制作的,光剑音效是网上下载的。
挥动手机会造成手机坐标的变化,捕捉在某一个时间间隔内手机移动的距离,用来作为触发不同光剑音效的参数,这个原理和微信的摇一摇是一样的
这个程序已经开源,Github地址:https://github.com/cloudroc/lightsaber_sound
使用方法:
1.将手机音效开到最大
2.使用手机浏览器打开index.html,然后短时间挥动手机,会发出光剑的嗡嗡声效
3.根据移动的距离会发出不同的声效
程序运行效果: