自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guanfengliang的专栏

天行健,君子以自强不息。地势坤,君子以厚德载物!

  • 博客(91)
  • 资源 (24)
  • 收藏
  • 关注

原创 浏览器输出文件下载支持断点续传

【代码】浏览器输出文件下载支持断点续传。

2023-11-28 15:00:53 484

原创 数据库的非必要但很有用的规范

尽量合并索引,索引加快查询,但会影响写入性能,组合索引原则是过滤性越好的字段越靠前例如key(a)和key(a,b)存在,那么key(a)可以删除,对于select ..from tablename where a =123;2 尽量不要使用default null ,所有字段尽可能都设置not null 并且设置默认值,索引不会包含null值,影响索引的统计信息,影响优化器判断,复合索引中只要有一列含有null值,那么这一列对于此复合索引就是无效的。ipv6地址,找dba商量决定。

2023-04-20 15:58:26 438

原创 容器内无tcpdump,如何在宿主机上抓容器的包

如果需要抓包的容器里,没有安装tcpdump命令,则可在容器所在宿主机上,使用nsenter命令切换网络命名空间后,使用宿主机上的tcpdump命令,对容器进行抓包分析。

2023-04-19 15:58:46 736

原创 sharding代理多个数据库连接

shardingsphere代理多个库,源码基本上改配置

2023-03-15 15:06:28 558

原创 open-local本地存储使用

open-local部署使用实践

2023-01-10 14:23:20 727 1

原创 open-local部署之后k8s的kube-scheduler挂掉问题

open-local部署本地化存储影响k8s调度

2022-12-27 15:41:24 874 3

原创 shell脚本一些小技巧

shell脚本小技巧

2022-10-02 15:17:05 454

原创 C语言调用动态共享库

c语言调用三方动态库

2022-09-24 09:48:05 1533

原创 跨域问题以及经过网关二次转发重复跨域

跨域&重复跨域问题处理

2022-09-10 18:18:58 618

原创 Windows 2008 R2 64位下安装Oracle10g

windows 2008 安装oracle10g,遇到的坑

2022-06-10 10:49:45 769

原创 CentOs7本地修改本地镜像源

1下载镜像文件,并且上传到/home目录下2挂在镜像文件mount /home/CentOS-7-x86_64-DVD-1908.iso /mnt/cdrom3编辑repo文件cd /etc/yum.repos.d/在编辑文件之前,把/etc/yum.repos.d/下的所有文件备份到另一个目录,或者修改所有.repo为后缀文件为repo.1,只要不是repo就可以。接下来就可以编辑新的文件了。vi CentOS-Base.repo内容为[CentOs7]name=Cen

2022-05-12 15:48:09 3080

原创 人大金仓插入特殊字符问题,报错bad sql :syntax error at or near,sql中某个字符附近有问题。

在insert into 的时候,报错语法错误,某个字符附近,这个时候,你就要看看是不是有特殊字符,我的sql中存在单引号这样的字符,报的错。在SQL中,一个单引号由另一个单引号转义,只要用'单引号转义就可以了,我在postgersql,dm,kingbase都测试过,可以解决问题。(psycopg2.errors.SyntaxError) syntax error at or near "\""Details": "Example: Replace \'\'John\'\'s...inser

2022-04-29 11:00:43 4085

原创 人大金仓数据库,无效的oid类型输入语法

1问题:查询表中数据如下(select * from XXX limit 1;):表中有一个字段是UID,我用这个字段查询的时候报错,无效的oid类型输入语法:"4f609ce6-80b8-46e3-a7b5-588c985a40ea"(select * from isolation where UID = '4f609ce6-80b8-46e3-a7b5-588c985a40ea'; )报此错误的原因是UID是数据库中的关键字。查询的时候字段名为UID时,被认为是关键字了,设计表的

2022-04-29 10:41:48 1478

原创 JAVA服务CPU高系统卡死几种场景

1 系统流量大 ,请求多2 系统有机酸性任务 ,消耗CPU3 HashMap非线程安全,并发访问4 开发人员代码存在问题,例如写while循环条件判断bug导致死循环,sql索引未命中导致大表全表扫描5 系统存在对象泄漏,这个问题不一定出现在内存溢出错误,当java堆内存设置过大,无法回收对象过多,导致开启过多线程垃圾回收线程,始终执行gc任务,导致cpu很高等...

2022-02-07 17:11:16 1332

