• 消息队列 CMQ 七大功能实践案例

    背景消息队列,在业务解耦、削峰填谷、流量控制、广播消息等场景下都有很好的应用,已经成为很多企业IT系统内部通信重要手段。现有常用的开源消息中间件有RabbitMQ、Kafka、RocketMQ等,但各自有着不同的应用场景和特点,例如,Kafka注重的是消息的吞吐量,不保证消息存储的可靠性以及一致性,因此多用于日志系统数据的上报;RabbitMQ能保证消息可靠存储投递,但性能较差...

    技术文章 2020年04月27日 1914 0
  • ngnix中配置详解

    #安全问题,建议用nobody,不要用root.#user nobody;#worker数和服务器的cpu数相等是最为适宜worker_processes 2;#work绑定cpu(4 work绑定4cpu)worker_cpu_affinity 0001 0010 0100 1000#work绑定cpu (4 work绑定8cpu中的4个) 。worker_cpu_affin...

    Nginx 2020年04月27日 2466 0
  • php+phpstorm+xdebug+PuTTY远程调试方式 PHP

    php+phpstorm+xdebug+PuTTY远程调试方式

    1、环境说明 本地开发机:windows开发浏览器:chrome远程服务器:ubuntu、nginx, 服务器无法直接通过ip访问本地开发机,所以使用了PuTTY做映射,否则无需映射即可直接配置使用注意:php的路由需要能够路由到真实的php文件,否则无法远程调试2、安装必要程序(服务器)1) 安装xdebug, apt-get install php5-xdebug配置:在p...

    PHP 2020年04月27日 2401 0
  • 带你看懂 HMR 热更新原理

    现在的我们基本上都是使用 webpack 模式开发,修改了代码之后,页面会直接进行改变,但是很少有人想过,为什么页面不刷新就会直接改变了?初识 HMR 的时候,觉得神奇的同时,脑海中一直有一些疑问:一般来说, webpack 会将不同的模块打包成不同 bundle 或 chunk 文件, 但是在使用 webpack 进行 dev 模式开发的时候,我并没有在我的 dist 目录中...

    前端技术 2020年04月27日 3022 0
  • 淘宝万亿级海量交易订单都存储在哪呢?

    阿里巴巴旗下的淘宝和天猫作为国内最大在线购物平台,提供售卖的商品数目数以亿计,其活跃用户数量超过了7亿人,服务的商家的数量也在数千万量级。面对性能和成本的双重压力,阿里数据库内核团队如何应对?01、淘宝交易订单系统介绍天猫和淘宝每天发生的实物和虚拟商品的交易达到亿级别。考虑到一次成功交易的整个链路,会涉及到会员信息验证,商品库信息查询,订单创建,库存扣减,优惠扣减,订单支付,物...

    架构设计 2020年04月27日 1448 0
  • vue框架搭建流程

    一、检查node和npm是否已安装win+r打开命令工具,输入cmd,后依次输入node -v和npm -v。若能显示版本号,则安装成功。若不能,node下载路径为Node.js。 npm下载为npm install npm -g二、配置node环境1、首先在node.js的安装目录根目录下新建两个文件夹:node_global和node_cache(第二步cache配置用到)...

    Vue 2020年04月26日 2074 0
  • nodejs真的是单线程吗?

    一、多线程与单线程像java、python这个可以具有多线程的语言。多线程同步模式是这样的,将cpu分成几个线程,每个线程同步运行。而node.js采用单线程异步非阻塞模式,也就是说每一个计算独占cpu,遇到I/O请求不阻塞后面的计算,当I/O完成后,以事件的方式通知,继续执行计算2。事件驱动、异步、单线程、非阻塞I/O,这是我们听得最多的关于nodejs的介绍。看到上面的关键...

    前端技术 2020年04月26日 1748 0
  • Linux常用的10个性能检测命令!

    01uptime$ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、1...

    Linux 2020年04月26日 1590 0
  • Spring AOP为什么能够成为Spring的基石?

    Spring AOP是Spring的三大基石之一它究竟解决了什么痛点能获如此殊荣?Java在面向对象的世界里无限风光,oop成就了无数经典的软件,它让我们的软件更健壮,更易于维护,但是程序猿对软件的质量追求是永无止境的,oop对于业务的抽象和封装完美的无懈可击然而对于系统层面的一些需求比如系统日志,性能统计等,分散在软件的各个角落,维护起来很是不爽,这种问题的解决确是oop力所...

    Java 2020年04月26日 1662 0
  • Java 性能问题如何排查?教你几招快速定位的方法

    概述性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。预备知识既然是定位问题,肯定是需要借助工具,我们先了解下需要哪些工具可以帮忙定位问题。top命令top命...

    Java 2020年04月26日 1625 0
  • MySQL用户及权限知识梳理

    一、账号用户账号MySQL用户账号组成: 'USER'@'HOST'USER: 用户名。HOST: 来源主机地址,IP、主机名、通配符(%和_)。创建用户账号:mysql> CREATE USER 'USER'@'HOST';mysql> CREATE USER 'USER'@'HOST' IDENTIFIED BY 'PWD';用户重命名:mysql> RE...

    MySQL 2020年04月26日 2256 0
  • 为什么MongoDB使用B-Tree,Mysql使用B+Tree ?

    除了 B+ 树,你可能还听说过 B 树、 B- 树,实际上, B- 树就是 B 树,英文翻译都是 B-Tree ,这里的 “-” 并不是相对 B+ 树中的 “+” ,而只是一个连接符。而 B 树实际上是低级版的B+ 树,或者说 B+ 树是 B 树的改进版。B+ treeB+ tree 实际上是一颗m叉平衡查找树(不是二叉树)平衡查找树定义:树中任意一个节点的左右子树的高度相差不...

    MySQL 2020年04月26日 1854 0
  • CSS实用技巧第一讲:文字处理

    前言作为程序员的我们,书写代码也需要大量的技巧。一份良好的代码能让人耳目一新,让人容易理解,同时也让自己成就感满满。因此,在这里简单的整理一些CSS开发技巧,希望能让你写出耳目一新、容易理解、舒服自然的代码。CSS实用技巧第一讲:文字处理本小结主要是围绕css对文字处理的技巧,有兴趣的小伙伴可以收藏一下。文本对齐方式CSS最常用的对齐方式,居中对齐、左对齐(默认)、右对齐,而且...

    前端技术 2020年04月26日 1496 0
  • 架构师必懂的——下一代微服务ServiceMesh

    今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了?那么到底什么是ServiceMesh?它诞生的背景是什么?它解决什么问题?企业是否适合引入ServiceMesh?根据近年在一线互联网企...

    架构设计 2020年04月26日 2174 0
  • mysql数据库如何进行备份和恢复

    一、确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld]区块添加:#这个是存储的位置为mysql配置文件的位置log-bin=mysql-bin然后重启mysql服务生效二、创建数据库先创建一个ops数据库create database ops;use ops;创建一个customers表并写上表结构create table customer...

    MySQL 2020年04月26日 1822 0
  • Shell基础学习总结项目-定时备份

    shell基础学完了,现在做一个任务,定时备份某一个目录下的文件,这个需求很常见,为了防止一些文件的丢失或者损毁,我们都应该养成备份的好习惯。比如说 将 /root/training/shell/data/log 这个目录下的文件压缩打包之后定时备份到/root/training/shell/data/backup这个目录下,备份的文件要以时间加上backup作为名字,下面开始...

    Linux 2020年04月26日 1686 0
  • 掌握这8个CSS开发工具让你瞬间成为开发高手!还在等什么!

    CSS是Web开发的基础之一。但是,我们中的一些人却感到非常困惑。这是因为我们没有遵循适当的学习流程,因此我们很难理解CSS的行为。本文旨在通过两种方式为你提供CSS的学习帮助:借助专用工具对CSS进行编码以及通过一些交互环境学习CSS。网上学习制作工具1、 EnjoyCSS地址:https://enjoycss.com/这个工具非常简单,是我们学习使用CSS时的救星。你可以使...

    HTML5 2020年04月25日 2287 0
  • PHP无状态登陆:JWT PHP

    PHP无状态登陆:JWT

    现在的软件开发项目大都使用前后端分离,项目后端接口遵循RESTful规范:(1)每一个URI代表一种资源;(2)客户端和服务器之间,传递这种资源的某种表现层;(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。这个时候,前后端不在同一个域名下,就存在跨域问题,使用session来记录登陆用户信息,就显得有些力不从心了,而且session需要存储在服...

    PHP 2020年04月25日 1926 0
  • MySQL的binlog知识梳理

    1、binlog概念:binlog是一个二进制格式的文件,用于记录“修改数据或可能引起数据变更”的SQL语句(查询的SQL不会记录)。2、binlog功能:(1)恢复: 利用binlog日志恢复数据库数据。(2)复制: 主从架构通过binlog同步数据。(3)审计: 可以用binlog中的信息进行审计,判断是否有对数据库进行注入攻击。3、binlog的记录格式:(1)state...

    MySQL 2020年04月25日 1621 0
  • nginx 1.18.0 稳定版发布

    前言nginx 1.18.0 已发布,这是继 1.16 系列之后的最新稳定版本。1.18.0 加入了 1.17.x mainline 分支中的新功能和 bug 修复,包括 limit_req 和 limit_conn 中的 dry run 模式,limit_rate, limit_rate_after 和 grpc_pass 指令中对变量的支持,以及支持 auth_delay ...

    Nginx 2020年04月25日 3673 0
  • 微软:其47000位程序员每月制造近30000个bug

    4月25日消息 微软详细介绍了他们如何利用机器学习模型处理其软件和服务中的BUG,“47000名开发人员每月产生近3万个Bug,”微软高级安全项目经理Scott Christiansen解释道。这家软件制造商在GitHub和AzureDevOps仓库中跟踪这些Bug,但仅靠传统的标签和优先级排序很难跟踪这些bug。▲图自微软官网微软现在正在使用近20年的历史数据、跨越1300万...

    技术资讯 2020年04月25日 1437 0
  • 一个非常适合IT团队的在线API文档、技术文档工具——Showdoc

    介绍每当我们接管其他人开发的模块或项目时,我们总是会疯狂地看着那些没有注释的代码。程序员经常希望其他人写技术文档,而不希望自己写技术文档。因为编写技术文档需要花费大量时间来处理格式和布局,所以编写该文档的人必须考虑各种非技术细节,例如在新建的Word文档中应放入哪个目录,各种文档由不同的人分散地保存在一个团队中。然后通过IM或电子邮件从其他人那里接收文件。这种通信还不错,但是效...

    Java 2020年04月25日 2560 0
  • 反爬虫、接口防盗刷 spring boot stater 组件 kk-anti-reptile

    kk-anti-reptile是,适用于基于spring-boot开发的分布式系统的反爬虫组件。系统要求基于spring-boot开发(spring-boot1.x, spring-boot2.x均可)需要使用redis工作流程kk-anti-reptile使用基于Servlet规范的的Filter对请求进行过滤,在其内部通过spring-boot的扩展点机制,实例化一个Fil...

    Java 2020年04月24日 1720 0
  • Vue3.0权限管理实现流程 Vue

    Vue3.0权限管理实现流程

    一、整体思路后端返回用户权限,前端根据用户权限处理得到左侧菜单;所有路由在前端定义好,根据后端返回的用户权限筛选出需要挂载的路由,然后使用 addRoutes 动态挂载路由。二、实现要点(1)路由定义,分为初始路由和动态路由,一般来说初始路由只有 login,其他路由都挂载在 home 路由之下需要动态挂载。(2)用户登录,登录成功之后得到 token,保存在 sessionS...

    Vue 2020年04月24日 5442 0
  • idea2020.1无法启动项目,报错Error:(3, 28) java: 程序包org.springframework.boot不存在

    之前安装的是idea 2019版本,一直没有问题。今天突然升级了一下,安装了idea2020.1最新版本,启动springboot项目的时候,竟然无法启动,而且提示的错误信息也很奇怪: Error:(3, 28) java: 程序包org.springframework.boot不存在而我检查了bootorg.springframework.boot包,明明是存在的。于是找了...

    Java 2020年04月24日 7987 0
  • postman进行http接口测试

    优点:1、支持用例管理2、支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能3、支持批量运行4、支持用例导出、导入5、支持云端保存用例【付费用户】可以说POSTMAN满足了HTTP接口测试的大部分功能,只有少部分的功能不被支持,比如:请求流程的控制;前面说了这么多,接下来我们就看看POSTMAN的安装与使用吧。 1、什么是POSTMANPOSTMAN是一个C...

    C#技术 2020年04月24日 1924 0
  • 「微服务架构」微服务架构中的数据一致性

    在微服务中,一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案,如果其中一个分布式流程参与者出现故障,我们就会面临数据不一致的风险 - 例如在未下订单的情况下向客户收费或未通知客户订单成功。在本文中,我想分享一些我为使微服务之间的数据最终保持一致而学到的技术。为什么实现这一目标如此具有挑战性?只要我们有...

    架构设计 2020年04月24日 1464 0
  • 软件著作权登记申请流程详解:材料简单,建议自办!

    开发了一个手机APP,如果想在国内主流应用市场上发布,必须要有软件著作权。于是笔者在2月20日自助进行了软件著作权登记申请,4月23日拿到了软件著作权证书,在这里把主要流程记录一下,希望可以帮到大家。 第一:申请方式:直接在“中国版权保护中心”官网申请,选择“软件登记”,在“我要登记”中选择“R11计算机软件著作权登记申请”,就可以看到申请表了,填写以后,可以在“我的登记”中修...

    技术文章 2020年04月24日 1581 0
  • web 图像技术:前端引入图片的各种方式及其优缺点

    前端开发人员在构建网站时需要做的一个决定是引入图片的方式。它可以是<img>标签,或者是通过CSS background 属性,还可以使用 SVG<image>。选择正确的方式是很重要的,它对性能和可访问性有很大的影响。在本文中,我们会学习引入图像的各种方式,以及每种方式的优点和缺点,以及何时使用和为什么使用它们。HTML img 元素最简单的情况下,i...

    前端技术 2020年04月23日 1727 0
  • O2OA:为什么免费开源的OA会出现?

    OA系统作为众多企业信息化项目的基础需求,早已拥有成熟而广泛的市场。随着传统IT技术的不断迭代和新的智能技术的涌现,用户对原有OA系统也提出了新的需求。这些新的需求超越了最初始的协同办公,还涉及移动办公、数据共享、办公流程、项目管理……等方面。越来越多的用户需要将原有的OA系统与自身的业务系统打通,形成真正的一体化、智能的、快速开发的办公平台,这不仅对用户自身的IT系统和旧有平...

    技术资讯 2020年04月23日 2190 0