Wesley13 Wesley13
3年前
RBAC权限管理及使用原生PHP实现
  关于RBAC的原理讲解在网上可以找到很多,推荐:编程浪子的RBAC讲解(https://my.oschina.net/54php/blog/600249),本篇博客就不再累述RBAC的原理到底是什么样的.   传统的权限控制有ACL和RBAC方式,ACL的耦合度很高,扩展性不佳,RBAC很好的解耦合,将权限控制的整个过程涉及的数据表大致分为5张表
小万哥 小万哥
2年前
C++智能指针和内存管理:使用指南和技巧
C是一门强大的编程语言,但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力,而且容易出错。因此,C中引入了智能指针这一概念,以更好地管理内存。什么是智能指针?在C中,内存的分配和释放都是由开发者手动实现的。这种方式虽然很灵活,但也十分
Wesley13 Wesley13
3年前
Java Synchronized
JavaSynchronized1引言在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着JavaSE1.6对synchronized进行了各种优化之后,有些情况下它并不那么重了,JavaSE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁。2术语定义
Stella981 Stella981
3年前
Python服务器开发一:python基础
Python(蟒蛇)是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。【特点】1Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。2Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、
Stella981 Stella981
3年前
ES6中的Promise和Generator详解
简介ES6中除了上篇文章讲过的语法新特性和一些新的API之外,还有两个非常重要的新特性就是Promise和Generator,今天我们将会详细讲解一下这两个新特性。Promise什么是PromisePromise是异步编程的一种解决方案,比传统的解决方案“回调函数和事件”更合理和更强大。所谓P
Stella981 Stella981
3年前
Flink SQL 核心解密 —— 提升吞吐的利器 MicroBatch
之前我们在FlinkSQL中支持了MiniBatch,在支持高吞吐场景发挥了重要作用。今年我们在FlinkSQL性能优化中一项重要的改进就是升级了微批模型,我们称之为MicroBatch,也叫MiniBatch2.0。在设计和实现Flink的流计算算子时,我们一般会把“面向状态编程”作为第一准则。因为在流计算中,为了保证状态(St
Stella981 Stella981
3年前
Netty和Tomcat的区别、性能对比
一、Netty和Tomcat有什么区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器,但是Netty不一样,他能通过编程自定义各种协议,因为netty能够通过codec自己来编码/解码字节流,完成类似redis访问的功能,这就是netty和tomcat最大的不同。有人
Stella981 Stella981
3年前
Sass的运算
本节我们学习Sass中的运算,一般的编程语法中都支持使用运算,Sass中同样可以做各种数学运算,包括最基本的加减乘除运算、变量运算、颜色运算、字符运算等。本节我们主要讲一下Sass中最基本的数学运算。加法运算加法运算是Sass中基本运算之一,在变量或者属性中都可以做加法运算。示例:$num
Wesley13 Wesley13
3年前
Java删除空字符:Java8 & Java11
操作字符串是编程时经常遇到的,常用的比如在字符串中处理空格。到目前为止,Java提供了很多从字符串中删除空格的不同方法,即trim,replaceAll。但是,Java11通过诸如strip,stripLeading和stripTrailing之类的方法对这些方法进行了一些功能性的拓展。在大多数情况下,我们只使用trim(
鹏
3年前
在 Ubuntu 上安装 Anaconda
Anaconda介绍Anaconda是一个科学开发套件,主要用于数据科学领域,支持的编程语言有Python和Ruby。Anaconda的特点是有一个名为Conda的环境管理工具,这让环境管理变得极为方便。:::tip官网地址::::下载1.进入上面的官网,可以看到中间的下载按钮。我需要的是Linux版,所以点击下面的小企鹅。2.