-
对SSO单点登录和OAuth2.0的区别和理解
对SSO单点登录和OAuth2.0的区别和理解SSO是Single Sign On的缩写,OAuth是Open Authority的缩写,这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似,但概念上又十分不同。 SSO大家应该比较熟悉,它将登录认证和业务系统分离,使用独立的登录中心,实现了在登录中心登录后,所有相关的业务系统都能免登录访问资源。 OAuth2.0原理可能比较陌生,但平时用的却很多,比如访问某网站想留言又不想注册时使用了微信授权。以上两者,你在业务系统...…
-
最简明的Shiro教程
最简明的Shiro教程后端管理系统登录一般都涉及到权限控制,权限管理组件用的最多的就是Apache的Shiro了,任何系统的登录模块,基本都可以使用shiro来实现我们的功能。什么是Shiro相信看到这篇文章的人都知道Shiro是什么吧,Apache Shiro是Java的一个安全(权限)框架,Shiro可以非常容易的开发出足够好的应用,JavaSE和Java EE环境都可以使用。Shiro可以完成:认证、授权、加密、会话管理、与web集成、缓存等。官方图如下:这里说下shiro安全的四大...…
-
永久免费花生壳内网穿透 - 公网访问内网服务
永久免费花生壳内网穿透 - 公网访问内网服务相信大多数程序员都有这个需求——特别是前端程序员,当写简历的时候,希望能贴上自己的个人作品网址供面试官看看效果,但是却不想每年花大几百买服务器部署自己的项目,有没有合适的办法解决这个问题呢。有的,那就是让公网访问自己的电脑上的项目不就行了,这就是内网穿透。下面就图文教程手把手教你设置吧,非常简单。下载花生壳软件首先第一步就是下载并安装花生壳软件了,地址:(https://hsk.oray.com/download/),它能帮助我们内网穿透。配置花...…
-
前端跨域问题
前端跨域问题B/S架构的项目中前端经常会遇到跨域问题,什么是跨域问题,常用的解决方法又有哪些呢?可能大多数人对跨域问题都只是一知半解吧。跨域问题的表现先来说说那么到底什么是跨域?跨域是指一个域下的文档或脚本去请求另一个域下的资源。跨域问题则是指浏览器出于安全考虑而需要遵循同源策略,限制不同源的网站的文件的执行,同源指的是“协议+域名+端口号”都相同。如果非同源,如下三种行为会受到限制: 无法获取非同源网页的cookie、localstorage和IndexedDB 无法访问非同源网页的...…
-
Node.js是什么
Node.js是什么什么是Node.js呢?一句话总结,Node.js是基于chrome V8 Javascript引擎基础上的一个库,使得Javascript(下称JS)脱离浏览器运行并提供了丰富的方法库。我们知道,传统前端编写的JS代码都是运行在浏览器中的,那如果在服务器的黑白界面上,没有浏览器不就没法运行JS了?非也,只要有JS引擎即可运行JS代码,Node.js就是基于chrome V8 JS引擎的。同时,Node.js提供了事件驱动I/O等特性,使得你使用JS就可以编写事件驱动代...…
-
Java工程搭建方案 - Spring Boot技术解决方案
Java工程搭建方案 - Spring Boot技术解决方案现在的Java项目,基本可以说都是基于Spring Boot搭建的项目了。而一个完整的基本项目的构成中,有如下几个功能是很常见的: 定时任务 异步 缓存 消息队列 权限控制幸运的是,以上的功能Spring Boot都已经给我们准备了开箱即用的方法。Spring Boot定时任务Spring Boot自带的注解@Scheduled加在方法上,并在应用启动类上加上@EnableScheduling即可。十分方便,如下所示。相...…
-
Java工程搭建方案 - Jenkins(Jar打包到docker)
Java工程搭建方案 - Jenkins(Jar打包到docker)上一篇文章讲了使用Maven的聚合与继承构建微服务模块,并写了个helloworld demo在本地运行了起来,代码提交到了github上。当然,这是远远不够的,如果每次修改了代码提交到github等源码仓库后,都需要运维人员checkout代码编译成jar包后运行,那是相当的繁琐。所以需要Jenkins这种CI自动化部署功能来解决这个问题。开发完成后,程序员交付的是代码,可以编译成jar包,但jar包需要运行在jvm下,...…
-
Jenkins权威指南-美-smart-电子工业出版社
Jenkins权威指南-美-smart-电子工业出版社这本书是16年10月出版的,相对来说有点老了,但Jenkins方面的书市面上并不多,讲解Jenkins实践的话本书还是值得入门的。建议读前面几章节,后面的章节在实践中遇到再回来翻书。Jenkins简介持续集成,简单来说就是一个能监控你版本控制系统变化的工具。无论任何时候,只要检测到有变化,这个工具就会自动编译和测试你的应用程序。Jenkins的前身是Hudson。迈入Jenkins的第一步Jenkins是Java编写的,所以需要安装JD...…
-
Java工程搭建方案 - Maven
Java工程搭建方案 - Maven本篇讲讲Maven在实际项目中的应用,包含 Maven继承和聚合 微服务项目划分 Maven仓库配置和顺序 Maven私服的配置前言从零开始一个项目,第一步自然是做系统模块划分了。Maven是Java世界最流行的项目管理工具。其提供的继承和聚合功能,使得项目可以划分为多个模块。跟微服务的思想是很吻合的,是实现微服务工程很好的工具。微服务和Maven聚合模块的区别微服务是一个可以独立部署的工程,而Maven的聚合功能,可以将多个模块(工程)聚合成为...…
-
Java工程搭建方案(前序)
Java工程搭建方案 - 前序作为一个Java程序员,毕业三年多做了很多CRUD的工作。螺丝钉的角色总是让人无法摸清工程项目的全貌。因此,我打算从零到一实践一番,使用流程的框架和工具,结合我这几年的工程经验,搭建一套系统的解决方案,好好学习工程系统设计。鉴于网上(github)商城系统较多,有很多值得学习和借鉴的地方。故打算以商城项目为例来实践。以下是我认为一个工程的搭建顺序。github地址:https://github.com/zebinh/zmall Maven:搭建项目目录框架 ...…
-
解读基金 - 季凯帆 - 中国经济出版社
解读基金 - 季凯帆 - 中国经济出版社这次是二读这本书了,两年前读过并在基金购买上有所实践,赚了些许小钱,跑赢了通货膨胀。如今再次阅读这本书的原因是:我已经忘记了这本书的内容,自记得这是一本好书。时隔一年没有关注基金方面的书,现在又开始重视起理财来了,因此二刷这本书并做一些对我有用的笔记,同时记录这些年我记录的实战经验。投资的准备什么是基金:简单的说基金就是把大家的钱收集到一起,由专门的人(基金经理)帮咱们去投资证券市场。他提取他的佣金,咱们拿咱们的收益。基金运作:基金是由基金管理公司来...…
-
Maven实战 - 许晓斌 - 机械工业出版社
Maven实战-许晓斌-机械工业出版社Maven简介maven这个词可以翻译为“知识的积累”或者“专家”。Maven能帮我们做的事: 项目构建:Maven抽象了一个完整的“构建生命周期”模型,这个模型吸取了大量其他的构建脚本和构建工具的优点。 依赖管理 项目信息管理构建工具对比: make:由目标、依赖、命令构成,Makefile驱动。命令依赖于系统,无法跨平台。 Ant:使用Java编写,可以跨平台,和make类似由目标、依赖、任务构成,build.xml驱动。如目标为jar打...…
-
Linux内核设计与实现LKD - 美 - Love - 机械工业出版社
Linux内核设计与实现LKD - 美 - Love - 机械工业出版社Linux内核简介Linux内核有两种,稳定的和处于开发中的。内核一般用点号分三段,主版本号.从版本号.修订版本号,如2.26.0。从版本号为偶数则为稳定版,奇数则为开发版。从内核出发内核源码一般位于/usr/src/linux目录,或者/usr/src/kernel目录中,没有的可以自己安装。参考安装Linux内核源码部分文字。ls默认按字典序纵向排序。进程管理现代操作系统中,进程提供了两种虚拟机制:虚拟处理器和虚拟...…
-
CentOS7编写HelloWorld驱动程序入门(内核模块)
CentOS7编写HelloWorld驱动程序入门(内核模块)最近在看LDD(Linux设备驱动程序)这本书,第二章写的一个简单的HelloWorld模块,没想到有很多坑,这里记录一下,方便后来人脱坑。环境 linux内核:3.10.0-1062.9.1.el7.x86_64(使用命令uname -r查看),即3.10.0版本 CentOS版本:CentOS7.7.1908(使用命令cat /etc/redhat-release命令查看)编写模块代码照着书上写的HelloWorld模块...…
-
UNIX环境高级编程APUE- 美 - 斯蒂文斯 - 人民邮电出版社
UNIX环境高级编程APUE- 美 - 斯蒂文斯 - 人民邮电出版社POSIX官网POSIX是所有unix-like系统都需要遵循的规范,其定义了操作系统需要提供的接口,官网在 (https://pubs.opengroup.org/onlinepubs/9699919799/),其中的System Interfaces节点有操作系统接口列表。前言本书描述了UNIX系统的程序设计接口,包括系统调用和标准C库。UNIX基础知识UNIX体系结构下图,内核的接口称为系统调用,公共函数库构架在系统...…
-
C程序设计语言-美-里奇-C语言之父-机械工业出版社
C程序设计语言-美-里奇-C语言之父-机械工业出版社我的思考汇编语言中,程序分为多个段,数据段和代码段,我认为所有的语言大抵也是如此。以下这两点,是所有语言的基本。 数据段:数据类型和变量。汇编中的数据段中存放着不同长度的数据,C语言则有数据类型、数组。 代码段:表达式和流程控制。汇编中的代码段中有指令,如add ax, 1等等,C语言中则有表达式。汇编中的流程控制如jmp等则对应C中的if,for等流程控制语句。其他C语言中的特性: 编译器伪指令%include:C语言中也有#in...…
-
2019年度总结
2019年度总结2019年正是毕业满三年的时候,换了一个城市生活。在深圳兜兜转转满三年,又回到了广州,自己躁动的心也安定下来了。1月到3月过完年,女票到了广州。3月底,我从第一家公司辞职,也直奔广州。3月底从深圳一家公司离职,也是自己毕业后唯一待的一家公司。提了离职后,交接好工作,大概半个多月就结束了职业生涯的第一段旅程,裸辞后到广州这边才开始面试,甚至什么都没有准备好。4月到6月4月5月边休息边找工作,从职场中出来后,打击最大的就是面试了。3年安逸的生活过的很惬意,平时周末休息的时候就看...…
-
一个操作系统的实现-于渊
一个操作系统的实现-于渊操作系统是处于硬件和软件之间的,所以开发操作系统其实就是按硬件的要求来实现自己的功能。即微软是按照Intel手册来做开发的。 附Intel开发者手册官网:https://software.intel.com/en-us/articles/intel-sdm CPU手册:https://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-softwar...…
-
bochs虚拟机的安装
bochs虚拟机的安装 - 动手写一个最小的操作系统环境搭建最近在研究操作系统,读了理论的书籍后,打算自己实现一遍,加深理解。因此选了于渊老师的书《Orange’S一个操作系统的实现》跟着书实战一遍。在安装bochs虚拟机过程中遇到一些问题并已解决,特记录在此。我的环境: 宿主机为win10 虚拟机为vagrant(底层是virtualbox),这里使用virtualbox,vmware都是可以的 虚拟机中的系统为CentOS 7,命令行版,无界面。当然,这里如果你是有界面的linu...…
-
深入理解计算机系统CSAPP-美-布莱恩特
深入理解计算机系统CSAPP-美-布莱恩特计算机系统漫游这一个章节主要从一个hello world程序出发,串联了计算机系统的整个流程。串联路径为:信息就是bit加上下文 => 程序被其他程序翻译成不同格式 => 了解编译系统能让你写出高效安全的代码 => 处理器读并解析存储在内存中的指令 => 总线 => I/O设备 => (人类是复读机,计算机是复制机) => 运行hello程序 => 高速缓存 => 存储设备形成层次,上一个设备是...…