这段时间在对接一个第三方系统,用户登录token使用JWT中的RS512加密,但是通过第三方接口获取到的公钥长度只有1024,由于JWT从0.10.0开始公私钥长度最低只能是2048,导致无法使用第三方的公钥进行解密,但是又不能让第三方重新生成公私钥,也不能更改token加密方式,并且自己的系统其他功能也有用到JWT0.10.0以上版本的功能,所以也无法把JWT版本降到0.10.0以下。io.js
I.基本使用1.序列化指定前面一篇的操作都是直接使用的execute配合回调方法来说明的,其实还有一种更加方便的方式,即opsForValue,opsForList,本文则以这种方式演示list数据结构的操作所以在正式开始之前,有必要指定一下key和value的序列化方式,当不现实指定时,采用默认的序列化(即jdk的对象序列化方式),直接导致的就是通过redis-cli获取存储数据时,会发现和你预
网上各种跨域教程,各种实践,各种问答,除了简单的jsonp以外,很多说CORS的都是行不通的,老是缺那么一两个关键的配置。本文只想解决问题,所有的代码经过亲自实践。本文解决跨域中的get、post、data、cookie等这些问题。本文只会说get请求和post请求,读者请把post请求理解成除get请求外的所有其他请求方式。JSONPjsonp的原理很简单,利用了【前端请求静态资源的时候不存在跨
今天我在网上看到这么一个问题“对于美国互联网企业来说,中国互联网企业有哪些值得学习之处?”作为在中国和美国互联网公司都工作过的我来说,这个问题激起我非常强烈的回答欲望。简单地介绍一下我自己,我在国内上完本科后,在苏宁易购工作了一年左右,然后去了美国读研究生,毕业后则在IBMArmonk工作,到现在也有两年多了。在回答这个问题前,我想稍微拓展成两个问题【美国互联网企业可以从中国互联网企业中学到什么】
Top 1:Toomanyconnections(连接数过多,导致连接不上数据库,业务无法正常进行)问题还原解决问题的思路:1、首先先要考虑在我们MySQL数据库参数文件里面,对应的max_connections这个参数值是不是设置的太小了,导致客户端连接数超过了数据库所承受的最大值。●该值默认大小是151,我们可以根据实际情况进行调整。●对应解决办法:setglobalmax_conn
迈入职场是每一个程序员都避免不了的事情,但由于这是技术行业,一切都看技术说话,而每个程序员在刚毕业的时候,掌握的技术可以说是层差不齐,因此企业能够给他们的薪资也各不一样,一般说起来,想要入职企业,那么就要达到企业的入职要求,比如需要掌握什么技术之类的,毕竟是企业给你发工资,作为面试者的我们只能被动的接受这些要求。但是其中不乏有一部分技术相对厉害的人,他们不愁找不到工作,因此也会向企业提出一些要求!
生命太短暂,不要去做一些根本没有人想要的东西。——AshMaurya如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——DavidLeinweber软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。——C.A.R.Hoare软件开发往往是这样:最开始的90%代码占用了开始的90%的开发时间;剩下10%代
在你的编程生涯中一定会碰到过很多奇奇怪怪的对手和同盟,所以可以把这些编码战士们分成五类,有些人是你队伍中的好伙伴,有些人则是捣蛋者,让你的每一个计划都完不成。不管怎么说,他们在软件开发的诸神殿上都占有一席之地。如果你的团队中没有一个合适健康的比例,混合这些不同类型的程序员,要么你会发现你的项目跌跌撞撞拖的时间太久,要么就是太完美不是人类干的活。胶带型程序员代码不漂亮,但是管他呢,能用就行!这类型的
我已经写了很多年的软件。最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好。这不由地让我疑惑起来:难道里面有什么相关性或因果关系吗?阅读代码能让你变得更优秀我在编程生涯的早期就明白我阅读的代码越多,我的代码就能变得更好。我知道,当我不得不维护其他人的代码时,简单和干净的代码几乎总是比花哨或复杂的代码好——即使有注释。然而另一方面,当我花足够的时间去理解复杂代码的时候,我常常能
首先,五年左右,应该算高级开发工程师,大部分面试不用去做题,背string和stringbuilder区别的,几乎都是底层和远离,分布式等。虽然一个程序员,在工作中大部分还是写流水代码,增删查改。这里推荐一下我的JAVA架构学习交流群:614478470,想要学习Java高架构、分布式架构、高可扩展、高性能、高并发、性能优化、Springboot、Redis、ActiveMQ、Nginx、Myca
说到薪资,BAT作为国内互联网三巨头,员工薪资相信很多人都很好奇。有人提出,按起薪15k算,在BAT工作了三年的普通员工,按照每年20%的增幅可以达到15*1.2*1.2*1.2=25k。年薪25k*14(百度),25k*16(腾讯),25k*15(阿里)。那么这个算法准确吗?说中BAT的常见级别及薪资待遇阿里巴巴a、阿里内部的常见级别和定义P序列=技术岗M序列=管理岗(注:样本有限,以下全部数据
Android知识体系总结(全方面覆盖Android知识结构,面试&进阶Version-1.0.1时间:2018.09)基本内容:Android基础知识:基本涵盖Android所有知识体系,四大组件,Fragment,WebView,事件分发,View绘制…Java基础知识&高阶知识点:基础部分不谈了,高阶部分:泛型,反射,Java虚拟机…算法与数据结构:链表,堆,栈,树…Andr
摘要: 该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址:https://github.com/Snailclimb/JavaGuide.前言相信大家对ZooKeeper应该不算陌生。前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人/面试官让你给他讲讲ZooKeeper是个什么东西,你能
由于SpringCloudConfig默认采用了Git存储,相信很多团队在使用SpringCloud的配置中心时也会采用这样的策略。即便大家都使用了Git存储,可能还有各种不同的配置方式,本文就来介绍一下两种常用的配置策略。第一种:多个项目公用一个Git仓库,用不同的目录区分项目主要的配置项如下:spring.cloud.config.server.git.uri=https://github.c
  就个人理解而言,序列化是对象的一种固化方式,它实现了对象的持久化存储(当然实现方式不同,结果会有所差异).而Android存在两种序列化的方式,一种基于IO流的序列化,实现简单,仅需实现Serializable接口而已,可以不用添加额外的方法,源自Java;另一种就是Android的原生实现方式了,实现Parcelable接口了,相比Serializable方式,实现起来较为复杂.下面将详细介
一、前言Dubbo作为高性能RPC框架,已经进入Apache卵化器项目,虽然官方给出了dubbo使用的用户手册,但是大多是一概而过,使用dubbo时候要尽量了解源码,不然会很容易入坑。二、服务消费端ReferenceConfig需要自行缓存ReferenceConfig实例是个很重的实例,每个ReferenceConfig实例里面都维护了与服务注册中心的一个长链,并且维护了与所有服务提供者的的长链
JDK的源码都没人仔细看吗?我刚开始看JDK-1.8的ConcurrentHashMap的源码,就发现构造函数有问题,给Java提了bug,果然如此。Bug链接:https://bugs.openjdk.java.net/browse/JDK-8202422而且assign给了大神DougLea:我在so上也问了这个问题,有人认为这是一个优化技巧,但在逻辑上有一点说不太通,如果增加一个文档说明,把
之前写过一篇关于配置中心对配置内容加密解密的介绍:《SpringCloud构建微服务架构:分布式配置中心(加密解密)》。在这篇文章中,存在一个问题:当被加密内容包含一些诸如=、+这些特殊字符的时候,使用上篇文章中提到的类似这样的命令curllocalhost:7001/encrypt-d去加密和解密的时候,会发现特殊字符丢失的情况。比如下面这样的情况:$curllocalhost:7001/enc
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。本套课程将带领大家从零开始学习Zookeeper的使用以及部署课程大纲如下:课程介绍基本概念单机部署数据节点权限控制ZK客户端Curator事件监听集
为什么要有文件服务器呢,如果把文件存放到web容器下肯定不是好的办法,因为你时刻需要注意覆盖后文件消失的问题。如果想完全的搬出web容器,项目不大的话我们可以选择ftp+nginx的方式来实现文件服务器。如果文件需求量大点的,建议用分布式文件服务器,它对横向扩展的支持比较好。1.环境准备CentOS搭建ftp服务nginx环境搭建2.开始整合2.1修改nginx.conf我们需要再nginx.co