原创 人大金仓V8R3版本安装包

人大金仓V8R3版本安装包

2022-01-24 11:23:06 2098 1

原创 人大金仓,神舟通用 ,达梦,PostgreSQL国产数据库原生工具备份还原总结

国产数据库备份还原

2022-01-24 10:33:26 4117

原创 项目分支管理版本管理心得

基线分支管理基线所有项目主分支均为master分支,不允许直接提交代码分支命名以当期迭代名作为关键字,以CRM迭代6为例,开发分支为crm6-dev,测试分支为crm6-alpha迭代测试完成后,测试分支合并到master分支,进行发布删除已合并的开发分支与测试分支线上紧急问题修复,需要从master切出hotfix分支,在hotfix分支上修改,测试通过后merge request合入master发布hotfix分支合并完成后需要删除基线版本管理master分支的pom文件版本

2020-12-11 11:23:06 866 2

原创 ELk + kafka + filebeat日志系统搭建

一 日志系统架构图(简易版):二、elk安装:可以参考网址:https://www.iyunv.com/thread-443374-1-1.html2.1 配置es解压文件 1 tar zxvf elasticsearch-6.2.4.tar.gz 由于es不能用root账户启动,所以需要添加一个非root账户 1 useradd es 修改es文件夹的权限 1

2020-11-09 15:35:23 1152

原创 java下载xls填充下拉选动态数据

