如何评价大漠穷秋 angular2的文章《Angular有哪些地方比Vue更优秀?》

在Java世界中,AES、DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程。
日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计的漏洞导致了不可收拾的恶果,验证了一句话“出来混的,迟早是要还的”,所以我想通过专题博文介绍一些常用的攻击技术和防范策略。 SQL Injection也许很多人都知道或者使用过,如果没有了解或完全没有听过也没有关系,因为接下来我们将介绍SQL Injection。
使用/ 快速配置https
Java.util.concurrent下并发容器入门解读加代码实战
详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
每周为您推送最有价值的开源技术内参!
/p/ /p/ 总体上是参考这两个链接,感谢大神的分享,但是中间遇到很多问题,也学到很多,现总结如下: 以下是基于win10 64 位& Visual Studio 2008平台(不是标配,我电脑就是win10,vs2008也是之前项目用到装的) 一、源码 这里用的是bitcoin-0.1.0版本 二、配置依赖库 a)
wxWidgets (3.0.3版本) http://blog.csdn.net/sxhelijian/article/details/安装参考链接 没有为什么,上面大神用的3.1.0版本,我只是之前学习的时候安装过这个版本的。 安装方法:到http://www.wxwidgets.org/downloads/下载Windows ZIP版本,解压, 接下来对wxwidgets文件进行编译,这里用到了mingw32-make命令,由于我之前安装过codeblocks-13.12mingw-setup的缘故,这一步我直接可以进行,总结就不写,codeblocks安装还是比较简单的。不过这里有一些环境变量配置的问题。环境变量设置就不说了,C:\Program Files (x86)\CodeBlocks\MinGW\bin 命令行进入wxwidgets的解压目录,输入以下命令: mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug 这可能需要很久 b)
XCO-JS是一款以XCO数据对象为基础,集数据封装、数据请求、模板渲染、数据绑定和数据验证为一体的综合性JS框架。 ![XCO-JS组件](http://www.xson.org/project/xco-js/images/01.png) ## 1. XCO的JavaScript实现版本 `xco.js-{version}.js`是XCO通用对象数据模型的JavaScript实现版本,提供了XCO对象基于JS语言特性的API;关于XCO通用对象数据模型可参考 ### 1.1. 支持的类型 | java中的类型 | JS中的类型 | 数据类型标识 | | ------------- | ------------- | | int | Number | I | | long | Number | L | | float | Number | F | | double | Number | D | | char | String | C | | boolean | Boolean | O | | String | String | S | | java.util.Date | Date | A | | java.sql.Date | Date | E | | java.sql.Time | Date | G | | XCO | XCO | X | | String[] | Array | SA | | List\ | Array | SL | | Set\ | Array | SS | | XCO[] | Array | XA | | List\ | Array | XL | | Set\ | Array | XS | | int[] | Array | IA | | long[] | Array | LA | | float[] | Array | FA | | double[] | Array | DA | ### 1.2. 使用示例 & a. 设值 var xco = new XCO(); // 设置基本类型 ...
本章是《[ Spring Boot 快速入门 ](/nb/?order_by=seq)》系列教程的第三章,若要查看本系列的全部章节,请点击[ 这里 ](/nb/?order_by=seq) 。 ## 目录 * 简介 * 源码下载 * 软件版本 * JPA简介 * 在项目中配置JPA * 编写实体类 * 编写 Repository 接口 * 使用原生SQL查询 * 总结说明 ## 简介 在上一章《 Spring Boot MVC 》中,我们了解了使用 Spring Boot MVC 来开发 Http Restful API的相关技术,但只处理HTTP请求是不够的,现在的应用程序大多使用了关系型数据库,因此本章我们会带着大家继续 Spring Boot 体验之旅,这次我们将采用 JPA 技术来访问数据库,给 Hello Spring Boot 程序添加带数据库访问演示代码。 ## 源码下载 本章的示例代码放在“码云”上,大家可以免费下载或浏览: [https://git.oschina.net/terran4j/springboot/tree/master/springboot-jpa](https://git.oschina.net/terran4j/springboot/tree/master/springboot-jpa) ## 软件版本 相关软件使用的版本: * Java: 1.8 * Maven: 3.3.9 * MYSQL: 5.5 程序在以上版本均调试过,可以正常运行,其它版本仅作参考。 ## JPA简介 JPA是Java ...
背景 由于导入及导出服务的使用,可能过多占用业务系统的请求。 为此在db层次做了切分(资源隔离)使用不同的db连接池。 同时针对导入导出服务增加请求频率限制,避免占用过多资源 解决方案 db连接资源分离 比较简单的利用spring做dataSource路由 /**
* Created by qixiaobo on .
public class DataSourceRouter extends AbstractRoutingDataSource {
protected Object determineCurrentLookupKey() {
return WxbStatic.getDataSourceRouting();
} import com.air.tqb.annoate.DataS
import com.air.tqb.annoate.DataSourceT
import com.air.tqb.utils.WxbS
import mons.logging.L
import mons.logging.LogF
import org.aspectj.lang.ProceedingJoinP
import org.aspectj.lang.annotation.A
import org.aspectj.lang.annotation.A
import org.springframework.core.O
import org.springframework.core.annotation.O
import org.
* Created by qixiaobo on .
前言 应用项目中都会有一些参数,一般的做法通常可以选择将其存储在本地配置文件或者内存变量中;对于集群机器规模不大、配置变更不是特别频繁的情况下,这两种方式都能很好的解决;但是一旦集群机器规模变大,且配置信息越来越频繁,依靠这两种方式就越来越困难;我们希望能够快速的做到全局参数的变更,因此需要一种参数的集中式管理,下面利用Zookeeper的一些特性来实现简单的参数管理。 准备 jdk:1.7.0_80
zookeeper:3.4.3
curator:2.6.0
spring:3.1.2 Maven引入 &dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-core&/artifactId&
&version&3.1.2.RELEASE&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context&/artifactId&
&version&3.1.2.RELEASE&/version&
&/dependency&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-beans&/artifactId&
&version&3.1.2.RELEASE&/version&
&/dependency&
&dependency&
&groupId&org.apache.zookeeper&/groupId&
&artifactId&zookeeper&/artifactId&
&version&3.4.3...
主要讲的是解决问题的思路。当然也附带了尽可能详细的步骤,感兴趣的童鞋可以一步一步跟着来实践一把。因为运维职业的缘故,基本上是把事故当故事来写了,希望能够喜欢。 ## 思路 根据实际环境,判断问题解决方向:单机多实例;放弃内网危险的尝试:不能快速有效解决,且账号权限太大;选择外网验证方案后再进内网实施。很多时候,选择大于努力。 # 简化问题:建模先--宿主机编辑 -& jdk7打war包 -& tomcat默认配置 -& 单机单实例 -& 单机双实例
软件周刊(07.30 — 08.05):本周热门软件更新 — My97 DatePicker 4.8 发布,日期选择控件;时隔三年的升级 OpenGL 4.6 正式发布:支持 SPIR-V 语言;Windows 命令控制台配色方案 20 年来首次更新;Red Hat Enterprise Linux 7.4 正式发布,将弃用 Btrfs 文件系统
我是一名ruby on rails程序员,想学习一下laravel这个php的web mvc框架。 我手头上有一台macbook。 我现在把这个学习过程记录下来。 首先是安装环境,要先使用laravel框架之前,必须要先安装php的开发环境。 #### 1. 安装php 安装的php版本最好就是7以上吧,我是用homebrew来安装的。 你可以用以下的命令来搜索一下可以安装的php版本。 ``` bash brew search php ``` 最后我用下面这条命令来安装php71。 ``` bash brew install homebrew/php/php71 ``` ![](https://rails365.oss-cn-/uploads/photo/image/270/1b4fb8c51c9bfe971e0da4048da.png) #### 2. 安装composer composer是php界用来管理包的,相当于ruby中的gem。 在mac下安装composer也蛮简单的,只要一条命令即可。 ``` brew install composer ``` 如果不是在mac下安装,那应该要到composer的官网去下载composer的可执行文件,容易放到$PATH中。 https://getcomposer.org/download/ & 我之前在服务器上就是这么做的,因为由于网速等原因下载下来好慢,我就把composer的可执行文件用浏览器下载完,然后scp到服务器中。 ``` bash sudo mv composer.phar /usr/local/bin/composer sud...
本文大体上提供了一个Apache Ignite的完整功能一览表,读者可以总体上了解Ignite都包含了哪些功能,内容来自官方网站。
angular打包过程遇到的坑
1.打包命令 ng build --prod --aot 2.各种坑
2.1打包后后静态页面在服务器端无法正常显示
添加路由&router-outlet&&/router-outlet&
页面首页出现两次渲染情况
路由配置如下:
@NgModule({
imports: [
RouterModule.forRoot([
{path: '',
component: AppComponent},
{ path: 'sign/:openId', component: SignComponent },
{ path: 'suc', component: SucComponent }
exports: [RouterModule]
html: &app-header&&/app-header&
&router-outlet&&/router-outlet&
解决方法:
(1)http://blog.csdn.net/catwindboy/article/details/
(2)重定向到自己想要渲染的页面 ps:我照着方法(1)走到一半发现问题依旧存在,过程中还不断出现bug,同事建议我用angular重定向。
2.2 angular重定向踩过的坑
angular重定向 参考的以下几篇文章
(1)重定向配置方法 /longhx/p/7238933.html ...
# 简介 easyjson是什么呢? 根据官网介绍,[easyjson](/mailru/easyjson)是提供高效快速且易用的结构体structs&--&json转换包。easyjson并没有使用反射方式实现,所以性能比其他的json包该4-5倍,比golang 自带的json包快2-3倍。 easyjson目标是维持生成去代码简单,以致于它可以轻松地进行优化或固定。 # 安装 ```go go get -/mailru/easyjson/ go /mailru/easyjson/easyjson or go build -o /mailru/easyjson/easyjson ``` 验证是否安装成功。 ```go $ easyjson Usage of D:\Code\go\bin\easyjson.exe: -all generate marshaler/unmarshalers for all structs in a file -build_tags string build tags to add to generated file -leave_temps do not delete temporary files -lower_camel_case use lowerCamelCase names instead of CamelCase by default -no_std_marshalers don't generate MarshalJSON/UnmarshalJSON funcs -noformat do not run 'gofmt -w' on output file -omit_empty omit empty fields by default string specify the filename of the output -pkg process the whole packag...
####背景:#### 1. spark graphx并未提供极大团挖掘算法 2. 当下的极大团算法都是串行化的算法,基于[Bron–Kerbosch](https://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm)算法 ####思路:#### 1. spark graphx提供了连通图的算法,连通图和极大团都是无向图中的概念,极大团为连通图的子集 2. 利用spark graphx 找出连通图,在从各个连通图中,利用串行化的极大团算法,找出极大团 (伪并行化) 3. 对于关联性较强的图,找出来的连通图非常大,这时串行化的极大团算法,仍然会耗时很久,这里利用剪枝的思想减少样本数据量,但是对于大图,优化空间有限 4. 期待真正的并行化的极大团算法 ---------- ####配置文件:#### graph_data_path=hdfs://localhost/graph_data out_path=hdfs://localhost/clique ck_path=hdfs://localhost/checkpoint numIter=50 剪枝次数 count=3 极大团顶点数大小 algorithm=2 极大团算法,1:个人实现 2:jgrapht percent=90 剪枝后的顶点数,占前一次的百分比,如果剪完后,还剩下90%的数据,那么剪枝效率已然不高 spark.master=local spark.app.name=graph spark.serializer=org.apache.spark.serializer.KryoSerializer spark.yarn.executor.memoryOverhe...
诸法因缘生,我说是因缘;因缘尽故灭,我作如是说
& 这是一篇博客福利! 相信很多关注Spring Cloud的爱好者们,不论是读我的系列文章和书籍还是看其他朋友们写的博客佳文,都不可避免的启动多个项目来体验Spring Cloud带来的整套微服务架构方案。其中,Eureka注册中心几乎是每个试验都必须要启动的应用。在整个学习过程中,我们不厌其烦的启动它,为了让微服务之间能够正常的发现并调用服务接口。 所以...我花了点业余时间,对Spring Cloud Eureka Server的UI增加了一些说明,并将在博客上公开出来给Spring Cloud的初学者和开发者们使用,大家可以方便的使用它来调试我博客和《Spring Cloud微服务实战》书中的诸多示例,或是利用此开发和调试自己的应用。 该Eureka注册中心关闭了自我保护机制,所以当各位开发者的服务下线后,稍等片刻就会被剔除,所以大家不用担心服务的长时间停留在该服务注册中心上。说了那么多,这个开放的注册中心在哪里呢?请看下面,它主要分为两部分: - Dashboard : / - 客户端配置:`eureka.client.serviceUrl.defaultZone=/eureka/` 关于该服务注册中心的源码如下,欢迎给予*Star*支持! - 码云:/didispace/didi-eu...
小白一枚,最近在看深入理解java虚拟机2这本书,怕看过之后就忘了,看一节然后写一片博客消化消化,加深印象与理解。有理解错误的地方还望指出。
Java虚拟机主要分为方法区,虚拟机栈,本地方法栈,程序计数器,堆。其中方法区与堆是线程共享区域;虚拟机栈,本地方法栈,程序计数器是线程私有区域。
方法区主要存放加载的类信息,常量,静态常量,即时编译器编译后的代码等,也有人称之为永久代,二者并非一样,或者说是HotSpot虚拟机用永久代实现了虚拟机的方法区,为了方便HotSpot垃圾收集器可以向管理java堆一样去管理这块区域。
虚拟机栈是线程私有的,在java方法执行的时候会创建一个栈帧,用来存放局部变量表,动态链接,操作数栈,方法出口等信息。其中局部变量表存放8个基本数据类型与对象的引用。64位长度的long类型与double会占用2个局部变量空间,其余的占用1个。在编译期间,方法需要分配的局部变量空间是确定的。
本地方法栈与虚拟机栈非常类似,只不过虚拟机栈是为java方法服务,本地方法栈是为Native方法服务。
程序计数器是线程私有的,用来记录当前线程正在执行的虚拟机字节码指令地址,如果正在执行Native方法,...
一些平时遇到的问题的集合
介绍MySQL和Oracle下的分页查询实现方式,并说明了Oracle下ROWNUM的一些常识。
![![输入图片说明](https://static.oschina.net/uploads/img/92757_jaqK.jpg "在这里输入图片标题")](https://static.oschina.net/uploads/img/92757_jaqK.jpg "在这里输入图片标题") 难度解析 1、动画效果 requestAnimationFrame 2、碰撞检测 DIV之前是否重合 ``` stop jump ``` ``` var timer = requestAnimationFrame(fly) var x = 0; //场景移动 //主函数 function fly() { x--; var top = $("#bird").offset(). top += 1; $("#bird").css({ "top": top }); $("#ground").css({ "left": x }); var treeleft = $("#tree").offset(). treeleft--; $("#tree").css({ "left": treeleft }); //碰撞检测 if (checkCollection($("#bird"), $("#tree"))) { stop(); alert("hit!"); } else { timer = requestAnimationFrame(fly); } } //检查是否碰撞 function checkCollection(bird, tree) { var birdPosition = []; birdPosition[0] = bird.offset(). birdPosition[1] = bird.offset().top + bird.height(); birdPosition[2] = bird.offset().left + bird.width(); birdPosition[3] = bird.offset().top + bird.height(); var treePositio...
火热的八月,OSC源创会带着自由、开放、分享的开源精神,也带着满满的干货主题,邀请珠海的各位来约。
什么是索引? 索引的目的及优缺点? PostgreSQL、MySQL中的索引及分类
程序猿DD spring boot基础教程 程序猿DD spring cloud基础教程 微服务官方网站 spring for all 深度开源微服务 51cto《spring boot实战开发》专栏 iteye 《从零开始学spring boot》 CSDN 《Spring Cloud构建微服务架构》
// 常见Request获取路径集合
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String remoteAddress = request.getRemoteAddr();
String servletPath = request.getServletPath();
String realPath = request.getRealPath("/");
String remoteUser = request.getRemoteUser();
String requestURI = request.getRequestURI();
out.println("path:"+path+"&br&");
out.println("basePath:"+basePath+"&br&");
out.println("remoteAddr:"+remoteAddress+"&br&");
out.println("servletPath:"+servletPath+"&br&");
out.println("realPath:"+realPath+"&br&");
out.println("remoteUser:"+remoteUser+"&br&");
out.println("requestURI:"+requestURI+"&br&");
// 显示结果
path:/WebDemo
basePath:http://localhost:8683/WebDemo/
remoteAddr:127.0.0.1
servletPath:/index.jsp
realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\
remoteUser:null
requestURI:/WebDemo/index.jsp
1、复制authz passwd 和svnserve三个文件至 /home/svn目录 2、vim passwd 3、vim authz 4、vim svnserve 5、停止:killall svnserve
启动:svnserve -d -r /home/svn 6、修改项目下svnserve.conf文件 vim svnserve.conf 修改成如下: anon-access = none //禁止匿名访问
auth-access = write
password-db = /home/svn/passwd //统一使用密码文件
authz-db = /home/svn/authz
realm = project1 //权限域名,很重要,写你的工程名
包括小程序端与后端的部署
不得不说,开源中国这博客的印刷排版做的不太行,几次想要使用 markdown语法写点东西的时候,想到那层次不清的排版,还是放弃了。既然这样,还是继续使用富文本吧。 React 基本组件 + render 函数 class App ponent {
render() {
&div className='container'&
&Route exact path='/' component={Home} /&
&Route exact path='/battle' component={Battle} /&
} 状态初始化 state class App ponent {
constructor(props) {
super(props);
this.state = {
number: 0,
render() {
// more code here
} 挂载函数 componentDidMount class App ponent {
constructor() {
this.state = { data: [] }
loadFromServer() {
url: this.props.url,
dataType: 'json',
success: (data) =& {
this.setState({data: data})
error: (xhr, status...
本博文为Nginx Ingress Controller源码分析系列博文第1篇(共2篇),主要介绍Nginx Ingress Controller创建的逻辑。
参考大神的博客http://blog.csdn.net/shanghui815/article/details/6088588
//兼容IE6 if(window.XMLHttpRequest) {
request= new XMLHttpRequest();//IE7+,FIRFOEX,CHROME OPERA SAFARI }else { request=new ActiveXObject("Microsoft.XMLHTTP");//IE6.IE5 } //一个完整的HTTP请求过程 1.建立tcp连接 2.web浏览器想web服务器发送请求命令 3.web浏览器发送请求信息 4.web服务器应答 5.web服务器发送应答头信息 6.web服务器向浏览器发送数据 7.web服务器关闭TCP连接 一个HTTP轻友一般有四部分组成: 1.http请求的方法或动作 不如是GET还是POST 2.正在请求的URL, 3.请求头部信息
包含一些客户端环境信息 身份验证信息等 4.请求猪头,请求正文主体
请求正文中可以包含客户提交的查询字符串信息 表单信息等等 GET
一般用于信息获取 用URL传递参数
发送的信息数量有限 POst
修改服务器上的资源
对所发送信息的数量无限制 open(methond,url,async) 第一个参数发送请求的方法(一般用大写POS GET) 第二个地址(使用绝对地址和相对地址)
第三个参数 请求同步/异步(默认是ture) send(string) 发送服务器上 获取信息 responseText:获得字符串形式的响应数据 responseXML:获得XML形式的响应数据 status和statusText:以数字和文本...
sudo apt-get install motion sudo nano /etc/default/motion 将里面的no修改成yes,让motion可以一直在后台运行:start_motion_daemon=yes sudo nano /etc/motion/motion.conf
# 在守护程序(后台)模式下启动,打2开终端(默认:off)
# 检测到运动后,输出“正常”图片(默认:on)
output_normal off
# 存储进程编号的文件,又叫pid文件。(默认:未定义)。
process_id_file /var/run/motion/motion.pid
# 图像宽度(像素)。有效范围:取决于摄像头,默认:352个像素
# 图像高度(像素)。有效范围:取决于摄像头,默认:288个像素
height 480
# 每秒拍摄的最大帧数量。
# 有效范围:2-100。默认:100(几乎没有限制)。
framerate 7
# 如果你使用网络摄像头要使用的URL,尺寸将自动检测(包括http://、ftp://或file:///)
# 必须是返回单JPEG图片或原始MJPEG流的URL。默认:未定义
netcam_url value http://http://192.168.10.250:8080/videostream.cgi
# 网络摄像头的用户名和密码(只要在需要时)。默认:未定义
# 语法是用户:密码
netcam_userp...
待续!!!!!!!!!!!!!
template&size_t... _Indexes& struct _Index_tuple { };
/// Class template integer_sequence
template&typename _Tp, _Tp... _Idx&
struct integer_sequence
typedef _Tp value_
static constexpr size_t size() { return sizeof...(_Idx); }
template&typename _Tp, _Tp _Num,
typename _ISeq = typename _Build_index_tuple&_Num&::__type&
struct _Make_integer_
template&typename _Tp, _Tp _Num,
size_t... _Idx&
struct _Make_integer_sequence&_Tp, _Num, _Index_tuple&_Idx...&&
static_assert( _Num &= 0,
"Cannot make integer sequence of negative length" );
typedef integer_sequence&_Tp, static_cast&_Tp&(_Idx)...& __
/// Alias template make_integer_sequence
template&typename _Tp, _Tp _Num&
using make_integer_sequence
= typename _Make_integer_sequence&_Tp, _Num&::__
/// Alias template index_sequence
template&size_t... _Idx&
using index_sequence = ...
经常做前端项目,发现新手经常不知道如何下手,我这里总结了一个思考的框架,用来指导应该做什么事情,至于怎么做要结合自身的框架架构设计来做。 ## 思考框架 | 页面 | UI切图 |UI组件|前端交互|后端交互|客户端交互|数据埋点跟踪|团队依赖|版本兼容性|API兼容性|其他说明| | --- | ----- |-----|-------|------|---------|----------|-------|------|------|------| | 页面一 |背景全景大图|dialog确认弹窗|按钮可用性控制|提交接口|调用登录校验桥|click pv|等待xx团队xx功能预计日期与yy,为xx团队提供xx功能预计日期为xx|客户端新加功能,需要做版本判断|后端api有升级,需要考虑接口前后兼容性|全景背景图size比较大,考虑出低质量版本| | 页面二 |||||||||||
根据Shiro的设计思路,用户与角色之前的关系为多对多,角色与权限之间的关系也是多对多。在数据库中需要因此建立5张表,分别是用户表(存储用户名,密码,盐等)、角色表(角色名称,相关描述等)、权限表(权限名称,相关描述等)、用户-角色对应中间表(以用户ID和角色ID作为联合主键)、角色-权限对应中间表(以角色ID和权限ID作为联合主键)。具体dao与service的实现本文不提供。总之结论就是,Shiro需要根据用户名和密码首先判断登录的用户是否合法,然后再对合法用户授权。而这个过程就是Realm的实现过程。
1.application.properties 中添加
pagination.paginationFilter=com.test.util.pager.PaginationFilter 2.添加类 public class PaginationFilter implements Filter {
public static String PAGE_SIZE = "pageSize";
public static String PAGE_NO = "pageNo";
public static String TOTAL_COUNT = "totalCount";
private String pageSizeName = PAGE_SIZE;
private String pageNoName = PAGE_NO;
private String totalCountName = TOTAL_COUNT;
public void init(FilterConfig filterConfig) throws ServletException {
public void destroy() {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
System.out.println("分页插件,过滤器开始");
Integer pageSize = Integer
.valueOf((request.getParameter(pageSizeName) == null) ? "0"
: request.getParameter(pageSizeName));
Integer p...
打开终端,执行
/usr/libexec/java_home -V
Matching Java Virtual Machines (1):
1.8.0_144, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jdk路径配置: JAVA_HOME=Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH ~
作者|王国璋 编辑|小智 在过去几年,对于 Apache Kafka 的使用范畴已经远不仅是分布式的消息系统:我们可以将每一次用户点击,每一个数据库更改,每一条日志的生成,都转化成实时的结构化数据流,更早的存储和分析它们,并从中获得价值。同时,越来越多的企业应用也开始从批处理数据平台向实时的流数据数据平台转移。本演讲将介绍最近 Apache Kafka 添加的一些系统架构,包括 Kafka Connect 和 Kafka Streams,并且描述一些如何使用它们的实际应用体验。 注:本文整理自王国璋在 QCon 北京 2017 站上的演讲。 流处理 在流处理刚被提出来的时候,很多人认为流处理只能进行做近似的结果或者增量的计算,倘若你想保证其安全性,以 Lamda 架构为基础,利用流处理得到最现在的结果。但同时你需要采用 batch processing 等其他方式来保证其全局的安全性以正确性。 在如此多年的研究结果下,在我看来,流处理并不一定是近似的,或者是仅仅以无法保证真确性为代价而提高速度的一种数据处理方式。相反,流处理应该是一个与全局计算、batch processing 稍微有点不同的计算模型。跟批量处理不同之处在于,批量处理将数据引向计算,而流处理将计算引向数据。这句话大概有点模糊,接下...
火热的八月,OSC源创会带着自由、开放、分享的开源精神,也带着满满的干货主题,邀请珠海的各位来约。
每周为您推送最有价值的开源技术内参!
![](https://www.yunai.me/images/common/wechat_mp_.jpg) & ???关注**微信公众号:[【芋艿的后端小屋】](http://www.yunai.me/images/common/wechat_mp.jpeg)**有福利: & 1. RocketMQ / MyCAT / Sharding-JDBC **所有**源码分析文章列表 & 2. RocketMQ / MyCAT / Sharding-JDBC **中文注释源码 GitHub 地址** & 3. 您对于源码的疑问每条留言**都**将得到**认真**回复。**甚至不知道如何读源码也可以请教噢**。 & 4. **新的**源码解析文章**实时**收到通知。**每周更新一篇左右**。 & 5. **认真的**源码交流微信群。 ------- - [1. 概述](#) - [2. SQLParsingEngine](#) - [3. SQLParser SQL解析器](#) - [3.1 AbstractParser](#) - [3.2 SQLParser](#) - [3.2.1 #parseExpression() 和 SQLExpression](#) - [3.2.2 #parseAlias()](#) - [3.2.3 #parseSingleTable()](#) - [3.2.4 #skipJoin()](#) - [3.2.5 #parseWhere()](#) - [4. StatementParser SQL语句解析器](#) - [4.1 StatementParser](#) - [4.2 Statement](#) - [5. 彩蛋](#) ------- # 1. 概述 上篇文章[《词法解析》](http://www.yunai.me/Sharding-JDBC/sql-parse-1/)分享了**词法解析器...
【一周源资讯(-)】最近各大浏览器停用或取消默认使用 Flash 的新闻不断,现在Adobe 终于宣布,计划终结 Flash 浏览器插件,但这似乎已经没什么影响了……
SpringBoot入门——局部与全局的异常处理 1、构建测试代码 (1)、新建MAVEN项目 打开IDE—新建Maven项目—构建一个简单Maven项目 (2)、编写pom.xml引入包 编写pom配置引入jar包 注:引入完毕后可能项目会报红叉,更新maven即可 &project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.springboot&/groupId&
&artifactId&springboot&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-parent&/artifactId&
&version&1.4.1.RELEASE&/version&
&properties&
&project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding&
&java.version&1.8&/java.version&
&/properties&
&dependencies&
&!-- 引入web相关包 --&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-web&/...
【一周源资讯(-)】Flash 该不该开源?Angular 和 Vue你站那个?如何客观评价程序员的好坏?
现代 Web 开发在将体验和功能做到极致的同时,对于美观的追求也越来越高,数据可视化、动画交互、2D/3D 等元素已然成为标配。 以下是为 Web 开发者推荐的一些精品开源图形库,旨在专注于最常见的问题和最常用的东西。将针对动画(Animation)、数据可视化(Data Visualization)、2D/3D 分别整理,欢迎保持关注。 给 Web 开发人员推荐的开源图形库 —— 动画 给 Web 开发人员推荐的开源图形库 —— 2D/3D 数据可视化 1、D3.js 最流行的可视化库之一,被各种表格插件、库、框架所使用。它允许绑定任意数据到 DOM ,然后将数据驱动转换应用到 Document 中。你可以使用它从数组中生成 HTML 表,或是使用相同的数据创建具有平滑过渡和交互的交互式 SVG 条形图。 效果预览:点此查看 2、Recharts 基于 React 的组合式图表,用解耦的、可重用的 React 组件快速构建你的图表。依赖于轻量级的 D3 子模块构建 SVG 元素,还可以调整组件的属性与传递组件来自定义图表。 效果预览:点此查看 类似的将 React 和 D3 结合在一起的还有: Victory 一个用于构建图表模块化和交互式数据可视化的 ReactJS 库。效果预览 VX 可重用的 low-level 可视化组件集合。效果预览 3、ECharts 一个由百度...
在Spring mvc的开发中,我们可以通过RequestMapping来配,当前方法用于处理哪一个URL的请求.同样我们现在有一个需求,有一个任务调度器,可以按照不同的任务类型路由到不同的任务执行器。其本质就是通过外部参数进行一次路由和Spring mvc做的事情类似。简单看了Spring mvc的实现原理之后,决定使用自定义注解的方式来实现以上功能。 ### 自定义TaskHandler注解 ```java @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface TaskHandler { String taskType() default ""; } ``` 以上定义了任务处理器的注解,其中@Component表示在spring 启动过程中,会扫描到并且注入到容器中。taskType表示类型。 ### 任务处理器定义 ```java public abstract class AbstractTaskHandler { /** * 任务执行器 * * @param task 任务 * @return 执行结果 */ public abstract BaseResult execute(Task task); } ``` 以上定义了一个任务执行的处理器,其他所有的具体的任务执行器继承实现这个方法。其中Task表示任务的定义,包括任务Id,执行任务需要的参数等。 ### 任务处理器实现 接下来,我们可以实现一个具体的任务处理器。 ```jav...
本章是《[ Spring Boot 快速入门 ](/nb/?order_by=seq)》系列教程的第一章,若要查看本系列的全部章节,请点击[ 这里 ](/nb/?order_by=seq) 。 ## 目录 * 简介 * 源码下载 * 软件版本 * 创建项目 * 编写 HelloService 类 * 编写 SpringBoot 主程序 * 运行效果 * 总结说明 ## 简介 本章我将用Spring Boot开发一个类似于"Hello, World"的程序,我们将它称之为“Hello, Spring Boot”。 通过这个小小的Demo程序,让对Spring Boot完全不了解的Java开发者可以快速上手,使用Spring Boot进行开发。 ## 源码下载 本章的示例代码放在“码云”上,大家可以免费下载或浏览: [https://git.oschina.net/terran4j/springboot/tree/master/springboot-hello](https://git.oschina.net/terran4j/springboot/tree/master/springboot-hello) ## 软件版本 相关软件使用的版本: * Java:
1.8 * Maven:
3.3.9 程序在以上版本均调试过,可以正常运行,其它版本仅作参考。 ## 创建项目 我们用Eclipse(其它IDE类似)创建一个Maven项目,pom.xml文件的内容如下: ```xml 4.0.0 terran4j springboot-hello 0.0.1-SNAPSHOT jar sp...
& 这是一篇博客福利! 相信很多关注Spring Cloud的爱好者们,不论是读我的系列文章和书籍还是看其他朋友们写的博客佳文,都不可避免的启动多个项目来体验Spring Cloud带来的整套微服务架构方案。其中,Eureka注册中心几乎是每个试验都必须要启动的应用。在整个学习过程中,我们不厌其烦的启动它,为了让微服务之间能够正常的发现并调用服务接口。 所以...我花了点业余时间,对Spring Cloud Eureka Server的UI增加了一些说明,并将在博客上公开出来给Spring Cloud的初学者和开发者们使用,大家可以方便的使用它来调试我博客和《Spring Cloud微服务实战》书中的诸多示例,或是利用此开发和调试自己的应用。 该Eureka注册中心关闭了自我保护机制,所以当各位开发者的服务下线后,稍等片刻就会被剔除,所以大家不用担心服务的长时间停留在该服务注册中心上。说了那么多,这个开放的注册中心在哪里呢?请看下面,它主要分为两部分: - Dashboard : / - 客户端配置:`eureka.client.serviceUrl.defaultZone=/eureka/` 关于该服务注册中心的源码如下,欢迎给予*Star*支持! - 码云:/didispace/didi-eu...
之前就被朋友安利使用小程序,最近接近了小程序,发现了它竟然带来了一场“大革命”。 简单说,它就是一个可以实现之前只能是原生态APP可以实现的效果和功能。比如说,一些酷炫的页面与转场,一些可以直接和手机硬件交互的功能,录音啊,拍视频啊,调用手机的重力感应啊,GPS啊等等。
## 1. 项目介绍 ![Xson](http://www.xson.org/project/xson/1.0.2/images/00.png) Xson是一个Java对象序列化和反序列化框架。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 官网地址: 项目地址: ## 2. 新版本特性 1. 新增`buffer`包,此包中的相关类提供对序列化过程中的byte[]进行分配、使用、回收的管理;进一步提供序列化的速度,并减少Full GC。 2. 提供带有偏移内容的API支持; 3. 提供XCO对象序列化和反序列的支持; 4. 提供扩展配置文件的支持; ## 3. 使用教程 ### 3.1 基本使用 & a. 添加依赖 org.xson xson 1.0.2 & b. 序列化 User user = new User(); // set... byte[] data = XSON.encode(user); & c. 反序列化 // byte[] data User user = XSON.decode(data); & d. 带有偏移内容的序列化和反序列化 ![偏移内容](http://www.xson.org/project/xson/1.0.2/images/01.png) int x = 6; User user = new User(); // set... byte[] data = XSON.encode(x, user); // byte[] data User user = XSON.decode(x, data); ### 3.2 配置文件 & 1.xson.properties文件配置示例: # Support for XCO xco=true # ByteArrayManager configuration by...
JAVA学习路线图,特此声明; 仅希望对热爱JAVA学习有所帮助 如若转载或者使用本图,请注明出处,避免后期出现版权问题,谢谢!!!
JAVA学习路线图 此乃是java攻城狮的学习路线图,由简到繁,由易到难,一步步的学习,最后成为 JAVA攻城狮。希望对大家的学习有所帮助 阶段一
1:学习HTML
3:Javascript
6:Bootstrap
7:JAVAse基础
8:mysql数据库
9:Powerdesigner
11:JAVAWEB
阶段三 12:oracle
13:struts2
14:Hibernate
15:Spring 阶段四 16:Maven
17:SpringMVC
18:MyBatis Java学习交流QQ群:
禁止闲聊,非喜勿进!
Spring data 目前还不支持 Elasticsearch 5.5.x 所以需要通过注入 TransportClient 这就意味着使用 5.5.x 版本你无法使用 ElasticsearchRepository 这种特性,只能通过官方的 TransportClient 操作 Elasticsearch。
随着各行各业的发展,CAD已经广泛应用于工业、服装、建筑以及电子产业等设计领域。AutoCAD 是一种流行的商业CAD软件,虽然很强大,但并不是免费的。因此本文推荐了几种免费重量轻的CAD工具/软件,如有其他更好的选择,欢迎在评论区留言,以供更多开发者学习和交流。 开源 CAD/CAE工具 FreeCAD FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台。 CAD 应用程序 QCAD QCad 是一个专业的 CAD 系统。QCad 使用户能够创建技术图纸,如计划、建筑、室内装饰、机械部件或架构和图表。它采用 DXF 文件作为其标准的文件格式。虽然其它 CAD 软件包往往是使用复杂,但 QCad 试图有所不同。 计算机辅助设计系统 BRL-CAD BRL-CAD 是一个构造实体几何(CSG) 实体模型计算机辅助设计(CAD) 系统。BRL-CAD 包括一个交互式的几何编辑器,光学跟踪支持图形着色和几何分析,计算机网络分布式帧缓存支持,图像处理和信号处理工具, 可以进行几何编辑、几何分析,支持分布式网络,可以进行图像处理和信号处理。 3D建模软件 OpenSCAD 为有创造力的web开发者而设计,OpenSCAD是...
RSA公私钥生成,RSA pkcs12证书创建, rsa密钥对
通过长时间在微信平台中与多个客户和项目合作,烽火台(微信CRM)形成了自己对微信粉丝到客户独特的判断。在粉丝到客户形成的这段过程中,在企业微信营销中粉丝拥有三个非常重要的属性:微信粉丝3大属性,即: 人口地理属性,常见如:性别、地理位置、头像、昵称 行为兴趣属性,如:是否经常参加线下活动,对某个产品的态度,是否经常访问网站 生命周期属性,是粉丝,还是付费客户,是企业按照购买意向强烈程度来区分粉丝的一种方式,意向越强营销成功几率越高
绝大多数企业利用客户关系管理系统(CRM)来对客户生命周期进行统一管理,既可以做到有的放矢:给VIP客户推荐高价值产品,也可以做到及时跟进:对产生购买意向的客户推送促销。CRM对营销和销售所产生的影响是非常巨大的,这也叫是为何烽火台(微信CRM)——的许多客户重视“客户生命周期属性”的根本原因。 但新的挑战随之而来,在微信领域传统CRM很难发挥其巨大优势,复杂的设置和高昂的价格很难帮助营销人员在短期内达成营销目标,分析原因有如下几点: 1、微信用户行为复杂:从线下到线上(扫码关注),从微信内到网页(授权访问网页),从一个系统(如卡券)到另外一个系统(客服),传统CRM软件记录和追踪的...
java后端1年经验和技术总结(1) 1.引言   毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,为大家分享一下。   经过一年意识到以前也有很多认识误区,比如:   偏爱收集,经常收集各种资料视频塞满一个个硬盘,然后心满意足的看着容量不行动。   不重基础,总觉得很多基础东西不需要再看了,其实不懂的地方很多,计算机程序方面任何一个结果都必有原因,不要只会用不知道原理,那是加工厂出来的。现在ide查看代码那么方便,ctrl+点击就进入了JDK查看实现细节。   好高骛远,在计算机基础不牢固的情况下,总想着要做架构,弄分布式,搞大数据之类。   不重视性能,只求能实现功能,sql查询是不是可以优化,是否有算法妙用,大对象是否要清除。   不重视扩展性,模块之间紧密耦合,常用方法不提取成工具类,调用关系混乱等问题。   ……   本文重点不在这些,故只列举了一小部分,下面进入正题。 2.语法基础  2.1 Java类初始化顺序   这是所有情况的类初始化顺序,如果实...
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为核心的主流开发方法 没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理,你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某个特定问题领域的分析方法! 关于基础知识:你可以看看这些名词或知识点,看是否能说出个一二三四来。 JavaSE ----基本语法、数据类型、操作符等:int、long、Integer、Long、if、else、for、while ----面向对象:class(类)、Object(对象)、instance(实例)、state(状态)、behavior(行为)、field、method、new、可见性(访问控制)、attribute、property、package、import、static variable、class variable、instance variable、heap、method area、stack、GC(垃圾回收)、override、overload、对象转型(casting)、多态、this、super ----异常处理:理解编译期错误和运行...
php应用透明全链路监控扩展
软件周刊(07.23 — 07.29):本周热门软件更新 — iView 发布 2.0 正式版,基于 Vue.js 的 UI 组件库;LibreOffice 5.4 发布,改进与微软 Office 的兼容性;FreeBSD 11 首个增量更新发布:多项组件获得功能更新;Debian 9.1/8.9 正式发布:包含大量修复
火热的八月,OSC源创会带着自由、开放、分享的开源精神,也带着满满的干货主题,邀请珠海的各位来约。
$(document).ready(function() { layui.use(['layer', 'form'], function(){ var layer = layui.layer ,form = layui.form(); //获取省市县value var isprovince = $('#area').attr('province'); var iscity = $('#area').attr('city'); var isdistrict = $('#area').attr('district'); var ajaxUrl = "../../ajax/get-city-list"; //选择省份 $("#province option").each(function(){ var $me = $(this);
if($me.val() == isprovince) {
$me.attr("selected",true);
$me.attr("selected",false);
} }); //请求当前省份的所有市区 $.ajax({ type: "get", url: ajaxUrl, async: true, data: { "fid": isprovince }, dataType: "json", success: function(data) { //渲染市区 $("#city").html(""); $("#city").append("&option value=''&请选择市&/option&"); $.each(data, function(i, n) { $("#city").append("&option value='" + n.area_id + "'&" + n.name + "&/option&"); }); //选择市区 $("#city option").each(function(){ var $my = $(this);
if($my.val() == iscity) {
在使用jquery.page分页插件时有时会遇到pageNo(即当前页数)参数时会出现NaN情况,这是因为插件在注册事件时多注册问题,导致多计算了页数。 所以要在调用插件初始化的时候先取消注册就可以解决: 即在$(".tcdPageCode").createPage({...}); 上面加上$(".tcdPageCode").unbind()就可以解决。
相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。
写这的目的,是方便做离线本地部署时候,提前准备环境。 . hyperkube 1.6.2, or 1.7.2 . kubeadm 1.7.3 . docker 1.12.6-32 . dashboard 1.6.3
Repository
=======================================================================================================================================================
Installing:
2:1.12.6-32.git88a4867.el7.centos
2kubernetes
2kubernetes
```js //初始化git仓库 git init // 将本地代码提交到本地暂存区 git commit -m "描述" //拉取远程仓库代码合并 git pull //提交本地仓库代码到远程推送:git GUI图形化界面push ``` + 更多git命令推荐: - [git命令-阮一峰](/blog/2015/12/git-cheat-sheet.html) - [git常用命令](/cspku/articles/Git_cmds.html)
1、简述 消息摘要算法包含 MD、SHA 和 MAC共3大系列,常用于验证数据的完整性(数字签名)。 任何消息经过 散列函数 处理后,都会获得唯一的散列值,这个过程称为 "消息摘要";其散列值称为“数字指纹”,自然其算法就是 “消息摘要算法(又称为:散列算法)”了;换句话,如果其数字指纹唯一,就说明其消息是一致的。通常,为了方便人们识别和阅读,数字指纹 常以十六进制字符串的形式出现。 2、安全性 消息摘要算法其核心在于散列函数的单向性,即通过散列函数可获得对应的散列值,但不可通过该散列值反推其原始信息。这个是消息摘要算法的安全性的根本所在。 3、分类 主要有:MD(Message Digest,消息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)、MAC(Message Authentication Code, 消息认证码算法)。 4、MD5算法 介绍:获取一个随机长度的信息并产生一个128位的信息摘要,再将这个 128 位的 2进制摘要转换为 十六进制,便可以得到一个32位的字符串(每4位二进制转换为1位十六进制数),因此,外面见到的大部分 MD5算法的数字指纹都是 32位 十六进制的字符串。 import java.io.UnsupportedEncodingE
import java.security.MessageD
(一)添加字段
添加对象类型的字段: String tempJson = new Gson().toJson(object);// 获取json字符串.
JsonObject jsonObject = new JsonParser().parse(tempJson).getAsJsonObject();// 获取json对象
Map&String, Integer& testObject = new HashMap&String, Integer&();
jsonObject.add("testObject", new Gson().toJsonTree(casetypeCount)); (二)移除字段 JsonObject jsonObject = jsonElement.getAsJsonObject();
jsonObject.remove("jsonFeild");// 移除json的该字段
spring boot下确认cron定时器无法退出
实用jmx客户端连接,调用mbean的代码
烧U盘启动盘,然后进BIOS设置Usb启动,按步骤安装 安装成功后,ubuntu是默认未激活root用户的 激活ubuntu中的root账户, sudo passwd root [sudo] password for letuknowit:
//输入当前你这个账户的密码 Enter new UNIX password:
//为root账户设置新密码 Retype new UNIX password:
//重复密码
买MyEclipse送Java畅销书,仅限15天!!活动火热开启中&& 【MyEclipse最新版下载】 有时可能您已经有EJB项目和其他Java项目组成的EJB应用程序。 请注意,如果您的EJB项目依赖于第三方JAR,则必须使用企业应用程序项目将EJB项目和第三方库合并到单个企业存档(EAR)部署单元中。 通常,EJB应用程序的代码库可能会在主要的MyEclipse EJB项目和EJB项目所依赖的一个或多个Java项目之间进行分区。通常情况下,这些依赖Java项目的作用是将具有超出EJB项目的其他用途的常用或共享代码本地化。可以为依赖Java项目的输出打包并合并到EJB项目的部署中配置MyEclipse。 建立Java项目依赖关系 通过EJB项目的Build Path属性定义一个依赖Java项目。 1. 右键单击EJB项目,然后选择Properties。 2. 选择Java构建路径,然后单击Projects标签。 有关将Logging Java项目建立为名为irstejb项目的依赖项目示例,请参见下图。这样做可以使firstejb项目源代码能访问Logging Java项目定义的类。 代码完成,验证和其他工具能参考日志记录项目资源。 使Logging Java项目依赖于firstejb EJB Project 配置依赖Java项目的部署 MyEclipse Web project Deployment Service允许您在项目的属性中设置所有部署程...
目录(?)[-] 一般索引正排索引
242倒排索引中提取关键词 242为提取出来的关键词编码 244暴雪的Hash算法 244不重复Hash编码 后续添上数目索引110000 第一节索引的构建方法 第二节Hash表的构建与实现 第三节倒排索引文件的生成与实现 第四节程序需求功能的改进 41对相同日期与不同日期的处理 42为关键词添上编码 第五节算法的二次改进 51省去二次Hash
52除去排序针对不同日期的记录直接插入 一,什么是倒排索引 问题描述:文档检索系统,查询那些文件包含了某单词,比如常见的学术论文的关键字搜索。 基本原理及要点:为何叫倒排索引?一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。  以英文为例,下面是要被索引的文本:
T0 = "it is what it is"
T1 = "what is it"
T2 = "it is a banana"
我们就能得到下面的反向文件索引:
"banana": {2}
{0, 1}  检索的条件"what","is"和"it"将对应集合的交集。 正向索引开发出来用来存储每个文档的单词的列表。正...
/ma6174/vim
ElasticSearch 聚合搜索总结
/chy2055/p/5220793.html
(1)appender 1.appender标签是logback配置文件中重要的组件之一。在logback配置文件中使用appender标签进行定义。可 以包含0个或多个appender标签。 2.appender主要作用就是:①控制打印日志的地方、②打印日志的输出格式。 3.appender语法结构: 1)属性:appender标签中包含两个强制需要的属性:①name、②class ①name:为这个appender起一个唯一标识的名称。与appender-ref中的值相对应。以引用appender。 ②class:一个Appender类实例的完整类名称。 2)appender标签中可以包含0个或者1个【layout】标签。0个或者多个【encoder】标签,0个或者多个 【filter】标签。 3)除了上面3个公共标签之外,还可以包含任意多个与appender的class属性所在的类中的对应的属性标 签。准确的说是setXXX()的XXX标签。他就是利用了Java的反射机制。例如: &configuration&
&appender name="FILE" class="ch.qos.logback.core.FileAppender"&
&file&myApp.log&/file&
&pattern&%date %level [%thread] %logger{10} [%file:%line] %msg%n&/pattern&
&/encoder&
&/appender&
&root level="debug"&
&appender-ref ref="FILE" /&
Java and null are uniquely bonded. There is hardly a Java programmer, who is not troubled by null pointer exception, it is the most infamous fact about. Even inventor of null concept has called it his billion dollar mistake, then why Java kept it? Null was there from long time and I believe Java designer knows that null creates more problem than it solves, but still they went with it. It surprise me even more because Java's design philosophy was to simplify things, that's why they didn't bothered with pointers, operator overloading and multiple inheritance of implementation, they why null. Well I really don't know the answer of that question, what I know is that, doesn't matter how much null is criticized by Java developers and open source community, we have to live with that. Instead of ruing about null it's better to learn more about it and make sure we use it correct. Why you should learn about null in Java? because If you don't pay attention to null, Java will make sure that y...
[http://blog.csdn.net/u/article/details/) server1: ``` ``` server2: ``` ```
/lets-encrypt/ /web/6106_2.shtml 经过对比发现,国内的DNSPOD、阿里云DNS、CloudXNS等都会出现Let's Encrypt 验证域名超时的情况,国外的Namecheap DNS、Linode DNS、 DNS等都是没有问题。
[facebook paper使用的第三方库](/entry/82489) [iOS中文版资源库,非常全](/WG-WA/p/5697098.html) [iOS 学习必备的开源项目及库](/p/e06f99a6256b)
火热的八月,OSC源创会带着自由、开放、分享的开源精神,也带着满满的干货主题,邀请珠海的各位来约。
日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,由于设计的漏洞导致了不可收拾的恶果,验证了一句话“出来混的,迟早是要还的”,所以我想通过专题博文介绍一些常用的攻击技术和防范策略。 SQL Injection也许很多人都知道或者使用过,如果没有了解或完全没有听过也没有关系,因为接下来我们将介绍SQL Injection。
保障国家权益的第一道防线是军队,而保障数据安全的最强壁垒则是存储。老司机多年经验总结,分享几点基于Ceph的对象存储实战兵法.
Android web开发入门篇
数据压缩是一个减小数据存储空间的过程,目前被应用在软件工程的各个地方,了解其一些原理,方便我们更好的甄选压缩方案。
在Spring mvc的开发中,我们可以通过RequestMapping来配,当前方法用于处理哪一个URL的请求.同样我们现在有一个需求,有一个任务调度器,可以按照不同的任务类型路由到不同的任务执行器。其本质就是通过外部参数进行一次路由和Spring mvc做的事情类似。简单看了Spring mvc的实现原理之后,决定使用自定义注解的方式来实现以上功能。 ### 自定义TaskHandler注解 ```java @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface TaskHandler { String taskType() default ""; } ``` 以上定义了任务处理器的注解,其中@Component表示在spring 启动过程中,会扫描到并且注入到容器中。taskType表示类型。 ### 任务处理器定义 ```java public abstract class AbstractTaskHandler { /** * 任务执行器 * * @param task 任务 * @return 执行结果 */ public abstract BaseResult execute(Task task); } ``` 以上定义了一个任务执行的处理器,其他所有的具体的任务执行器继承实现这个方法。其中Task表示任务的定义,包括任务Id,执行任务需要的参数等。 ### 任务处理器实现 接下来,我们可以实现一个具体的任务处理器。 ```jav...
![](https://www.yunai.me/images/common/wechat_mp_.jpg) & ???关注**微信公众号:[【芋艿的后端小屋】](http://www.yunai.me/images/common/wechat_mp.jpeg)**有福利: & 1. RocketMQ / MyCAT / Sharding-JDBC **所有**源码分析文章列表 & 2. RocketMQ / MyCAT / Sharding-JDBC **中文注释源码 GitHub 地址** & 3. 您对于源码的疑问每条留言**都**将得到**认真**回复。**甚至不知道如何读源码也可以请教噢**。 & 4. **新的**源码解析文章**实时**收到通知。**每周更新一篇左右**。 & 5. **认真的**源码交流微信群。 ------- - [1. 概述](#) - [2. SQLParsingEngine](#) - [3. SQLParser SQL解析器](#) - [3.1 AbstractParser](#) - [3.2 SQLParser](#) - [3.2.1 #parseExpression() 和 SQLExpression](#) - [3.2.2 #parseAlias()](#) - [3.2.3 #parseSingleTable()](#) - [3.2.4 #skipJoin()](#) - [3.2.5 #parseWhere()](#) - [4. StatementParser SQL语句解析器](#) - [4.1 StatementParser](#) - [4.2 Statement](#) - [5. 彩蛋](#) ------- # 1. 概述 上篇文章[《词法解析》](http://www.yunai.me/Sharding-JDBC/sql-parse-1/)分享了**词法解析器...
RSA公私钥生成,RSA pkcs12证书创建, rsa密钥对
SpringBoot入门——局部与全局的异常处理 1、构建测试代码 (1)、新建MAVEN项目 打开IDE—新建Maven项目—构建一个简单Maven项目 (2)、编写pom.xml引入包 编写pom配置引入jar包 注:引入完毕后可能项目会报红叉,更新maven即可 &project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.springboot&/groupId&
&artifactId&springboot&/artifactId&
&version&0.0.1-SNAPSHOT&/version&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-parent&/artifactId&
&version&1.4.1.RELEASE&/version&
&properties&
&project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding&
&java.version&1.8&/java.version&
&/properties&
&dependencies&
&!-- 引入web相关包 --&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-web&/...
### 桌面应用图标流程 #### 前言 本人工作上碰到这么一个需求,开发一款滤镜引擎,将桌面上所有的图标进行统一的滤镜化,这就需要了解一下整个桌面去取图标的过程,了解了整个过程,找到真正拿图标的地方,在真正取图标的地方将图片进行替换,或者滤镜化,之前分析情况,现在整理下,与大家分享。**本文所用的代码,是基于Android 5.1** #### 桌面组件介绍 ![一级页面](https://static.oschina.net/uploads/img/14347_zV1r.png "一级页面") - 一级菜单 - **WorkSpace**:他是一个ViewGroup,要想在桌面上显示东西,就得往这个ViewGroup里添加自己的View - **BubbleTextView**:他是一个TextView,上方是图标,下方是名称,在桌面上的图标都是由这个类表示 - **FolderIcon**:他也是一个ViewGroup,用来表示桌面上的文件夹图标,里面添加了缩略处理过的bitmap,他的背景图片就是文件夹的形状 - **HotSeat**: 他是个FrameLayout,是桌面下方的固定快捷区,包含了几个常用的图标,中间的AllApp按钮是固定位置,也是一个TextView ![抽屉桌面](https://static.oschina.net/uploads/img/14317_XbLg.png "抽屉桌面") - 抽屉页面 组件 - **PagedView**:他是一...
最近线上 MySQL 接连发生了几起数据异常,都是在凌晨爆发,由于业务场景属于典型的数据仓库型应用,白天压力较小无法复现。甚至有些异常还比较诡异,最后 root cause 分析颇费周折。那实际业务当中咱们如何能快速的定位线上 MySQL 问题,修复异常呢?下文我会根据两个实际 case,分享下相关的经验与方法。 1、Case1:部分数据更新失败 某天渠道同学反馈某报表极个别渠道数据为 0,大部分渠道数据正常。这个数据是由一个统计程序每天凌晨例行更新的,按理来说,要么全部正常,要么全部失败,那会是什么原因导致极个别数据异常呢? 首先我们能想到的自然是根据统计任务日志来看了,但是看了统计程序打印的日志没有发现诸如 SQL update 失败的异常描述,那当时的数据库究竟发生了什么呢?在查看 MySQL-server 日志之前,习惯性的看了下数据库状态: SHOW ENGINE INNODB STATUS\G 恰好看到了凌晨这个 update 发生了死锁: ------------------------
LATEST DETECTED DEADLOCK
------------------------
04:09:01 0x7f6de03c8700
*** (1) TRANSACTION:
TRANSACTION , ACTIVE 0 sec fetching rows
mysql tables in use 3, locked 3
LOCK WAIT 5 lock stru...
从字节码和JVM的角度解析Java核心类String的不可变特性
![wechat_mp](http://www.yunai.me/images/common/wechat_mp.jpeg) & ???关注**微信公众号**有福利: & 1. RocketMQ / MyCAT / Sharding-JDBC **所有**源码分析文章列表 & 2. RocketMQ / MyCAT / Sharding-JDBC **中文注释源码 GitHub 地址** & 3. 您对于源码的疑问每条留言**都**将得到**认真**回复。**甚至不知道如何读源码也可以请教噢**。 & 4. **新的**源码解析文章**实时**收到通知。**每周更新一篇左右**。 ------- - [1. 概述](#) - [2. 主流程](#) - [3. 查询操作](#) - [4. 插入操作](#) - [5. 彩蛋](#) ------- # 1. 概述 可能你在看到这个标题会小小的吃惊,MyCAT 能使用 MongoDB 做数据节点。是的,没错,确实可以。 吼吼吼,让我们开启这段神奇的“旅途”。 本文主要分成四部分: 1. 总体流程,让你有个整体的认识 2. 查询操作 3. 插入操作 4. 彩蛋,?彩蛋,?彩蛋 建议你看过这两篇文章(_非必须_): 1. [《MyCAT 源码分析 —— 【单库单表】插入》](http://www.yunai.me/MyCAT/single-db-single-table-insert/?self) 2. [《MyCAT 源码分析 —— 【单库单表】查询》](http://www.yunai.me/MyCAT/single-db-single-table-select/?self) # 2....
## 介绍 不论是开发Java还是你正在学习的Golang,都会遇到**依赖管理**问题。Java有牛逼轰轰的Maven和Gradle。 Golang亦有godep、govendor、glide、gvt、gopack等等,本文主要给大家介绍[gilde](/Masterminds/glide)。 glide是Golang的包管理工具,是为了解决Golang依赖问题的。 为什么需要glide? 原因很简单,Go 语言原生包管理的缺陷。罗列一下golang的 get 子命令管理依赖有很多大缺陷: * 能拉取源码的平台很有限,绝大多数依赖的是
* 不能区分版本,以至于令开发者以最后一项包名作为版本划分 * 依赖 列表/关系 无法持久化到本地,需要找出所有依赖包然后一个个 go get * 只能依赖本地全局仓库(GOPATH/GOROOT),无法将库放置于局部仓库($PROJECT_HOME/vendor) ## 安装 ### Golang环境设置 采用vendor目录特性,Go 1.5 做为试验特性加入(需要指定 GO15VENDOREXPERIMENT=1 环境变量),并在 Go 1.6 正式引入的一个概念。多数 go 依赖解决方案都基于它的。GO15VENDOREXPERIMENT 是 Go 1.5 版本新增的一个环境变量,如果将值改为 1 则表示启用。它可以将项目根目录名为 vendor 的目录添加到 Go 的库搜寻路径中,实现一个局部依赖的效果...
文章针对不理解继承的程序员朋友去剖析和理解继承.
这篇博客是学习Hadoop生态系统的第一篇博客,上一篇,搭建好了集群,这篇会做一个 start up,日志采集与搜索。
搭建一个二维码的生成 & 解析服务, 使用java web对外提供http调用,返回base64格式的二维码图片
由浅入深手把手带你搞定spring Aop。
&写在前面 生活就像海洋,只有意志坚强的人才能到达彼岸。已经很久没有发文章了呀,想必大家都挂念我了,哈哈。 温故而知新,今天一起来复习一下spring mvc的内容吧。 &spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。 ![原理.png](http://upload-images.jianshu.io/upload_images/9cf62de5e6d39.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) * (1) Http请求:客户端请求提交到DispatcherServlet。 * (2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。 * (3) 调用处理器:DispatcherServlet将请求提交到Controller。 * (4)(5)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。 * (6)(7)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。 * (8) Http响应:视图负责将结果显示到客户端。 &主要注解 ![spring mvc注解....
王者荣耀技术分析第三篇,服务器架构模型分析...
首先说一说为什么说穷人,笔者自己买了一台阿里云的ECS服务器,最开始是一台便宜的单核1G的服务器(其实前面还有更苦的,一把辛酸泪就不说了),苦了它了,里面跑了一堆服务,诸如Tomcat、Nginx、MySQL、Redis、RabbitMQ、JVM等等,发现本来就很吃力,后来又想搞个持续集成部署个Jenkins,结果搞挂了几次服务器,每次内存飙到95%(要知道Gitlab要求机器最好为4G),只能重启服务器了。又没钱升级配置,只能看看有什么服务比较好。

我要回帖

更多关于 大漠穷秋水平怎么样 的文章

 

随机推荐