摘要: http模块默认跟随重定向 使用http.Get,当遇到301跳转时,会获取重定向后的内容 res, err := http.Get(url) if err != nil { logrus.Error(err) return nil, err } //这里的状态是200 fmt.println(re 阅读全文
posted @ 2020-01-31 12:10 小魂师 阅读(3261) 评论(0) 推荐(0) 编辑
摘要: go mod同步包,很多时候会用到github和golang的包,在国内会被墙掉,这个时候,golang提供了goproxy来解决这个问题。 使用环境变量解决 $env:GO111MODULE="on" $env:GOPROXY="https://goproxy.io" 如果使用goland 可以在 阅读全文
posted @ 2020-01-29 23:42 小魂师 阅读(2589) 评论(0) 推荐(0) 编辑
摘要: 用简单的算法,对邮箱地址进行加密,解密: 对应的js: 使用方式: [email protected] 阅读全文
posted @ 2020-01-27 16:21 小魂师 阅读(951) 评论(0) 推荐(0) 编辑
摘要: casbin的分析 问题 一般的项目中,都会有权限认证模块,用来控制不同的角色,可以访问的功能。比较出名的权限控制模型有ACL和RABC。如果每个项目中,都重新实现权限控制模块,这样操作会比较繁琐,希望有一个统一的简单模块来控制权限,而casbin这个开源项目,可以支持acl,rabc和abac这几 阅读全文
posted @ 2019-02-14 09:41 小魂师 阅读(9447) 评论(0) 推荐(0) 编辑
摘要: 使用google wire解决依赖注入 google wire是golang的一个依赖注入解决的工具,这个工具能够自动生成类的依赖关系。 当我们写代码的时候,都希望,类都是一个个独立的结构,互不耦合,而类之间的关系,是通过外部传递不同的依赖组件,来组装出来,生成不同的实例。 一个耦合的例子: typ 阅读全文
posted @ 2019-02-12 11:21 小魂师 阅读(6215) 评论(1) 推荐(1) 编辑
摘要: 配置babel ECMAScript的版本,每年都会定期举行会议,发布各种标准,当前版本到了2019,但大部分人使用的浏览器,都可以支持es2015,也就是es6,要等到大部分浏览器都支持到最新版本,这样需要一段很长的时间,那么要用到最新的语法特性,就需要使用转换工具,将最新的语法特性,尽可能转换为 阅读全文
posted @ 2019-02-11 07:10 小魂师 阅读(669) 评论(1) 推荐(0) 编辑
摘要: JSON WEB TOKEN(JWT)的分析 一般情况下,客户的会话数据会存在文件中,或者引入redis来存储,实现session的管理,但是这样操作会存在一些问题,使用文件来存储的时候,在多台机器上,比较难实现共享,使用redis来存储的时候,则需要引入多一个集群,这样会增加管理的工作量,也不方便 阅读全文
posted @ 2019-02-10 10:33 小魂师 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 在golang中,函数划分为全局函数和成员函数,在使用的时候,有种情况,会产生一些疑惑的,就是在写业务代码的时候,使用全局函数好像会比较方便,一般业务代码,都不会复用,都是针对特定的业务进行编程,要复用的代码都会封装为功能函数了。在写业务代码的时候,使用包+全局函数的划分方式,可以将业务代码写成单例 阅读全文
posted @ 2019-02-09 07:07 小魂师 阅读(1917) 评论(0) 推荐(0) 编辑
摘要: 背景 手头有个任务,需要用java通过jni调用一个开源算法库gmssl的功能,但是gmssl只提供了源码,需要编译后才能使用。按照通常的做法,我们会部署好centos的虚拟机和开发环境,安装好gmssl的依赖环境,然后再基于这个部署好的开发环境进行开发和调试。 这样的做法,会在开发和部署过程中会出 阅读全文
posted @ 2016-09-21 11:37 小魂师 阅读(11449) 评论(0) 推荐(1) 编辑
摘要: 题目 一个数组的MaxTree定义: 数组必须没有重复元素 MaxTree是一棵二叉树,数组的每一个值对应一个二叉树节点 包括MaxTree树在内且在其中的每一棵子树上,值最大的节点都是树的头 给定一个没有重复元素的数组arr,写出生成这个数组的MaxTree的函数,要求如果数组长度为N,则时间负责 阅读全文
posted @ 2016-08-06 14:54 小魂师 阅读(1116) 评论(0) 推荐(0) 编辑