移动开发

新旧版本SpringSecurity使用对比

1 SpringSecurity新旧版本使用 前不久Spring Boot 2.7.0 刚刚发布,Spring Security 也升级到了5.7.1 。升级后发现,原来一直在用的Spring Security配置方法,居然已经被弃用了,今天带大家体验下Spring Security的最新用法,看看是不是够优雅! 1.1 基本使用 我们先对比下Spring Security提供的基本功能登录认证,

Android10.0 人脸解锁

学习笔记: 人脸解锁概述 人脸解锁即用户通过注视设备的正面方便地解锁手机或平板。Android 10 为支持人脸解锁的设备在人脸认证期间添加了一个新的可以安全处理相机帧、保持隐私与安全的人脸认证栈的支持,也为安全合规地启用集成交易的应用(网上银行或其他服务)提供了一种容易实现的方式。 Android 原生的人脸认证栈在 Android 10 是一种新的实现,与 Android P 不一样了。新的实

为什么鼠标指针是斜的?

这与当时电脑的分辨率有关。 鼠标的发明者是道格拉斯.恩格尔巴特。 他最初设计出来的鼠标指针是竖着的,但帕罗奥多研究中心的电脑将其开发出来时,却变成了略向左倾斜。 因为当时的显示器分辨率太低了,在表现斜线时比直线更清晰。 在同等面积下,斜的鼠标指针更容易辨认。 如果坚持使用竖直的鼠标指针,其面积就要达到原设计的两倍,才能看的更清晰。 但大的指针会遮挡人们的实现,不利于操作。另外,在移动

先弄清楚问题是什么

      一位麦肯锡资深顾问说:“我们不一定知道正确的道路是什么,但一定不要在错误的道路上走得太远”。       著名思想家杜威说:“一个界定良好的问题,已经将问题解决了一半。”       在工作中会遇到各种各样的问题,弄清楚问题是什么很关键,否则即使花多大的代价,也很难有实质的进展。方向错了,只会离目标越来越远。       之前处理一个故障,报障方说系统卡顿,我们也没多想,就开始收集相关

Android 10.0 顶部状态栏系统图标显示分析

学习笔记:SystemUI StatusBar 手机信号相关图标的显示和更新流程分析 这里StatuBar的创建就不说了,前面已经说过了。 SystemUI中StatusBar的图标控制器实现类为StatusBarIconControllerImpl,其继承了StatusBarIconController的接口,用于跟踪所有图标的状态,并将对应的状态发送给注册的图标管理器(IconManagers

滚动前行的轮子 — Flutter 交错动画应用实例

前言 之前一篇我们讲了 Flutter组合动画实现的方式 —— 交错动画,如需了解原理的可以查看下面这篇:用 Flutter 做出 GIF 图片的效果 。借助 GIF 和绘图技巧是可以做到类似 GIF 那种效果的。本篇我们来一个应用实例,我们让轮子在草地滚动着前进,而且还能粘上“绿色的草”,运行效果如下动画所示。 滚动的轮子.gif 动画解析 上面实现的效果实际上有三个动画组成:

前端接deepseek的流式接口如何请求?fetch和axios方案

流式请求方案经验文档 1. 概述 1.1 背景流式请求是一种在数据传输过程中逐步接收数据的技术,适用于需要实时处理数据的场景。当前,DeepSeek 是一个热门的 AI 技术,许多开发者都在集成它。然而,流式的 Server-Sent Events (SSE) 方案似乎较少被采用。本文档将介绍如何使用 Fetch 和 Axios 实现流式请

Handler和ThreadLocal的原理解析

前言     说到Handler机制不得不提的就是这几大将:Handler,Looper,MessageQueue,Message。延伸重点ThreadLocal!!!    UI主线程初始化第一个Handler时会通过ThreadLocal创建一个Looper,该Looper与UI主线程一一对应。使用ThreadLocal的目的是保证每一个线程只创建唯一一个Looper。之后其他Handler初

安卓工程统一管理gradle变量

我们复制一个gradle文件 然后重新命名一个与项目相关的名字 image.png 打开imooc.gradle文件,重新定义一下里面的内容 ext { android = [ applicationId:'com.tencent.musicproject', compileSdkVersion: 28,