移动开发
Android 全新声明式 UI 开发框架 weiV ,给 View 系统插上翅膀。
weiV(发音同 wave)
wave.jpg
if ("weiV" == "View".reversed()) {
Log.d(
"weiV",
"它意味着控制反转,你始终应该直接操作 UI 的描述 Widget 而不是直接操作 View。"
)
}
它具有以下
React Native 0.70 发布,Hermes 成为默认引擎
React Native 0.70 版本正式发布,这个版本有几项改进,比如 Codegen 的新的统一配置、Hermes 作为默认引擎、对 Android 构建的完整 CMake 支持,还有对新架构文档的更新。
具体更新内容如下:
New Architecture 的新文档
在过去的几个月里,Meta 一直在努力为文档中的 New Architecture 部分增加更多的内容。在新的部分,你可以找
手写RxJava简易框架领悟RxJava的美秒
RxJava笔记
前言
看此篇之前最好知道RxJava的使用。由于RxJava内部源码实现有点复杂,既然用拆轮子的方式来分析源码比较难啃,不如换种方式,以造轮子的方式,将源码中与性能、兼容性、扩展性有关的代码剔除,只留下核心代码,加上我个人的理解,带大家揭秘RxJava的实现原理(本文不涉及框架的使用介绍)。
一、构建观察者类
Subsribler在RxJava里面是一个抽象类,它实现了Obs
浅谈 RunLoop
什么是RunLoop
RunLoop 是事件接收和分发机制的一个实现,是线程相关的基础框架的一部分,一个 RunLoop 就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的:
do{
//...
}while(//...)
【源码】Vue3 Ref原理,套娃的艺术
前言
Vue3有个Ref API,官网文档 说明其主要的用处是:1、将一个原始类型值 (例如,一个字符串),变成响应式的。2、当解构的两个 property 的响应性都会丢失时,可以将我们的响应式对象转换为一组 ref。这些 ref 将保留与源对象的响应式关联。
下面是对应的两个例子:
import { ref } from 'vue'
const count = ref(0)
console.
ThreadLocal的简单理解
[TOC]
一、背景
最近有人问我ThreadLocal是如何做到在每个线程中的值都是隔离的,此处写篇文章来简单记录下。
二、ThreadLocal解决的问题
该数据属于该线程Thread自身,别的线程无法对其影响。(需要注意:需要调用ThreadLocal的remove方法)
不存在线程安全问题。(因为ThreadLocal类型的变量只有自身的线程可以访问,所以这点是成立的。)
比如:
单系统使用JWT实现登录案例
一、JWT简介
在上一篇中介绍了使用cookie+session实现登录的案例,最后介绍了其缺点,就是需要在服务器端存放用户的信息,增加了服务端的压力,并且如今移动端盛行,用户端不支持cookie的问题也要求我们需要寻找其它方案。
JWT,Json Web Token,定义了一种紧凑的,自包含的方式,用于在各方之间以json对象的方式安全地传输信息,该信息可用于验证身份信息。如下是JWT的工作流程
2022-04-10 QT6.0以上使用qcustomplot报错简单解决法
qcustomplot是qt一个好用的图形绘制库,最近更新qt版本到6.2.4后,发现原先的qcustomplot会报错,报错原因如下:
图片.png
MinGW_64_bit-Debug\debug\moc_qcustomplot.cpp:249: error: template argument 1 is invalid
debug\moc_qcustomplot.cpp:24
推荐一下我的 Flutter 学习资源
我接触 Flutter 才半年,但进步却很大,这主要是我找到了好的学习资源,今天就把这些资源推荐给大家。
掘金的 Flutter 专区
网址是: Flutter 相关的文章,建议每天关注这里的新文章。并把过去的最热文章翻看一些。
推荐关注郭树煜的掘金博客 @恋猫de小郭,或他的公众号 @GSYTech。
Flutter