2019-12-04 15:13
随着Kotlin的推广,一些国内公司的安卓项目开发,已经从Java完全切成Kotlin了。虽然Kotlin在各类编程语言中的排名比较靠后(据TIOBE发布了 19 年 8 月份的编程语言排行榜,Kotlin竟然排名45位),但是作为安卓开发者,掌握该语言,却已是大势所趋了。
Kotlin的基础用法,整体还是比较简单的,网上已经有很多文章了,大家熟悉下即可。
案例需求
此次案例,之所以选择分页列表,主要是因为该功能通用性强,涵盖的技术点也较多,对开发者熟悉Kotlin帮助性较大。
案例的主要需求如下( 参考主流电商APP实现 ):
...
2019-12-04 15:50
在.NET Core中想给API进行安全认证,最简单的无非就是Jwt,悠然记得一年前写的Jwt Demo,现在拿回来改成.NET Core的,但是在编码上的改变并不大,因为Jwt已经足够强大了。在项目中分为 DotNetCore_Jwt_Server 以及 DotNetCore_Jwt_Client ,从名字就可以看出来是啥意思,博客园高手云集,我就不多诉说,这篇博客就当是一篇记录。
当然本案例是Server&Client双项目,如果你要合成自己发证的形式,那你就自己改下代码玩。
在Server层都会有分发Token的服务,在其中做了用户密码判断,随后根据 Claim 生成 jwtToken 的操作。
...
2019-12-04 15:17
在较早期的报表套打的时候,我倾向于使用LODOP的ActiveX进行报表的打印或者套打,BS效果还是很不错的。之前利用它在Winform程序里面实现信封套打功能,详细参考《基于信封套打以及批量打印的实现过程》,虽然功能能够完美实现,不过由于还需要附带一个不是百分百整合一起的插件,还是有点另类的,虽然只是第一次使用的时候,需要安装一次插件即可。本篇随笔介绍一下如何旧瓶装新酒,使用FastReport报表工具来实现信封的套打及批量打印的功能。...
2019-12-04 15:45
“致"高级"工程师(BUG工程师)
一颗折腾的心💗
原创不易,点个赞💗,支持支持
在认证过程和访问授权前必须了解spring Security如何知道我们要求所有用户都经过身份验证? Spring Security如何知道我们想要支持基于表单的身份验证?因此必须了解WebSecurityConfigurerAdapter配置类如何工作的。而且也必须了解清楚filter的顺序,才能更好了解其调用工作流程。
1. WebSecurityConfigurerAdapter
在使用WebSecurityConfigurerAdapter前,先了解Spring security config。 Spring security config具有三个模块,一共有3个builder,认证相关的AuthenticationManagerBuilder和web相关的WebSecurity、HttpSecurity。
...
2019-12-04 15:08
本文介绍solr的基本数据操作,基于solr 8.2。solr支持多种数据格式,包括XML,JSON,CSV等,并提供多种脚本和工具来操作数据。本文讲解curl请求和JSON数据格式的处理方式。本文使用单solr服务来演示数据操作,创建名为 my_core 的solr core, 文档schema如下:...
2019-12-04 15:32
目录
Redis缓存
简介
引入redis缓存
代码实战
Redis缓存
@
简介
redis是一个高性能的key-value数据库
优势
性能强,适合高度的读写操作(读的速度是110000次/s,写的速度是81000次/s )。
支持较为丰富的数据类型(如二进制的Strings, Lists, Hashes, Sets ,Ordered Sets)
一定的事物能力(要么执行成功要么完全不执行)。
劣势
内存数据库访问快,但也消耗硬件内存资源
注:redis的单线程仅仅是说在网络请求这一模块上用一个请求处理客户端的请求,但比如说持久化它就会重开一个线程/进程去进行处理。
...
2019-12-04 15:32
欢迎点赞阅读,一同学习交流,有疑问请留言 。
GitHub上也有开源 JavaHouse 欢迎star
引入
Object 应该是比较简单的源码了。现在我们来分析一下他。Object 是类层次结构的根。Java体系里面的每个类默认都有一个超类就是 Object。总之,所有对象,包含数组,都默认实现该类的方法。
native 关键字
因为 Object 类里面有很多地方都用到 native 关键字。我们先了解一下这家伙。native 关键字是 JNI(Java Native Interface)的重要体现。什么是 JNI ,JNI 是Java调用其他语言(c,c++) 的一种机制。native 关键字修饰的是方法,起声明作用,告诉 JVM 老哥自己去调用这个方法。 这个方法的实现在别的语言那里已经实现,我们是看不到源码的。
...
2019-12-04 15:34
Netty网络框架
Netty是一个异步的基于事件驱动的网络框架。
为什么要使用Netty而不直接使用JAVA中的NIO
1.Netty支持三种IO模型同时支持三种Reactor模式。
2.Netty支持很多应用层的协议,提供了很多decoder和encoder。
3.Netty能够解决TCP长连接所带来的缺陷(粘包、半包等)
4.Netty支持应用层的KeepAlive。
5.Netty规避了JAVA NIO中的很多BUG,性能更好。
Netty启动服务端
1.创建ServerBootstrap服务端启动对象。
...
2019-12-04 15:21
一、持久化
所谓的持久化就是把内存中的数据写到磁盘中去,防止服务宕机后内存数据丢失。Redis4.0之前提供了两种持久化方式:RDB(默认) 和AOF,Redis4.x之后新增了一种混合持久化(本文所用的Redis版本是redis‐5.0.2)
1、RDB
RDB是Redis Database缩写,在默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中。可以对Redis进行设置,让它在“ N秒内至少有M个键值改动”这一条件被满足时,自动保存一次数据。比如下图,900秒内有1个键值或者300秒内有10个键值或者60秒内有10000个键值改动,自动保存一次数据;关闭RDB只需要将所有的save保存策略注释掉即可。
...
2019-12-04 15:30
1.背景
最近宝路遇到个项目,在使用JMeter过程中引发了一些思考,宝路尝试用各种方式去验证,进而有了今天“JMeter原子性”相关主题。
2.目的
探究JMeter的事务的原子性
3.实战
说道原子性,有的同学还一头雾水。。。。啥是原子性?相信大家应该都接触过数据库,数据库的事务就具有原子性(其余的几个特性本次不讨论),宝路觉得这个原子性的概念,更像是从化学这么学科中“偷”过来的。在化学中,原子是在化学反应不可再分的微粒。影射到事务,那就是一个或者多个操作步骤组成了一个原子单元,在事务执行过程中,如果其中任意一个操作步骤失败,那么整个事务即失败。
...