自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (6)
  • 收藏
  • 关注

转载 aop切面编程实现MongoDB 日志存储

实现了平常数据存mysql。日志数据存MongoDB的功能2018.5.16更新 添加了按日期时间段的查询,更正了title查询,修改了返回值为时间格式一、日志的bean类package com.johnfnash.learn.mongodb.entity;import org.springframework.data.mongodb.core.index.CompoundIndex;...

2020-04-06 21:29:10 868

转载 MongoDB可视化工具MongoDB Compass的增删改查基本使用教程

1.新建数据库2.新建集合(表)3.删除集合,删除数据库4.新增数据5.删除数据6.修改数据7.查询数据本文转自:MongoDB可视化工具MongoDB Compass的增删改查基本使用教程...

2020-04-06 19:22:41 14110 2

转载 SpringBoot中MongoDB注解概念及使用

spring-data-mongodb主要有以下注解@Id主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束。如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键。原因可参考上一篇mongo和mysql的性能对比。在实际业务中不建议自己设置主键,应交给mongo自己生成,自己可以设置一个业务id,如int型字段,用自己设置...

2020-04-06 19:16:44 1152

转载 Spring Boot 中使用 MongoDB 增删改查

本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查1、什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键...

2020-04-06 19:13:57 367

转载 Mongodb命令行导入导出数据

导出/导入单个集合第一步,找到mongodb安装目录第二步,从命令行进入mongodb安装目录下的bin目录第三步(1),导出数据命令(导出的文件有两种格式:json/csv,此处导出的是json文件,对于导出CSV文件是需要额外指定一个变量 -field ‘对于的字段名称’):mongoexport -h 数据库所在主机地址 --port 数据库的端口 -u 数据库的账号 -p 数据库的...

2020-04-06 19:12:02 2148

转载 [MongoDB] not authorized on test to execute command-MongoDB的权限配置

直接报Command ‘$eval’ failed: not authorized on这个错误,可以确认是权限的问题解决方案在官网 http://docs.mongodb.org/manual/reference/command/eval/#dbcmd.eval 有一段描述:If authorization is enabled, you must have access to all ...

2020-04-06 18:20:25 15522

转载 MongoDb身份认证(Linux系统的讲解)

前言MongoDb在安装之后,默认使用27017端口,也不会提供默认的用户,更不会开启身份认证,这意味着只要有人知道你服务器的ip就可以链接上你的数据库,进行任何操纵,这无疑是,这无异于自家的大门对别人敞开,数据毫无安全性可言,所以这篇文章教大家怎么创建用户并开启安全验证。认证方法用户名,密码验证创建用户MongoDB 提供了 addUser 方法,该方法包含三个参数:user - ...

2020-04-06 18:18:06 1237

转载 MongoDB 索引

假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页。这就是目录索引,帮助读者快速找到想要的章节。在数据库中,我们也有索引,其目的当然和我们翻书一样,能帮助我们提高查询的效率。索引就像目录一样,减少了计算机工作量,对于表记录较多的数据库来说是非常实用的,可以大大的提高查询的速度。否则的话,如果没有索引,计算机会一条一条的扫描,每一次都要扫...

2020-04-06 18:11:16 203

转载 mongodb高级聚合查询

在工作中会经常遇到一些mongodb的聚合操作,特此总结下。mongo存储的可以是复杂类型,比如数组、对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多。注:本文基于 mongodb v3.6mongo与mysql聚合类比为了便于理解,先将常见的mongo的聚合操作和mysql的查询做下类比:SQL 操作/函数mongodb聚合操作where...

2020-04-06 17:57:53 937

转载 MongoDB高级查询详细

1. 前言前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦。如果没有安装MongoDB去看我的上一篇博客 MongoDB下载安装与简单增删改查前奏:启动mongdb数据库服务,并进入shell界面> mongo --进入shell界面2. 常用命令> show dbs -- 查看数据库列表> us...

2020-04-06 17:29:55 475

转载 MongoDB的创建、更新、删除文档

