• 查询附近范围的坐标点实现方案(java)

    需求说明需求来源于条友的一个项目,根据用户当前所在坐标,查询附近企业,并将距离进行倒排,这是个比价常见的需求,现在将实现过程简单描述一下。1、原方案从数据库中加载所有企业的坐标地址,数据量在万级,每个用户查询一次最近的企业,后台计算量就是数万次,N个用户每查询一次,就是N*数万次。2、优化方案先从数据库中查询出给定范围的企业,这样计算量就小很多,例如只需要查询1公里范围以内的企...

    Java 2020年12月31日 1575 0
  • Base64是什么?前端用Base64加载图片到底好不好?

    相信无论是前端还是后端开发工程师,对于Base64都不会感到陌生,在开发中我们经常会将一些小图片以Base64的形式存储和加载。然而知其然也要知其所以然,Base64究竟是什么,我们为什么要使用Base64,以及Base64的优缺点又是什么呢?今天我们就来聊一聊。什么是Base64首先Base64是一种编码格式,普遍应用于需要在网络中存储和传输的二进制数据。为什么叫Base64...

    技术文章 2020年12月31日 2195 0
  • 各种各样加密算法的js库,安全加密不再愁——crypto-js

    介绍crypto-js是一个前端Javascript标准加密算法库,CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、...

    Javascript 2020年12月31日 1818 0
  • 为什么不建议把数据库部署在docker容器内?

    前言近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着...

    Docker 2020年12月31日 1986 0
  • 线上SQL死锁分析及解决思路

    背景最近线上消费MetaQ的服务频繁报SQL死锁异常,虽然最终可以基于事务自动回滚和逻辑重试保证最终正确性,但若一直放任不管,海量报警日志会掩盖真正需要紧急处理的异常,同时频繁回滚也会降低消费端的吞吐量,个人通过分析线上服务日志、Mysql死锁日志、梳理Mysql在RR级别下的锁机制,找到了真正的问题所在,并对业务处理逻辑进行了优化,特在此整理出来,一方面大家可以互相学习提升,...

    MySQL 2020年12月31日 1900 0
  • MySQL中的排序

    在编写SQL 语句时常常会用到 order by 进行排序,那么排序过程是什么样的?为什么有些排序执行比较快,有些排序执行很慢?又该如何去优化?索引排序索引排序指的是在通过索引查询时就完成了排序,从而不需要再单独进行排序,效率高。索引排序是通过联合索引实现的。因为联合索引是从最左边的列开始起按大小顺序进行排序,如下图。比如现在查询条件是 where sex=1 order by...

    MySQL 2020年12月31日 1337 0
  • 物联网关键技术:规则引擎

    物联网系统以及各类互联网分布式系统,消息队列是最常用到的中间件技术。在物联网系统中,消息队列一般和规则引擎结合使用,规则引擎决定消息会进入消息队列的哪个topic。消息队列一般与规则引擎结合使用为啥要用规则引擎规则引擎起源于基于规则的专家系统,是专家系统的一个分支,而专家系统可划分为人工智能的范畴。当时人们提出专家系统,是为了让计算机来应用人类专家的经验,并像人类一样进行推理,...

    物联网 2020年12月30日 2911 0
  • 大数据脱敏方案调研

    大数据发展速度飞快,大数据的价值也有目共睹,在大数据技术领域,对于分析性能,实时性等方面都有了很大的突破,但数据安全问题在数据业务建立初期很难被重视,而数据规模壮大后才开始重视,以致大多数企业大数据平台安全管控能力普遍缺失。。现今数据安全问题频发,而且一旦发生就会对公司造成很严重的利益甚至声誉损害。数据安全引发的问题代价极高,后果严重,而我们又不能保证服务器永远不会被攻击,所以...

    架构设计 2020年12月30日 2155 0
  • 一个命令,让你的内网穿透

    我们在开发一些web应用的时候,很多时候都是这样的:在本地搭建环境-->开发web应用-->本地测试-->远程部署到服务器上-->域名配置-->可以被外网访问如果你开发过微信小程序相关的,你可能会遇到这么一种情况:如果你的服务器域名没有配置好,无法在本地调用接口。后来我发现了一个不错的网站,localhost.run,它可以直接代理你的内网,也就是...

    技术文章 2020年12月30日 2504 0
  • MySQL中varchar类型字段最大长度是多少

    背景字节和字符的区分为什么是varchar(255)而不是(256)varchar字段最大值是多少latin1字符集编码下utf8字符集编码下utf8mb4字符集编码下总结背景你是否知道MySQL中的varchar字段类型最大能够存储多少数据?它的最大长度是多少?为什么有时候定义一个varchar(10)的字段可以存储10个汉字,但是不能存储超过10个长度的字母呢?为什么有时候...

    MySQL 2020年12月30日 1338 0
  • MySQL底层的存储结构

    文章目录:写在前面的话InnoDB的存储结构Tablespace常见的表空间SegmentExtentPage什么是off-pageInnoDB的文件存储格式写在前面的话你有没有想过这样一个问题:我们的数据在MySQL中是如何存放的?它是以什么样的组织方式存放在我们磁盘中的?我们知道,数据是存放在表里面的,在表里面是一行一行存在的。那么这一行一行的数据怎么样在磁盘中存放的呢?表...

    MySQL 2020年12月29日 1259 0
  • 我用Builder优雅地实现了对象的创建

    使用构造函数直接属性赋值Java的对象创建大家都知道,当对象创建完之后,我们可以有几种方式给对象的属性赋值。比如在new的时候给属性赋值。像这样:这样在创建对象时就将属性赋值,的确很方便。但是如果对象的属性很多,我们这么赋值就很不优雅了。使用setter属性赋值一般我们实际开发中,实体类会有很多属性。这时我们可以使用setter方法给属性赋值,如下代码:我们一般也是这么写的,但...

    Java 2020年12月26日 1374 0
  • 微服务架构实战:使用Jenkins实现自动化构建

    使用Jenkins实现自动化构建一个大型平台的微服务架构设计通常会产生很多项目工程,因此会有很多服务和应用需要部署,并且需要不断地迭代和更新,这是一个庞大的工程,所以我们需要借助自动化工具,实现各个微服务工程的CICD工作流程。CICD是持续集成(Continuous Integration)和持续部署(Continuous Deployment)的总称,是指通过自动化的构建、...

    微服务 2020年12月26日 1358 0
  • ftp服务器搭建教程

    FTP是Internet中应用非常广泛的服务之一,主要用于计算机之间上传和共享文件。搭建方式很简单,不需要特殊的工具和软件,在windows操作系统功能中即可搭建。FTP可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。也就是说你在window上搭建的FT...

    Windows Server 2020年12月26日 2074 0
  • 为什么 MongoDB 选择B树,Mysql 选择B+树?

    本文献给准备面试或者是还在面试的你。常见面试题,送分题目,不拿白不拿。一、B树和B+树的区别很明显,我们想向弄清楚原因就要知道B树和B+树的区别。为了不长篇大论。我们直接给出他们的形式总结他们的特点。1、B树B树是一种自平衡的搜索树,形式很简单:这就是一颗B-树。针对我们这个问题的最核心的特点如下:(1)多路,非二叉树(2)每个节点既保存索引,又保存数据(3)搜索时相当于二分查...

    MySQL 2020年12月26日 1363 0
  • QRCanvas - 动态生成二维码的开源优秀 js 库

    简单调用就能满足网址扫码预览和分享、登录扫码认证等二维码功能。QRCanvas 能用来做什么动态生成带二维码的海报是业务型产品中很常见的需求,之前分享过如何通过 html2canvas 将html+css写出来的布局生成海报,而今天分享的 QRCanvas 则是专门满足如何在前端生成动态二维码的需求。QRCanvas 功能特性API 非常简单,简单到只需要一个文本参数就能生成二...

    HTML5 2020年12月26日 2083 0
  • Easy Rules 配置文件外置-Mysql

    场景前一篇,介绍了Easy Rules作为Java一款轻量级的规则引擎,使得研发更加注重于纯业务开发,提高开发效率。这一篇,主要是围绕,规则配置数据,外置于数据库Mysql的实现。思路1、Mysql存储新建表t_biz_rule、t_biz_rule_compose分别存储规则定义、规则组合定义2、构建RulesMysql中的Rule、RuleCompose转换成RuleDef...

    MySQL 2020年12月26日 1958 0
  • MySQL分组查询后如何获取每组的前N条数据,你会吗?

    “分组查询”可以说是相当常见的SQL查询语句,对于MySQL数据库而言,其实现分组查询的关键字为GROUP BY,而在使用GROUP BY期间一般还会有其他的聚合函数配合使用,比如计数用的COUNT(*),统计数值和用的SUM(*),而本文要介绍的是另一种类型的“分组查询”,即分组查询出来后再查询出每一组的前N条数据。 为了方便诸位理解,还是直接举一个实际的案例吧:存在两个数据...

    MySQL 2020年12月26日 1926 0
  • Spring Boot+CAS 单点登录,如何对接数据库?

    在前面和大家分享了松哥写的CAS Server 的搭建以及如何使用 Spring Security 搭建 CAS Client。但是前面的案例有一个问题,就是登录用户是在 CAS Server 配置文件中写死的,没有对接数据库,实际项目中,这里肯定要对接数据库,所以今天,松哥就来和大家聊一聊 CAS Server 如何对接数据库。松哥最近和 Spring Security 杠上...

    Java 2020年12月26日 1395 0
  • CentOS操作系统:为什么转移到CentOS流是一个大错误

    就我个人来说,我一直用的deepin的,但我们管理的服务器上全部使用的都是CentOS。如果你足够关注开源,你可能已经听到了忠实用户的最新抱怨——Red Hat已经宣布它正在杀死我们目前所知道的CentOS,并正在用CentOS Stream取代这个受人喜爱的、高度稳定的服务器发行版。什么是CentOS Stream?简单地说,是CentOS的版本。如果你跟着走,你就会明白为什...

    CentOS 2020年12月26日 2190 0
  • 基于 Vue+Spring 前后端分离管理系统ELAdmin Vue

    基于 Vue+Spring 前后端分离管理系统ELAdmin

    今天给大家分享一款超棒的Vue前后台分离管理模板ElAdmin-Web。eladmin 一个简单易上手的Vue+Spring boot后台管理框架,star高达2.6K+。支持主流电脑、平板、手机等设备。特性技术栈:使用 SpringBoot/Jpa/Security、Redis、Vue、ElementUI 等技术开发;模块化:后端采用按功能分模块开发方式,提升开发,测试效率;...

    Vue 2020年12月26日 4112 0
  • 安装MySQL后,需要调整的10个性能配置项

    本文翻译自 Percona 官方博客,适用于 MySQL 5.6 及 5.7 版本。作者:Stephane Combaudon原文:https://www.percona.com/blog/2014/01/28/10-mysql-performance-tuning-settings-after-installation/在本博客中,我们将和大家讨论下 MySQL 数据库安装后...

    MySQL 2020年12月25日 1216 0
  • Centos 7 部署nextcloud

    Nextcloud 简介:对于私人网盘,其中最出名的就是 seafile、owncloud和nextcloud。seafile是国人开发的,有免费和企业版,免费的功能有限;nextcloud是owncloud的一个分支,由原创始人团队维护,是在owncloud被别的公司收购后,由创始人团队创立的新分支。就像 mysql和mariadb。nextcloud完全开源,功能强大:能够...

    CentOS 2020年12月25日 2406 0
  • 开源项目免费申请JetBrains全家桶License

    IDEAIDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的...

    技术资讯 2020年12月25日 1686 0
  • 我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

    前言不怕犯错误,就怕出了错误不能及时处理,怎么快速的定位问题,通常的做法都是上服务器,然后看相应的日志,这实在是太费力,也不直观,并且大多数时候,作为开发的我们没有登录生产环境的权限。很多人会提出elk日志平台,对于我们来说太重了,有没有更轻量级的框架,我分享一个轻量级的工具sentry。推荐理由1 开源(可以注册一个账号直接使用,也可以自己搭建)2 集成简单,只需要简单配置即...

    技术文章 2020年12月25日 1924 0
  • 腾讯开源分布式存储系统Tendis,可完全兼容Redis

    近日,腾讯宣布开源一个与 Redis 协议完全兼容的高性能分布式存储系统 Tendis。据悉,Tendis 是腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队自主设计和研发的分布式高性能 KV 存储数据库,兼容 Redis 核心数据结构与接口,可提供大容量、低成本、强持久化的数据库能力,适用于兼容 Redis 协议、需要大容量且较高访问性能的温冷数据存储场景。Te...

    Redis 2020年12月24日 2207 0
  • ASP.NET+MVC+使用+Log4net+记录日志笔记 C#

    ASP.NET+MVC+使用+Log4net+记录日志笔记

    前言:记录系统中的日志,是一个好的项目产品必备的一个环节。每一个产品最终的目的都是要交予客户使用,因为程序员代码的开发水平参差不齐,Bug就成为了项目运维成本最大的因素之一。如何降低项目运维的成本呢,最重要的是要缩短开发人员在系统运维排查问题的时间成本。如果你的系统中很好的集成了日志框架。那么你可以更快更高效的定位问题、解决问题。从而降低系统运维的时间成本。今天小编给大家介绍L...

    C# 2020年12月24日 2305 0
  • 从根上理解高性能、高并发:深入计算机底层,理解线程与线程池

    前言作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然于胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面试或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不过是皮毛。本篇概述本篇主要是从CPU这一层来讲解多...

    架构设计 2020年12月24日 1224 0
  • 一台服务器通过nginx配置多个域名(80端口)

    1. 问题描述多个域名对应一个服务器,为了避免域名后增加端口号,两个域名都需要占用80端口号,使用nginx来进行配置。2. 解决方案目前项目中,线上正在使用(100%可用)多域名对应一个服务器情况(线上ip及域名替换了下)#user nobody; worker_processes 1; #error_log logs/error.log; #error_log l...

    Nginx 2020年12月24日 1699 0
  • 字节跳动官方出品的免费图标库,超好用还能自定义修改

    现在很多企业公司或品牌都会将自己开发的设计素材开放出来,像是图标集、字体或是网页框架等等,使这些项目可以被更多人使用,或是在开源的情况下创造出更多可能性,当然一方面也能提高被看到的机会。之前介绍过IBM Plex 就是其中一个例子:除了腾讯,这5家世界顶级公司也有自己的专属字体(打包下载)编者按:最近腾讯发布了一个中文字库,引起了很多设计师的热议,中文字体开发难度大,时间长,能...

    前端技术 2020年12月24日 3090 0