- 博客(66)
- 收藏
- 关注
转载 Mysql--基本索引介绍
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin。在查找username="admin"的记录 SELECT
2016-11-04 00:10:16
598
原创 在线广告产品实践
互联网上有三种资产能够变成钱:数据,流量,品牌属性。数据:可能来自于媒体,可能是第三方的数据拥有者,后两项是媒体的专属。而在当今越来越复杂的广告交易和数据变现市场中,如果从实际需求的角度来看,不外乎有下面三类问题:a)、媒体如何利用合适的广告产品更好地变现?要兼顾短期收益和长期品牌价值的双重目的,如何利用自有的销售渠道以及各种供给方的广告产品以平衡这两方面的目的。b)、广告主如
2016-10-29 16:39:19
544
原创 Linux Shell-认识与学习bash
1、认识bash这个shellbash:Linux使用的shell版本。我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作。2、bash的优点:1)命令记忆能力:通过按上下键就可以找到前/后一个输入的命令(1000个)。好处就是可以查询曾经做过的操作。2)命令与文件补全功能(Tab键的好处)3)命令别名设置功能(alias) eg:ali
2016-10-27 00:35:28
526
转载 论文BigTable-Google's BigTable 原理 (翻译)
Google's BigTable 原理 (翻译) 题记:google 的成功除了一个个出色的创意外,还因为有 Jeff Dean 这样的软件架构天才。 欢迎订阅作者微博 ------编者 官方的Google Reader blog 中有对BigTable 的解释。这是Google
2016-10-21 18:05:54
465
转载 MapReduce论文- 中文翻译
MapReduce:超大机群上的简单数据处理 摘要MapReduce是一个编程模型,和处理,产生大数据集的相关实现.用户指定一个map函数处理一个key/value对,从而产生中间的key/value对集.然后再指定一个reduce函数合并所有的具有相同中间key的中间value.下面将列举许多可以用
2016-10-21 18:04:19
597
转载 GFS论文-Google File System(中文翻译)
Google文件系统 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。1、设计概览 (1)设计想定 GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想。这
2016-10-21 18:01:33
580
原创 性能测试基础知识
一、性能测试典型术语1、并发用户2、用户并发数量3、请求响应时间(TTLB:Time to last byte)4、事务响应时间:事务可能有多个请求组成,主要是为了向用户说明业务响应时间。5、吞吐量(Throughput):单位时间内网络上传输的数据流量
2016-10-15 22:54:56
407
原创 计算广告-系统结构组成
计算广告技术:一、个性化系统与搜索系统介绍有很多大数据驱动的产品,就其技术架构而言,往往落地成个性化系统,即根据用户、上下文的一些信息动态决定返回什么内容的系统。计算广告是一个典型的个性化系统。个性化系统与搜索系统都是互联网时代具有挑战性的大规模计算问题。由于数据规模的要求:一般采用检索+排序这样类搜索的系统架构。两者的差别:在于大量的用户特征的使用。常
2016-10-08 20:04:26
2024
转载 Linux常用命令-crontab:
crontab定时任务 crontab -l:查看当前系统中的定时任务 cronrab -e:编辑定时任务 第1列分钟1~59第2列小时1~23(0表示子夜)第3列日1~31第4列月1~12第5列星期0~6(0表示星期天)第6列要运行的命令这里有crontab文件条目的一些例子:30 21 * * * /usr/local/
2016-09-14 09:48:46
361
转载 Hadoop 常用命令
启动Hadoop进入HADOOP_HOME目录。执行sh bin/start-all.sh关闭Hadoop进入HADOOP_HOME目录。执行sh bin/stop-all.sh 1、查看指定目录下内容hadoop dfs –ls [文件目录]eg: hadoop dfs –ls /user/wangkai.pt2、打开某个已存在文件hadoop dfs
2016-09-14 09:33:58
241
原创 计算广告-在线广告的产品概况
参考书籍---刘鹏老师的《计算广告》在线广告不同于传统广告,其产品形式相当丰富1、合约广告产品:这类广告主要服务于后续效果不宜直接衡量的品牌类广告主,在门户网站和视频网站较为常见。a)按照时段售卖的CPT(Cost Per Time)广告b)按照约定展示量售卖的CPM(Cost Per Mille)广告。2、竞价广告产品:最重要的形式是搜索广告,产品形式为对搜索
2016-09-12 23:07:06
623
原创 基于Dubbo的分布式系统架构(二)-消息中间件在分布式系统中的作用及介绍
一、消息中间件的定义 Message-orientedmiddleware (MOM) is software infrastructure focused on sending and receivingmessages between distributed systems. 消息中间件是在分布式系统中完成消息的发送和接收的基础软件。二、消息中间件的作用
2016-07-07 12:53:23
4377
原创 全文检索Lucene(三)--中文分词与高亮显示
一、中文分词smartcn二、检索结果高亮显示实现 首先,建立索引,自己在D盘创建lucene6文件夹package com.feiyang.lucene3;import java.nio.file.Paths;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis
2016-07-06 23:06:11
1349
原创 基于Dubbo的分布式系统架构(一)-分布式系统架构介绍
一、基于Dubbo的分布式系统架构规划(以第三方支付系统为例) 二、结合业务场景,对系统的应用类型进行划分:(1) 服务子系统 ------ 账户、交易、对账、结算、打款、风控……(2) 内部管理应用 ---- 运营、风控、会计……(3) 对外业务应用 ---- 门户、代理商系统……(4) 对外接入应用 ---- 网关、前置、交易接口……
2016-07-06 18:45:29
5512
1
原创 全文检索Lucene(二)--特定项搜索与queryParser搜索
一、对特定项的搜索 1、准备数据源信息,这里准备了7个txt文档(纯英文)。 2、建立索引信息,通过三个文本域建立索引,并使用了标准的分词器,分别是fileName(存储在索引目录中),fullPath(存储),contents(不存储)。package com.feiyang.lucene;import java.io.File;impor
2016-07-05 23:52:36
1616
原创 基于Dubbo的分布式系统架构-持续集成原理介绍
搭建敏捷高效的持续集成管理平台1、持续集成介绍 持续集成是一种软件开发实践 团队开发成员经常集成他们的工作,每次集成都通过自动化的构建 (包括自动化编译、测试、发布)来验证,从而尽快地发现集成错误。持续集成的价值、要素、原则…… 请自行找资料了解……谈谈我对持续集成的好处的理解 管理大规模的工程的必要性(切合我们教
2016-07-03 13:03:18
4321
原创 基于Dubbo的分布式系统架构-在Linux操作系统上手工部署Dubbo服务
一、环境变量配置 二、部署目录规范 三、手工维护Dubbo服务 四、自定义Dubbo服务维护的Shell脚本 自定义shell脚本: #!/bin/sh## java envexport JAVA_HOME=/usr/local/java/jdk1.7.0_72export JRE_HO
2016-07-03 10:03:50
2111
原创 基于Dubbo的分布式系统架构-使用Dubbo进行规模服务化前的工程结构优化
本笔记学习于:龙果学院(吴水成老师的基于Dubbo的分布式系统架构)。一、介绍传统的基于MVC模式下的单项目应用架构: 我们刚接触的基于java的web系统开发,都是基于MVC设计模式进行开发。一个应用系统只对应一个工程,我们来看下单工程的目录结构列表。 相信大家对整个工程的目录并不陌生,该工程基于spring+Struts2+mybatis+mav
2016-07-03 08:20:55
4380
3
原创 分布式缓存-Memcached学习笔记(一)
一、介绍 Memcached是国外社区网站LiveJournal的开发团队开发的高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。 memcache是一个自由和开放源代码、高性能、分布式的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 二、特征
2016-07-01 18:01:48
341
原创 消息队列-ActiveMQ学习笔记(三)-发布-订阅消息模式实现
发布-订阅消息模式与点对点模式类似,只不过在session创建消息队列时,由session.createQuene()变为session.createTopic()。消息发布者代码:package com.feiyang.activemq2;import javax.jms.Connection;import javax.jms.ConnectionFactory;import j
2016-07-01 16:19:21
5442
原创 消息队列-ActiveMQ学习笔记(二)-点对点消息实现
创建java项目,并导入jar包,activemq-all.jar包含了其全部的jar包消息提供者代码:package com.feiyang.activemq;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms
2016-07-01 15:42:12
3016
原创 消息队列-ActiveMQ学习笔记(一)-JMS介绍与环境搭建
一、介绍JMS(来自于百度百科) JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。1、体系结构:JMS提供者:连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台
2016-07-01 13:40:05
3349
原创 java知识巩固
注:本博客是需要有的java知识,是博主用来对所学的一个知识巩固。一、关于对象与类: 1、重载:如果多个方法有相同的名字,不同的参数,便产生了重载。 2、无参数的构造函数:如果在编写一个类时,没有编写构造器,那么系统会提供 一个无参数构造器。这个构造器将所有的实例域设置为默认值。如果类中提供了至少一个构造器,但是没有提供无参数的构造器,则系统不会提供无参数构
2016-06-30 14:24:08
817
1
原创 java安全框架-Shiro学习笔记(八)-加密工具类
基于base64加密、解密和MD5加密两种方式进行封装的简单工具类。package com.java1234.util;import org.apache.shiro.codec.Base64;import org.apache.shiro.crypto.hash.Md5Hash;public class CryptographyUtil { /** * base64加密
2016-06-28 14:09:04
1274
原创 java安全框架-Shiro学习笔记(七)-自定义realm
这一小节,我们将使用数据库中的数据,并自定义realm的形式,进行身份和权限的认证。那我们依旧采用上节中用到的ShiroWeb项目第一步:创建数据库的结构:第二步:在pom.xml中添加mysql的驱动包 mysql mysql-connector-java 5.1.37 第三步:在项目中添加工具类,用于创建数据库连接,关闭数据库连接。package co
2016-06-28 13:49:49
447
原创 java安全框架-Shiro学习笔记(六)-url匹配方式+shiro标签使用+session会话机制
Url匹配方式:? 匹配一个字符/admin? 可以匹配/admin1 /admin2 但是不能匹配/admin12 /admin * 匹配零个或者一个或者多个字符/admin* 可以匹配/admin /admin1 /admin12 但是不能匹配/admin/abc** 匹配零个或者多个路径/admin/** 可以匹配/admin /admin/a /admin/a/b
2016-06-28 12:07:00
4294
原创 java安全框架-Shiro学习笔记(五)-Shiro集成Web
首先,使用maven创建web项目,并引入依赖包,这里使用jetty启动应用程序。pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or
2016-06-28 10:45:56
419
原创 java安全框架-Shiro学习笔记(四)-注解式授权+Jsp标签授权
一,注解式授权@RequiresAuthentication 要求当前Subject 已经在当前的session 中被验证通过才能被访问或调用。@RequiresGuest 要求当前的Subject 是一个"guest",也就是说,他们必须是在之前的session 中没有被验证或被记住才能被访问或调用。@RequiresPermissions("account:create") 要求当
2016-06-27 21:50:40
493
原创 java安全框架-Shiro学习笔记(三)-权限认证
权限认证:1、权限认证核心要素权限认证,也就是访问控制,即在应用中控制谁能访问哪些资源。在权限认证中,最核心的三个要素是:权限,角色和用户。权限:即操作资源的权利,比如访问某个页面,以及某个模块的数据的添加,修改 ,删除,查看的权利;角色:是权限的集合,一个角色可以包含多个权限用户:在shiro中,代表访问系统的用户,即Subject2、授权1)
2016-06-27 21:27:40
672
转载 使用spring cache和ehcache之前必须了解的
一.spring cache Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果。使用Spring Cach
2016-06-27 17:56:58
1722
原创 java安全框架-Shiro学习笔记(二)-身份认证
身份认证1、Subject认证主体Subject认证 包含两个信息:Principals:身份,可以是用户名,邮件,手机号码等等,用来标识一个登录主体身份;Credentials:凭证,常见有密码,数字证书等等;2、身份认证流程3、realm&realm jdbcrealm:域,shiro从Realm中获取验证数据;realm有很多种类,例如常见的jdb
2016-06-26 12:19:49
690
原创 java安全框架-Shiro学习笔记(一)-入门小案例
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。我们先来输出一个hello word。1、创建maven项目2、将依赖jar包引入项目中,包括shiro和slf4j。注意:不要忘记把log4j.properties加载到项目路径下3、添加配置文件,shiro.ini,模拟从数据库中查询登录名称和密码[users]:代
2016-06-26 11:29:07
4837
1
原创 Git基本操作
git init --- 初始化仓库git status --- 查看仓库的状态git add --- 向暂存区中添加文件git commit --- 保存仓库的历史记录 git commit -m --- "注释信息" 记述一行提交信息 记述详细提交信息:接执行 git commit命令,在编辑器中记述提交信息的格式如下
2016-06-25 13:24:33
233
原创 JAVA多线程-Lock的使用(四)-读写锁ReentrantReadWriteLock
读写锁ReentrantReadWriteLock 我们之前讲解的ReentrantLock具有完全互斥排他的效果,即同一时间只有一个线程在执行lock()方法后面的任务。这样做虽然保证了实例变量的线程安全性,但效率是非常低下的。 而ReentrantReadWriteLock类,使用它可以加快运行效率,在某些不需要操作实例变量的方法中,完全可以使用读写锁来提升该方法的代码
2016-02-21 15:35:04
390
原创 JAVA多线程-Lock的使用(三)-Lock与Condiition相关的方法
Lock与Condiition相关的方法 1、int lock.getHoldCount():查询当前线程保持锁定的个数,也就是调用lock()方法的次数 2、int lock.getQueueLength():返回正在等待获取此锁定的线程估计数。 比如:有5个线程,有一个首先执行await()方法,那么调用该方法后返回值为4,说明有4个线程同时在等待lo
2016-02-21 14:53:05
842
原创 JAVA多线程-Lock的使用(二)-公平锁与非公平锁
公平锁与非公平锁 锁Lock分为L:公平锁和非公平锁。 公平锁:表示线程获取锁的顺序是按照线程加锁的顺序来分配的,即先来先得的FIFO先进先出顺序。 非公平锁:一种获取锁的抢占机制,是随机获得锁的,和公平锁不一样的就是先来的不一定先得到锁,这个方式可能造成某些线程一直拿不到锁,结果就不公平了。 1、公平锁的案例:package org
2016-02-21 13:33:45
1013
原创 JAVA多线程-Lock的使用(一)-ReentrantLock与Condition
JAVA多线程-Lock的使用 本节主要介绍使用Java5中的Lock对象也能实现同步的效果,而且在使用上更加方便。一、使用ReentrantLock类 在java多线程中,可以使用synchronized关键字来实现线程之间同步互斥,但在JDK1.5中新增加了ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定 ,多路分支通知
2016-02-21 12:59:11
366
原创 JAVA多线程-线程间通信(五)-类ThreadLocal的使用
类ThreadLocal的使用 变量值的共享可以使用public static的形式,所有的线程都是用同一个public static变量。如果想实现每一个线程都有自己的共享变量该如何解决呢? 类ThreadLocal主要解决的是:每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每一个线程的私有数据。 1、方法get()与n
2016-02-21 10:53:30
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人