1下载模版时,平台类目需要填充动态数据也就是平台维护的类目2创建一个sheet,命名数据A,之后将数据A隐藏3设置数据有效性,下拉选和数据A(sheet)关联备注:如果不是动态数据,可以直接设置数据有效性,忽略第4步4部分实现代码如下:public String exportTemplate() { //根据店获取平台类目 ContractCateQueryRequest cateQueryRequest = new ContractCateQ

2020-11-06 16:27:23 336 1

原创 SpringCloud Stream MQ生产和消费同应用造成的同步问题

我们项目统计模块导出的时候为了达到异步的效果使用了mq来解决,可是producer和consumer是同个应用也就是都是处在一个应用中,之前因为数据少就没有注意异步的效果,改造之后我们模拟了67w的数据量来做压力测试,发现点击导出之后界面一直处于等待状态不是直接返回前端的,同步了?说之前也遇到过这种状态,重新启动下mq服务就行了,感觉不太像,所以特意修改了下消费端的代码来测试。代码如下发现确实是同步,一直卡在消费端,等到程序完成前端才有返回,发现确实是这个问题加载首先我们在springb.

2020-11-06 15:34:38 1116 2

原创 UML插件

PlantUML二.PlantUML二. 安装1.idea安装PlantUML插件:PlantUML_integration2.安装Graphviz,并配置环境变量,否则PlantUML无法渲染并输出图形,支持windows,linux,mac官网下载链接:http://www.graphviz.org/download/三. 使用创建puml文件,就可以随便书写了,如果语法正确,并且以上两步正确执行,就可以实时显示UML图形 PlantUML提供的图形化语言非常丰...

2020-11-06 14:47:32 609

原创 限流的一些解决方案

什么是限流?字面的意思就是限制流量,为啥要限流呢?限流在高并发场景中经常用到的自我保护的手段,不如你系统只能维持500并发,突然有一万人的访问,如果不做限制,你的系统就会崩溃,限流是系统健壮性保护的一种手段,也可以防止恶意的攻击。限流算法限流的算法有很多,常用的有简单粗暴的计数器、漏斗算法、令牌桶算法。计数器所谓计数器就是指单位时间内允许通过的访问量,一般我们会设置1s内允许通过请求量。比如限流qps为100,算法的实现思路就是从第一个请求进来开始计时,在接下去的1s内,每来一个请求,就

2020-11-06 14:07:58 1542

原创 防重复提交(分布式解决方案)

在做项目的时候,点击注册到跳转有1s的间隙,可以多次点击注册按钮,且都能注册成功,所以我们要优化,前后端,都要防重复提交,前端方案大体就是点击后置灰或不可用或隐藏,后端可以在数据库层加锁,因为性能等一些原因效果不理想。所以我们的项目采用注解+AOP+分布式锁实现防重复提交,下面是伪代码:package com.xxx.xxx.resolver;import com.xxx.xxx.common.exception.SbcRuntimeException;import com.xxx.x...

2020-08-06 16:41:47 1295

原创 canal简介

阿里开源canal简介canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。1.背景阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger(触发器)的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪

2020-07-15 12:04:59 17820

原创 CanalParseException: column size is not match for table:xm_search.user,5 vs 4

这段异常中的5是实际的数据列数,4是canal中存储的metadata中该表的列,在实际中发现数据确实为5,也就是切换之后canal没有获取到真正的最新的metadata。理解canal tsdb(时序表结构方案设计)的功能需要先看懂官方对tsdb的介绍和实现https://github.com/alibaba/canal/wiki/TableMetaTSDB问题:表结构一致性问题方案:持久化存储的思考本地嵌入式实现(H2):提供最小化的依赖,完成时序表结构管理的能力。基于磁盘的模式,.

2020-07-15 12:02:02 1975

原创 MySQL主从数据库配置

MySQL主从数据库配置win8.1下的mysql5.6作为主服务器,ip地址为:192.168.1.8,Ubuntu15.04(virtualbox虚拟机,采用桥连模式,虚拟机直接获取实体机局域网IP)下mysql5.6作为从服务器,ip地址为:192.168.1.7win8.1下mysql5.6需要配置C:\ProgramData\MySQL\MySQLServer5.6\my.ini文件,内容如下:log-bin=C:/ProgramData/MySQL/MySQLServer5...

2020-06-16 15:14:59 163

原创 utf8_general_cs和utf8_bin

mysql中字符集和排序规则说明数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation)。一.字符集字符集,即用于定义字符在数据库中的编码的集合。 常见的字符集:utf-8 gbk 等。二.排序规则数据库中的排序规则用来定义字符在进行排序和比较的时候的一种规则。 常见的如下:(1) utf8_general_cs 和 utf8_general_ci (后缀"_cs"或者"_ci...

2020-06-16 15:06:42 947

原创 Windows下Mysql5.7开启binlog步骤及注意事项

MySQL的binlog日志binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replicat...

2020-06-16 15:05:09 1836 2

原创 IDEA/Webstorm常用快捷键

下面是IDEA/Webstorm的一些常用快捷键:ctrl + shift + n: 打开工程中的文件,目的是打开当前工程下任意目录的文件。ctrl + j: 输出模板ctrl + b: 跳到变量申明处ctrl + alt + T: 围绕包裹代码(包括zencoding的Wrap with Abbreviation)ctrl + []: 匹配 {}[]ctrl + F12:...

2020-01-15 14:29:02 436

原创 bean实体转json字符串工具

每当用postman测试接口的时候,参数都要传json字符串,比较短的。自己手写就ok了,有点比较长,自己写就比较麻烦了。所以我们需要能把pojo转成json工具,恰巧idea中就有这样的工具,如何安装pojo to json .File - > Settings - > Plugins ,搜索 POJO to Json如上图,我这个已经安装过了。没安装过的是insta...

2020-01-06 11:11:03 3106 1

翻译 什么是分布式事务?

什么是事务事务是关系型数据库对数据的一系列操作的集合,他可以从以下4个特征是否达到来描述原子性原子性要求,事务是一个不可分割的执行单元,事务中的所有操作要么全都执行,要么全都不执行。一致性一致性要求,事务在开始前和结束后,数据库的完整性约束没有被破坏。隔离性事务的执行是相互独立的,它们不会相互干扰,一个事务不会看到另一个正在运行过程中的事务的数据。持久性持...

2020-01-06 10:43:55 1517

原创 分布式事务解决方案(二)

分布式事务解决方案如何解决分布式一致性问题1.查询模式:任何事务操作都需要提供一个查询接口,用来向外部输出操作执行的状态。事务操作的使用方可以通过查询接口得知事务操作执行的状态,然后根据不同的状态来做不同的处理操作。2.补偿模式:通过查询模式,可以知道事务操作的状态,如果操作处于错误的状态,就需要对其未完成的子操作进行修复,来让系统达到一致。这种后期通过努力让系统最终达到一致...

2020-01-03 11:57:15 835

原创 分布式事务解决方案(一)

初见分布式系统分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。一个标准的分布式系统应该具有以下主要特征:分布性:分布式系统中的多台计算机之间在空间位置上可以随意分布,系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。透明性:系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源...

2020-01-03 10:59:36 363

原创 程序员要不要去外包外派公司

总结一下外包外派公司的特点,要不要去,你自然就知道了。 1.不管是外包还是外派,你的工作地点都不会固定的。都会去甲方的公司去工作,这个项目完事了,你就换到另一个甲方,另一个工作地方了。需要出差,需要驻场等等,工作场所非常不固定。2.面试的时候各种承诺,转正的时候,各种克扣 。3.五险一金不会给你按照基本工资交,而是按照最低工资标准交。4.技术方面,可能会让你弄很多你不熟悉的技...

2019-12-20 17:35:49 19872 3

原创 Navicat中mongo按照条件简单查询修改排序

用Navicat Premium 连接mongo后,想要做简单的查询和排序,数据集合名称叫trade,结构 ,文档结构如下:{ "_id": "O201908221531130339", "_class": "com.wanmi.sbc.order.trade.model.root.Trade", "buyer": { "_id": "8a9bc7...

2019-12-19 14:57:11 2348

原创 mvn dependencytree的用法

查看jar包的间接依赖1.如果发现某个jar包,自己的pom中并没有定义,想看一下是被哪个jar包间接引用的,两种方法 (1)用mvn dependency:tree>temp/tree.txt,直接输出到当前项目下,然后在idea中打开,搜索要找的jar包名字即可.这里的"+-"和"\-"并没有什么意义,只是为了让分级看起来更直观参考:https://stackov...

2019-12-11 17:55:23 238

原创 程序员要不要懂底层原理

我在做编程的时候,还是一个地道的门外汉,就像一个刚出生的孩子,跟着大人咿呀呀的学语,也不知道是什么,做什么用的,也不知道能不能换种方式实现,总结起来就是一问啥都不知道,跟着学,还是弄不出个一样来。这时候,我们的老师或者学长就说会用就行,先不管是啥东西。这东西怎么个道理,学开车一样,这是油门,踩油门就走路,这是刹车,踩刹车就停了,学习的第一个阶段,大体就是接受知识,车也学了,也能开了,代码也学了...

2019-12-11 17:07:48 1536

原创 Linux 常用命令

Linux系统查看硬件信息命令总结lscpulscpu命令能够查看 CPU 和处理单元的信息,该命令没有任何其他选项或者别的功能。lspcilspci可以用来列出所有的 PCI 总线,还有与 PCI 总线相连的设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。lspci可以通过运行下面的命令来过滤出特定设备的信息,例如关于显卡信息:...

2019-12-11 15:46:26 328

原创 服务启动失败以及线上问题排查常用命令

前些天,部署服务的时候,运行./startup.sh,显示服务已启动,但是查看日志发现端口已经被占用,java.net.BindException: 地址已在使用 at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425)...

2019-12-11 10:01:38 891

原创 SQL开发规范

1、数据库建模遵循9个基本原则 所有表必须要有独立于业务的自增主键 统一命名为id,类型为bigint;所有表必须要有如下系统字段, Name Code DataType Length NotNull Default 主键 id ...

2019-12-05 20:09:23 1302

DM迁移之MySql迁移

Mysql迁移到DM手记

2023-04-27

DM8 SQL语言使用手册

DM8 SQL语言使用手册

2023-04-27

DBeaver通用数据库管理工具MAC安装包

DBeaver通用数据库管理工具MAC安装包

2023-04-27

oracle 10.2.0.4安装包 windows

oracle 10.2.0.4安装包 windows

2022-06-10

JVM+多线程.pdf

jvm和多线程基础知识分享,可以作为面试材料

2021-06-16

通用WEB安全开发规范.pdf

通用web安全开发规范简洁版

2021-06-16

从常用的垃圾回收到JVM相关调优.pdf

java虚拟机垃圾回收的常用知识原理

2021-06-16

Sharding JDBC 实现数据分片 - 技术分享.pdf

初步了解sharding jdbc实现数据分片的技术文档

2021-06-16

java编辑学习要点指南.pptx

源码学习要点,分布式学习要点,微服务学习要点,性能优化要点等

2019-06-19

maven 安装包用于项目管理

maven安装包.用于项目编译,项目打包.项目模块化集成.版本控制

2018-02-05

spring+zk+dubbo搭建环境

此项目简单的搭建出zookeeper和dubbo的环境。并分出接口的服务端和接口的客户端两个小项目,进行接口的测试,此项目只是用于简单理解zk+dubbo的服务提供,不作为正式项目使用。

2017-11-05

rocketMQ-master.zip

rocketMQ 源码 安装包 可编译

2017-08-30

jquery实现倒计时和取消倒计时

一个封装好的jquery倒计时,可以取消倒计时,可以指定截止时间,精确到天时分秒的一个jquery的脚本.其中页面和jquery.js需要自己加.这个有经验的程序员都没问题.

2017-05-24

eclipse SVN1.8.20离线安装包

eclipse SVN1.8.20离线安装包

2017-05-02

pushlet获取参数修改过的jar包

在使用的过程中发现,如果要在pullEvent()方法中获取参数比较麻烦,查看源码发现nl.justobjects.pushlet.servlet.Pushlet中已经将request参数传进了Session(注意是nl.justobjects.pushlet.core.Session)。但是在session构造的时候没有用到request。看到这里,就大概知道改怎么改了。代码如下: 1. nl.justobjects.pushlet.core.Session,添加了event域和getEvent()方法,修改了public static Session create(String anId, Event anEvent)方法 public static Session create(String anId, Event anEvent) throws PushletException { Session session; try { session = (Session) Config.getClass(SESSION_CLASS, "nl.justobjects.pushlet.core.Session").newInstance(); } catch (Throwable t) { throw new PushletException("Cannot instantiate Session from config", t); } // Init session session.id = anId; session.controller = Controller.create(session); session.subscriber = Subscriber.create(session); session.event = anEvent; return session; } 2. nl.justobjects.pushlet.core.SessionManager,修改了createSession()方法 /** * Create new Session (but add later). */ public Session createSession(Event anEvent) throws PushletException { // Trivial return Session.create(createSessionId(), anEvent); } 3. ajax-pushlet-client.js,PL添加了parameters属性,修改了_doRequest函数,在函数的最后加了如下一段: if(PL.parameters.length > 0) { for (var i = 0; i < PL.parameters.length; i++) { var para = PL.parameters[i]; url += "&" + para.name + "=" + para.value; } } 好了,源代码修改完毕,下面是一个如何传递参数的例子 在页面上js代码: // pushlet服务器推送,更新实时监控模块 var initPushlet = function() { PL.parameters.push({"name":"user-id", "value":"001"); PL._init(); PL.joinListen('/source/event'); }; 在HelloWorldPlushlet的pullEvent()方法调用: Session[] sessions = SessionManager.getInstance().getSessions(); String userId = sessions[0].getEvent().getField("user-id");

2017-05-02

分布式锁多种实现思路分享

介绍分布式中用到的悲观锁和乐观锁,以及实现的几个思路,绝对实战出来的技术

2016-06-07

Mybatis自动生成代码插件

Mybatis自动生成代码的反向工程插件,离线版本,只要解压,把两个文件夹覆盖到eclipse的安装目录下,重启eclipse就可以使用了。非常的简单方便

2016-06-07

tomcat源码和所需调试jar包

这个是在官网下载的源码,版本是tomcat7.0.6.可以放心使用。源码导入eclipse之后,java,test,conf作为资源文件可能会有红叉,是有一些测试什么的jar包没有导入一共四个。都在压缩文件中了,随便用。具体步骤可以参考http://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html

2016-01-07

tomcat源码和调试jar包

在官网下载的tomcat源码,版本是tomcat7.0.6的,源码下载之后导入ecelipse,java,test,conf文件作为资源文件会用红叉,是因为缺少必要的jar包。本资源中包括源码和所需jar。

2016-01-07

javaScript版本实现机选双色球

非常简单的双色球代码,希望对你的js开发有所帮助

2015-12-26

全面理解Javascript

对于js的学习,了解基础的一本书,对我帮助很大。看完本书,再加上开发文档。对于你的开发,一定很有帮助

2015-12-26

100个经典算法c语言实现代码

压缩包中包含100个经典的算法,常见的兔子繁殖,斐波那契数列等等有详细的代码

2015-04-09

ARM体系结构与编程

杜春雷老师潜心研究的成果,出版成书,对于嵌入式爱好者是一个很好地开发文档,详细的讲解ARM体系结构,如何编程实现驱动开发!

2014-10-23

火狐浏览器flash插件

flash-plugin-11.2.202.394-release.i386.rpm ,火狐浏览器,Linux系统,播放器插件.

2014-08-06

C语言标准库函数说明手册

一些C语言标准库函数的说明,对于初学C的同学很有帮助。随时随地的翻看标准库函数,对于对C的开发事半功倍!

2013-05-29

空空如也

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

TA关注的人

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