0

一文看懂开源许可证,能不能商用再也不抓瞎

在github中闲逛,宝藏多福利好。不过心里或许总有小忐忑,这么多开源项目,我的产品里能不能用呀!其实想知道项目能不能用看下项目的开源许可证就清楚了(即使是非软件产品比如数据、媒体、资料等也可以通过开源许可证知道它们的可用范围)。开源许可证先举两个例子,这两位应该是最常用的许可证了:MIT许可证:只为作者保留版权,而无任何其他了限制。它使人们几乎可以对您的项目进行任何操作,即时是制作和分发封闭源代码版本。Babel,.NET Core和 Rails 使用MIT许可证。GNU GPLv3:让人们可以做几乎任何他们想要做的项目,不能分发封闭源代码的版本。Ansible, Bash和 GIMP 使用...

阅读全文>>

0

Vmware虚拟机三种网络模式详解

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。同时,在主机上对应的有VMware Network Adapter VMnet1和VMware Net...

阅读全文>>

0

做物联网必须要懂的—RFID技术

RFID是一种无线射频识别技术,手持式读写器,它是自动识别技术的一种。从概念上来讲,RFID类似于条码扫描,对于条码技术而言,它是将已编码的条形码附着于目标物并使用专用的扫描读写器利用光信号将信息由条形磁传送到扫描读写器;而RFID则使用专用的RFID读写器及专门的可附着于目标物的RFID标签,利用频率信号将信息由RFID标签传送至RFID读写器。RFID应用无处不在,有研究称RFID技术或将代替条形码和二维码,领衔电子标签发展潮流。RFID技术或将代替条形码和二维码根据国家物联网二维码公共服务平台提供的解释,二维码是用某种特定几何形体按一定规律在平面分布来记录数据的信息技术,相比于一维条码、...

阅读全文>>

0

搞定权限管理,结合Spring Security实现接口的动态权限控制!

数据库设计权限管理相关表已经重新设计,将原来的权限拆分成了菜单和资源,菜单管理用于控制前端菜单的显示和隐藏,资源管理用来控制后端接口的访问权限。数据库表结构其中ums_admin、ums_role、ums_admin_role_relation为原来的表,其他均为新增表。数据库表介绍接下来我们将对每张表的用途做个详细介绍。ums_admin后台用户表,定义了后台用户的一些基本信息。create table ums_admin( id bigint not null auto_increment, username varcha...

阅读全文>>

0

RocketMQ的心脏:Broker

RocketMQ的心脏:Broker这节介绍下RocketMQ中最后的一个部分,也是内容较多的一部分:Broker。Broker的启动同其他几个组件一样,从XXXStartup(BrokerStartup)类的main方法开始,首先加载对应的配置文件XXXConfig(BrokerConfig、NettyServerConfig、NettyClientConfig、MessageStoreConfig),然后实例化XXXController(BrokerController),接着调用Controller的initialize方法,最后注册ShutdownHook。Broker在构造方法中,会...

阅读全文>>

0

压缩文件是什么原理?

在之前去马赛克的科普中,我们知道在大多数时候,信息是不能由少变多的,除了靠联想,这也是目前“还原”图片马赛克唯一的办法。但在我们实际使用计算机的时候,有一种我们经常使用的技术——文件的压缩,解压。这个过程难道不是信息的由多到少,再由少到多的过程吗?还真不是。文件的信息量并没有在压缩的过程中减少,因此解压时也就不存在“增多”一说。那压缩文件是如何做到在保留信息含量的情况下,让文件变小的呢?我们都知道,电脑上的数据都是以一连串的二进制信息,也就是“0”和“1”的形式存储的。比如电脑CPU,里面是成千上万的晶体管,这些晶体管只有两种状态,通电和断电。“0”代表断电,“1”代表通电。再比如硬盘中存储的...

阅读全文>>

0

HTTPS工作原理

什么是HTTPS,TLS(SSL),TLS和HTTPS是什么关系什么是证书和数字签名,它们是如何传递信任的HTTPS有什么样的功能,它是如何实现这样的功能的简介HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。本文着重描述TLS协议的1.2版本下图描述了在TCP/IP协议栈中TLS(各子协议)和HTTP的关系Credit: Kaushal Kumar Panday From: SSL Handshake and HTTPS Bindings on IIS其中Handsha...

阅读全文>>

0

service和serviceImpl的选择

同行中,有些同行公司的代码风格是service层=service接口+serviceImpl实现类;而有的同行公司的代码风格是service层=service类;为什么不一样呢?以前没想过这个问题,今天突然对这个产生了疑惑,通过百度,和github及朋友处以及自己的思考,有了如下结论:当项目的业务逻辑简单时,可选择service层=service类;当项目的业务复杂时,可选择service层=service接口+serviceImpl实现类;至于复杂和简单的度得自己把握;为什么有这样的区别呢?我举个例子,当我在定义接口时,会有一个权限验证的方法,但是并不是所有的请求都回进入这个方法(比如登录接...

阅读全文>>

0

简单解析一下扫码登陆原理

前言随着wx的普及对开发同学来说一些业务场景会使用到“扫码登录”功能,特别是PC网页端,在此之前没有这方面的开发经历,所以接到这个需求的时候还是有点慌的,最终通过查阅网上的资料以及老大的指导下实现了这个功能,目前已经投入使用,实现之后还是蛮兴奋的。特此记录一下实现的过程。原理解析扫码登陆的实现需要手机端的服务器和Web端的服务器配合实现。大致分为以下几步:step1:网页端请求登陆二维码要实现网页版的扫码登陆,用户必须先要请求一个登陆的二维码。Web端的服务器收到用户申请登陆二维码的请求后,会随机生成一个uuid(这个uuid作为页面的唯一标识符),并且会将这个uuid当做一个键值对的key存...

阅读全文>>

0

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

背景消息队列,在业务解耦、削峰填谷、流量控制、广播消息等场景下都有很好的应用,已经成为很多企业IT系统内部通信重要手段。现有常用的开源消息中间件有RabbitMQ、Kafka、RocketMQ等,但各自有着不同的应用场景和特点,例如,Kafka注重的是消息的吞吐量,不保证消息存储的可靠性以及一致性,因此多用于日志系统数据的上报;RabbitMQ能保证消息可靠存储投递,但性能较差。CMQ(Cloud Message Queue)是腾讯云开发的一款高可靠、高可用、高性能的分布式消息队列服务,具有低耦合、消息可靠、强一致性、可扩展性等特点,支持Push/Pull消费模型、消息回溯、延时消息、发布订阅...

阅读全文>>