作者:coderstory

coderstory

MIUI开发版&内测版去广告教程 非Xposed

在以前小米手机可以直接刷xposed框架,然后装几个插件就能PJ主题,去除大部分的广告。单随着miui的发展,修改了android中很多的模块,导致xposed无法兼容。 小米6,小米8之类的设备需要做很多修改才能勉强使用,而且还是残的。所以,写篇文章,教大家如何实现去广告和免费使用主题(部分模块可能无法应用) 1.怎么去除广告 原料: MIUI开发版或者miui体验版 开启ROOT 解锁system 去广告hosts文件 点我下载 密码: ychb ​​​​   1.首先,你要确保你当前系统不是稳定版的系统,否则无法获取root权限,当然你刷了twrp然后卡刷supersu或者ma…

阅读全文 »

Spring Boot 2.0 & OAuth 2.0 客户端实现

在oauth2.0框架中,主要包含了三个角色,授权端,客户端,资源端。 授权端指的是oauth2.0的授权服务,客户端可能是浏览器,也可能是java服务,资源端是给客户端提供资源服务的. 从流程上看,客户端提供认证信息,从授权服务获取令牌,让拿着令牌到资源服务获取内容,资源服务会拿着客户端给的令牌去授权服务校验令牌的有效性,无问题则返回相应资源。 单论客户端而言,首先需要配置授权必须的配置,比如clientid,clientSecret等。 配置模板如下 client: clientId: spring-security-oauth2-read-client clientSecret: spr…

阅读全文 »

关于OAuth2.0的那些事儿

说到OAuth2.0,请回忆一下,你是如何登入淘宝,QQ空间,以及微博第三方客户端等等平台的。你会发现它们在登入方便有2个很大的特点 1.是多账户体系共享登入,比如你将你的QQ号与淘宝账号互相绑定,这个时候你在淘宝使用QQ登入也就能自动登入对应绑定的淘宝账户。 2.单点登入(SSO),简单的讲,就是登入状态信任链的事情,共享同一账户的登入状态。比如你在PC上登入了QQ,这个时候你在QQ音乐登入账户的时候,会显示已经登入的QQ号,点击可快速登入。     对于上述第一点就是使用了oauth实现的,第二点使用了SSO实现的,很多人把两者混为一谈,我这里做一下区分。oauth的本…

阅读全文 »

Mybits plugin& Interceptor & jsqlparse 实现多租户

上一篇文章写道了mybatis框架下自定义拦截器的基本实现。因为项目正好要做多租户的功能,所以我用这张方案实现了一下。 原本平台是基于docker实现多租户方案的,这种方案的优点是省时省力,新建一个租户基本没啥操作,一个dockerfile文件搞定,而且现在的服务商都提供了完整的配套容器服务。但缺点也能明显,每个租户都需要分配一套独立的硬件资源。N个租户意味着要开N个容器,N个数据库,N个tomcat,也有点吃不消。 目前来说,多租户大致分三种方案 1.独立数据库 2.同一个数据库,不同Schema 3.同一个数据库,同一个Schema,每张表使用tenant_id字段区分不同的租户。 个人倾…

阅读全文 »

mybatis 实现 SQL 查询拦截修改

拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。比如我想针对所有的SQL执行某个固定的操作,针对SQL查询执行安全检查,或者记录相关SQL查询日志等等。 Mybatis为我们提供了一个Interceptor接口,可以实现自定义的拦截器。 public interface Interceptor { Object intercept(Invocation invoca…

阅读全文 »

使用TFS自动编译maven项目

TFS(Team Foundation Server)是微软发布的一套整合了源码管理,团队项目管理,自动化测试发布等功能的服务软件。 VS+TFS+SharePoint+Hyper-v一套带来的从架构设计到源代码管理、项目管理、自动测试等方面的全开发周期覆盖,目前地球上好像看不到其他类似的东西存在。 准备工作: 1.下载maven并配置环境变量 2.安装jdk并配置环境变量 3.安装并初始化tfs 支持链接: Git推荐教程: http://t.cn/RK0Gb8X TFS官网: https://www.visualstudio.com/tfs/ Git官网: https://git-scm….

阅读全文 »

IDEA+Git 多人协同开发开发 创建纯净功能分支

需求: 现在有一个比较复杂的功能点需要多人协同开发,IDE使用idea,Git服务端使用的是Microsoft Team Foundation Server。现在团队需要对每个人编写的代码进行代码评审。 因为多人使用了同一个功能分支进行开发,所以分支内混合了多人代码,这样很难进行评审。 实现目标: 在使用了混合代码分支开发的情况下(也是不可避免的),但能分离出只包含自己代码的分支作为最终提交代码。 具体操作: 要实现本需求,必须要懂得git的基本操作语法,比如查看提交记录,抽取commit,创建新分支,提交分支到远程服务器等。不过因为idea自带了强大的git插件。 所以我们只需要鼠标点点就可…

阅读全文 »

Mybatis SQL语句编写

1.插入多条数据并获取主键 一个非常简单的插入sql <code>insert into table (aa,bb,cc) values(xx,xx,xx),(yy,yy,yy)<code> 在Mapper中写入对应的sql模板 <insert id=”insertUser” keyProperty=”id” useGeneratedKeys=”id”> insert into xxxx (xx) value (xxx) </insert> 2.批量插入数据 并返回主键 <insert id=”insertBatch” parameterT…

阅读全文 »

阿里云主机 ubuntu14.04 升级到 16.04 坑爹过程

最近购买了阿里云廉价 330R一年的1C1G主机.但是在主机选项里只有几个老旧的系统版本可以选择。然后我选择了比较熟悉的ubuntu14.04系统。现在准备把系统升级到16.04. 交费开机后,在终端输入 sudo do-release-upgrade -d升级系统,但是却提示没有新的发布版本?apt update之后还是这样。 目测自带的软件源有问题,直接更换成阿里云的外网源 deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse # disabled on upgra…

阅读全文 »

Java-Spring-AOP 实现

AOP即面向切面编程,是针对OOP编程编程的不足之处的补充计划。OOP通过引入封装,多态,继承等概念建立一种对象的层次结构,用于模拟公共行为的一个集合。 不过OOP定义的是对象的纵向关系,顶部总是高度抽象化的对象,底部总是具体的实现。但OOP不能适应定义横向的关系。比如日志功能,异常的处理,请求的安全检查等等,这些功能一般都存在散布在各个层次的代码中,又与具体的功能没有什么关联。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。 AOP恰恰相反,它是定义了对象的横向关系,剖开对象的内部,讲那些会影响多个类的公共行为封装到单独的模块。这个模块称之为切面,原本分散的代码称之为横切。所…

阅读全文 »