专注于前后端服务器交互,人工智能,NLP领域
简介 学过概率理论的人都知道条件概率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B);即事件A和事件B同时发生的概率等于在发生A的条件下B发生的概率乘以A的概率。由条件概率公式推导出贝叶斯公式:P(B|A)=P(A|B)P(B)/P(A);即,已知P(A|B),P(A)和P(B)可以计算出P(B|A)。 假设B是由相互独立的事件组成的概率空间{B1,b2,..
首先要在 spring-mybatis的配置文件添加 事务支持,和事务annotation支持 注意:如果是mysql请使用innodb innodb 支持事务功能,myisam 不支持。 <!-- transaction support--> <!-- PlatformTransactionMnager --> <bean id="txManag
package com.gooddeep.dev.elasticsearch.commons.dao; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.elasticsearch.action.ActionFuture; import org.elasticsearc
项目清单 elasticsearch服务下载包括其中插件和分词 http://download.csdn.net/detail/u014201191/8809619 项目源码 资源文件 app.properties [html] view plaincopy elasticse
从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存
1.Spring实现数据库的读写分离 现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用
1、web.xml 位置问题 mvn install一个web项目时,报错如下:Error assembling WAR:webxml attribute is required [plain] view plain copy [ERROR] Failed to execute goal org.apache.mave
1、先导出一个个maven项目下的某些包的源文件到target下的dubbo目录 注意:maven-jar-plugin插件智能打包本项目下的代码(自己写的代码) <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execut
Quartz是一个基于Java的作业调度管理的轻量级框架,目前在很多企业应用中被使用,它的作用类似于java.util中的Timer和TimeTask、数据库中的job等,但Quartz的功能更强大、更灵活。从Quartz2开始,你可以使用POJO作为一个任务(Job),这种开发方式进一步降低了代码的耦合度,如果跟Spring进行整合,使用起来将更加方便简单。 整合开发需要使用的
package com.gooddeep.elasticsearch; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.collections.map.HashedMap; import org.apache.log4j.Propert
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 debug: 当此
1. Spring MVC集成slf4j-log4j 关于slf4j和log4j的相关介绍和用法,网上有很多文章可供参考,但是关于logback的,尤其是Spring MVC集成logback的,就相对少一些了,而且其中一些也有着这样那样的问题。进入正题之前先简单介绍下Spring MVC集成slf4j-log4j的过程,如下: 1) 在pom.xml文
/* * Copyright 2014-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
注:使用logback和log4j十分相似, log4j的属性配置文件可以通过工具http://logback.qos.ch/translator/转换为logback的配置文件放到类路径里面去,另外再将logback的类库logback-core,logback-classic加入到类路径中去就搞定了。 一、下载组件:slf4j:http://www.slf4j.org/downl
看了网上一些教程,大多都有一些老旧,这里重新记录一下,其实都是大同小异. 注意 前提 你先安装号httpd和php 安装 php的redis驱动 先从phpredis的git拿到最新的源码包: wgethttps://github.com/nicolasff/phpredis/archive/master.tar.gz 然后解压到进入目录:tar xvf master.tar.gz
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。 元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target,
org.springframework.data 1.8.1 spring 4.0.4 mongo-java-driver3.0.0 配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi
这两天做Web开发,发现通过Spring进行对象管理之后,做测试变得复杂了。因为所有的Bean都需要在applicationContext.xml中加载好,之后再通过@Resource去取得。如果每次都要整个业务流做的差不多了再去测试,这样效率很低,也很麻烦。如果单独去写一个测试用类,这样太繁琐了。于是想起Spring有一个测试框架,能够整合JUnit进行测试,于是便拿出来试试~
第4章 MongoDB整合Spring (黎明你好原创作品,转载请注明) 4.1 创建maven项目 4.1.1 repositories 创建maven项目,其中repositories使用spring的maven库: Java代码 <repositories> <reposi
查看SELinux状态: 1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled 2、getenforce ##也可以用这个命令检查 关闭SELinux: 1、临时关闭(不用重启机器): sete
注意:如果让httpd支持php需要修改httpd.conf的以下 1.检查apache的配置文件看是否加载了libphp5.so模块,若没有就添加 LoadModule php5_module modules/libphp5.so 2.在<IfModule mime_module>模块中看是否添加有php页面,若没有就添加 Add
注意:使用自带web管理界面,需要 在配置文件中httpinterface=true,并创建一个用户 1、下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz 2、解压 tar zxvf mongodb-linux-x86_64-rhel70-3.
先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。 从技术方面剖析,很多人肯定会想到事务,但是事务是控制库存超卖的必要条件
1、Quartz java实现 注:这里使用的是Quartz1.6.5版本(包:quartz-1.6.5.jar) [java] view plain copy //测试main函数 //QuartzTest.java package quartzPackage;
个体人工智能 -随机数(Random) -A*寻路(A* Search Algorithm) -状态机机制(Finite-State Machine) -决策树机制(Decision Tree) -博弈论(Game Theroy) -神经网络(Artificial Neural Networks) -深度学习(Deep Learning)
优化算法入门系列文章目录(更新中): 一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬
1. Ubuntu12.04基本设置 1) 设置与Windows共享(通过hgfs) 2) 设置root密码 sudo passwd root 3) 设置root登录 vim /etc/lightdm/lightdm.conf 在最后添加一行:greeter-show-manual-login=tru
第一次使用hadoop,另外eclipse也不太熟悉,现在把自己在安装过程中得琐碎问题记录下来。 eclipse版本:eclipse-jee-indigo-SR2-linux-gtk.tar.gz hadoop版本:hadoop-0.20.203.0 本文前提是,你已经正确安装了hadoop-0.20.203.0,hadoop伪分布模式的安装过程网上有很多。 e
单点搭建HADOOP系统 安装JDK 1.下载jdk1.6.0_20;(下载文件为jdk-6u20-linux-i586.bin); 2.进入到jdk文件所在目录,由于运行bin文件是需要权限的,所以运行如下命令:chmod u+x jdk-6u20-linux-i586.bin,使得当前用户有权限执行该文件; 3.在jdk文件所在目录下执行:sudo ./jdk
1、默认集群连接 Client client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 2、自定义集群连接 Settings
简介 开始学es,我习惯边学边记,总结出现的问题和解决方法。本文是在两台linux虚拟机下,安装了三个节点。本次搭建es同时实践了两种模式——单机模式和分布式模式。条件允许的话,可以在多台机器上配置es节点,如果你机器性能有限,那么可以在一台虚拟机上完成多节点的配置。 如图,是本次3个节点的分布。 虚拟机主机名 IP es节点 master
elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。 配置es的集群名称,默认是elas
elasticsearch的一些基本概念 需要我们注意的是,这些概念理解只是解释其含义,不推荐强制翻译成中文。 Index:这是ES存储数据的地方,类似于关系数据库的database。 Document type:嗯,类似关系数据库的表,主要功能是将完全不同schema(这个概念以后会讲到,不急)的数据分开,一个index里面可以有若干个Document type。
判断两个向量之间夹角是顺时针还是逆时针 利用平面向量的叉乘 a = (x1,y1) b = (x2,y2) a×b = x1y2 - x2y1 若结果为正,则向量b在a的顺时针方向 否则,在a的逆时针方向 若结果为0,则a与b共线 注:两向量之间夹角以小于180度计算 交叉口向左拐向右拐的问题 若AB*BC&
1、运用 #!/usr/bin/python #encoding=utf-8 import sys from selenium import webdriver reload(sys) sys.setdefaultencoding( "utf-8" ) driver = webdriver.PhantomJS(executable_path='/home/lhy/phantomjs
安装elasticsearch 1、下载 wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.3/elasticsearch-2.3.3.rpm 2、yum 安装yum install elasticsearch-2
A). Base64 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时
首先pip安装selenium 一、phantomjs 1、下载phantomjs压缩包,解压,把bin文件夹路径加入PATH环境变量 2、代码 #coding=utf-8 import requests import re from pyquery import PyQuery as pq from lxml import etree from bs4 import Beaut
时间复杂度 算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。 随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。 我们看一下小例子: int value = 0;
遗传算法介绍(内含实例) 现代生物遗传学中描述的生物进化理论:遗传物质的主要载体是染色体(chromsome),染色体主要由DNA和蛋白质组成。其中DNA为最主要的遗传物质。 基因(gene)是有遗传效应的片断,它存储着遗传信息,可以准确地复制,也能发生突变,并可通过控制蛋白质的合成而控制生物的状态.生物自身通过对基因的复制(reproduction)和交叉(crossover,即
这两天研究了下 A* 寻路算法, 并写了寻路算法的代码, 觉得有用的同学可以看看. 另外因为图片制作起来比较麻烦, 所以我用的是原文里的图片. 当然寻路算法不止 A* 这一种, 还有递归, 非递归, 广度优先, 深度优先, 使用堆栈等等, 有兴趣的可以研究研究~~ 简易地图 如图所示简易地图, 其中绿色方块的是起点
1、RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。 RESTful接口URL的格式: http://localhost:9200/<index>/<type>/[<id>] 其中index、type是必须提供的。 id是可选的,不提供es会
ElasticSearch(名称太长,后面简称ES)作为一个搜索引擎,目前可谓是如日中天,几乎和solr齐驾并驱。关于他能做什么,跟云计算有什么关系,在此不再描述。但是ES的官方文档,特别是关于java的客户端文档,真是少的可怜,甚至连个完整的增删改的示例都没有。在此,我就献丑了。 在开始讲解之前,还是先做个铺垫,为了能够有一个可以索引的模型,我们自定义了一个模型,暂时起个名称叫
既然是开发篇,主要以代码为主,辅助一些说明。所有的内容都是代码实际应该验证过的。 引入的头文件: import static org.elasticsearch.node.NodeBuilder.nodeBuilder; import java.io.IOException; import java.net.InetAddress; import java.util
1、下载ElasticSearch-2.2.0安装包https://www.elastic.co/downloads/elasticsearch 2、解压缩并安装:CMD窗口运行 elasticsearch.bat(或者直接双击elasticsearch.bat运行) 3、现在在浏览器里测试一下:http://localhost:9200/ 4、安装ElasticSearch Hea
前提 passwd文件已经写上账号密码 username=password svnserve.conf文件配置如下 [root@aa conf]# cat svnserve.conf |grep -v "#" [general] anon-access = none auth-access = write password-db = passwd authz-db = a
安装步骤如下: 1、yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件。 输入 svn --help可以查看svn的使用方法,如下图。 3、创建svn版本库目录 mkdir -p /var/
##############################MySQL数据库连接驱动############################## #数据库连接URL url=jdbc:mysql://localhost:3306/grtg?useUnicode=true&characterEncoding=utf8 #数据库连接驱动 driver=com.mysql.jdbc.Dr
两个线程A,B。调用同一加锁代码块C,假如A先调用C,在A线程调用C完成之前,B线程要调用此代码块必须先等待,等A调用完成,B立马执行C. package test; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.net.URLEncoder; impor
1、创建hdfs文件 如果Apache hadoop版本是0.x 或者1.x, bin/hadoop hdfs fs -mkdir -p /in bin/hadoop hdfs fs -put /home/du/input in 如果Apache hadoop版本是2.x. bin/hdfs dfs -mkdir -p /in #创建hdfs文件 创建源文件