gson

你离高薪 offer 只差一个Redis入门,我是认真的

半世苍凉 提交于 2020-08-11 03:15:54
你离高薪 offer 只差一个Redis入门,我是认真的 说起来,可能有些小伙伴会不相信,我是第一次用 Redis,真的。因为公司小,业务量小,Redis 根本派不上用场。不过,最近打算把系统升级一下,顺带把当下时髦的技术入个门,“与时俱进”嘛,虽然进的有“一点点”晚(注意双引号)。 作为一名富有责任心的技术博主,我觉得有必要把我入门 Redis 的过程分享出来,供一些小伙伴作为参考。要是我哪里写错了,别客气,过来给我一巴掌,就行了(温柔点,别打肿,影响颜值就不好了)。 01、Redis 是什么 Redis 是互联网技术领域中使用最广泛的存储中间件,它是 Remote Dictionary Service 三个单词中加粗字母的组合。你别说,组合起来后念着挺自然的。 Redis 以超高的性能、完美的文档、简洁的源码著称,国内外很多大型互联网公司都在用,比如说阿里、腾讯、GitHub、Stack Overflow 等等。它的版本更新非常的快,功能也越来越强大,最初只是用来作为缓存数据库,现在已经可以用它来实现消息队列了。 可以这么说吧,掌握 Redis 已经变成了一项后端工程师必须具备的基础技能。 Redis 的作者是一名意大利人,网名 Antirez,长相还是过得去的,感兴趣的小伙伴可以 Google 一下。知道为什么 Redis 的默认端口是 6379 吗? 据说是手机键盘上

第三方登陆--QQ登陆

冷暖自知 提交于 2020-08-11 01:23:16
从零玩转第三方QQ登陆 在真正开始对接之前,我们先来聊一聊后台的方案设计。既然是对接第三方登录,那就免不了如何将用户信息保存。首先需要明确一点的是,用户在第三方登录成功之后, 我们能拿到的仅仅是一个代表用户唯一身份的ID(微博是真实uid,QQ是加密的openID)以及用来识别身份的accessToken,当然还有昵称、头像、性别等有限资料, 对接第三方登录的关键就是如何确定用户是合法登录,如果确定这次登录的和上次登录的是同一个人并且不是假冒的。其实这个并不用我们特别操心,就以微博登录为例, 用户登录成功之后会回调一个code给我们,然后我们再拿code去微博那换取 accessToken ,如果这个code是用户乱填的,那这一关肯定过不了,所以,前面的担心有点多余,哈哈。 1. 认识Oauth2.0 现在很多网站都要不管是为了引流也好,为了用户方便也好一般都有第三方账号登陆的需求,今天以QQ登陆为例,来实现一个最简单的第三方登陆。 目前主流的第三方登录都是依赖的Oauth2.0实现的,最常见的就是在各种中小型网站或者App中的QQ登录,微信登录等等。所以我建议想要学习和实现第三方登录同学去了解下这个协议。 1.2 必须要域名并且进行备案 比如我的域名: https://yangbuyi.top/ 因为腾讯有一个域名认证机制啥的。。。。。。 2.实名认证

Gson deserialize Array of Integers in kotlin

馋奶兔 提交于 2020-08-10 19:42:05
问题 Normally, when I deserialize a json-String I use something like this: val result = gson.fromJson<myObject>(json, object : TypeToken<myObject>() {}.type) But now I want to deserialize a simple List of Int and I cannot build an object for that. The json-String is extremely simple and looks like this: [1,35,37,255] and I would like to save it into a List but val result = gson.fromJson<List<Int>>(json, object : TypeToken<List<Int>>() {}.type) does not work because there is no object. How should I

什么是 Java 对象深拷贝?

