dio是一个非常强大的网络请求库,可以支持发送各种网络请求,就像axios一样灵活强大,但是官网没有做一个demo示例,所以前端同学使用起来还是有点费劲,所以就想在这里封装一下,方便前端同学使用。
官网地址:dio | Dart Package
我的flutter模板项目地址: GitHub - Sjj1024/flutter_windows: 使用flutter开发跨平台桌面软件的案例
添加依赖 在pubspec.yaml文件中添加所需要的第三方依赖库
dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 get: ^4.6.6 dio: ^5.4.0 封装基础请求工具 在utils里面新建一个request.dart文件,专门用来做请求工具的,就像前端框架里面集成axios一样:统一初始化网络请求常见配置,实现请求拦截器、响应拦截器以及错误处理。
request.dart 代码: import 'package:dio/dio.dart'; /// 请求方法:枚举类型 enum DioMethod { get, post, put, delete, patch, head, } // 创建请求类:封装dio class Request { /// 单例模式 static Request?
1、?和!! 刚学kotlin的时候,发现语法和java差不多,但是有些小符号很有意思。
fun find(name : String) : A ? ? 加在变量名后,系统在任何情况不会报它的空指针异常。
!! 加在变量名后,如果对象为null,那么系统一定会报异常。
举例 java写法:
ArrayList<String myList = null; // 创建一个null的队列 Log.d("TAG", "-->> List Size = " + myList.size()); 在执行到log打印队列长度的时候,会报空指针错误
而在ktolin中在调用 myList 的时候在它后面加上一个问号 myList?.size() ,则会在 myList 为null 的时候直接打印出null(注意不是0) ,不会抛出 NullPointerException 。
上述java写法转为ktolin:
val myList: ArrayList<String? = null // 创建一个null的队列 Log.d("TAG", "-->> List Size = " + myList!!.size) 这样就证明了 !! 会对对象进行非空判断,并且会像 java 代码一样当对象为空时抛出异常。
2、?: 对象A ?: 对象B 表达式,意思为:当对象 A值为 null 时,那么它就会返回后面的对象 B。
在Ubuntu 20.04上安装MySQL 8.0并配置root用户以进行远程登录,同时设置密码为SSKS#dd的步骤如下:
安装MySQL 8.0
打开终端,使用以下命令安装MySQL服务器:
sudo apt update sudo apt install mysql-server 安全配置MySQL
运行安全配置脚本:
sudo mysql_secure_installation 此过程会提示你设置root密码,移除匿名用户,禁止root用户远程登录等。由于你需要远程登录,所以在禁止root用户远程登录的提示时选择“No”。
设置root密码
在MySQL安全配置时,你会被提示设置root用户的密码。在这里,你应该设置密码为SDW#87%dy。
要配置 MySQL 的 root 用户以允许远程登录并设置密码为 SSKS#dd,请按照以下步骤操作:
登录 MySQL:
首先,使用 root 用户登录到 MySQL。打开终端并输入以下命令:
sudo mysql -u root -p 如果您之前没有为 root 用户设置密码,则 -p 选项可能不需要。
更改 root 用户的认证方法(如有必要):
默认情况下,MySQL 使用 auth_socket 插件对 root 进行身份验证,这可能会阻止远程登录。要改为使用密码认证,请执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'SSKS#dd'; FLUSH PRIVILEGES; 创建一个允许远程访问的 root 用户:
接下来,创建一个与您的 root 用户相同权限的用户,但允许从任何主机连接。
CREATE USER 'root'@'%' IDENTIFIED BY 'SSKS#dd'; GRANT ALL PRIVILEGES ON *.
前言 Flink CDC 于 2021 年 11 月 15 日发布了最新版本 2.1,该版本通过引入内置 Debezium 组件,增加了对 Oracle 的支持。对该版本进行试用并成功实现了对 Oracle 的实时数据捕获以及性能调优,现将试用过程中的一些关键细节进行分享。
使用环境 Oracle:11.2.0.4.0(RAC 部署)
Flink:1.13.1
Hadoop:3.2.1
问题 1、无法连接数据库 根据官方文档说明,在 Flink SQL CLI 中输入以下语句:
create table TEST (A string) WITH ('connector'='oracle-cdc', 'hostname'='10.230.179.125', 'port'='1521', 'username'='myname', 'password'='***', 'database-name'='MY_SERVICE_NAME', 'schema-name'='MY_SCHEMA', 'table-name'='TEST' ); 之后尝试通过 select * from TEST 观察,发现无法正常连接 Oracle,报错如下:
[ERROR] Could not execute SQL statement. Reason: oracle.net.ns.NetException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 从报错信息来看,可能是由于 Flink CDC 误将连接信息中提供的 MY_SERVICE_NAME (Oracle 的服务名) 错认为 SID。于是尝试阅读 Flink CDC 涉及到 Oracle Connector 的源码,发现在 com.
版本:3.6.1
1 kafka-topics.sh Create, delete, describe, or change a topic.
创建、删除、描述或更改主题。
Option(选项)Description(描述)翻译–alterAlter the number of partitions and replica assignment. Update the configuration of an existing topic via --alter is no longer supported here (the kafka-configs CLI supports altering topic configs with a --bootstrap-server option).更改分区数和副本分配。此处不再支持通过–alter更新现有主题的配置(kafka configs CLI支持使用–bootstrap server选项更改主题配置)。–at-min-isr-partitionsIf set when describing topics, only show partitions whose isr count is equal to the configured minimum.如果在描述主题时设置,则仅显示isr计数等于配置的最小值的分区。–bootstrap-server <String: server to connect to>REQUIRED: The Kafka server to connect to.
目录 数据库开发-MySQL1. 多表查询1.1 概述1.1.1 数据准备1.1.2 介绍1.1.3 分类 1.2 内连接1.3 外连接1.4 子查询1.4.1 介绍1.4.2 标量子查询1.4.3 列子查询1.4.4 行子查询1.4.5 表子查询 1.5 案例 数据库开发-MySQL 1. 多表查询 1.1 概述 1.1.1 数据准备 SQL脚本:
#建议:创建新的数据库 create database db04; use db04; -- 部门表 create table tb_dept ( id int unsigned primary key auto_increment comment '主键ID', name varchar(10) not null unique comment '部门名称', create_time datetime not null comment '创建时间', update_time datetime not null comment '修改时间' ) comment '部门表'; -- 部门表测试 insert into tb_dept (id, name, create_time, update_time) values (1, '学工部', now(), now()), (2, '教研部', now(), now()), (3, '咨询部', now(), now()), (4, '就业部', now(), now()), (5, '人事部', now(), now()); -- 员工表 create table tb_emp ( id int unsigned primary key auto_increment comment 'ID', username varchar(20) not null unique comment '用户名', password varchar(32) default '123456' comment '密码', name varchar(10) not null comment '姓名', gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女', image varchar(300) comment '图像', job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师', entrydate date comment '入职时间', dept_id int unsigned comment '部门ID', create_time datetime not null comment '创建时间', update_time datetime not null comment '修改时间' ) comment '员工表'; -- 员工表测试数据 INSERT INTO tb_emp(id, username, password, name, gender, image, job, entrydate,dept_id, create_time, update_time) VALUES (1,'jinyong','123456','金庸',1,'1.
#记录工作,工作复盘
仅作记录,未尽之处请补充,谢谢!
电脑配置情况大致记录如下,请参考:
MSI移动工作站,64G内存,4GB显存
一、安装前准备: 阅读文档,明确软件依赖和安装要求:
在用Anaconda环境下安装stable-diffusion-webui之前,电脑上先要安装有以下软件:
1、Anaconda
首先安装 Anaconda,本处用于可窗口化的管理虚拟环境和方便解决环境中包的依赖问题
可以参考本站大神的详细文章教程:
Anaconda超详细安装教程(Windows环境下)_conda安装-CSDN博客https://blog.csdn.net/fan18317517352/article/details/123035625
2、PyCharm
其次安装PyCharm,本处用于方便地在指定的虚拟环境和项目路径下修改、编辑和调试运行代码
可以参考本站大神的详细文章教程:
pycharm安装教程,超详细-CSDN博客https://blog.csdn.net/qq_44809707/article/details/122501118?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170493554316777224416471%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170493554316777224416471&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-122501118-null-null.142%5Ev99%5Epc_search_result_base4&utm_term=pycharm%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187
3、Python
Stable-Diffusion-Webui需求的python 3.10.6 版本
此处python不用单独安装,安装Anaconda后在conda的虚拟环境中可按要求任意指定python版本
因为电脑上有多个python版本,所有用Anaconda管理运行指定的python环境和用PyCharm运行stable-diffusion-webui项目比较稳妥,不会影响后续再安装的python项目和以前已有的python项目运行。
stable-diffusion-webui项目官方文档建议python=3.10.6,我用python3.11.5安装不成功,所以首次安装建议还是老老实实的用官方建议的要求来安装,后续再些许微调。
4、GIT
本处用于克隆和Github上的项目文件和保持或推送项目文件更新
可以参考本站大神的详细文章教程:
git安装教程-CSDN博客https://blog.csdn.net/qq_38952352/article/details/127656385?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170497944516800227429236%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170497944516800227429236&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-127656385-null-null.142%5Ev99%5Epc_search_result_base4&utm_term=git%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187
5、Visual Studio 2022
安装了Visual Studio 2022或Visual Studio 2019版本,并且下载并启用了C++相关组件
可以参考本站大神的详细文章教程:
(一看就会)Visual Studio2022安装配置详细教程_visual studio 2022-CSDN博客https://blog.csdn.net/DuanNaiLin/article/details/132841938?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170497955816800213018377%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170497955816800213018377&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-132841938-null-null.142%5Ev99%5Epc_search_result_base4&utm_term=Visual%20Studio%202022&spm=1018.2226.3001.4187
二、开始安装(新建conda环境 克隆项目) 以下是记录的安装操作步骤:
没有Anaconda的先安装Anaconda,已有Anaconda的开始新建运行环境:
在以管理员身份运行Anaconda Prompt(base)中,输入以下命令,我这里用的环境名是“StableDiffusion”来举例,环境名可以自己定义,注意字母的大小写和不要有空格,空格可以用连接符“-”来连接,比如环境名“Stable-Diffusion”或者“s-d-w”,最好直接用“sdw”这样自己能区分又易记且简短的环境名:
#新建名为“StableDiffusion”并且python版本等于3.10.6的Conda环境,默认操作是确认yes conda create -n StableDiffusion python=3.10.6 -y 1、新建Anaconda环境,指定Python版本为3.10.3,默认同意执行全部操作“-y” 2、激活刚才新建的Anaconda环境 等运行一段时间,新建环境完成之后, 一定要继续输入命令来先激活环境:
#激活刚才新建的 名为“StableDiffusion”(并且python版本等于3.10.6的)Conda环境 conda activate StableDiffusion 这里先激活是避免后续因环境没激活而产生的连环错误。
3、打开PyCharm新建项目 确定所在文件夹,配置刚才已经激活的环境解释器为本项目的解释器,这一步比较重要。
比如用PyCharm新建项目位于D:\PythonProject目录下,新建名为stable-diffusion-webui的文件夹;
并配置前面步骤已经新建好的环境解释器作为本项目的解释器(conda环境中的python.exe路径)
可以参考本站大神的详细文章教程:
PyCharm与Anaconda超详细安装配置教程_pycharm安装anaconda环境-CSDN博客https://blog.csdn.net/qq_32892383/article/details/116137730?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170498047516800184141989%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170498047516800184141989&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-116137730-null-null.142%5Ev99%5Epc_search_result_base4&utm_term=pycharm%E9%85%8D%E7%BD%AEanaconda&spm=1018.2226.3001.4187重点参考在这篇文章的结尾部分。
目录
H5页面
一、H5页面uniapp项目安装微信插件
二、main.js挂载
三、使用,跳转至小程序指定页面
web-view
功能描述
相关接口 1
示例代码
小程序代码
小程序中调试webview页面的方法
首先从小程序进入webview里的H5页面,然后H5页面里有个按钮,点击后需要跳转到小程序的注册页。那么,H5那边该怎么实现呢? 因为已经进入小程序环境了,所以实现起来相对单纯的H5跳小程序比较简单
H5页面 一、H5页面uniapp项目安装微信插件 npm install --save weixin-js-sdk 二、main.js挂载 import wx from 'weixin-js-sdk' Vue.prototype.wx = wx 三、使用,跳转至小程序指定页面 closePage() { this.wx.miniProgram.switchTab({ url: '/pages/notice/notice', //小程序必须有该目录 success() { console.log("跳转成功"); }, fail(err) { console.log('跳转失败', err) }, complete() { console.log("执行"); } }) }, web-view Bug & Tip
tip:网页内 iframe 的域名也需要配置到域名白名单。tip:开发者工具上,可以在 web-view 组件上通过右键 - 调试,打开 web-view 组件的调试。tip:每个页面只能有一个 web-view,web-view 会自动铺满整个页面,并覆盖其他组件。tip:web-view 网页与小程序之间不支持除 JSSDK 提供的接口之外的通信。tip:在 iOS 中,若存在JSSDK接口调用无响应的情况,可在 web-view 的 src 后面加个#wechat_redirect解决。tip:避免在链接中带有中文字符,在 iOS 中会有打开白屏的问题,建议加一下 encodeURIComponent 功能描述 承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。
一、ETL简介 ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。它是一种数据处理过程,用于从不同的数据源中提取数据、对数据进行转换和清洗,并将处理后的数据加载到目标系统或数据仓库中。
提取(Extract):从不同的数据源(如关系型数据库、文件、API、MQ、设备等)中提取数据。转换(Transform):在转换阶段,对从数据源提取的数据进行清洗、规范化、过滤、合并、计算、补全等操作,以使数据符合目标系统或数据仓库的要求。转换操作包括数据格式转换、数据清洗、数据整合、数据增强、数据分割等,以确保数据的一致性、完整性和准确性。加载(Load):加载阶段将经过转换的数据加载到目标系统或数据仓库中。这包括创建目标表结构、将转换后的数据插入目标表,以及执行必要的数据验证和错误处理。加载过程还可以包括对目标系统进行索引、分区、聚合等操作,以优化数据的查询和分析性能。 通过ETL的三个过程,企业就可以将来自多个数据源的数据整合到一起,清洗和转换数据以满足特定的业务需求,并将处理后的数据加载到目标系统中,为数据分析、决策支持和业务应用提供准确、一致的数据基础。
ETL工具通常提供可视化的开发环境和丰富的转换功能,简化了数据处理过程,并提高了数据质量和数据集成的效率相比于写代码来转换数据具有开发效率快、运维简单、普通数据工程师就能进行数据传输和清洗无需代码开发工程师。
二、ETL的优点 ETL对于企业来说在数据处理方面具有重要的价值和作用,所有企业都必须且备ETL的能力来快速实现数据发现到数据价值变现的过程。
对于企业来说大量业务系统的数据分散存储在各个数据库中,而这些数据可能存在不一致、格式不同或分散在不同数据库表中。ETL可以帮助企业将这些分散的数据整合到一起,并进行数据清洗、转换和标准化,从而确保数据的一致性和准确性。实现数据集成和共享:ETL工具可以将数据从不同的源系统中提取出来,进行格式转换和映射,然后加载到目标系统中。这样,不同部门或业务系统可以共享和访问这些集成的数据,促进信息的共享和协同工作。实现数据质量管理:ETL可以对数据进行清洗、去重、纠错和验证,提高数据质量。通过数据质量管理,企业可以减少数据错误和冗余,提高决策的准确性和可靠性。实现决策支持和分析:ETL可以将数据从不同系统中提取出来,并转换成适合分析的格式和结构。这样,企业可以基于准确和一致的数据进行深入的数据分析和决策支持,从而洞察业务趋势、发现机会和优化运营。实现数据保护和合规性:ETL可以帮助企业识别敏感数据并进行数据脱敏、加密或掩码处理,以确保数据的安全性和合规性。这对于涉及个人隐私数据或受到法规限制的行业尤为重要。 三、常用的ETL工具 1、IBM InfoSphere DataStage
IBM DataStage是一款功能丰富的ETL工具,适合大型企业。它采用分层架构,与IBM生态系统集成良好,提供了广泛的数据处理功能。DataStage支持可视化开发和血缘关系追踪,并能够提供实时数据CDC采集的额外能力。DataStage不提供免费使用选项。IBM 中国官方网站
易用性
分层 架构
数据清洗
B/S架构
CDC采集
血缘关系
二次开特性
社区版本
低
是
支持
否
需要额外组件
是
低
否
2、Kettle
Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。kettle调度系统 – Kettle中文网
Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。SPOON允许你通过图形界面来设计ETL转换过(Transformation)。
PAN允许你批量运行由Spoon设计的ETL转换(例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面。
CHEF允许你创建任务(Job)。任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。
KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。
3、Informatica PowerCenter
是一款易用且功能强大的ETL工具。它提供了直观的用户界面,支持可视化开发,并具备分层架构,有助于管理复杂的数据转换流程。Informatica PowerCenter还支持实时数据CDC采集功能和血缘关系追踪但是实时能力有限,能够满足企业对数据实时性和数据质量的要求。PowerCenter | 10.4.0 (informatica.com)
4、Talend
Talend是一款开源的ETL工具,提供了广泛的数据处理和转换功能。它具有分层架构和可视化开发环境,使得用户能够快速构建复杂的数据集成流程。Talend还支持B/S架构,可在Web浏览器中进行操作。此外,Talend可扩展性高,适用于中小型企业和开发者使用。免费版本可满足基本的数据集成需求www.talend.com/
这篇文章主要介绍了SQL Server的彻底卸载的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
SQL Server的彻底卸载与再次安装 可能大家已经有深刻体会,SQL Server的卸载十分繁琐。最让人头疼的是,出了问题的SQL Server未卸载完全就再次安装将会频频出错。我当时也是深受其扰,但所谓久病成医,为此,下面介绍如何完全卸载 SQL Server。
卸载分为三大部分: 1、控制面板删除名字带有“SQL”的程序 点击计算机左下角“开始”,
点击“控制面板”
点击“程序”
寻找与SQL相关的程序,并卸载
2、删除磁盘里的安装文件(一般数据库默认安装在C盘) (1)“C:\Program Files”删除“Microsoft SQL Server”文件夹
(2)如果是64位系统还需要删除“C:\Program Files(x86)”中的 “Microsoft SQL Server” 文件夹
(3)注意:若无法删除文件,请先获得权限,或者进入安全模式后再删除。
进入安全模式:按住【shift】不放然后选择左下角开始菜单中的重启选项,直到进入【疑难解答】后松开按键,选择【高级选项】-【启动设置】选择【重启】,重启后在【启动设置】界面按F4进入安全模式。找到对应文件夹后删除。退出安全模式只需重启电脑。
3、删除注册表(删除有三步 ) “开始+R”可以快速进入运行,输入“regedit”,进入注册表编辑。
(1)HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>
Control–>Session Manage,右击,找到PendingFileRenameOperations并删除;
(2)HKEY_CURRENT_USER–>Software–>Microsoft–>Microsoft SQL Server,删除;
(3)HKEY_LOCAL_MACHINE–>SOFTWARE–>Microsoft–>
Microsoft SQL…,删除前缀为Microsoft SQL的内容
SQL Server完全卸载删除操作手册 安装SQLServer数据库本来是件很简单的事,但是,一旦在第一次安装时出错后,就会导致各种安装不了第二遍得问题接踵而至。
1、打开控制面板—程序—卸载程序(删除不彻底将导致下一次进行安装的时候安装失败)
2、找到Microsoft SQL Server 2012(64位)程序 3、 右键—“卸载/更改”,运行后弹出如下所示画面,点击选择删除:
4、 进入“安装程序支持规则”,然后点击“确定”,进入“下一步”,如下图所示:
5、 这时进入“删除SQL Server 2012”选择实例,点击“下一步”,如下图所示
6、 这时进入“选择功能”,为了完全删除全部安装文件,选择“全选”,点击“下一步”
7、 然后进入“删除规则”,查看操作完成的数目、失败数目、警告数目等,如下图所示: 8、 接着进入“准备删除”阶段,有配置文件路径,然后点击“删除”按钮
9、 然后进入“完成”阶段,查看功能删除状态,然后点击“关闭”,如下图所示:
10、进入系统C盘,查看SQL Server文件夹(整个删除包括父级目录Microsoft SQL Server文件夹,如果文件目录是在D盘/其他盘 同理删除),选中删除这些文件夹,如下图所示:
Kafka配置SASL 1.确定使用的SASL协议 Kafka支持以下SASL机制:GSSAPI 、PLAIN、 SCRAM-SHA-256、 SCRAM-SHA-512、 OAUTHBEARER。
本指南主要以SCRAM机制配置为主。
2.准备用户凭证 当使用SCRAM机制时,Kafka使用Zookeeper存储用户加密后的凭证,所以需要先使用Kafka提供的脚本进行用户的创建。
比如创建用户名为kafkaAdmin,密码为admin用户的操作命令如下:
> bin/Kafka-configs.sh --zookeeper localhost:2182 --alter --add-config 'SCRAM-SHA-256=[password=admin],SCRAM-SHA-512=[password=admin]' --entity-type users --entity-name KafkaAdmin 3.设置JAAS安全验证文件 Kafka使用Java的JAAS机制进行安全验证文件的加载,首先创建文件命名为broker_jaas.config,内容如下:
KafkaServer { org.apache.kafka.common.security.scram.ScramLoginModule required username="KafkaAdmin" password="admin"; }; 然后编辑/bin/kafka-server-start.sh文件,使用Java的-Djava.security.auth.login.config参数指定JAAS文件位置。
[kafka@CTSP1 bin]$ cat kafka-server-start.sh #!/bin/bash export JMX_PORT=9876 export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.10.92.17" #指定JAAS文件 export KAFKA_OPTS="-Djava.security.auth.login.config=/home/kafka/config/broker_jaas.config" if [ $# -lt 1 ]; then echo "USAGE: $0 [-daemon] server.properties [--override property=value]*" exit 1 fi base_dir=$(dirname $0) if [ "x$KAFKA_LOG4J_OPTS" = "
1. 向表中装载数据(Load) 1)语法
hive> load data [local] inpath '数据的 path'[overwrite] into table student [partition (partcol1=val1,…)]; (1)load data:表示加载数据
(2)local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表
(3)inpath:表示加载数据的路径
(4)overwrite:表示覆盖表中已有数据,否则表示追加
(5)into table:表示加载到哪张表
(6)student:表示具体的表
(7)partition:表示上传到指定分区
2)实操案例
(0)创建一张表
create table student(id string, name string) row format delimited fields terminated by ''; (1)加载本地文件到 hive
hive (hive3)> load data local inpath '/home/atguigu/student.txt' into table hive3.student; Loading data to table hive3.student OK Time taken: 1.007 seconds 查询结果:
hive (hive3)> select * from student; OK student.
前言 试了很多的sd训练,尤其是sd的lora的训练,问题一大堆,现在写个博客汇总一下
一、一些理论知识 记录一些杂七杂八各种博客看到的训练经验。
1. 对于sd1.5训练出来2G左右大小就是有效模型,WebUI默认FP16。 【AI绘画】模型修剪教程:8G模型顶级精细?全是垃圾!嘲笑他人命运,尊重他人命运 - 哔哩哔哩 (bilibili.com)
2. 各种模型种类分类讲解
【AI绘画】全部模型种类总结 / 使用方法 / 简易训练指导——魔导绪论 - 哔哩哔哩 (bilibili.com)
二、数据集处理 1. 素材准备 Stable diffusion训练Lora全集 - 知乎 (zhihu.com)
后面参数学习回来,这里强调一点,最重要的就是这里的素材的准备,选择的图像质量越高越好, 数量也不用过多,对于小白来说,30来张就可以了,重点在于质量,这里选好点的。高质量高分辨率的情况下,还可以追求角度的多样性,全局局部,各个方向的视角等。
2. 高清修复 由于我的数据集图像就是模糊不清晰的,且尺寸小于512*512,所以先进行高清修复,它有个缩放功能,修复的同时放大4倍,先修复再裁剪统一尺寸
需要先去SDWebUI的高清修复一遍,修复板块详解放在另外一篇博客里SDwebui的后期处理功能理解/高清修复-CSDN博客
3. 裁剪 数据集图像尺寸要一致,通常512*512、512*768、768*768、1024*1024,这里嫌麻烦直接和下面打tag的一起在丹炉里直接预处理了。 但是由于我的数据集图像不是人物,直接裁剪会把有些重要内容给我裁掉了,这里就可以选裁剪工具,工具好在是可以自己调整裁剪的部分,但是它没办法放大,还可以用美图秀秀/ps等图像编辑软件,功能更强大,看个人需求~BIRME - Bulk Image Resizing Made Easy 2.0 (Online & Free)
自定义裁剪好了最好是点zip保存,直接保存文件可能会下载不全。网站要是一直显示什么“image-xxx”下载保存不了文件,换一个浏览器试试,我用edge不行后换谷歌可以了。
4. 打tag stable diffusion LORA模型训练最全最详细教程 - 知乎 (zhihu.com)
4.1 预处理/自动反推tag 先试着用的赛博丹炉的整合包,根据链接教程把训练集进行裁剪和打标签的预处理,别忘了分训练集/测试集(比例7:3/8:2都行)。
模式选择看个人,人脸裁剪/抠图留白都更适合人脸的,但我是物体,所以选择的是聚焦裁剪。
后面分辨率改成768*512,我的数据集有些图像过长用聚焦裁剪512的话给我裁掉了,无需裁剪模式图片的分辨率不会变,保持原始。
训练结束,图像和tag都一起保存在右上角的“训练数据集” ,路径为...\cybertronfurnace1.4\train\image\50_photo_focus
注意如果要重新预训练,调整比较预训练效果的话,之前预训练的结果记得复制保存到其他位置,不然重新预训练会直接覆盖之前的训练结果,重命名也不可以,只能把之前的换一个保存路径。 或者如果是已经有预训练好的数据集,或者想在丹炉里打标签炉里便捷式打标签,可以把自己的预处理文件(图像和对应标签在一个文件夹里)放到这个路径下,丹炉会自动识别出图像和标签,然后方便在丹炉的标签里手动编辑tag。
4.2 手动编辑tag 4.2.1 从这六个方面来思考和编辑tag 还有一个重要的点,就是你想固化的特征不要去打tag,打的tag不是单纯的对图片进行描述,还要考虑到是否是变量, tag尽量都是变量,也就是说是你期望模型生成的时候可以根据你的文字改变的。举个例子,一个红头发女孩,如果tag里面有red hair,AI会认为这个是可变量,后面模型生成的时候你输入white hair就可以生成白发女孩,但如果tag里面没有red hair,AI会认为红发是这个女孩的本身特征是固定的,即使模型后面输入white hair,生成的女孩也只会是红发不会变白发。
本文内容: 一、MQTT协议1. 发布/订阅模型:2. 连接和会话:3. QoS级别(Quality of Service Levels):4. 保留消息:5. Last Will and Testament(遗嘱消息):6. 适用场景和优势:7. 消息格式:8. 安全性:9. 开源实现和协议版本: 二、指令下发指令下发流程 三、使用MQTT实现指令下发具体步骤代码案例 四、MQTT 数据和数据库数据五、MQTT和Kafka比较MQTT和Kafka主要区别MQTT和Kafka适合的场景 相关文章:
(一)MQTT协议与指令下发;MQTT与Kafka比较
(二)用MQTT在Spring Boot项目中实现异步消息通信
一、MQTT协议 详细讲讲MQTT协议
当涉及到物联网和设备通信时,MQTT(Message Queuing Telemetry Transport)是一种轻量级、开放、灵活的协议。MQTT最初是为低带宽、不稳定网络环境下的传感器和设备之间的通信而设计的,但现在已经广泛应用于各种应用领域。
以下是关于MQTT协议的详细解释:
1. 发布/订阅模型: 发布者(Publisher): 负责将消息发布到特定的主题。订阅者(Subscriber): 订阅特定主题,以接收相关消息。主题(Topic): 是消息的分类标签,用于描述消息的内容。发布者发布消息到特定主题,而订阅者则订阅特定主题。 2. 连接和会话: MQTT使用基于TCP的连接,但也可以在WebSocket上运行。客户端和服务器之间建立长连接,可以维护一个持久的会话状态。客户端可以选择保持与服务器的连接状态,以接收实时消息。 3. QoS级别(Quality of Service Levels): QoS 0: 最多一次传递,消息可能会丢失,不保证传递。QoS 1: 至少一次传递,消息被确认,但可能会重复。QoS 2: 正好一次传递,确保消息只传递一次,但是通信开销较大。 4. 保留消息: 发布者可以设置消息为保留消息,这意味着新的订阅者在订阅相关主题时会收到最新的保留消息。 5. Last Will and Testament(遗嘱消息): 客户端可以设置遗嘱消息,以便在连接意外断开时通知其他订阅者。 6. 适用场景和优势: 适用于低带宽、高延迟、不稳定网络环境下的物联网设备通信。轻量级协议,减少通信开销。支持发布/订阅模型,允许灵活的通信架构。易于实现,有许多开源实现和库可用。 7. 消息格式: MQTT消息由固定头、可变头和消息体组成。固定头包含消息类型、标志位等信息。可变头包含不同类型消息的特定信息。消息体包含实际的消息内容。 8. 安全性: MQTT本身并没有提供加密功能,但可以在其上使用TLS/SSL进行加密。用户名和密码可以用于身份验证。 9.
这篇文章主要介绍了python 基础 详细,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
目录
一:简介:
二:Python基础语法
2.1.字面量
2.2.注释
2.3.数据类型转换
2.4.标识符
2.5.运算符
2.6.字符串
2.6.1.字符串的三种定义方式
2.6.2.字符串拼接
2.6.3.字符串格式化
2.6.4.格式化的精度控制
2.6.5.字符串快速格式化
2.7.数据输入
三:python判断语句
3.1.if语句的基本格式
3.2.if elif else语句
四:python循环语句
4.1.while循环
4.2.for循环
4.3.range语句
五:Python函数
六:Python数据容器
6.1.list(列表)
6.2.tuple(元组)
6.3.str(字符串)
6.4.序列的切片
6.5.set(集合)
6.6.dict(字典)
七:Python函数进阶
7.1.函数多返回值
7.2.函数多种传参方式
7.2.1.位置参数
7.2.2.关键字参数
7.2.3.缺省参数
7.2.4.不定长参数
7.2.5.函数作为参数传递
7.3.匿名函数
八:Python文件操作
8.1.文件的读取
8.2.文件的写入
九:Python异常、模块与包
9.1.异常的捕获
9.2.Python模块
9.3.Python包
十:面向对象
10.1.成员方法
10.2.构造方法
10.3.封装
10.4.继承
10.5.多态
一:简介: Python 是一种解释型、面向对象的语言
Python的语法和动态类型,以及解释性语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言
二:Python基础语法 2.1.字面量 字面量:在代码中,被写下来的的固定的值,称之为字面量
Python中有6种常用的值(数据)的类型
注意:type()语句可以查看变量存储的数据类型
2.2.注释 单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
Hive中文乱码的解决方法 一、修改Hive源数据库的码表信息(mysql为例)二、修改hive软件的配置信息三、重启服务. 问题描述:书写hive sql的时候发现注释等地方的中文是乱码情况。
接下来我来带领大家解决这个问题
一、修改Hive源数据库的码表信息(mysql为例) 去MySQL的hive3数据库中, 修改Hive的码表信息
因为Hive的元数据(表名, 列名, 数据类型, 描述信息等)都是在MySQL中存储的.
-- 执行如下的代码 -- (1)修改表字段注解和表注解 use hive3; alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8; alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; -- (2)修改分区字段注解 alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8 ; alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8; -- (3)修改索引注解 alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; 方式一:在Linux中进入MySQL进行修改Hive码表信息
目录
一. 配置文件夹共享功能
1.1 为什么需要配置文件夹共享功能
1.2 配置文件共享功能
1.3 普通共享和高级共享的区别
1.3.1 普通共享
1.3.2 高级共享
1.3.3 总结
二. jdk的配置
2.1 安装jdk
2.2 配置jdk的环境配置jdk
2.3 配置成功
三. TomCat的配置
四. 防火墙设置 4.1 防火墙的主要功能
4.2 出站规则&入站规则
4.3 新建规则
五. 思维导图
一. 配置文件夹共享功能 1.1 为什么需要配置文件夹共享功能 1. 我们在工作和生活中经常有需要将自己的文件复制给他人或者将他人的文件复制过来的需求。
2. 有时候我们使用u盘,有时候我们使用qq或者飞秋等软件,但是u盘和软件并不是万能的,比如没有U盘或者没有安装软件时,我们就没有办法进行数据的传输,那么这个时候如果我们在同一个局域网中,配置文件共享的优点就显现出来了。
1.2 配置文件共享功能 1. 先跟虚拟机进行远程连接。
连接成功 2. 在需要共享的文件上,右键,点击属性。
3. 切换到共享页签,点击共享,可以选择不同的方式共享。
可以选择Everyone,这里选择Everyone,别人访问就不需要密码,比较方便,如果需要别人输入密码的话,这里选择需要对应的用户即可。
4. 点击添加,账户就会出现在下面,然后就可以可以修改权限了,点击共享。
5. 稍等之后,点击完成。
1.3 普通共享和高级共享的区别 普通共享,共享出去Users是个用户,而高级共享更精准
1.3.1 普通共享 普通共享一般指对文件夹进行共享,并设置基本的访问权限,允许其他用户或计算机访问、查看和修改文件夹中的内容。普通共享常用于小型办公环境或家庭网络中,提供基本的文件共享功能。
1. 访问共享文件夹,在虚拟机中 “徽标+r” ,打开命令窗口
输入 ipconfig 可以查看虚拟机的IP地址(刚刚配置文件的共享功能的操作是普通共享)
文章目录 1 引言2 CSV 文件简介3 Python 中的 csv 模块4 写入 CSV 文件4.1 基本用法4.2 高级用法 5 读取 CSV 文件5.1 基本用法5.2 高级用法 6 实例演示7 注意事项8 总结 1 引言 在数据处理和数据分析领域,CSV (逗号分隔值) 文件是一种常见的文件格式,用于存储表格数据。Python 通过内置的 csv 模块提供了对 CSV 文件的读写支持,使得处理这种类型的文件变得简单高效。本文将详细介绍如何在 Python 中进行 CSV 文件的读取和写入操作。
2 CSV 文件简介 CSV 文件是一种简单的文本文件,其中的数据由逗号分隔。每行代表一个数据记录,每个记录可以包含多个字段。CSV 文件被广泛用于数据交换和数据存储。
3 Python 中的 csv 模块 Python 的 csv 模块提供了一系列函数来读取和写入 CSV 文件。它可以处理各种类型的 CSV 数据,包括不同的分隔符和引号约定。
4 写入 CSV 文件 4.1 基本用法 import csv # 数据 data = [ ['Name', 'Age', 'City'], ['Alice', 30, 'New York'], ['Bob', 25, 'Los Angeles'] ] # 写入 CSV 文件 with open('example.
在b站,根据这位博主的这个视频安装Stable Diffusion时遇到的这个bug。
解决办法:
1、打开命令行(不懂,去百度)输入pip show torchmetrics
可以看到torchmetrics的版本是1.2.1
2、卸载torchmetrics pip uninstall torchmetrics 3、下载0.11.4版本的torchmetrics
pip install torchmetrics==0.11.4 然后问题就解决了。
我解决问题的时间就是发文章的时间,也许其他版本的torchmetrics也可以解决这个问题(我猜的)。随着作者Stable Diffusion不断更新,也许你需要安装更高版本的torchmetrics,自己百度一下torchmetrics的版本号,在第三步改一下就好了。
这个解决办法,我是在一条评论里看到的。
一、问题: 今天下午配置eslint和prettier 时,频频报错:Delete `␍`eslint(prettier/prettier),vscode全页面爆红。
经过多次尝试与试验后,最终多种方式结合解决了这个问题。
二、报错原因是: 安装了prettier 插件指定了文件结尾的换行符与系统的不一样所导致的。
Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF; 而项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的,这也是工程化的需要。
我们的 Prettier 插件默认 LF,所以从仓库中拉取下来的代码会因为换行符的不同导致全屏爆红。
三、解决办法 1、通过IDE一键切换 在vscode文件的底部配置,将LF直接改为CRLF,但是这个方法只针对单个文件,所有文件都需要一个一个手动修改,比较麻烦。
2、在vscode设置中,在搜索栏中搜索prettier,找到End Of Line 这个选项设置为 auto 3、配置.prettierrc文件, 在文件对象中添加下面的配置即可,然后重启vscode
"endOfLine": "auto" 4、Crtl+S保存文件 按Crtl+S保存当前报错文件,eslint错误消失,不知道是什么原理,可以试试
5、修改git全局配置(最佳方案) 这个问题是因为Windows在换行的时候,同时使用了回车符CR和换行符LF,即CRLF; 而项目仓库中默认是Linux环境下提交的代码,文件默认是以LF结尾的,因此,文本文件在不同系统下创建和使用时就会出现不兼容的问题,当我用windows电脑git clone代码的时候,若我的autocrlf(在windows下安装git,该选项默认为true)为true,那么文件每行会被自动转成以CRLF结尾,若对文件不做任何修改,pre-commit执行eslint的时候就会提示你删除CR。
针对这个问题,可以对git全局配置做处理,使用下面这个命令,之后的仓库拉取就不会出现类似问题,执行git命令:
git config --global core.autocrlf false 这个方法主要是针对git的配置,如果想要当前项目不爆红,重新拉取一次仓库代码即可,git全局配置之后,你需要重新拉取代码。