移动开发
响应式编程之手写Reactor
前言
前文提到了响应式编程,响应式规范Reactive streams,以及响应式扩展Reactor的简单使用
在使用Reactor时我一直很好奇,它是怎么做到的?
好奇心驱使我想要自己去写一个Reactive streams的实现,并参照Reactor源码来看看大神是如何实现的
话不多说,开始写代码(本文比较啰嗦,因为掺杂了自己的实现思路)
简单序列的发布者
看一下Reactor的一个简单例子
ggplot2的aes和aes_string
提取umap坐标和metadata信息
reduction_loci <- as.data.frame(Embeddings(pbmc, reduction="umap"))
reduction_loci <- cbind(reduction_loci, pbmc[[]])
常规使用aes的画法:
p <-ggplot(reduction_loci, aes(x=UMAP_1,
记录一次macbook 安装macOS+win11双系统的历程。包括MacBook电脑恢复、绕过win11限制等
一、MacBook恢复macOS系统,或有问题可以重新用此操作关机状态,同时摁住 option+command+R 三个键,然后再摁开机键,等出现 一个地球的图标即可松开。 然后正常链接wifi,让它自动下载一些组件即可。 这里对硬盘进行重新格式化(因为我这里的MacBook是安装了Window
关于Android framework,大部分人都会掉入的学习误区
在学习Android framework的过程中,大家走回走进一个误区,或者说绕了远路,就是会为庞大的源码而耗费大量心力。在这里还是要提醒大家,不要过于关心那些复杂的函数调用链,学习跟踪方法以及把握整理流程最为重要。
Android源码树异常庞大,如果你想一行不漏地看,这是不可能的,就算你这么干了,效果也不见得好——只见树木,不见森林。打个简单的比方,Activity的启动流程,你不用关心在AMS
Android登录拦截场景-探讨多种实现方式
前言
本文是基于之前的系列文章做的一个合集,精简之后整理为一篇长文供大家参考。合集的入口在此。合集内部有每种方案的详细使用手册,大家可以对照本文参考使用。
登录拦截与放行是大部分App开发都会遇到的一个场景,如果你的App有游客模式,但是部分高级功能需要登录之后才能使用。
那么我们就需要在用户点击这个操作的时候校验是否登录,当登录完成之后再跳转到指定的页面或弹窗。如果这些入口很多的话,那么我们就需
Android组件开发
一、背景
一个app随着业务增加,代码放在同一个模块中会越来越臃肿,同时也导致多人开发的一个难度。组件化可以把业务单独分出来,形成一个单独模块,可单独运行、测试等,相互之间不会影响。另外一个优势,如果一个公司有多个app,总会出现一些相同业务,如登录/注册。我们可以单独把公共业务封装成一个单独模块,供所以app使用,提高了开发成本
二、项目结构
如下图1,项目分成了4层,第一层app壳,这个也就是
iOS开发 - 「Swift 学习」Swift协议
Swift协议
协议规定了用来实现某一特定功能所必需的方法和属性
类、结构体、枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。
能够满足协议要求的类型被称为遵循此协议
(一)协议的声明
协议的定义方式(关键词:protocol):
protocol ProtocolName {
// 协议内容(声明属性/方法)
}
协议对属性声明的规定
协议用于指定特定的实例
vscode中使用cline进行AI mcp server 配置(mac)
本次探索来自于b站爬爬虾的视频?spmidfrom=333.337.search-card.all.click&vd_source=f7d6ddf90a16205e40aaa9f5e10aecd8github上mcp官方的一些链接:GitHub - modelcontext