-
Bootstrap v5将要发布了,最重要的更新就是放弃IE的支持。
Bootstrap v5将要发布了,最重要的更新就是放弃IE的支持。Bootstrap是一个用户界面(UI)框架,最初是在Twitter设计的,后来开源。该库基本上是HTML、CSS和JavaScript UI小部件的集合。根据W3Techs的数据,大约有20.4%的互联网网站使用了Bootstrap,根据BuiltWith的数据,超过2000万个网站使用了Bootstrap。...
-
这样搭建Nginx+Tomcat集群,实现负载均衡及动静分离,太轻松!
前言 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件。结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群。 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容。一、集群搭建结构及拓扑1.1集群架构图示Nginx+Tomcat集群的结构...
-
深入分析线程池的实现原理
一.概述线程池,顾名思义就是存放线程的池子,池子里存放了很多可以复用的线程。如果不用类似线程池的容器,每当我们需要执行用户任务的时候都去创建新的线程,任务执行完之后线程就被回收了,这样频繁地创建和销毁线程会浪费大量的系统资源。因此,线程池通过线程复用机制,并对线程进行统一管理,具有以下优点:降低系统资源消耗。通过复用已存在的线程,降低线程创建和销毁造成的消耗;提高响应速度。当有...
-
深入研究ElasticSearch
本文将帮助您深入了解ElasticSearch。 我们将审查可满足典型项目至少95%需求的主要功能。 如果您是ElasticSearch的新手,在本文中您将找到几乎所有在使用新数据库之前应提出的问题的答案。什么是ElasticSearch?Elasticsearch是一个全文搜索引擎,用于存储无模式的JSON文档。 Elasticsearch是基于Apache Lucene的开...
-
前端开发规范:命名规范、html规范、css规范、js规范
一个好的程序员肯定是要能书写可维护的代码,而不是一次性的代码,怎么能让团队当中其他人甚至一段时间时候你再看你某个时候写的代码也能看懂呢,这就需要规范你的代码了。我是有一点强迫症的人,上周我们后端给我了一个CanUsename的接口(该接口的目的是判断输入的目的地是否是4级目的地),我真的是崩溃的。我只是觉得这个名字不够语义化,但是让我自己想一个名字我又想不出来,于是我就在想,如...
-
基于OpenOffice、libreOffice实现文档转化
在很多管理系统中都要求上传相关的文档文件实现在线预览功能本篇文章主要来讲解如何实现:主要实现将文档转化为pdf预览 需要使用的组件有(openOffice和libreOffoce)OpenOffice安装:图片来源于openOffice官网安装openoffice组件(好处是支持win 和 liunx 根据所需安装 我们这里在win下面使用)下载地址为:http://www.o...
-
高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
前言很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了!究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构,结合高并发专题下的其他文章,学以致用。电商系统架构在电...
-
SpringBoot 处理跨域请求
什么是跨域?由于安全原因,浏览器都遵循着同源原则,拦截了不同域名之间的请求。跨域请求,是指能让不同域名之间,可以相互发送请求。 当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request)。 比如说,域名A ( http://domaina.example ) 的某 Web 应用程序中通过...
-
google要求的java规范
Google Java 编程规范(中文版)1.1 术语说明在本文档中,除非另有说明:1. 术语class可表示一个普通类,枚举类,接口或是annotation类型( @interface )2. 术语comment只用来指代实现的注释(implementation comments),我们不使用"documentation comments"一词,而是用Javadoc。其他的术...
-
负载均衡——LVS,HAProxy和Nginx对比分析
负载均衡(Load Balance)是应用于互联网后台系统架构设计中的各层,它将请求均匀分摊到多个操作单元上执行。目前,在线上环境中应用较多的负载均衡器硬件有F5 BIG-IP,但是硬件设备昂贵,不如软件适应互联网公司的快速发展。最常用的负载均衡软件有LVS、HAProxy和Nginx,结合高可用软件有Heartbeat、Keepalived,可以搭建出承载海量请求的成熟架构如...
-
数据处理的四个设计原则
设计模式的实践在面向对象编程(OOP)中最为流行,在Erich Gamma和Richard Helm的经典著作《设计模式:可重用的面向对象软件的元素》中已得到有效的解释和总结。 以下是维基百科中"设计模式"的定义:"软件设计模式是针对软件设计中给定上下文中的常见问题的通用,可重用的解决方案。 它不是可以直接转换为源代码或机器代码的最终设计。 它是如何解决可在许多不同情况下使用的...
-
详解CSS是如何表示颜色的——RGB原理
原理用了很长时间的RGB方式来作为CSS中的颜色样式,却不知道它是什么原理,据说这还是一道面试题,这篇文章就用来总结一下它的原理。我们生活中最常见的光就是太阳光,据说在1672年牛顿用三棱镜将太阳光分离成了赤橙黄绿蓝紫青七色光。随着科技的进步,人们发现肉眼细胞对红绿蓝三种颜色较为敏感,而且这三种颜色按照不同比例混合会制造出很多其他的颜色,比如7色光中的其他4种颜色就可以用红绿蓝...
-
CSS3动画解析抖音 LOGO制作
前言“字节跳动”现今也是如日中天,旗下产品,除头条外,还有短视频平台“抖音”,人气也是非常高,据说拥有7亿用户。今天我们就来研究研究抖音的logo,蹭蹭热度。效果预览:CSS3动画解析抖音 LOGO制作主要用css3新增属性mix-blend-mode,混合模式来实现。分解我们先来看看它的组成,由大写的“J”组成,然后有3种颜色,白色、红色、和天蓝色。ok,我们先来完成一个“J...
-
为什么Redis 单线程却能支撑高并发?
最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操...
-
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...
-
API网关:API 网关从入门到放弃
前言假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员、商品、推荐服务等等。那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(http://service.api.company.com),但这种方式会有几个问题:每个业务都会需要鉴权、限流、权限校验等逻辑,如果每个业务都各自...
-
用StompJS/SpeechSynthesis实现前端消息实时语音播报
前言前端消息的实时推送我相信很多人不陌生,我们可以想到利用WebSocket,服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。其优点有很多,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯等等。语音播报则能够在人们视觉没有来的及关注时侯,通过听觉来获取需要信息。这篇文章主要介绍的是基于websocket...
-
僵持 26 年后,微软终于以 160 万美元买下史上最危险域名
在与域名持有者僵持了 26 年后,微软终于拥有了“魔鬼域名 Corp.com ”的所有权。近日,据外媒报道,微软已经以 160 万美元购买了该域名。微软在声明中写道:为了保护系统,我们鼓励客户在规划内部域名和网络名称时养成安全的安全习惯。我们在 2009年 6 月发布了一份安全建议,并发布了一项有助于保护客户安全的安全更新。在我们对客户安全的持续承诺中,我们还获得了corp.c...
-
MySQL默认值选型是空,还是 NULL-爱可生
如果对一个字段没有过多要求,是使用“”还是使用 NULL,一直是个让人困惑的问题。即使有前人留下的开发规范,但是能说清原因的也没有几个。NULL 是“”吗?在辨别 NULL 是不是空的这个问题上,感觉就像是在证明 1 + 1 是不是等于 2。在 MySQL 中的 NULL 是一种特殊的数据。一个字段是否允许为 NULL,字段默认值是否为 NULL。主要有如下几种情况:字段类型表...
-
大型互联网公司Nginx通关秘籍
1. Nginx简介1.1 Nginx 概述NGINX是一个免费、开源、高性能、轻量级的HTTP和反向代理服务器,也是一个电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。 Nginx 因为它的稳定性、丰富的模块库、灵活的配置和较低的资源消耗而闻名 。目前应该是几乎所有项目建设必备。Nginx由内核和一系列模块组成,内核提供web服务的基本功能,如启用网...
-
ffmpeg的使用,通过Java来进行对视频的转码和截图
1.配置ffmpeg的环境变量2.代码如下import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;/** * @Author LinXin * 1.设置视频输出目录 * 2.获取上传视频的路径以及文件名 * 3.截取...
-
SpringBoot 发送邮件和附件(实用版)
基础知识什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。什么是IMAP?IMAP全称为Internet Message Access Protocol(...
-
Windows 10,你终于活成了人人喜欢的样子!
在2015年七月微软正式发布了全新的操作系统,WINDOWS 10,现在已经快五年了,在这五年的时间里,微软对他进行了无数次的更新与修补,WINDOWS 10系统也变得更加高效快捷,2020年三月份,微软宣布WINDOWS系统用户数量已经突破十亿,这也代表着WINDOWS 10系统正式取代WINDOWS 7成,为了世界上第一大PC系统,与此同时,微软还给广大用户带来了新的UI界...
-
Win10 v2004正式版定了:5月推送、已测试半年确保稳定性
微软今晨为Windows 10慢速通道的用户推送KB4552455补丁,安装后操作版本号升级为Build 19041.173。Build 19041早在去年12月就以预览的形式抵达快速通道了,版本号v2004。历经将近半年的小版本迭代(小数点后),终于逐渐接近稳定通道的正式版。多个外媒报道称,Win10 v2004正式版将于5月开始全面OTA推送,正式版就是Build 1904...
-
程序员最常犯的MySQL错误
1、使用MyISAM而不是InnoDBMySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。MySQL 默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库。外键约束或者事务处理对于数据完整性 是非常重要的,但MyISAM都不支持这些。另外,当有一条记录在插入或者更新时,整个数据表都被锁定了,当使用...
-
手把手教你SQL注入
什么是SQL注入?SQL注入指的数据库将用户输入的数据当作SQL语句执行,从而对数据库进行任意的操作达到攻击的目的。这里的“用户”一般是指发现网站漏洞并构造合法的SQL语句对网站进行攻击的人。怎么导致SQL注入?SQL注入有两个关键的条件:用户能够控制输入、代码中SQL语句对用户输入的数据进行拼接。如下:String sql="select * from user where ...