草庐IT

Docker-进阶(容器网络、compose、harbor、swarm)

接着Docker-入门,上次了解了Docker的基本命令,镜像容器操作,自定义镜像两种方式(容器和DockerFile),数据卷实现容器数据持久化和容器间数据共享,都是日常工作中最常用的。一、Linux中的网卡与虚拟化Docker本地容器之间的通信实现,就是利用的OS提供的网络虚拟化,所以了解OS的网卡和虚拟化有利于对Docker容器网络通信的了解1.查看网卡信息方式描述ipa查看所有网卡信息iplinkshow查看网卡连接信息ls/sys/class/net网卡存放路径,显示所有网卡文件执行命令:-bash-4.2#ipa1:lo:mtu65536qdiscnoqueuestateUNKNO

Docker-进阶(容器网络、compose、harbor、swarm)

接着Docker-入门,上次了解了Docker的基本命令,镜像容器操作,自定义镜像两种方式(容器和DockerFile),数据卷实现容器数据持久化和容器间数据共享,都是日常工作中最常用的。一、Linux中的网卡与虚拟化Docker本地容器之间的通信实现,就是利用的OS提供的网络虚拟化,所以了解OS的网卡和虚拟化有利于对Docker容器网络通信的了解1.查看网卡信息方式描述ipa查看所有网卡信息iplinkshow查看网卡连接信息ls/sys/class/net网卡存放路径,显示所有网卡文件执行命令:-bash-4.2#ipa1:lo:mtu65536qdiscnoqueuestateUNKNO

docker-compose启动mysql双机热备互为主从

1.环境说明IP地址服务10.1.xxx.65mysql-0110.1.xxx.66mysql-022.启动mysql-01创建master-01目录,目录下边创建docker-compose.yml和my.cnf两个文件如下:docker-compose.ymlversion:'3'services:db:image:'harbocto.xxx.com.cn/public/mysql:5.7'restart:alwayscontainer_name:mysqlvolumes:-./data:/var/lib/mysql-./my.cnf:/etc/mysql/my.cnf-./init:/d

docker-compose启动mysql双机热备互为主从

1.环境说明IP地址服务10.1.xxx.65mysql-0110.1.xxx.66mysql-022.启动mysql-01创建master-01目录,目录下边创建docker-compose.yml和my.cnf两个文件如下:docker-compose.ymlversion:'3'services:db:image:'harbocto.xxx.com.cn/public/mysql:5.7'restart:alwayscontainer_name:mysqlvolumes:-./data:/var/lib/mysql-./my.cnf:/etc/mysql/my.cnf-./init:/d

Compose 完全脱离 View 系统了吗?

背景:在debug环境中主线程中方法体执行的时间与指定的时间做对比后的堆栈信息,针对性的优化超过指定时间的耗时方法体,减少ANR的发生此工具类主要是通过向主线程Looper打印超过指定时间的耗时堆栈信息以及耗时时长,其中校验时间自已定义,主动查看主线程中的耗时操作,防患未然。原理:此工具类为最简单最直接处理、优化耗时操作的工具大家都知道Android对于ANR的判断标准:最简单的一句话就是:ANR——应用无响应,Activity是5秒,BroadCastReceiver是10秒,Service是20秒然后此工具类的方案就是将主线程的堆栈信息作时间对比监控,超时的打印出来Looper.loop解

Compose 完全脱离 View 系统了吗?

背景:在debug环境中主线程中方法体执行的时间与指定的时间做对比后的堆栈信息,针对性的优化超过指定时间的耗时方法体,减少ANR的发生此工具类主要是通过向主线程Looper打印超过指定时间的耗时堆栈信息以及耗时时长,其中校验时间自已定义,主动查看主线程中的耗时操作,防患未然。原理:此工具类为最简单最直接处理、优化耗时操作的工具大家都知道Android对于ANR的判断标准:最简单的一句话就是:ANR——应用无响应,Activity是5秒,BroadCastReceiver是10秒,Service是20秒然后此工具类的方案就是将主线程的堆栈信息作时间对比监控,超时的打印出来Looper.loop解

jetpack compose实战——Banner轮播图的使用和封装

前言项目地址:https://github.com/Peakmain/ComposeProject上篇文章我们讲到TopAppBar的封装,主要是封装一个标题居中的TopAppBar,包括支持沉浸式状态栏。今天我们来实现一个Banner的封装Banner框架介绍和使用项目源码地址:Banner.kt源码效果我们首先看下我们今天要做的效果轮播图效果图.gif框架使用详细使用文档:https://github.com/Peakmain/ComposeProject/wikiBanner(data=viewModel.bannerData,//设置数据onImagePath={//设置图片的url地

jetpack compose实战——Banner轮播图的使用和封装

前言项目地址:https://github.com/Peakmain/ComposeProject上篇文章我们讲到TopAppBar的封装,主要是封装一个标题居中的TopAppBar,包括支持沉浸式状态栏。今天我们来实现一个Banner的封装Banner框架介绍和使用项目源码地址:Banner.kt源码效果我们首先看下我们今天要做的效果轮播图效果图.gif框架使用详细使用文档:https://github.com/Peakmain/ComposeProject/wikiBanner(data=viewModel.bannerData,//设置数据onImagePath={//设置图片的url地

Jetpack Compose过渡 - 监听Acitvity生命周期

事情是这样的本人学习Compose有两周多了,目前已经着手重构项目上的UI,因为项目体积庞大,要把所有Activity段时间内替换成只有一个Compose的方式肯定不现实,目前就从替换xml布局开始。说实话,用了这么久的View,感觉有些坑挺多,View从反射到绘制需要的时间还是挺长的,经常会遇到因为绘制延迟导致的各式各样的问题,遂决定逐步迁移到Compose上面来。使用场景搜索全网,各式各样Compose相关的文章很多,也很详细,根据现有的资料,很难查到关于Activity声明周期监听的文章,因为大多数人都是使用单个Activity+Navigation的形式。举个例子,在某些场景下,当用户

用 Compose 做了个开源的轻量级的 Notion 客户端 NotionLight,现已上架 Google Play。

迫于Notion的客户端比较慢,而且操作路径有点长,如果想当做快速笔记或者TODO来用还是不太够。正好前段时间因为疫情在家待了三个月没出门,打算学学Compose,所以顺便:)用Notion的API卷了个简单快速的客户端出来。既然是当做快速笔记以及TODO来用,那内容的组织形式就是按照列表来的,会把Notion中的每个能被识别的内容块映射成列表中一个条目展开显示。每个Notion页面对应NotionLight中的一个TAB。授权后自己选择将Notion中的对应的页面添加进来。目前支持对内容快的添加、修改及删除操作,也支持AndroidShortcut快速添加内容,可以说非常快速了。主要技术栈: