站长推荐
Centos7安装gitlab
一、安装
1、登录gitlab官网,找到安装命令 https://about.gitlab.com/install/ ,这里我选择CentOS7
2、根据提示,配置必备的环境(以root用户运行)
$ yum install -y curl policycoreutils-python openssh-server
$ systemctl enable sshd
$ systemctl start sshd
$ firewall-cmd --permanent --add-service=http
$ firewall-cmd --permanent --add-service=https
$……
Centos7安装Docker
1、Docker要求CentOS系统内核版本高于3.10,可通过uname -r命令查看当前内核版本
$ uname -r
3.10.0-693.2.2.el7.x86_64
2、使用root用户登录,更新yum至最新
$ yum update -y
3、如果安装过旧版本,需要先卸载旧版本
$ yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils……
使用Spring ldap操作active directory
本文介绍spring boot集成ldap操作微软active directory。
依赖环境
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/>
</parent>
...
<dependencies>
...
<dependency>
<groupId>org.springframework.b……
Mysql 查询优化
单库表别太多,一般保持在200以下
尽量避免SQL中出现运算,如:select a+1 from A,让DB功能单一化
表设计尽量小而精,能用5个字段就不要用6个(不绝对,取决于业务,该冗余时坚决不要手软)
SQL事务不能设计太大,比如一次性提交10W条insert,当然这个不仅仅是性能问题了,可能直接内存溢出了
设计表的时候尽量用”小数据类型”,比如尽量避免text,blob等这些大家伙,优先使用ENUM和SET(小而美,范围有限,百益无一害)
设计表字段能用数字类型就千万别用字符类型,比如存IP地址,用int,别用varchar(方法自己百度一下吧)
尽量避免null字段,定义时尽量使用 ……
JS中常用高级函数整理
一、防抖动与节流
针对一些会频繁触发的事件,入resize,keypress,scroll等,如果正常绑定时间处理函数的话,很可能在段时间内连续触发多次,极大的浪费资源,降低前端性能。因此针对这类事件需要进行防抖动或节流处理。
防抖动
它的做法是限制下次函数调用之前必须等待的时间间隔。正确实现 debouncing 的方法是将若干个函数调用合成 一次,并在给定时间过去之后仅被调用一次。
function debounce(func, delay, immediate){
var timer = null;
return function (){
var _this = thi……
Java处理富文本中的XSS攻击
目前,web应用或多或少会用到富文本编辑器,这就很容易引起XSS攻击,这里介绍一种Java处理XSS攻击的工具类:Jsoup
目前最新版本maven坐标:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
</dependency>
使用方法非常简单,只需一行代码:
String result=Jsoup.clean(source,Whitelist.basic());
第二个参数是白名单设置(白名单中定义了一些标签和标签属……
Kubernetes dashboard v2.0.0安装
安装完k8s 1.16集群后,再安装dashboard v1.* 发现不兼容,于是折腾了这个v2.0.0的教程
k8s dashboard v2.0.0效果展示
a
V2.0.0对比V1.*的优势
监控信息不需要通过Heapster来提供,而是通过Metrics Server来提供,Metrics Scraper服务来采集,不需要单独维护Heapster
支持暗黑主题
监控图显示更细节化
编辑支持yaml和json
下载官方配置并执行,目前最新版本为2.0.0-rc1
$ wget -O dashboard.yaml https://raw.githubusercontent.com/kub……
Kubernetes使用Ingress nginx暴露服务并配置证书
部署配置Ingress
从官网获取配置文件并执行
$ wget -O ingress.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
$ kubectl apply -f ingress.yaml
ingress默认配置没有service-ip,重启之后ingress pod就会改变,因此我们需要通过NodePort或者service将ingress的ip固定下来,我这里使用service实现
$ cat ingress-svc.yaml <<……
使用 kubeadm 搭建 v1.16.4 版本 Kubernetes 高可用集群
本文将通过Kubeadm来搭建Kubernetes v1.16.4高可用集群,使用calico插件以及ipvs模式的kube-proxy
环境准备
centos虚拟机6台,配置清单:
Host
IP
角色
系统版本
配置
m1
10.0.40.1
Master
centos-7.7
2C4G
m2
10.0.40.2
Master
centos-7.7
2C4G
m3
10.0.40.3
Master
centos-7.7
2C4G
w1
10.0.40.4
Worker
centos-7.7
2C4G
w2
10.0.40.5
Worker
centos-7.7
2C4G
w3
10.0.……
由cookie SameSite引起的坑
最近有个项目需要嵌入在另一个系统的iframe中运行,但是一旦运行在iframe中,就出现用户无法登录的象限。系统后台采用Spring boot+Spring Security进行鉴权,用户登录后会写入一个session的cookie,但是当页面第二次请求时,会发现cookie并没有携带在请求上,最后查找了一些资料,发现是cookie的SameSite属性在搞鬼。
a
上图是用户登录时,Spring写入的cookie,我们发现最后一个SameSite属性值为Lax。参考相关文档(https://developer.mozilla.org/en-US/docs/Web/HTTP/Header……