Knight's Tale
人因为梦想而伟大
共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
联系
近一个月内十大热门文章
最近的担心
思考 • 2016-11-26 17:01
最近有点沮丧。关于技术和业务的讨论,关于自身的角色定位,以及未来的发展,都有很多要考虑。思考虽有,但死结难解,事在心里难开。 回想近两年发生的事情,走了挺多的弯路,有些事情在当时总是把未来想得太美好,以至于最终发生的和自己预想的完全不是一个样。 随着年纪的增长,压力巨增。再也不能像以前刚毕业那样专注于公司业务本身,打怪升级就好了。与其说是我年纪大了,不如说我的不安感很重,总害怕一不小心就会掉队。心里总有一口气,想要施展总是各处碰壁。年纪大了一个关键问题,总会让外面不了解自己的别人觉得老年人动力不……
继续阅读
处理 waiting ttfb too long 的一次经历
技术 • 2016-11-15 13:36
近几天一直有人反应我的网站速度时好时坏,我一直不在意,觉得应该不会是服务的问题,是网络的问题好嘛! 今天试了一下,发现确实是这样的,chrome下反应某个URL时,出现惊人的 waiting ttfb too long 的问题。(时间长达20s) 在网上查了一下,[http://fex.baidu.com/blog/2015/01/chrome-stalled-problem-resolving-process/](http://fex.baidu.com/blog/2015/01/chrome……
继续阅读
巨大的幸福感来袭
思考 • 2016-07-09 11:24
什么是巨大的幸福感?我想就是当你非常非常想要一种东西,或者说当你每天都梦想的东西,在你最需要的时候到来了。 简单的说,在最正确的时间,得到最想要的东西。
继续阅读
pfrock : 提供微服务(SOA)架构能力的 统一mock服务
我的作品 • 2016-02-27 10:29
# pfrock https://github.com/knightliao/pfrock A plugin-based server for running fake HTTP and socket services (especially SOA service) using Python. _ (`-. _ .-') .-. .-') ( (OO ) (……
继续阅读
pkg_resources.ResolutionError: No script named '??'
技术 • 2016-02-25 22:42
晚上想要将python变成一个可执行文件时, [http://www.python88.com/topic/1464/]() 一直出现这个错误, 而且,在linux环境下正常work, 但是在mac环境下一直不行。 应该是环境出问题了,但找到。 最后 我调试 pkg_resources.py 这个类,直击 python 动态库中。 从中,我发现我明明转入 版本0.2,但是他动态链接的时候却一直是0.1,奇怪! 不过我貌似瞬间了解知道为什么了,应该就是 “链接不到正确的版本……
继续阅读
微服务下多个bunlde的交互问题
技术 • 2015-11-19 22:32
spring启动时,会有一个父容器,然后根据有多少个 bundle 来生成 多个 子容器。每个子容器是并行的。是互相看不到对方的。但是他们都看得到父容器。 这里会出现一些问题 1. 依赖的jar包中如果要获取spring容器,怎么办?直接获取父容器就可以了。 2. 依赖的jar包中要扫描本容器的一些实现类,这在rpc框架中经常会遇到。这时依赖包如果还是使用父容器去获取bean就会找不到本容器的bean。因为父容器里没有子容器的数据啊。采取的办法是,依赖的jar要将所有context进行扫描……
继续阅读
jquery弹窗处理
技术 • 2015-09-13 17:58
在做页面设计时不可避免的会遇到弹窗的问题,如果你使用 windows.open, 肯定会遇到 浏览器拦截的问题。 http://www.html-js.com/article/2410 这篇文章讲的很清楚原因。 解决这个问题的方法就是坚决 不要使用windows.open方法。 改而使用 内嵌form表单,然后,submit() 提交到 新页面的方法。 也就是说,当用户点击控件后,触发 click方法,然后在click方法里去 submit到新页面。这种方法 所有浏览器均可以兼容。 ……
继续阅读
分布式事务综述
架构 • 2015-08-21 08:21
I'll present the patterns in reverse order of safety(安全) or reliability(可靠), starting with those with the highest guarantee of data integrity and atomicity under the most general circumstances 从最可靠-》最不可靠 The patterns are also roughly in reverse order……
继续阅读
分布式CAP理论综述
技术 • 2015-08-21 00:36
##一 CAP理论简述 海量数据管理中的一致性理论,包括CAP理论,BAS理论,数据一致性理论模型,以及现有的经典数据一致性技术。其中CAP (Consistency, Availability, Partition Tolerance,) 理论是NoSQL数据库管理系统构建的基础。 CAP定律说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。该定律作为猜想在2000年提出,2002年被证实。 ![image](http://img2.j……
继续阅读
分布式 数据库表 sharding 综述
架构 • 2015-08-20 08:33
数据库表 sharding 综述 ## 数据库sharding ### 基本思路 - 表多:垂直划分 - 表不多但表的数据很多:水平划分 ### 切分策略 先垂直后水平 - 垂直:“聚集“,聚合 - 水平:聚合根 举例: - 社交网站:根据用户区分 - 论坛: - 垂直shard:用户和论坛 - 水平shard:Form是聚合根 Tips: - 只读字典或变化较小的表:每个shard里维护一份,可以加速读取速度(joi……
继续阅读
spring 4 带来的变动
技术 • 2015-08-13 00:10
## spring 4 带来的变动 ### 最新版4.2.0问题 4.2.0不知道做了什么改动(没认真去研究),返回java对象时(想要返回json),对象如果有嵌套对象,则子对象无法被序列化。 4.1.7 则没有这个问题,回头有空要研究一下 ### 从3.1.2 升 4 需要进行的改动 1. binding exception 不会在exception handler里出现,如果bind 出错,框架直接报400 error 具体可见我早年提的: http://te……
继续阅读
业务应该避免的问题:事务+synchronized
技术 • 2015-08-12 12:31
##表现分析:## 所有mysql连接池打满,tomcat拿不到任何mysql连接,无法接受请求。重启后系统正常。但过一段时间后又出现问题。 ##简单处理无法解析## 我们以为连接池太少,将c3p0连接池增长10倍,仍出现连接池不够的问题。 ##日志分析:## 1. tomcat thread log分析:发现mysql连接池打满。 2. mysql bin log分析:发现在开事务后,每条SQL操作相隔很久,最久长达30秒。 ##代码分析:## ![http:/……
继续阅读
java 内存一例浅析
技术 • 2015-07-29 10:52
执行 ./jstat -gc 131 ![image](http://img2.jintiankansha.me/get5?src=http://ww3.sinaimg.cn/mw1024/006bdDhdjw1eujg8zz3anj30ph01udg9.jpg) 执行 ./jstat -gcutil 131 ![image](http://img2.jintiankansha.me/get5?src=http://ww1.sinaimg.cn/mw1024/006bdDhdjw1eujg……
继续阅读
跨域登录技术讨论
技术 • 2015-07-07 10:46
### CAS 原理就是通过一个统一的登录中心UC来控制 每个产品线的登录。一般来说,对于大型企业来说,这是必要的,对于小企业来说,没必要这么做。 CAS解决单点登录SSO http://techv5.com/topic/1528/ 淘宝、天猫登录与 cas/sso http://techv5.com/topic/1529/ ### 跨域实现 这是本文想要讨论的重点 假设存在两个域名:A.com B.com 想实现的效果:用户只要登录任何一个系统,就可……
继续阅读
Spring transaction synchronization
技术 • 2015-07-02 15:19
http://docs.oracle.com/javaee/5/api/javax/transaction/Synchronization.html The transaction manager supports a synchronization mechanism that allows the interested party to be notified before and after the transaction completes. Using the registerSynch……
继续阅读
架构:Starbucks Does Not Use Two-Phase Commit
架构 • 2015-06-30 20:35
http://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html 使用异步消息来解决事务问题,解决二阶段提交问题。
继续阅读
架构:Consumer-Driven Contracts: A Service Evolution Pattern (消费者驱动的契约)
架构 • 2015-06-30 19:48
http://martinfowler.com/articles/consumerDrivenContracts.html 大概是讲: 消费者驱动的契约描述的是服务提供者向其所有当前消费者承诺遵守的约束。一旦各消费者把自己的具体期望告知提供者,消费者驱动的契约就被创建了。在提供者方面创建的约束,确定了一个消费者驱动的契约。若提供者接受了一个消费者驱动的契约,那么它只需保证已有约束仍能得到满足,即可自行改进与修改其服务。 也就是说,一旦约定好接口约束后,在对自己做升级时,只要约束未影响,就……
继续阅读
架构:Tolerant Reader(容忍读策略)
架构 • 2015-06-30 19:37
本篇文章的大体意思就是说 下游在使用上游数据时要使用最小化策略,parse接口数据时只拿自己关心的数据就可以了。并且要保证在上游改进时,下游不需要进行修改。 在架构时比较有用。 One of the benefits of using web services is that it helps you to decouple various parts of a system. People can work on separate code-bases with some degree of ……
继续阅读
架构:微服务
架构 • 2015-06-30 17:28
### Microservices http://martinfowler.com/articles/microservices.html We do not claim that the microservice style is novel or innovative, its roots go back at least to the design principles of Unix. But we do think that not enough people consider……
继续阅读