一、MongoDB 基础知识1. 文档文档是 MongoDB 的核心概念。文档就是键值对的一个有序集。每种编程语言表示文档的方法不大一样,但大多数编程语言都有一些相通的数据结构,比如映射(map)、散列(hash)或字典(dictionary)。例如,在 JavaScript 里面,文档被表示为对象:{"greeting" : "Hello, world!"}这个文档只有一个键 “gre...

2020-04-06 16:24:07 451

转载 MongoDB 入门篇

1.1 数据库管理系统在了解MongoDB之前需要先了解先数据库管理系统1.1.1 什么是数据?数据(英语:data),是指未经过处理的原始记录。一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,它可能是一堆的杂志、一大叠的报纸、数种的开会记录或是整本病人的病历纪录。数据描述事物的符号记录,是可定义为意义的实体,涉及事物的存在形式。是关于事件之一组离散且客观的事实描述,是构成讯...

2020-04-06 15:53:56 320

转载 Nginx 记录请求分发日志

转载自:http://greatwqs.iteye.com/blog/1885420在nginx接收到请求之后, 需把请求分发到后端WEB服务集群.在这里需要记录分发日志, 来分析后端每台WEB服务器处理的请求数目.http { log_format main ' $remote_user [$time_local] $http_x_Forwarded_for $remo...

2019-12-08 20:45:39 1348

转载 配置Nginx实现负载均衡

在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负载方案就是使用nginx实现负载均衡。一、负载均衡的作用1、转发功能按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系...

2019-12-08 20:41:27 250

