-
开源协作Web编辑器
在现代Web系统大流行时代,一款功能强大而切支持协作的Web的富文本编辑器是系统的最关键的组成部分。一款可真正在生产环境中使用的即插即用编辑器,可以能够解决我们实时协作问题:通过浏览器编辑结构化文档,并在屏幕上显示彼此的更改,从而使相隔数千里的用户能够进行协作编辑。本文我们就来介绍一些这样的Web编辑器。TinyMCETinyMCE是一款轻量级所见即所得开源Web编辑器,基于L...
-
快速入手vue3.0新增常用API,起步上车
1. 初始化项目2. setup方法 setup是vue3.x中新的操作组件属性的方法,它是组件内部暴露出所有的属性和方法的统一API。setup的执行时机在:beforeCreate 之后 created之前,可以接受props数据ctx上下文对象(这些属性在 vue 2.x 中需要通过 this 才能访问到,在 vue 3.x 中无法访问到 组件的this)。3. reac...
-
深入剖析 RSA 密钥原理及实践
一、前言在经历了人生的很多至暗时刻后,你读到了这篇文章,你会后悔甚至愤怒:为什么你没有早点写出这篇文章?!你的至暗时刻包括:1.你所在的项目需要对接银行,对方需要你提供一个加密证书。你手上只有一个六级英语证书,不确定这个是否满足对方需求。由于你迟迟无法提供正确的证书,项目因此延期,加薪计划泡汤,月供断了,女朋友分手了,你感觉人生完了。2. 你老骥伏枥 2 个月,终于搞懂了.cr...
-
MES系统与WMS系统集成案例
一、MES系统与WMS系统定义MES(Manufacturing Execution System,制造执行系统)系统可以为企业提供包括制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理...
-
springboot2整合vue开发在线音乐网站系统设计
springboot+vue的前后端分离项目后台主要分为:用户管理、歌手管理、歌单管理用户在前端可以搜索歌曲名字、播放歌曲(如果上传了歌词,点击歌曲图片,可以显示歌词),可以评论歌曲,给歌曲评分等用户还可以设置自己的信息,上传头像。不过,歌曲取消收藏模块有点问题运行环境jdk7(8)+mysql+IntelliJ IDEA+maven项目技术(必填)springboot+vue...
-
PHP能创造成功:旧代码不一定是遗留代码
图源:Google过去的一年里,Vimeo开发人员用多种编程语言编写了后端代码——PHP、Go、Ruby、Python、NodeJS、Java、C语言、C++和Rust。2004年,Vimeo开始使用PHP。对于像Vimeo这样的初创公司来说,PHP无疑是一种理想编程语言。PHP的解释器使企业家可以快速开发原型,它附带一个大型标准库,可以省去一些常见任务步骤,如发送电子邮件、访...
-
阿里的中台彻底搞砸了?下一站,小中台大前台
中台怎么了?2015年,阿里推出“大中台,小前台”战略,经过几年的发展,成为了行业标配。2019年,被称为“中台元年”,中台赛道的独角兽公司,融资规模累积数百亿。如果说,中台有泡沫的话,2020年到达了顶峰,各种中台“中邪”的报道层出不穷。短短的一两年到底发生了什么呢?中台从人人追捧,到负面不断。研究中台,就要研究行业几家巨头公司,因为他们是风向标。巨头遇到了什么问题?智能手机...
-
RabbitMQ一个优秀的.NET消息队列框架
1 简介RabbitMQ有成千上万的用户,是最受欢迎的开源消息代理之一。1.1 AMQP是什么AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。1.2 消息队列是什么MQ 全称为Message Queue, 消息队列。是一种应用程序对应用程序的通...
-
Kafka 原理以及分区分配策略剖析
一、简介Apache Kafka 是一个分布式的流处理平台(分布式的基于发布/订阅模式的消息队列【Message Queue】)。流处理平台有以下3个特性:可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。可以储存流式的记录,并且有较好的容错性。可以在流式记录产生时就进行处理。1.1 消息队列的两种模式1.1.1 点对点模式生产者将消息发送到queue中,然...
-
使用Docker快速部署Skywalking
写在前面关于链路追踪和Skywalking的基础知识就不说了,网上一搜一大堆。这里主要记录一下我使用Docker快速搭建Skywalking测试环境的步骤。路已经趟平,安装步骤亲测可用。部署elasticsearchSkywalking官方建议存储使用es,所以先部署es。注意,在目前官方说明中,skywalking分别有es6和es7两个版本我们这里安装es6版本。docke...
-
文件目录的增删改操作?java如何实时监控?
前言有时候你可能有个疑问,IDE总是可以检测到外部文件是否发生了变化,比如你在某个类里面加了一些代码,这时候的IDE就会弹出一个框说你做了更改。再或者是某个文件夹下的文件发生了改变,比如新建了一个或者是删除了一个等等。这时候我们的IDE依然可以检测到。这个功能到底是如何实现的呢?这篇文章主要是研究NIO的其中一个类,叫做WatchService。也有一些其他的方式可以轻松地实现...
-
Spring Cloud项目OAuth2授权验证终极必杀技
Spring Cloud项目OAuth2授权验证终极必杀技一、OAuth2兴起背景 OAuth2是一种授权验证获取用户信息的标准,在传统的用户认证体系中,想要获取用户信息必须通过输入用户名和密码,不是很安全。必须记录登录的Session会话状态,十分不利。 (图片) 那么有没有一种标准,无需记录登录Session状态,就能获取用户信息呢?最早的思路是基于Spring Sessi...
-
不是吧?为了加快速度,Redis竟做了这么“疯狂”的设计
前言列表对象是 Redis 中 5 种基础数据类型之一,在 Redis 3.2 版本之前,列表对象底层存储结构有两种:linkedlist(双端列表)和 ziplist(压缩列表),而在 Redis 3.2 版本之后,列表对象底层存储结构只有一种:quicklist(快速列表),难道通过精心设计的 ziplist 最终被 Redis 抛弃了吗?列表对象同字符串对象一样,列表对象...
-
从session、cookie到token以及JWT
主要讲token和jwt技术,关于session和cookie文章很多。简单提一下session和cookie现在一般都是session和cookie一起用,一起提。但是他们俩其实不是一定要在一起。首先牢记一点,http协议是无状态的。就是说,一个请求过来,服务器不知道这个请求的用户是不是已经登录过了,不知道他的状态。只能再把这个请求重定向到登陆页面。这样用户就疯了,怎么一直让...
-
腾讯QQ被曝窃取用户浏览器历史记录
近日,在V2EX论坛上,有网友反映发现聊天软件QQ尝试读取用户浏览记录的问题,因自己电脑安装有火绒,QQ这一行为遭到拦截提醒后被该名网友发现。随后,看雪论坛一名网友表示自己看到了这则帖子,并对该网友反映的问题去进行了验证,该网友发现QQ确实会在登录后10分钟开始读取Chrome浏览器的浏览记录。同时,这名网友也表示,QQ并非特意读取Chrome浏览器的历史记录,而是试图会读取电...
-
HTML5最新版本介绍
HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新版本,它是用于生成现代 Web内容的一系列相关技术的总称,其中最重要的三个技术是:HTML5核心规范(table)、 CSS (class style)和 JavaScript。一...
-
Bash脚本编写
1、Bash基本使用(1)read命令 read命令是用于从终端或者文件中读取输入的内部命令 读取整行输入 每行末尾的换行符不被读入(2)read命令使用 从标准输入读取输入并复制给变量 read var 从标准输入读取多个内容 read var1 var2 var3 不指定变量(默认赋值给REPLY) r...
-
如何使用RabbitMQ实现事件总线
1 前置阅读在阅读本文章之前,你可以先阅读:RabbitMQ入门什么是观察者模式什么是事件总线2 实现首先,事件源与事件处理的映射字典。private static Dictionary<string, List<object>> eventHandlers = new Dictionary<string, List<object>&g...
-
Java编码技巧之高效代码50例
1.常量&变量1.1.直接赋值常量值,禁止声明新对象直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量值。反例:Long i = new Long(1L); String s = new String("abc");正例:Long i = 1L; String s = "abc";1.2.当成员变量值无需改变时,尽量定义为静态常量在类的每个对象实例中,每个...
-
cookie、session、token区别
cookie、session、token区别关于token,session,cookie的概念和区别1.token是 服务经过计算发给客户端的,服务不保存,每次客户端来请求,经过解密等计算来验证是否是自己下发的2.session是服务本地保存,发给客户端,客户端每次访问都带着,直接和服务的session比对3.cookie是保存在客户端上的一些基本信息,服务不保存,每次请求时客...
-
mybatis plus字段名称有下划线读取不到值的问题
问题环境:springboot + mybatis-plus现在有这么一个实体package com.ct10000.sc.pc.videoauth.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableNa...
-
redis存json数据时选择string还是hash
我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储。接下来我从占用空间和IO两方面来分析这两种类型的优势。1、占用空间根据数据结构的共识我们知道hashtable类型是要比string类型更占用空间, 而ziplist类型与string类型占用的空间基本相差不大。如下图就是ziplist的存储的格式那我们接下来分别分析redis的st...
-
Chrome Remote Desktop:让你在任意设备上远程连接Windows桌面
虽然在 Windows 系统中已原生整合远程桌面功能,但会被控制的客户端桌面会被强制重新调整,以适应控制方的设备。这意味着当你远程连接的时候,所有已经打开的应用都会变成小窗口。幸运的是,谷歌提供了一款免费的远程桌面应用,支持用户通过 Android、iOS 甚至是网页端来连接你的 PC。被控制方安装步骤1. 在你想要远程控制的 PC 上安装 Chrome Remote Desk...
-
Java最佳实践,提升代码可读性与可靠性
从命名变量到设计软件架构,开发人员每天都要做出许多决定,而做出正确决定的最好的办法就是经验。虽然并非每个人都具备丰富的软件开发经验,但每个人都可以从他人身上学习。下面是我对 Java 开发总结的一些技巧,希望可以有助你提高 Java 代码的可读性和可靠性。1、编程原则写代码不是够用就好,因为这些代码不仅需要你维护,未来某个时刻还有其他人会加入维护的行列。软件开发的“二八定律”,...
-
SQL SERVER新建用户并授权及解决远程连接问题
直接用sa用户连接不安全,一般需要新建一个用户。一、新建一个用户并授权:--创建登陆帐户(create login)create login username with password='123456', default_database=master--为登陆账户创建数据库用户(create user),一般用户名跟登陆账户名一样create user username f...
-
线程安全—synchronized 和 ReentrantLock,看完后绝不后悔系列
前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题。线程安全问题指的是在多线程中,各线程之间因为同时操作所产生的数据污染或其他非预期的程序运行结果。线程安全1)非线程安全事例比如 A 和 B 同时给 C 转账的问题,假设 C 原本余额有 100 元,A 给 C 转账 100 元,正在转的途中,此时 B 也给 C 转了 100 元,这...
-
面试官Maven的package和install有什么区别?看看这篇文章
1、Maven 是干什么的?Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟2、Maven 解决了什么痛点?① 添加第三方 jar 包手动会出现 jar 包冲突,版本冲突。通过统一的 Maven 仓库我们可以享受到一个完全统一规范的 jar 包管理体系。② jar 包之间的依赖关系M...
-
JavaScript 中 10 个需要掌握基础的问题
JavaScript 是一种客户端编程语言。全球超过**90%**的网站都在使用它,它是世界上最常用的编程语言之一。因此,今天我们业讨论 10 个有关 JavaScript 的常见问题。1.如何从数组中移除一个特定的项思路:首先,使用indexOf查找要删除的数组元素的索引(index),然后使用splice方法删除该索引所对应的项。splice()是一个非纯函数,通过删除现有...
-
自定义SpringBoot默认MVC配置?好几个坑,避一避
前言前些天,在项目实践过程中出现了一个奇怪的状况,Spring Boot 的参数绑定失效了。而起因只是因为同事把参数上的 @RequestParam 注解去掉了。我们都知道,如果参数名称和 Controller 的方法名相同时,根本不需要 @RequestParam 注解的,Spring Boot 会自动帮我们完成参数的绑定。但为什么自动绑定机制失效了呢?本篇文章会为大家揭开谜...
-
Redis高可用架构演进
Redis系列第1篇Redis是目前使用最广泛的缓存程序之一,也被应用于多种场景,例如数据缓存、分布式锁等,Redis官方提供了多种部署架构,以满足不同应用场景下对于高可用和扩展性的要求。01单节点(single)单节点的部署是最简单的,只要启动一个redis进程就可以了,但是不具备高可用性,一般生产环境不建议使用,其主要有以下问题:单节点,一旦出问题,服务将会不可用【1】单节...