1.前言 OAuth2.0 是近几年比较流行的授权机制,对于普通用户来说可能每天你都在用它,我们经常使用的第三方登录大都基于 OAuth2.0。随着应用的互联互通,个性化服务之间的相互调用,开放性的授权成为客观的需要。 2. OAuth2.0 的简单认识 OAuth 定义了如下角色,并明确区分了它们...
在每一位刚入行的程序员的心中,编写程序都是一门神圣的艺术创作。他们无不希望自己的代码作品既简洁清晰,又可读性强,而且还具有一定的容错能力。本文将为您带来八点建议和技巧,以帮助您编写出简洁、干练的 Java 代码。其中的有些可能会让你觉得有些不可思议,但是请相信我,如下的每一条我都亲身实践过的。1.使...
javascript if else优化指南不管是平时在学习js中还是在项目书中写js代码,都避免不了一个问题就是有时候要做大量的分支判断,很多人的第一反应就是使用if else。无可厚非,if else早平时做分支判断的时候是非常好用的,但是代码中嵌套的if/else结构往往导致代码不美观,也不...
一、安装Golang的SDK方法一:下载安装包SDK0、安装包下载地址https://golang.org/dl/1、双击 .tar 文件,就会自动解压成名字为“go”的文件夹;拖拽到你的用户名下,记住路径;我的路径为:/Users/MelissaShu/go 2、双击pkg包,顺着指引,即可安装成...
正在准备golang面试的小伙伴,很荣幸,你能看到这篇文章,希望每一个看到这篇分享的小伙伴都能找到自己称心如意的工作!智一面王老师说运维推荐初级Golang开发工程师在线评测:http://www.gtalent.cn/exam/interview/FM2N7xj54dQBPfUE编程语言类:Go是...
概述条件语句需要开发者通过指定一个或多个条件并通过测试条件是否为 true 来决定是否执行指定语句并在条件为 false 的情况再执行另外的语句。语法package mainfunc main() { //第一种格式 if 条件表达式 { 语句1 } //第二种格式 ...
Docker通过读取Dockerfile中的指令自动构建镜像,Dockerfile是一个文本文件,其中依次包含构建给定镜像所需的所有命令。Dockerfile的使用非常重要,因为它是我们的蓝图,是我们添加到Docker镜像中的层的记录。本文,我们将学习如何利用BuildKit功能,这是Docker ...
用Go语言实现工厂模式:golang中的struct没有构造函数,一般可以使用工厂模式来解决这个问题。这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)。代码结构如下:分别有main.go和student.go两个文件。 在stude...
很多系统都是将密码进行一次 MD5 或 SHA1 Hash后存入数据库中。这样的密码抵挡不住字典攻击。所谓字典攻击,就是将常用密码进行Hash后做成一个字典,破解的时候,只需要查字典就能知道对应的明文密码。为了抵御字典攻击,推荐的做法是使用 密码 + 盐(一串随机数) 再Hash的方式。每个密码对应...
Go的安装安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量。直接去官网,下载了安装包后直接安装即可在Go中文网进行Go最新版安装包的下载(或者复制网址浏览器打开https://studygolang.com/dl)不管是Windows还是MacOS都是非常简单快捷,将安装包...
Go开发环境搭建下载地址: https://golang.org/dl/下载时注意按照自己安装环境下载 验证tar包是否正确,得到加密码同官网一样使用root用户解压tar包,并放到/usr/local下面tar -C /usr/local/ -zxvf go1.11.linux-amd64.tar...
*和&的区别 :& 是取地址符号 , 即取得某个变量的地址 , 如 ; &a*是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 .从代码中验证 :先构建一个Rect类型 :1. &是取地址符号, 取...
C++的内存管理以C++为例来介绍一下编程语言的内存管理。如果我们写C++的程序,就要知道栈和堆的概念,程序运行时所需的内存空间分为 固定部分,和可变部分,如下: 固定部分的内存消耗 是不会随着代码运行产生变化的, 可变部分则是会产生变化的更具体一些,一个由C/C++编译的程序占用的内存分为以下几个...
select count(*) from task where status=2 and operator_id=20839 and operate_time>1371169729 and operate_time<1371174603 and ty...
前言:Apache HTTP Server 作为优秀的 Web 服务器软件,提供了面向用户的前端应用功能。而在实际的企业网站平台中,为了提供更丰富、更强大的 Web 应用功能,往往还需要有后台数据库、网页编程语言等多种角色的支持。一、MySQL 的编译安装MySQL 是一个真正的多线程、多用户的 ...
模块化 模块化是将一个大的程序,拆分成多个小文件,然后将小文件组合起来模块化优点:防止命名冲突代码复用性高维护性 模块化主要由 import 和 export 构成export 模块对外暴露import 引入暴露的模块export单个暴露// 单独暴露 在需要暴露的内容前面加入 expor...
typescript中的装饰器装饰器是一种特殊类型的声明,它能够被附加到类,方法,属性或参数上,可以修改类的行为,通俗的讲装饰器就是一个方法,可以注入到类,方法,性或参数上来扩展类、方法,属性或参数的功能。常见的装饰器有:类装饰器,方法装饰器,属性装饰器,参数装饰器。装饰器的写法:普通装饰器(无法传...
typescript中的泛型泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型...
typescript的接口接口:是一种规范的定义,它定义了行为和动作的规范,接口起到了一种限制和规范的作用,接口定义了某一批类所需要的遵循的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法实现的细节,它只规定了这批类必须提供某些方法,提供了这些方法的类就可以满足实际需要,typescrip...
typescript的类ES5类 // es5类 // 最简单的类 function Student(){ this.name = "小牛"; this.age = 20; } const s = new Student(); cons...