主页

About

这里有我的工作体会和生活感悟。 杨景:yangbajing.me Github: yangbajing Weibo: yangbajing Twitter: yangbajing1 微信公众号:yangbajing-garden 技能 擅长Java/Scala编程,熟悉多线程、并发程序设计 熟悉actor(编程模型),可基于JVM/Akka设计分布式、并发应用 可使用ES6/7(Javascr

Scala实战:巧用集合实现数据脱敏

(原文在:《http://www.yangbajing.me/2016/07/25/Scala实战:巧用集合实现数据脱敏》,转载请注明!) 在日常开发中,经常会遇到对数据进行脱敏处理的需求。像隐藏身份证或者手机号中间几位。比如对于:13812345678这个手机号,我们会使用*号替换中间4位来达到隐藏的目的,就像这样:138****5678。这是一个很常见也很简单的功能需求,这里记录下开发中对这个

写给Java程序员的Scala入门教程

(原文链接:http://www.yangbajing.me/2016/07/24/写给java程序员的scala入门教程/,转载请注明) 之前因为Spark的引入,写了一篇《写给Python程序员的Scala入门教程》。那篇文章简单对比了Scala与Python的异同,并介绍了一些Scala的常用编程技巧。今天这篇文章将面向广大的Java程序员,带领Javaer进入函数式编程的世界。 Java

Scala实战:使用Actor来控制集成API的并发请求

本文源码在:https://github.com/yangbajing/scala-applications/tree/master/combine-request 背景最近在一些大数据相关工作,除了自身的数据外,我们也会接入很多外部的第3方数据。这些第3方数据提供商都提供了基于HTTP的服务。当然,这些数据是收费的。而且重复调用是需要重复收费的。这就需要我们在调用数据后把它存储下来,这样在一定时

我会做的技术选型

Java/Scala:全功能的业务、服务端开发平台。大数据开发:Spark、Scala、Akka Node.js:前端不说了,还有其它更好的选择吗 Go:21世纪的C语言,分布式开发、API开发利器 Python:胶水、灵活的脚本语言。数据科学家的最爱 开门见山,先表明下我的态度吧。以上4个是我的首先,个人认为很不错的技术选型。当然,也不是非此不可,技术选型这个除了从技术本身考虑,很多时候

Hive与Spark

Spark与Hadoop安装见此:安装Spark1.5与Hadoop2.6 注意:Spark官方提供的二进制发行版是不支持hive的,需要自行编译。 安装hive12wget -c http://mirrors.aliyun.com/apache/hive/hive-1.1.1/apache-hive-1.1.1-bin.tar.gztar apache-hive-1.1.1-bin.tar.

Spark实战:工程实践

工欲善其事,必先利其器。 (本文是基于 sbt 来配置 Spark 开发的工程化,支持 Scala/Java 编程语言。Python 和 R 用户需要使用其它方式来实现工程化。) 今天谈谈Spark开发中的工程化问题。我们都知道Spark程序是在集群上跑的,需要把程序打包后使用 $SPARK_HOME/bin/spark-sumibt 到Spark集群上。 在开发、测试时,每次代码修改后都打包、提

Cassandra升级更新

今天需要把集群安装的 cassandra 2.2.4 升级到 cassandra 2.2.5 ,这里记录下升级步骤。 (升级脚本见:https://gist.github.com/yangbajing/12461fcab190689f2499) 升级的主意事项和限制条件需求条件 Cassandra 2.0.x and 2.1.x: 需要 JRE 7 或更高版本(推荐JDK) Cassandra

Scala开发者的Spring-Boot快速上手指南 01

做为一个Scala爱好者,是很想基于 Lightbend 的一套架构进行软件开发的。Play,Akka,Scala,Spark……。不过理想很丰满,现实却很骨感。鉴于那批原教旨主义者,他们对 Spring 已经疯狂迷恋,我等讲道理、讲实际的人也只好将 Scala 与 Spring Boot 进行整合。这两兄弟是和睦的,是友好的,并不是有你无他,完全可以在能力和现实中实现一个美好的平衡。 (文章查考

安装Spark1.5.2与Hadoop2.6.2

build spark 1.5.212./dev/change-scala-version.sh 2.11./make-distribution.sh --name hadoop2.6-scala2.11 --tgz -Phadoop-2.6 -Pyarn -Phive -Phive-thriftserver -Dscala-2.11 1.6+可以添加:-Psparkr以支持 Spark R。 创

Cassandra用户认证

Cassandra默认是不需要用户名和密码登录的,这样其实并不安全。 修改配置文件:conf/cassandra.yaml 启动用户名密码登录: 12authenticator: PasswordAuthenticatorauthorizer: CassandraAuthorizer 重新启动Cassandra,再次使用 bin/cqlsh 登录会提示 AuthenticationFailed(‘

Linux系统运维常用工具

本文记录一些 Linux 日常运维相关工具使用方法。 (注:未做特殊说明,以下设置均指:Ubuntu Server 14.04,并测试通过。) 系统设置更改系统默认字符集 Ubuntu Server下,需要修改 /etc/default/locale 文件使配置生效(需要重启系统)。也可以在每个用户的登录 .bashrc 或 .bash_profile中设置LANG、LANGUAGE等环境变量。

Mongodb 3.x 用户认证

Mongodb 3.x 的用户认证和 2.x 方式不一样,创建用户的语法已由 addUser 成成 createUser 了。 创建账号首先不使用 --auth 参数启动Mongodb, 1/opt/local/mongodb/mongodb-3.0/bin/mongod -f /opt/local/mongodb/etc/mongod.conf 此时登陆Mongodb并执行 show dbs 命

Nginx(Tengine)使用

用了一段时间Tengine了,主要用于静态资源、后端服务的反向代理、负载均衡方面。也有了一些使用经验,现在将一些配置及心得记录于此。 Tengine的安装Tengine的安装非常简单,就是: 123$ ./configure$ make$ sudo make install 官方有更详细的说明:http://tengine.taobao.org/document_cn/install_cn.htm

Linux下对大文件(日志)进行分割

logrotate是Linux系统自带的一个做文件(日志)分割的任务,可以很灵活的对文件做分割任务。由crontab定时执行。 一个典型的logrotate配置如下: 123456789101112yangjing:~$ more /etc/logrotate.d/nginx /usr/local/nginx/logs/*.log { notifempty daily

2015总结暨2016展望

2015已过去,2016到来。展望未来也总结过去。 20152015年到了一家新的公司,是一家做大数据服务的创业公司(准备说是2014年底)。刚到公司时我们只有几人,到现在已经成为一家50人左右的中小型互联网公司了。上半年我们尝试过个人社交、电商、招聘、监控等方向,到现在确定到了企业数据服务上。一路走来,从快速试错到确定目标,还是颇为不易的。 说完公司,再来谈谈个人吧。对于我自己来说,今年还是很有