﹥>﹥吖頭↗ 提交于 2020-08-10 18:23:55
作者:吴大山 wudashan.com/2018/10/14/Java-Deep-Copy 介绍 在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。 浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。 而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。如下图描述: 了解了浅拷贝和深拷贝的区别之后,本篇博客将教大家几种深拷贝的方法。 拷贝对象 首先,我们定义一下需要拷贝的简单对象。 /** * 用户 */ public class User { private String name; private Address address; // constructors, getters and setters } /** * 地址 */ public class Address { private String city; private String country; // constructors, getters and setters } 如上述代码,我们定义了一个User用户类,包含name姓名,和address地址,其中address并不是字符串,而是另一个Address类,包含country国家和city城市。构造方法和成员变量的get()、set()方法此处我们省略不写

@@@IDEA插件--GsonFormat

我的未来我决定 提交于 2020-08-10 16:27:19
IDEA插件安装 IDEA的插件安装非常简单,对于很多插件来说,只要你知道插件的名字就可以在IDEA里面直接安装。 File->Settings->Plugins—>插件—>Install File->Settings->Plugins—>Install plug from disk —>插件安装 主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高。 插件地址: https://plugins.jetbrains.com/idea/plugin/7654-gsonformat 来源: oschina 链接: https://my.oschina.net/u/3727895/blog/4313002

微信小程序登陆自己的应用程序

試著忘記壹切 提交于 2020-08-10 14:04:27
我的爱好就是做计划,推翻计划,重新做计划,还有就是让别人监督我学习,监督我减肥,监督我改掉坏习惯。所以我准备为自己量身定做个小程序。小程序界面差不多布局好了,现在来实现小程序注册登陆自己的应用程。 一、小程序端: 1、.wxml <view class="container"> <button class="to-login" open-type="getUserInfo" bindtap="getUserInfo">登陆</button> </view> 2、.js:调用接口wx.login获取code,调用 wx.getUserInfo获取encryptedData和iv,将code,encryptedData和iv传到后台 getUserInfo: function () { //开启loading框 wx.showLoading({ title: '正在登录...', mask: true }); // 登录 wx.login({ success: function (res_login) { if (res_login.code) { //获取用户信息 wx.getUserInfo({ lang:'zh_CN', success: res => { console.log(res) wx.request({ url: 'http://192.168.1.101:8080

Gson 解决Number类型处理问题

╄→гoц情女王★ 提交于 2020-08-10 09:40:02
Gson中默认类型是通过ObjectTypeAdapter来处理的 public final class ObjectTypeAdapter extends TypeAdapter<Object> { public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { @SuppressWarnings("unchecked") @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (type.getRawType() == Object.class) { return (TypeAdapter<T>) new ObjectTypeAdapter(gson); } return null; } }; private final Gson gson; ObjectTypeAdapter(Gson gson) { this.gson = gson; } @Override public Object read(JsonReader in) throws IOException { JsonToken token = in.peek(); switch (token) { case BEGIN_ARRAY

Observablehq 美国 COVID-19 每日检测数曲线

为君一笑 提交于 2020-08-10 08:14:54
Observablehq D3 显示美国 Covid-19每日检测数曲线 本线状图用于显示每天美国 COVID-19 的每天测试量的线状图曲线我们使用的是在线 JSON 数据,数据是通过 AWS 进行读取的。 你可以直接访问下面的链接来获得我们处理上传的数据。 https://cdn.ossez.com/dataset/json/covid19/covid19-daily-tested-us.json 我们做数据分析的前提是数据来源相对可靠,如果数据来源不可靠,做数据分析也没有什么太大的价值。 相对每天的确诊总数来说这个更加有意思。因为用美国的检测量相对比较大,数据的波动也比较剧烈,从上面的曲线就可以看出来了。很多人都说美国疫情比较严重,确实是美国的疫情是相对人数非常多的,但是我们需要看到他们的检测量也是非常高的。从数据分析来看 ,美国 Covid-19 的检测能力是从 3 月8号 左右开始提升的,最开始的提升并不是非常高,但是到了 5 月份以后可以看到美国的检测能力是稳步提升的,一直到 5 月11 号左右,在美国的 Covi-19 检测能力已经接近 40 万每一天。 从这个曲线也可以看到,美国问题严重也是因为他们检查的数量多,检测能力比较强。对流行病来说,这种能力不是坏事。 虽然我们每天都会自动上传一些数据,但是你可能的更新数据每次都不一样。 我们主要也是希望通过这个平台来学习

Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)

时光毁灭记忆、已成空白 提交于 2020-08-10 01:47:55
Spire.Cloud.SDK for Java提供了接口PdfConvertApi通过convert()方法将PDF文档以及XPS文档转为指定文档格式,如转PDF为Word(支持Docx、Doc)、Html、XPS、SVG、PS、PCL、PNG,将XPS转为Word(支持Docx、Doc)、Html、PDF、SVG、PS、PCL、PNG等。文本将通过Java示例介绍具体实现方法。首先请参考以下步骤准备程序运行环境: 一、导入jar 文件。 (有2种方式) (推荐)方式1. 创建Maven 项目程序,通过 maven 仓库下载导入。 以IDEA为例,新建Maven项目,在pom.xml文件中配置maven仓库路径,并指定spire.cloud.sdk的依赖,如下: < repositories > < repository > < id > com.e-iceblue </ id > < name > cloud </ name > < url > http://repo.e-iceblue.cn/repository/maven-public/ </ url > </ repository > </ repositories > < dependencies > < dependency > < groupId > cloud </ groupId > < artifactId

HowToDoInJava 其它教程 2 · 翻译完毕

坚强是说给别人听的谎言 提交于 2020-08-09 16:32:52
原文: HowToDoInJava 协议: CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 目录 JMS 教程 JMS 教程 – Java 消息服务教程 JMS 点对点消息示例 JMS 发布/订阅消息示例 HornetQ 教程 HornetQ 单体 – 基本的 JMS 消息传递示例 使用 Maven 的 HornetQ 独立服务器示例 Spring3 Hornetq 独立集成示例 Gson 教程 Gson 教程 Gson 安装 GSON – 序列化和反序列化 JSON Gson – JSON 输出的精美打印 GSON – 将 JSON 数组解析为 Java 数组或列表 GSON – 序列化和反序列化 JSON 为集 Gson – 序列化和反序列化包含自定义对象的 HashMap Gson – GsonBuilder 配置示例 Gson - 序列化 NULL 值 Gson @Since – 版本支持 Gson @SerializedName Gson – 排除或忽略字段 Gson - JsonReader Gson - JsonParser Gson – 自定义序列化和反序列化 Gson – 快速指南 JAXB 教程 JAXB 注解 JAXB @XmlRootElement 注解示例 JAXB