搭建gitlab环境
因为公司需要,我准备搭建一套gitlab环境。此文记录一下整个过程。 步骤# 依赖准备sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo systemctl start sshdsudo firewall-cmd --permanent --add-service=httpsudo systemctl reload firewalldsudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix# 下载安装包,从清华镜像下载wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.1.0-ce.0.el7.x86_64.rpm# 安装,安装过程很慢,大概5-10分钟,不要着急sudo rpm -ivh gitlab-ce-10.1.0-ce.0.el7.x86...
数据仓库建模示例
本文主要的主线就是回答下面三个问题: 什么是数据模型 为什么需要数据模型 如何建设数据模型 最后,在本文的结尾给大家介绍了一个具体的数据仓库建模的样例,帮助大家来了解整个数据建模的过程。 什么是数据模型数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。 数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说,我们数据仓库模型分为几下几个层次,如下图 所示。 通过上面的图形,我们能够很容易的看出在整个数据仓库得建模过程中,我们需要经历一般四个过程: 业务建模,生成业务模型,主要解决业务层面的分解和程序化。 领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。 逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。 物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能...
SQL Server修改ServerName
在开启发布订阅时,对ServerName有要求,必须与MachineName一致。以下是修改方法。 -- 查看本库的服务名Select @@SERVERNAME,SERVERPROPERTY('servername'),SERVERPROPERTY('MachineName')-- 查看本库的链接服务列表select * from sys.servers;Exec sp_helpserver-- 执行删除Serverexec sp_dropserver '老ServerName', 'droplogins' -- 执行增加Serverexec SP_ADDSERVER '新ServerName', Local-- 执行完成后需重启数据库服务
[转载]各种加密算法比较
以下内容转载自cnblogs,仅优化排版。 加密算法选择: 对称加密: AES 非对称加密: ECC 消息摘要: MD5 数字签名:DSA 对称加密算法(加解密密钥相同) 名称 密钥长度 运算速度 安全性 资源消耗 DES 56位 较快 低 中 3DES 112位或168位 慢 中 高 AES 128、192、256位 快 高 低 非对称算法(加密密钥和解密密钥不同) 名称 成熟度 安全性(取决于密钥长度) 运算速度 资源消耗 RSA 高 高 慢 高 DSA 高 高 慢 只能用于数字签名 ECC 低 高 快 低(计算量小,存储空间占用小,带宽要求低) 散列算法比较 名称 安全性 速度 SHA-1 高 慢 MD5 中 快 对称与非对称算法比较 名称 密钥管理 安全性 速度 对称算法 比较难,不适合互联网,一般用于内部系统 中 快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理 非对称算法 密钥容易管理 高 慢,适合小数据量加解密或数据签名 算法选...
Spring Boot JPA @Query注解的一个BUG
JPA的@Query注解在使用like关键字时且为复杂语句时存在截断后面SQL的BUG。具体如下。 BUG现象@Query("select t from T t where t.name in (:names) and (t.dz like %:searchKey% or t.hjdz = :searchKey)")@Query("select t from T t where t.dz like %:searchKey% ") 上面的两条语句,第二条执行正常,第一条会出现异常的返回结果,等同于 @Query("select t from T t where t.name in (:names) and (t.dz like %:searchKey% )") 即,整个语句从like往后被截断。 解决方案 方案1:在参数传递过来前就把 %%号拼好,如 searchKey=”a” 改为 searchKey =”%a%” ,@Query中 like 去除%%。 @Query("select...
Windows 10 删除多余盘符
Windows 10 有个bug,偶然会出现,设备已经弹出,但是盘符依然存在的情况,比如小米路由盘,百度云管家等的盘符。不仅是难看,而且如果设备已经不存在,但盘符还在,下次再打开[此电脑]时,会转圈圈很久。 解决方法是删除以下键值中的多余项即可: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Namespace
Spring Boot内嵌web容器启用GZIP压缩
在application.properties里启用压缩,并设置压缩支持的格式(默认支持text/html等,但不支持application/json),设置超过多少字节进行需要压缩 server.compression.enabled=trueserver.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plainserver.compression.min-response-size=1024
Spring Boot + IDEA 远程调试
Spring Boot 可以打包成可执行的Jar 或者 War。如果用可执行的Jar,那就是用了内嵌的Web容器。如果是War,那么就部署在独立的Web容器中。下面针对这两种分别说一下,如何进行远程调试。 Spring Boot 可执行Jar包的远程调试 IDEA配置远程调试 [Run] - [Edit Configrations…] , 点击+号,新建 remote 重要的是下方的HOST,是远端的IP地址。上面横线所绘参数,就是下一步启动jar的额外参数。 apply-save后,就已经能在IDEA的主界面右上角,DEBUG按钮的位置看到新配置的remote。 带参数启动需远程调试的Jar java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar demo4doc.jar 注意这里把5005作为调试端口,需要应用服务器开放5005端口的防火墙。 在IDEA中,选择remote,启动DEBUG,设置断点,这时访问应用,会自动在IDEA处捕捉断点,一如本地调试。 ...
SQL Server 查看SQL执行历史记录
SELECT top 100 ST.text,*FROM sys.dm_exec_query_stats QSCROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) STorder by last_execution_time desc
Spring中实现SQL Server with(nolock) hint
在SQL Server的使用过程中,为了避免读锁,提高查询效率或不在乎脏读的场景下,通常会在SQL语句中使用 with(nolock) hint。那么在Spring下如何获得相同的效果呢?下面介绍下具体实现和验证过程。 实现nolock是一个SQL Server独有的hint指令,肯定不能硬编码的方式实现,否则切换数据库的时候会痛不欲生。nolock是一种锁机制,很容易想到应该将其转换为事务级别来在java中实现。通过查阅MSDN得知,nolock 等同于 事务级别为:read uncommitted。 Spring 提供了@Transactional注解,在这个注解可以针对类或者方法设置事务级别。现我们通过这个注解,设置事务级别为READ_UNCOMMITTED。如下例: @Transactional(isolation = Isolation.READ_UNCOMMITTED)@Query(value = "select xjjgk from MisxjjgkEntity xjjgk where xjjgk.jlzt = 0 and xjjgk.bgdh = ?...