转载 nginx配置proxy_pass代理转发

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/ { proxy_pass http://127.0.0.1/;}代理到...

2019-12-08 20:20:38 1369

转载 nodejs对于json数据的引用

JSON格式说明并列的数据之间用逗号(”, “)分隔映射用冒号(”: “)表示并列数据的集合(数组)用方括号(“[]”)表示映射的集合(对象)用大括号(”{}”)表示以上四点,就是JSON格式的所有内容(完全颠覆了我初次接触JSON时对于JSON的认知,一直以为JSOn的定义就是什么对象与数组的嵌套)JSON对象的转化及引用JSON对象的转化引用fs文件系统模块使用fs.r...

2019-11-16 22:47:45 3058

原创 Selenium Nodejs CHROMEDRIVER path

在 selenium 的使用中,遇到过 使用 npm install selenium-webdriver 安装了 webdriver 驱动,但是仍找不到驱动的情况。错误信息如下:Error: The ChromeDriver could not be found on the current PATH. Please download the latest version of the Chr...

2019-11-16 22:12:29 2998 1

原创 selenium 解决出现Message: element not interactable元素不可交互的问题

最近在使用 selenium 的时候,遇到了 element not interactable 的错误。引发错误的代码如下:By orgOpt = By.xpath("//span[contains(text(),'XXX')]");var p3 = driver.wait(until.elementLocated(orgOpt));p3.then(function() { driv...

2019-11-16 21:51:47 34077 8

转载 electron打包:electron-packager及electron-builder两种方式实现(for Windows)

前言本文主要介绍如何通过electron-packager及electron-builder两种方式,将已有的electron应用打包成msi格式和exe可执行文件。打包是一个成熟的应用程序一个重要的环节,希望这篇文章可以给大家一些参考,最后会讲到打包时遇到的一些坑,与大家分享。本文适用于有一些electron实践经验的小伙伴,知道如何创建一个简单的electron应用,并且知道electr...

2019-09-07 23:47:33 19596 8

转载 electron 安装使用

1.安装 node.js链接:http://pan.baidu.com/s/1o7W7BIy 密码:y6od一路next我安装在F:\Program Files\node.js下2.检查node.js和npm是否安装成功命令行:node -v命令行:npm -v建议把npm的仓库切换到国内taobao仓库,注册cnpm命令,如下npm install -g cnpm --r...

2019-09-07 23:28:26 1743

转载 Oracle plsqldeveloper中一次执行多个SQL脚本

写在前面假设当前在电脑D盘有两个sql脚本文件需要执行,一般人可能会想着直接将SQL里面的内容复制到plsqldeveloper中执行,当然这是一种方法,但是对于十几个文件呢?一个个复制未免太过繁琐且低效率。D盘根目录下第一个脚本a.sql内容SELECT SYSDATE FROM DUAL;D盘根目录下第二个脚本b.sql内容SELECT 'HELLO WORLD' FORM DUA...

2019-08-24 21:18:28 8252

转载 Oracle之行转列,列转行大全

wm_concat函数函数wm_concat(列名)介绍:该函数可以把列值以","号分隔起来,并显示成一行准备测试数据:create table test(id number,name varchar2(20)); insert into test values(1,'a'); insert into test values(1,'b'); insert into test...

2019-08-24 21:15:50 9748 1

原创 springboot 整合 shiro

Shiro不会去维护用户、维护权限;这些需要我们自己去设计/提供。1.准备权限相关数据库表主要涉及到七张表:用户表,角色表,权限表(菜单下的按钮,链接等的访问权限),菜单表(系统的功能),用户-角色表(用户和角色是多对多的),角色-权限表(角色和权限是多对多的),菜单权限表。表结构建立的sql语句如下:create table T_SYS_MENU( id VARCH...

2019-07-21 20:44:13 271

原创 Spring Boot实战之Filter实现使用JWT进行接口认证

jwt(json web token)用户发送按照约定,向服务端发送 Header、Payload 和 Signature,并包含认证信息(密码),验证通过后服务端返回一个token,之后用户使用该token作为登录凭证,适合于移动端和apijwt使用流程代码实现1. 依赖<?xml version="1.0" encoding="UTF-8"?><project ...

2019-07-15 21:04:56 6101

转载 Redis分布式锁的正确实现方式(Java版)

本文转自:Redis分布式锁的正确实现方式(Java版)本博客使用第三方开源组件Jedis实现Redis客户端,且只考虑Redis服务端单机部署的场景。锁和分布式锁锁是什么?锁是一种可以封锁资源的东西。这种资源通常是共享的,通常会发生使用竞争的。为什么需要锁?需要保护共享资源正常使用,不出乱子。比方说,公司只有一间厕所,这是个共享资源,大家需要共同使用这个厕所,所以避免不了有时候会发...

2019-06-09 10:57:00 487

转载 springboot整合redis消息队列

前言消息队列作为一种常用的异步通信解决方案,而redis是一款高性能的nosql产品,今天就给大家介绍一下,如何使用redis实现消息队列,并整合到springboot。两个消息模型1. 队列模型队列模型如图所示,它具有以下几个特点,就像我们用微信和好友(群聊除外)聊天一样,微信就是这个队列,我们可以和很多个好友聊天,但是每条消息只能发给一个好友。只有一个消费者将获得消息生产者不需要...

2019-06-09 10:22:25 15032 3

转载 MyBatis基础入门

1.MyBatis概述MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatement...

2019-06-03 23:22:29 258

转载 ShedLock日常使用

场景模拟定时器Scheduler在平时使用比较频繁,比如定时数据整理,定时向客户发送问候信息等…,定时任务的配置比较简单,比如在springboot中,配置好@Scheduled和@EnableScheduling之后,定时器就能正常执行,实现定时任务的功能。但是在这样的情况下:如果开发的服务需要水平部署实现负载均衡,那么定时任务就会同时在多个服务实例上运行,那么一方面,可能由于定时任务的逻辑...

2019-06-02 17:42:14 9960

转载 Spring的@Scheduled任务调度

一. 定时任务实现方式1.1 定时任务实现方式Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,有空...

2019-06-02 17:39:21 1938

转载 SpringBoot使用ApplicationEvent&Listener完成业务解耦

ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。我们平时日常生活中也是经常会有这种情况存在,如:我们在平时拔河比赛中,裁判员给我们吹响了开始的信号,也就...

2019-05-30 23:26:26 1321

转载 Windows下Kettle定时任务执行并发送错误信息邮件

1.首先安装JDK2.配置JDK环境3.下载并解压PDI(kettle)目前我用的是版本V7的,可以直接百度搜索下载社区版,企业版收费,社区版免费下载地址:https://sourceforge.net/projects/pentaho/files/Data Integration/4.打开解压文件夹kettle找到spoon.bat,双击打开5.新建作业点击左上角文件=>新...

2019-05-26 22:03:38 3287

转载 kettle日志记录

环境描述:现在一个项目有很多个作业,需要知道每次跑批后哪些ktr跑成功,哪些失败了问题解决:下面是一个具体的操作流程首先建立数据库表CREATE TABLE test_1(id INT,NAME VARCHAR(10)); INSERT INTO test_1 VALUES(1,'hsj'); CREATE TABLE test_2(id INT PRIMARY KEY NOT...

2019-05-26 21:55:18 6146 6

转载 kettle 条件判断 Switch Case

介绍Switch / Case,顾名思义,类似 Java 中的 Switch / Case,用于进行条件判断。是 kettle 中一个非常常用组件。使用起来也非常简单,我们直接来看例子。场景介绍有一个 user 表,表中数据如下:我们需要对 code 字段进行判断,如果不为空,则将数据同步到 user_copy 表(表结构相同);如果 code 为空,则记录一条错误记录,错误记录表 e...

2019-05-24 23:38:45 6965

转载 kettle 常用输出(插入更新、表输出、执行 SQL 脚本)

上一篇 文章 ,主要讲了 kettle 的原理、安装及简单的使用。其中用到了一种输出方式:插入更新。这篇文章,主要介绍下常用的输出方式:插入更新、表输出、执行 SQL 脚本。插入更新插入更新,顾名思义,包括插入和更新两种情况。我们需要先设置一个条件,符合条件时,进行更新操作;否则,进行插入操作。常见的条件就是判断表中的 ID 和流(上一个步骤的结果,可以理解为内存)中的 ID 是否相等,相...

2019-05-24 23:30:40 7958 3

转载 ETL是什么

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的...

2019-05-22 23:32:32 1525 1

转载 kettle 简介及入门

介绍kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855,github 地址是 https://github.com/pentaho/pent...

2019-05-22 23:28:14 623

原创 SpringBoot整合Mybatis-Plus

依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache....

2019-05-19 21:01:12 153

转载 Java 8 基础教程 - Predicate

Predicate的源码:public interface Predicate<T> { /** * Evaluates this predicate on the given argument. */ boolean test(T t); /** * Returns a composed predicate that repr...

2019-05-19 10:04:29 341

转载 Java8特性详解 lambda表达式 Stream

本文转自:Java8特性详解 lambda表达式 Stream1.lambda表达式Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正在将自己变的更高(Sha)级(Gua),更人性化。--------可以这么说lambda表达式其实就是实现SAM接口的语法糖。lamb...

2019-05-18 10:28:30 346

转载 Java中Lambda表达式的使用

简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一...

2019-05-18 10:20:30 351

SQLServer 2008编程入门经典(第3版)

SQLServer 2008编程入门经典(第3版)

2017-07-04

postman chrome插件

rest接口调用chrome插件(ctx格式,如果因为谷歌浏览器版本问题不能直接安装,可以将文件改为rar格式进行解压,并将里面的_metadata文件夹重命名为metadata,再重试)

2017-06-04

restclient 3.5

rest接口调用工具,双击即可运行

2017-06-04

Redis 入门指南 (带书签)

Redis入门参考书

2016-07-06

DFA,NFA实现

实现了DFA,NFA算法,DFA最小化,NFA转化为DFA以及正则表达式转化为NFA的算法,是有限状态自动机的初学者很不错的学习资源

2014-03-24

QR分解求矩阵全部特征值

将一个矩阵转化为上Hessenberg矩阵后,再使用QR分解求解矩阵 的全部特征值

2013-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除