This post shows how we implemented a fine-grained system-to-system authorization for microservices application using Amazon Cognito user pool and API Gateway.
[Read More]
Chat the Ops up
This is the story of how we improved our CI/CD methodology by using Bamboo-on-Teams, a serverless ChatOps tool for interacting with Atlassian Bamboo from Microsoft Teams.
[Read More]
AWS one punch
One punch to grant all command prompts AWS access with IAM role credentials in OSX.
[Read More]
Tail call optimization in Scala
Recursion provides us an easy way to solve some problems, and makes the code simpler and easier to follow. But one problem of it is the memory cost caused by the recursive call stack, which could be critical for memory sensitive applications like mobile ones.
[Read More]
Mysql读写分离:Spring+JPA应用层实现 vs Amoeba中间件实现
前段时间看了篇文章,讲Youku网数据库架构的演变,如何从最开始的读写分离,再到垂直分区,最后到水平分片,一步一步慢慢成熟的。看完之后很有冲动抽出一个模型来把这几种技术都实现一下。 说干就干,首先是读写分离...
[Read More]
MapReduce tuning
MapReduce is not a low latency computing model, minutes at least will go before we got the result. But this does not mean there's no way for us to make it faster. Combined with the nature of Hadoop, here are some solutions from different pespective.
[Read More]
基于Sqoop和Hadoop的数据质量分析报告
一个系统的数据质量不高通常是软件本身做的不够好,数据从源头就出现了问题。为了能够持续归总interface数据质量报告,来完善系统流程,我们就需要定量定性的分析源头数据。但是在大数据量的情况下,如何实现高效有效的数据分析呢?
[Read More]
Java深度克隆
在实际开发中经常遇到属性克隆的问题,比如在表现层提交的Request DTO,可能需要在控制层被映射成多个Java Bean,再传递到逻辑层来进行相应的业务处理,那么如何才能简单而又快速的完成属性克隆呢?
[Read More]
用MapReduce来进行用户行为分析
在系统设计的时候,为了提高可用性,经常需要对用户行为进行分析,来持续完善系统。一个典型的场景就是分析用户的查询条件,根据操作习惯和规律来精简用户输入,让查询变得更简单更高效。那么对于这种场景,我们应该如何实现?
[Read More]
基于Aviator的注解驱动验证框架
程序开发过程中,在同一系统中层层之间数据传递或者是异构系统之间同步异步通信的时候,我们经常需要对Java Bean进行属性验证,来决定是否继续后续process,或者直接抛出error message。EasyValidation是基于Aviator DIY的申明式验证框架,能解决传统解决方案存在的弊端与不足。
[Read More]