上个周苹果公司悍然发布了新版mac,消灭了功能键,包括ESC,终于使下面这个段子成为了事实:问,如何生成一段随机数?答:让一个非开发人员退出vim。哈哈,现在开发人员是不是也可以产生随机字符串了?发现自己作为一个vim党,竟然对很多vim常用的命令都不知道,今天就记一下笔记,让自己这个vim党称呼实至名归。
首先要说明的是,基本的vim命令像A、I、O进入编辑模式,ESC进入命令模式,“:”进入末行模式,以及常用的什么dd,yy,p等都认为大家已经熟练掌握,就不说了。
1. 替换字符
:%s/oldchar/newchar/g
这个命令同样可以解决:[……]
Read more
今年年中的时候由公司平台部转组到Alpha项目中心负责公司一拍项目组的技术研发工作,到现在已经快有将近半年的时间了,随着对系统的越来越熟悉,对原有系统的架构也越来越感到有些不合理的地方,随着自己水平的提升感觉对架构也有了一点自己的理解,所以今天就借这个机会说说自己的不成熟的建议。
一. 原有的架构
俗话说,一图胜千言,直接上图:

解释一下这几个系统分别的作用:
1. 后台管理系统不用说了,管理C和B可见的内容;
2. C端用户系统,是对C可见的一个系统,一拍是一个招聘系统,所以就是对候选人操作的后台;
3. B端用户系统,是对B可见的一个系统,通俗点讲就是HR操[……]
Read more
上一篇文章讲了redis的主从搭建,主从一般只能解决我们读写分离的问题,可以增加我们的系统的负载能力,但是并不能解决单点问题,大家应该知道在互联网公司各个服务肯定不能出现单点问题,所以这一节就记录一下如果让我们的系统更加高可用。
一、集群搭建
需要先说明的是,集群搭建需要至少6个节点:3主3从(因为没有那么多机器,所以就在一台上搞了)
1. 创建文件夹redis-cluster,然后在其下面分别创建6个文件夹,存放6个实例
mkdir -p /usr/local/redis-cluster
mkdir 7001;mkdir 7002;mkdir 7[......]
Read more
周末没事看北京尚学堂之前的公开课视频,发现了白贺翔老师有一节课讲redis 3.0的视频教程,还不错,以下是学习笔记。
一、单机版搭建
首先是下载地址:http://redis.io/download,假设我们下载是redis-3.0.0-rc2.tar.gz
安装步骤:
1. 把我们下载好的redis-3.0.0-rc2.tar.gz放到Linux的/usr/local文件夹下
2. 解压tar -xzvf redis-3.0.0-rc2.tar.gz -C /usr/local/
3. 进入到redis-3.0.0-rc2目录下,进项make
4. 进入到src下[……]
Read more
公司项目的rpc服务基于阿里巴巴的dubbo架构,开发dubbo项目的时候测试只能跑junit test,但实际工作中由于很多时候junit test写的不全,出了问题只能再加日志分析原因(典型的没事找事型),这次和公司移动端的推送联调IM服务,发现他们已经把老夫之前听说的远程debug用在了实际工作中,刚好趁此机会实验了一把,以下是笔记,以待自己和需要的朋友参考。
1. dubbo服务的设置
我们自己观察dubbo的start.sh和start.bat这两个脚本会发现有如下两端代码
①. start.sh
JAVA_DEBUG_OPTS=""[......]
Read more
我们都知道多线程是为了加快数据处理的,但至于怎么用,因为在工作中,我一直很少用,所以对多线程不是很了解。之前处理一个功能时,由于没有经验,导致速度很慢,前一段时间经老大提示,可以用多线程解决,突然发现原来多线程可以这么用可以来处理这一类问题,今天记录一下,作为笔记也作为一个给读者的参考,好了先说一下问题:公司的业务的业务不仅分模块而且是分库分表的,这样就导致一个问题,当我们要查询一个数据时,不能连表查询,不能只通过一个接口获得数据,最容易想到的常规做法就是:
public List<Data> queryDatas() {
List<Data> d[......]
Read more
经过前面几篇文章的努力,我们的solr服务终于跑起来了,可以对外提供服务了,虽然有一点小瑕疵(对中文支持不是很好,但可以通过IK分词来解决,示例可以看老夫之前的这篇文章),但还是存在一个致命的问题:单点!对于现代互联网公司,这个一个不可忍受的缺点,所以本节我们就来解决这个问题,在搭建集群之前,我们先看看要搭建的集群的目标:

从这张图上,我们可以清晰看到我们需要三台zookeeper服务器和四台solr服务器,一共七台服务器(实际上老夫去哪找那么多集群,所以使用伪分布式的方式搭建集群,即在同一台服务器上创建多个实例模拟集群),确定了目标之后,我们就开始搭建我们的集群。
四. zookee[……]
Read more
三. 使用solrJ和spring集成
再上一篇和上上一篇文章中我们先搭建了一个solr服务器和学习了solr服务器后台的使用,这一次我们将直接进入实战:和spring集成,在继承之前我们先看看所需要的solr的jar文件都是那些(spring的那些大家就自己玩吧,我相信都知道的)
1. 所需的jar文件
直接上图片,就是图上的这些图片,当然大家可以自己找maven依赖(jar文件这个最简单了,没有的话一定会报classnotfoundException,加上就好了)


2. spring的配置
<?xml version="1.0" encodin[......]
Read more
二. 认识solr管理后台
上一篇文章中我们搭建起来的其实就是一个solr管理后台,这节课我们就是来简单认识他,具体的操作当然由大家自己试验了。下面我们先直接选择左侧的默认collection1你会看到下面出来很多东西,其中有几个比较重要:Analyzer、Documents、Query,下面我们认识第一个:Analyzer。
1. 认识Analyzer
查看当前索引库中的字段列表,及分词效果。

①. 域、字段列表:所有的域都是定义在schema.xml配置文件中。在solr中域必须是先定义后使用。
如果想修改域的定义及自定义域需要修改schema.xml。
②. 查看域的分词效果[……]
Read more
一直对全文索引很感兴趣,但由于工作上一直没用到,所以就没有上心去看,有一次闲着无聊,偶然发现传智播客的公开课上有一节讲这个的,听了一下还不错,于是整理成笔记,供老夫和其他朋友需要的时候参考。
老夫相信看这篇文章的人对solr一定有所了解,不了解的请用Google百度一下,所以虽然是一个系列,但这里老夫只会讲怎么用,争取让看了这个系列文章的人能里面先跑起来,好了,下面直接切入主题。
一. solr的安装与配置
1. solr的运行环境
① . 需要安装jdk,要求jdk的版本为1.7.0以上版本。
② . Tomcat要求7以上版本。
③ . 操作系统:linux、windows都可以。[……]
Read more
近期评论