• Docker常用镜像安装:MySql Redis GitLab maven私服等

    学习Docker的过程就是安装各种镜像、环境搭建的过程。下面是常用Docker公共镜像的安装方式,记录下来,环境收藏~一、安装Mysql1.创建mysql下载镜像:docker pull centos/mysql-57-centos7创建容器:docker run -di --name=mysql --restart=always -p 3306:3306 -e MYSQL_R...

    MySQL 2020年04月13日 2226 0
  • 高并发场景下锁的使用技巧

    锁类别不同的应用场景对锁的要求各不相同,我们先来看下锁都有哪些类别,这些锁之间有什么区别。悲观锁(synchronize)Java 中的重量级锁 synchronize数据库行锁乐观锁Java 中的轻量级锁 volatile 和 CAS数据库版本号分布式锁(Redis锁)乐观锁就好比说是你是一个生活态度乐观积极向上的人,总是往最好的情况去想,比如你每次去获取共享数据的时候会认为...

    Java 2020年04月13日 1421 0
  • 前端面试大全:HTTP/2 和 HTTP/3原理介绍及前景分析

    这一篇文章我们主要学习 HTTP/2 及 HTTP/3 的部分内容以及分析一下在未来应用的前景。背景HTTP/2 很好的解决了当下最常用的 HTTP/1 所存在的一些性能问题,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何优雅降级应该是国内还不普遍使用的原因之一。虽然 HTTP/2 已经解决了很多问题,但是并不代表它已经是完美的了,HTTP/3 ...

    技术文章 2020年04月12日 2884 0
  • 做好技术管理,你必须要跨越的4道槛

    读者群里有不少刚开始做管理的技术人,很多都和我谈过他们的困惑。总结下来主要是不知道继续晋升需要培养哪方面的能力。技术经理其实是技术人最难做好的管理岗,原因主要有两方面:一,在互联网公司,技术骨干由于业务做的出色,火线被提升为技术经理,往往缺乏系统的领导力的培训。二,技术经理是团队贡献者,但仍然需要大量个人贡献,尤其是在团队需要攻坚之际。这两方面原因,导致技术经理在管理进阶之路上...

    技术文章 2020年04月12日 1397 0
  • php7代码性能常见优化技巧

    目录概述php7代码性能常见优化技巧参考文档概述这是关于php进阶到架构之php7性能优化学习的第一篇文章:php代码性能常见优化技巧。第一篇:php代码性能常见优化技巧php7代码性能常见优化技巧1.用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会。$a = "hello,world";$b = 'hello,w...

    PHP 2020年04月12日 2061 0
  • centos搭建私有rtmp服务器

    近期因为客户直播需要做线上发布会,针对异地嘉宾需要提前测试直播效果,需要自建一个rtmp服务用于私有视频直播流,今天就整个centos搭建rtmp服务的流程:1、准备需要的模块及工具1、yum安装gityum -y install git2、下载nginx-rtmp-module,官方github地址https://github.com/arut/nginx-rtmp-modu...

    CentOS 2020年04月12日 3319 0
  • 非常重要的mysql数据库定时备份!

    数据是非常重要的,所以数据备份必不可少!比如受到攻击,或者人为误操作时,备份数据就派上用场,及时恢复数据,将影响降到最低。下面以mysql为例,利用mysqldump(mysql自带工具)工具进行备份,实现每天整点定时备份数据库(定时是利用linux的crontab,可以自己配置任意时间),并且只保留7天(时间可配置)假设数据库名为:test第一步.创建脚本文件夹mkdir /...

    MySQL 2020年04月12日 2317 0
  • Java多线程并发工具类-信号量Semaphore对象讲解

    Java多线程并发工具类-Semaphore对象讲解通过前面的学习,我们已经知道了Java多线程并发场景中使用比较多的两个工具类:做加法的CycliBarrier对象以及做减法的CountDownLatch对象并对这两个对象进行了比较。我们发现这两个对象要么是做加法,要么是做减法的。那么有没有既做加法也做减法的呢?当然有了。Semaphore这个工具类就可以实现One out ...

    Java 2020年04月12日 1558 0
  • 线段树(区间树)

    目录为什么要使用线段树?最经典的线段树问题:区间染色有一面墙 ,长度为n,每次选择一段儿墙进行染色,m次操作后,我们可以看见多少种颜色?例如上图,我们第一次将[1,8]的位置染成蓝色,然后再将[5,9]的位置染成黄色,然后将[6,15]的位置染成红色,最后把[12,15]的颜色染成绿色,我们通过这几次操作可以发现,图中被重复染色的位置是会被覆盖的,比如[12,15]这个位置显示...

    技术文章 2020年04月12日 1515 0
  • 程序员经典面试题,Mysql并发读写的时候,都是需要加锁的么?

    这是一道经典的程序员面试题,在Mysql中,如果有多个事务同时访问同一行数据,那么需要加锁么?我们都知道,在Mysql中有行锁,如果有多个事务同时修改同一行数据,那么需要加锁来防止并发问题。那么,如果有事务修改数据,又有事务读取这个数据,需要加锁么?答案是不一定,事实上,Mysql的很多数据库引擎为了提升并发性能,都做了多版本并发控制,也就是我们常说的MVCC,事实上,除了My...

    MySQL 2020年04月12日 1746 0
  • Bootstrap v5将要发布了,最重要的更新就是放弃IE的支持。

    Bootstrap v5将要发布了,最重要的更新就是放弃IE的支持。Bootstrap是一个用户界面(UI)框架,最初是在Twitter设计的,后来开源。该库基本上是HTML、CSS和JavaScript UI小部件的集合。根据W3Techs的数据,大约有20.4%的互联网网站使用了Bootstrap,根据BuiltWith的数据,超过2000万个网站使用了Bootstrap。...

    技术资讯 2020年04月11日 2281 0
  • 这样搭建Nginx+Tomcat集群,实现负载均衡及动静分离,太轻松!

    前言​ 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件。结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群。​ 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容。一、集群搭建结构及拓扑1.1集群架构图示Nginx+Tomcat集群的结构...

    Nginx 2020年04月11日 1771 0
  • 深入分析线程池的实现原理

    一.概述线程池,顾名思义就是存放线程的池子,池子里存放了很多可以复用的线程。如果不用类似线程池的容器,每当我们需要执行用户任务的时候都去创建新的线程,任务执行完之后线程就被回收了,这样频繁地创建和销毁线程会浪费大量的系统资源。因此,线程池通过线程复用机制,并对线程进行统一管理,具有以下优点:降低系统资源消耗。通过复用已存在的线程,降低线程创建和销毁造成的消耗;提高响应速度。当有...

    Java 2020年04月11日 2142 0
  • 深入研究ElasticSearch AWS

    深入研究ElasticSearch

    本文将帮助您深入了解ElasticSearch。 我们将审查可满足典型项目至少95%需求的主要功能。 如果您是ElasticSearch的新手,在本文中您将找到几乎所有在使用新数据库之前应提出的问题的答案。什么是ElasticSearch?Elasticsearch是一个全文搜索引擎,用于存储无模式的JSON文档。 Elasticsearch是基于Apache Lucene的开...

    AWS 2020年04月11日 2677 0
  • 前端开发规范:命名规范、html规范、css规范、js规范

    一个好的程序员肯定是要能书写可维护的代码,而不是一次性的代码,怎么能让团队当中其他人甚至一段时间时候你再看你某个时候写的代码也能看懂呢,这就需要规范你的代码了。我是有一点强迫症的人,上周我们后端给我了一个CanUsename的接口(该接口的目的是判断输入的目的地是否是4级目的地),我真的是崩溃的。我只是觉得这个名字不够语义化,但是让我自己想一个名字我又想不出来,于是我就在想,如...

    前端开发 2020年04月11日 1729 0
  • 基于OpenOffice、libreOffice实现文档转化

    在很多管理系统中都要求上传相关的文档文件实现在线预览功能本篇文章主要来讲解如何实现:主要实现将文档转化为pdf预览 需要使用的组件有(openOffice和libreOffoce)OpenOffice安装:图片来源于openOffice官网安装openoffice组件(好处是支持win 和 liunx 根据所需安装 我们这里在win下面使用)下载地址为:http://www.o...

    技术文章 2020年04月11日 2199 0
  • 高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

    前言很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了!究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构,结合高并发专题下的其他文章,学以致用。电商系统架构在电...

    Java 2020年04月11日 1517 0
  • SpringBoot 处理跨域请求

    什么是跨域?由于安全原因,浏览器都遵循着同源原则,拦截了不同域名之间的请求。跨域请求,是指能让不同域名之间,可以相互发送请求。 当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request)。 比如说,域名A ( http://domaina.example ) 的某 Web 应用程序中通过...

    Java 2020年04月11日 1655 0
  • google要求的java规范

    Google Java 编程规范(中文版)1.1 术语说明在本文档中,除非另有说明:1. 术语class可表示一个普通类,枚举类,接口或是annotation类型( @interface )2. 术语comment只用来指代实现的注释(implementation comments),我们不使用"documentation comments"一词,而是用Javadoc。其他的术...

    Java 2020年04月11日 1516 0
  • 负载均衡——LVS,HAProxy和Nginx对比分析

    负载均衡(Load Balance)是应用于互联网后台系统架构设计中的各层,它将请求均匀分摊到多个操作单元上执行。目前,在线上环境中应用较多的负载均衡器硬件有F5 BIG-IP,但是硬件设备昂贵,不如软件适应互联网公司的快速发展。最常用的负载均衡软件有LVS、HAProxy和Nginx,结合高可用软件有Heartbeat、Keepalived,可以搭建出承载海量请求的成熟架构如...

    Nginx 2020年04月11日 1689 0
  • 数据处理的四个设计原则

    设计模式的实践在面向对象编程(OOP)中最为流行,在Erich Gamma和Richard Helm的经典著作《设计模式:可重用的面向对象软件的元素》中已得到有效的解释和总结。 以下是维基百科中"设计模式"的定义:"软件设计模式是针对软件设计中给定上下文中的常见问题的通用,可重用的解决方案。 它不是可以直接转换为源代码或机器代码的最终设计。 它是如何解决可在许多不同情况下使用的...

    架构设计 2020年04月11日 4290 0
  • 详解CSS是如何表示颜色的——RGB原理

    原理用了很长时间的RGB方式来作为CSS中的颜色样式,却不知道它是什么原理,据说这还是一道面试题,这篇文章就用来总结一下它的原理。我们生活中最常见的光就是太阳光,据说在1672年牛顿用三棱镜将太阳光分离成了赤橙黄绿蓝紫青七色光。随着科技的进步,人们发现肉眼细胞对红绿蓝三种颜色较为敏感,而且这三种颜色按照不同比例混合会制造出很多其他的颜色,比如7色光中的其他4种颜色就可以用红绿蓝...

    前端技术 2020年04月11日 3256 0
  • CSS3动画解析抖音 LOGO制作

    前言“字节跳动”现今也是如日中天,旗下产品,除头条外,还有短视频平台“抖音”,人气也是非常高,据说拥有7亿用户。今天我们就来研究研究抖音的logo,蹭蹭热度。效果预览:CSS3动画解析抖音 LOGO制作主要用css3新增属性mix-blend-mode,混合模式来实现。分解我们先来看看它的组成,由大写的“J”组成,然后有3种颜色,白色、红色、和天蓝色。ok,我们先来完成一个“J...

    HTML5 2020年04月11日 3599 0
  • 为什么Redis 单线程却能支撑高并发?

    最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操...

    Redis 2020年04月11日 1598 0
  • mysql5.7 使用XtraBackup2.4 全量备份还原

    下载 XtraBackupmysql5.7我们使用 XtraBackUp2.4版本 下面是网址下载文件为 percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm进行安装预先安装 libev perl-DBD-MySQL perl-Digest-MD5yum -y install libevyum -y install perl-DBD-MySQ...

    MySQL 2020年04月11日 4278 0
  • API网关:API 网关从入门到放弃

    前言假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员、商品、推荐服务等等。那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(http://service.api.company.com),但这种方式会有几个问题:每个业务都会需要鉴权、限流、权限校验等逻辑,如果每个业务都各自...

    Java 2020年04月11日 1381 0
  • 用StompJS/SpeechSynthesis实现前端消息实时语音播报

    前言前端消息的实时推送我相信很多人不陌生,我们可以想到利用WebSocket,服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。其优点有很多,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯等等。语音播报则能够在人们视觉没有来的及关注时侯,通过听觉来获取需要信息。这篇文章主要介绍的是基于websocket...

    前端技术 2020年04月11日 2914 0
  • 僵持 26 年后,微软终于以 160 万美元买下史上最危险域名

    在与域名持有者僵持了 26 年后,微软终于拥有了“魔鬼域名 Corp.com ”的所有权。近日,据外媒报道,微软已经以 160 万美元购买了该域名。微软在声明中写道:为了保护系统,我们鼓励客户在规划内部域名和网络名称时养成安全的安全习惯。我们在 2009年 6 月发布了一份安全建议,并发布了一项有助于保护客户安全的安全更新。在我们对客户安全的持续承诺中,我们还获得了corp.c...

    技术资讯 2020年04月11日 1332 0
  • MySQL默认值选型是空,还是 NULL-爱可生

    如果对一个字段没有过多要求,是使用“”还是使用 NULL,一直是个让人困惑的问题。即使有前人留下的开发规范,但是能说清原因的也没有几个。NULL 是“”吗?在辨别 NULL 是不是空的这个问题上,感觉就像是在证明 1 + 1 是不是等于 2。在 MySQL 中的 NULL 是一种特殊的数据。一个字段是否允许为 NULL,字段默认值是否为 NULL。主要有如下几种情况:字段类型表...

    MySQL 2020年04月11日 2888 0
  • 大型互联网公司Nginx通关秘籍

    1. Nginx简介1.1 Nginx 概述NGINX是一个免费、开源、高性能、轻量级的HTTP和反向代理服务器,也是一个电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。 Nginx 因为它的稳定性、丰富的模块库、灵活的配置和较低的资源消耗而闻名 。目前应该是几乎所有项目建设必备。Nginx由内核和一系列模块组成,内核提供web服务的基本功能,如启用网...

    Nginx 2020年04月11日 1603 0