-
服务器端必须要知道的前端技术大扫盲Vue.js + element-ui
一:Vue.js技术栈npm:node.js的包管理工具,用于同一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。Babel:一款将ES6代码转化为浏览器兼容的ES5代码的插件vue-cli:Vue的脚手架工具...
-
Apollo 1.6.0 发布,开源分布式配置中心
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。Java 客户端不依赖任何框架,能够运行于所有Ja...
-
WebSocket 是什么原理?为什么可以实现持久连接?
一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上...
-
适合中小型公司的Mysql数据库使用规范
这个是公司技术基础建设的一部分,在以后我会逐步推出更多的技术相关文章,感觉有用的请关注。这个文章是为了规范公司的数据库使用的,如果公司有原来使用的规范可以做下对比。这个规范适合中小型公司,数据量不是特别大的。设计的单表容量在千万级。数据库使用 MYSQL ,版本 5.7+数据库使用主要属性类型,数字用 int ,字符用 char ,比较多的字符用 text 或者 verchar...
-
优雅停止Springboot 服务的几种方法
在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭。而且一些没有执行完的程序就会直接退出。 我们很多时候都需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,这个在保证系统的高可用是非常有必要...
-
使用FastJSON实现多态支持(又快又强)
FastJson 可谓是史上最快的JSON解析库!但这不是本文的重点。主要想说下基于FastJson的一种通用泛型解析的方案,也就是对于多态的支持。又快又强简单地说,就是我们使用FastJson,调用JSON.parseObject(jsonstr, XXX.class)方法的时候,如果XXX是一个抽象类,或者接口,这时候会得到的结果是null,也就说我们是没有办法只指定一个抽...
-
PHP Curl的简单使用
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到curl向其他系统api访问。使用要想使用CURL,大致需要如下流程:初始化CURL句柄设置选项执行并获取结果释放CURL句柄参见如下示例:<?php$ch = curl_init...
-
IDEA 2020,9个新特性曝光,程序员:追不上了...
IDEA 2020 更新这么贼快,老子开车都追不上了... idea下载地址:https://www.jetbrains.com/idea/download 新特性IDEA - 2020.1 版本针对调试器和代码分析器的改进,值得期待1、对于调试器的加强:数据流分析辅助2、调试加强:属性置顶功能3、调试加强:IPV6 调试4、性能分析的改进,剔除额外的东西5、支持读取内存快照文...
-
NodeJS常用 API 整理
一、Debug 调试方法Node 的调试方法有很多,主要分为安装 node-inspect 包调试、用 Chrome DevTools 调试和 IDE 调试,可以在官网的 Docs Debugging Guide 查看安装方法。下面介绍使用 Chrome DevTools 调试的方法,首先安装 Chrome Extension NIM,打开 Inspect 入口页面 chrom...
-
从3.0到4.0,Ant Design最大的变化是什么?
Ant Design 是蚂蚁金服推出的一套企业级 UI 设计语言和 React 组件库,从 2015 年推出开始便受到广泛的关注与使用,目前在 GitHub 上已收获超过 5.7 万个 star。近日,Ant Design 发布了 4.0 版本,带来了一些重大更新。前端之巅采访了 Ant Design 团队的核心作者之一的蒋吉麟,聊了聊 4.0 版本更新背后的一些故事。 Ant...
-
这句简单的sql,如何加索引?颠覆了我多年的认知
不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。select * from test where a=? and b>? order by c limit 0,100结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和explain关键字来进行验证。结果真是颠覆了xjjdog多年的...
-
如何设计QQ、微信、微博等,第三方账号登陆?(附表设计)
前言:多账户登陆1. 创业初期用户名密码注册登陆手机号注册登陆2. 数据库设计3. 引入第三方账户方案4. 数据库设计5. 总结前言:多账户登陆互联网应用当中,我们的应用会使用多个第三方账号进行登录,比如:网易、微信、QQ等,我们把此称为多账户统一登陆。通过这篇文章, 我想阐释多账户登陆的技术方案细节,以及相应的表设计,流程设计。我这里不会有具体代码实现细节,只要方案做的对,有...
-
学会使用 Spring Boot 的异步调用
一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来...
-
SQL Server 数据库高级查询语句
首先要介绍的就是分组查询。比如我们有一个销售订单,这个订单里包含了地域,人员等多个不同的字段信息,我们需要按照地域进行分组查询每个地域的总销售额。或者要按照人员查询每个人的销售总额等信息,那么就需要用到这个分组查询的功能。分组查询 GROUP BY使用 GROUP BY 根据一个或者多个列对结果进行分类汇总,通常和统计函数一起使用,常用的统计类函数有:COUNT(统计组中项数)...
-
吐血推荐珍藏的IDEA插件
之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说要再推荐一些IDEA插件。作为一名职业Java程序员/业余js开发者,我平时还是用IDEA比较多,所以也确实珍藏了一些IDEA插件。今天就一并分享给大家。在最开始,我还是想先介绍一下IDEA中如何安装插件,首先打开Preferences(菜单栏打开或者使用快捷键Command+,)在Windows...
-
四个最佳实践,引导你写出高质量JavaScript模块
使用 ES2015 模块,您可以将应用程序代码分成可重用的、封装的、专注于单一任务的模块。这很好,但是如何构造模块呢?一个模块应该有多少个函数和类?这篇文章介绍了有关如何更好地组织 JavaScript 模块的4种最佳实践。1.优先使用命名导出当我开始使用 JavaScript 模块时,我使用默认的语法来导出模块定义的单个块,不管是类还是函数。例如,这是一个将模块 Greete...
-
Vue 中使用lodash对事件进行防抖和节流
有些浏览器事件可以在短时间内快速触发多次,比如调整窗口大小或向下滚动页面。例如,监听页面窗口滚动事件,并且用户持续快速地向下滚动页面,那么滚动事件可能在 3 秒内触发数千次,这可能会导致一些严重的性能问题。如果在面试中讨论构建应用程序,出现滚动、窗口大小调整或按下键等事件请务必提及 防抖(Debouncing) 和 函数节流(Throttling)来提升页面速度和性能。这两兄弟...
-
在vue中使用jquery
首先默认你已经有了一个vue程序,如果你想在vue中使用jquery,那么请继续阅读。当然,加入你没有一个vue程序,这里也给出创建一个vue程序的命令。当然,你肯定装了vue-cli,不然你不会点进这篇博客vue init webpack vue-demo01项目的目录类似如下:对了,这个demo里使用了element-ui安装方式:npm i element-ui -S配置...
-
程序员专用开发字体
JetBrains推出了一种新字体,即JetBrains Mono,它是专为开发人员设计的。 下载地址:https://www.jetbrains.com/lp/mono/或者https://download.csdn.net/download/billyhe1983/12108637安装步骤: 依次安装上述几个文件即可,然后重启idea,setting——> fo...
-
Spring Cloud Gateway 实现Token校验
在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,...
-
2020年,浏览器插件Flash将被HTML5取代,之后是不是IE浏览器了?
Flash死亡,Adobe推荐大家拥抱HTML5。其实Flash本身也是支持手机端的。一、Flash宣告死亡Adoebe官方网站发布了公告,2020年12月30日起终止支援Flash。目前Chrome、Edge等浏览器都会有提醒。用户默认不开启Flash,如果页面视频采用Flash进行播放,都会收到如下提示:==默认被阻止====阻止了Flash====需要手动开启,才能打开F...
-
微软发布紧急安全更新:修复SMBv3协议漏洞
在本月的补丁星期二活动日上,微软对所有受支持的Windows 10系统发布了累积更新,并对Edge、Internet Explorer和其他组件进行了安全改进。在活动日期间,网络上意外曝光了存在于SMBv3协议中全新蠕虫漏洞,为此今天微软发布了紧急更新对其进行了修复。手动下载地址:https://www.catalog.update.microsoft.com/Search.a...
-
什么才是真正的架构设计?
一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上...
-
Discuz! Q 第一个内测版发布了
Discuz! Q 第一个内测版发布了 下载地址:https://www.dnspod.cn/promo/discuzq 大周末的,研发团队为我熬了一夜,就不多废话了,直入正题 Discuz! Q alpha v0.3.200315 发布 在我的上一个版本 Discuz! Q alpha v0.2.200305 发布到官方内测站之后,团队决定把我的下一个内测版本 提供给大家,原...
-
听说Redis都会遇到并发、雪崩等难题?我用10分钟就解决了
一、Redis雪崩、穿透、并发等5大难题解决方案缓存雪崩数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。比如一个雪崩的简单过程:1、redis集群大面积故障2、缓存失效,但依然大量请求访问缓存服务redis3、redis大量失效后,大量请求转向到mysql数据库4、mysql的调用量暴增,很快就扛不住了,...
-
nginx的location规则与rewrite解析
为什么要将两个放在一起学习?因为这两个是配置文件中使用正则表达式最多的指令。location规则nginx的http配置主要包括三个区块,如下图所示http配置location指令通过指定的模式与客户端请求的URI进行匹配。主要的格式如下:location [=|~|~*|^~|@] pattern { ......}1、直接匹配。这种没有修饰符,直接匹配URI。直接匹配2、使...
-
Java 高效插入百万级别数据到MySQL
导论笔者的毕业设计是一个与大数据相关的项目,其中遇到了一个将百万级别数据存储到MySQL 的问题,本来是打算使用Spark SQL 的DataFrame 自带的API来直接将数据存储到MySQL 中,可是当我看到MySQL 监控平台的数据,我瞬间被打了脸,没那么简单,在监控平台上面显示着平均每5 秒插入140条左右的数据,笔者瞬间被吓到了,心想,这可不行,按这个速度,那要运行到...
-
IDEA界面太丑了怎么办,教你如何改变idea界面风格
前言IntelliJ IDEA主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。IntelliJ idea默认的主体只有简单的白和灰,不一定能满足所有人的喜好一直使用IDEA进行开发难免会产生审美疲劳所以就搜集了下面的几款主题插件,换上之后给人眼前一亮的感觉,本文也介绍了自己如何...
-
Google推出的首款动态图标字体 如何在设计和开发中使用?
Anicons 是 Google Design 和 Typogram 合作推出的全球第一款彩色图标字体,它是目前最先进的两种字体技术 -- 可变字体和彩色字体的结合的首次实践。Anicons 彩色图标字体动态效果Anicons 字体自带时间轴,包含了位移、颜色变换、缩放等效果,可以安装在电脑上在设计时使用,也可以嵌入 HTML 网页中,通过简单的 CSS 就能定义动画。本文将介...
-
Vue优秀表单组件,用Vue构建表单的最简单方法——Vue Formulate
介绍Vue Formulate是使用Vue构建表单的最简单方法。主要功能包括表单和字段验证,文件上传,表单生成,支持标签的单元素输入,帮助文本,错误消息,占位符等,以及在自己的项目中使用的全面文档。Githubhttps://github.com/wearebraid/vue-formulate特性开发者幸福表单无处不在,但对于作者来说却令人厌烦—不再了。Vue Formula...