1. 计算机基础 1.1 计算机组成 1.2 数据存储(重点) 计算机内部使用二进制 0 和 1来表示数据。
所有数据,包括文件、图片等最终都是以二进制数据(0 和 1)的形式存放在硬盘中的。
所有程序,包括操作系统,本质都是各种数据,也以二进制数据的形式存放在硬盘中。平时我们所说的安装软件,其实就是把程序文件复制到硬盘中。
硬盘、内存都是保存的二进制数据。
1.3 数据存储单位 大小关系:Bit < Byte < KB < MB < GB < TB <..... 位(Bit): 1bit 可以保存一个 0 或者 1 (最小的存储单位)
字节(Byte):1B = 8b
千字节(KB):1KB = 1024B
兆字节(MB):1MB = 1024KB
吉字节(GB): 1GB = 1024MB
太字节(TB): 1TB = 1024GB
1.4 程序运行(重点) 计算机运行软件的过程:
打开某个程序时,先从硬盘中把程序的代码加载到内存中
CPU执行内存中的代码
注意:之所以要内存的一个重要原因,是因为cpu运行太快了,如果只从硬盘中读数据,会浪费cpu性能,所以,才使用存取速度更快的内存来保存运行时的数据。(内存是电,硬盘是机械)
2. 编程语言 2.1 编程 编程:
就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机程序:
就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
2.2 计算机语言 计算机语言指用于人与计算机之间通讯的语言,它是人与计算机之间传递信息的媒介。
返回:SQLite—系列文章目录 上一篇:SQLiteC/C++接口详细介绍sqlite3_stmt类(八) 下一篇: SQLiteC/C++接口详细介绍sqlite3_stmt类(十) 33、sqlite3_column_table_name 函数 `sqlite3_column_table_name` 用于返回结果集中指定列所属的表的名称。如果查询中列使用了 `AS` 语句为列指定了别名,则该函数返回的是别名指定的表的名称,而不是原始表的名称。返回值是UTF-8编码的字符串。
下面是 `sqlite3_column_table_name` 函数的详细原型:
const char *sqlite3_column_table_name( sqlite3_stmt*, /* Prepared statement */ int N /* Index of the column */ ); 函数参数说明:
- 第一个参数是sqlite3_stmt类型的已编译SQL语句对象,这个对象里面包含了查询结果。
- 第二个参数是int类型的,表示查询结果中指定的列索引,从0开始计数。
返回值是char *类型的指针,指向指定列所在的表名称的UTF-8编码的字符串。
下面是 `sqlite3_column_table_name` 函数的例子:
sqlite3_stmt *stmt; const char *query = "SELECT u.name, p.name AS product_name FROM users u JOIN products p ON u.id=p.user_id WHERE u.id=?"; sqlite3_prepare_v2(db, query, -1, &stmt, NULL); sqlite3_bind_int(stmt, 1, 1); int columnCount = sqlite3_column_count(stmt); for (int i = 0; i < columnCount; i++) { const char *tableName = sqlite3_column_table_name(stmt, i); printf("
1、系统要求 Ubuntu 16.04/18.04/20.04 CARLA 为 16.04 之前的 Ubuntu 版本提供支持。然而,Unreal Engine需要合适的编译器才能正常工作。 CARLA 服务器至少需要 6 GB GPU,但建议使用 8 GB。
2、安装NIVDIA驱动 BISO设置
开机F12,进入BIOS。
设置安全启动为关闭 disable模式
英伟达官网下载驱动
英文地址:Official Advanced Driver Search | NVIDIA
中文地址:官方驱动 | NVIDIA
更新软件列表和安装必要软件、依赖
sudo apt-get update sudo apt-get install g++ sudo apt-get install gcc sudo apt-get install make 禁用默认驱动
在终端输入命令打开blacklist.conf文件。 sudo vim /etc/modprobe.d/blacklist.conf 在打开的文件末尾输入并保存: blacklist nouveau options nouveau modeset=0 最后更新一下系统的initramfs镜像文件,在终端中输入: sudo update-initramfs -u 完成以上步骤后,重启电脑。 然后在终端中输入: lsmod | grep nouveau 如果没有输出的话就说明禁用了nouveau。 禁用X-window服务
问题描述 windows系统打开README.md文件,每次都需要右键选择notepad打开,感觉很麻烦,然后就把README.md文件打开方式默认选择了notepad,这样每次双击就能打开,感觉很方便。
然后某天使用MyEclipse时,双击README.md文件居然没有在右侧打开,而是跳转到了notepad打开,突然想起之前在windows设置了README.md文件的默认打开方式,猜测大概是这个原因导致的。
解决方案 方式一、在MyEclipse中设置默认打开方式 1、Window ==> Preferences ==> General ==> Editors ==> File Associations 这里我们可以看到是没有*.md文件的
2、 点击add添加*.md 3、 点击*.md,设置默认值 输入text找到Text Editor 把Text Editor 设为默认值 方式二、在Windows中取消文件默认打开方式 1、调用注册表窗口 win+R快捷键在运行窗口输入regedit
2、注册表左侧导航区找到HKEY_CLASSES_ROOT 在其子节点找到要取消的文件后缀后右击删除
3、返回导航区,找到HKEY_CURRENT_USER节点 然后依次打开Software→Microsoft →windows→CurrentVersion→Explorer→FileExts,在FileExts节点下找到要删除的文件后缀,右键删除
最后重启电脑完成。
Android Debug Bridge (ADB) 是一个多功能命令行工具,它允许你与连接的 Android 设备或虚拟设备进行通信。ADB 是 Android SDK 的一部分,广泛用于开发和调试。以下是一些常用的 ADB 命令及其用法:
基础命令 启动ADB服务器: adb start-server 停止ADB服务器: adb kill-server 查看连接的设备/模拟器列表: adb devices 查看ADB版本: adb version 设备操作 安装应用: adb install 路径/到/你的/app.apk 卸载应用: adb uninstall 应用的包名 清除应用数据(重置应用): adb shell pm clear 应用的包名 强制停止应用: adb shell am force-stop 应用的包名 启动应用: adb shell am start -n 包名/活动名 拷贝文件到设备: adb push 本地文件路径 /设备上的路径 从设备拷贝文件到本地: adb pull /设备上的文件路径 本地路径 调试和日志 查看实时系统日志: adb logcat 抓取设备屏幕截图: adb shell screencap -p /sdcard/screenshot.
该数据为中国逐月平均温度数据,空间分辨率为0.0083333°(约1km),时间为1950年1月-2023年6月。该数据集是根据全国2472个气象观测点数据进行插值获取,验证结果可信。本数据集包含的地理空间范围是全国主要陆地(包含港澳台地区),不含南海岛礁等区域。数据坐标系统使用WGS84。自2022年起,本数据集每月月初更新前一月数据。 数据格式为tiff格式,单位为℃。例如Tmean2022 (12)代表2022年12月平均气温。
数据时间:1901至今
数据空间位置:全国
数据格式:tiff
数据空间分辨率:1km
数据坐标系:WGS 1984
欢迎大家关注、收藏和留言,如果您想要什么数据,可以在搜索网址地球资源数据云,我会分享更多的好的数据给大家~~~~~
以上是关于中国1KM分辨率月平均气温数据集1950-2023 详情,欢迎小伙伴们一起学习和分享。
城市建成区的提取是近年来遥感应用领域研究的热点内容。传统的研究方法主要包括都市化指数(urban index, UI)、归一化建筑指数(normalized difference built-up index, NDBI)、归一化植被指数(normalized difference vegetation index, NDVI)等方法。这些指数不仅可以单独运用,也可相互结合综合运用,能够得到更好的效果。传统方法由于是通过地物的光谱特征提取关键信息,经常出现同谱异物或者同物异谱的现象,从而使该类方法很不稳定,在识别地物时容易存在较大误差。 全国城市建成区空间分布数据(1972-2023年),利用Google Earth Engine平台,基于Landsat系列遥感影像提取了1972–2023年城市不透水面,后经过不透水面聚集密度计算方法计算了不透水面聚集密度,通过阈值划分提取了城市建成区,并设置了建成区面积阈值,去除了噪点,获取了全国城市建成区空间分布数据集。该提取能准确刻画城市形态,提取精度高,保持了建成区的完整性。 数据集包括41期数据,1972年,1978年,1985-2023年逐年,分辨率为30米,有栅格和矢量两种格式。 该数据集对于深入理解城市化进程、优化城市规划和推进环境保护具有极高的价值。
数据时间:1972年至今
数据空间位置:全国
数据格式:tif
数据空间分辨率:1:10万
数据坐标系:WGS1984和GCS_Krasovsky_1940
欢迎大家关注、收藏和留言,如果您想要什么数据,可以在搜索网址地球资源数据云,我会分享更多的好的数据给大家~~~~~
以上是关于中国30米分辨率城市建成区数据集 (1972-2023年)详情,欢迎小伙伴们一起学习和分享。
在SinoDB数据库的一个实例中,存在多个数据库,分为系统数据库和用户数据库。系统数据库在实例初始化时自动创建,存放实例级别上的监控信息、数据字典信息,用户能够访问而不能修改这些数据。用户数据库由用户根据需要创建,存放用户数据以及和该数据库有关的数据字典信息。SinoDB数据库服务器主要有以下系统数据库:
sysmaster 数据库服务器在初始化磁盘空间时创建sysmaster数据库,数据库服务器还会在转换和还原时重建 sysmaster 数据库。sysmaster 数据库包含系统监视接口(SMI)表。SMI 表提供有关数据库服务器状态的信息,可以通过查询这些表以识别处理瓶颈、确定资源使用状况、跟踪会话或数据库服务器活动等等。
sysutils 数据库服务器将在磁盘初始化、转换或还原期间删除并重新创建 sysutils 数据库。ON-Bar 将在 sysutils 数据库中存储备份与还原信息。该数据库创建完成后,在消息日志中会显示消息 sysutils database built successfully信息。
sysuser 数据库服务器将在初始化期间创建 sysuser 数据库。sysuser 数据库用于 SinoDB服务器与服务器通信中的可插式认证模块 (PAM) 认证。
sysadmin 数据库服务器在初始化磁盘空间时创建sysadmin 数据库。sysadmin 数据库提供 SinoDB中的远程管理与调度程序 API 功能组件。
syscdr 在使用 Enterprise Replication 功能组件时才创建syscdr数据库。在syscdr库的表中存储包含一致性检查和同步操作的进度信息。
更多信息内容请移步星瑞格官方社区,期待大家加入
Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.https://forum.sinoregal.cn/
在 SQL 中,增删改查(CRUD)操作是数据库管理的基础,分别对应于创建(Create)、读取(Read)、更新(Update)和删除(Delete)。以下是每种操作的基本 SQL 语句:
1. 增(Create)- 插入数据 使用 INSERT INTO 语句向表中添加新数据。
插入完整的一行数据:
INSERT INTO 表名 VALUES (值1, 值2, ...); 指定列进行插入:
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...); 2. 查(Read)- 查询数据 使用 SELECT 语句从表中读取数据。
查询表中的所有数据: SELECT * FROM 表名; 查询表中的特定列: SELECT 列1, 列2 FROM 表名; 带条件的查询: SELECT 列1, 列2 FROM 表名 WHERE 条件; 3. 改(Update)- 更新数据 使用 UPDATE 语句修改表中的数据。
更新表中的数据:
UPDATE 表名 SET 列1 = 值1, 列2 = 值2, .
最近由于某个偶然的事件,突然对Docker、Github自动化部署产生了浓厚的兴趣,开始研究Docker部署Nextjs应用!
NextJS 是 vercel 创建的 JavaScript 框架。它允许你使用 React 构建无服务器 API、服务器端渲染和静态 Web 应用程序。 Vercel 提供与 GitHub、GitLab 和 BitHub 的开箱即用 CI/CD 集成。
但有时,我们希望将 NextJS 应用程序托管在 vercel 之外的其他平台上,例如 AWS、 Azure。
在本博客中,我们将了解如何使用 GitHub Workflow 和 Docker 构建 NextJS 应用程序。
设置 NextJS 应用程序 NextJS 建议使用 create-next-app ,它会自动为你设置所有内容。要创建项目,请运行:
npx create-next-app # or yarn create next-app 安装完成后,按照说明启动开发服务器。尝试编辑 pages/index.js 并在浏览器上查看结果。
设置 Dockerfile 我们将把 NextJS 应用程序打包到 Docker 镜像中。使用 Docker 的原因是当我们想要运行 NextJS 服务器时,我们不需要安装任何额外的软件包,如 nodejs、pm2 等。
Docker 会将所有内容捆绑在一起,并为我们提供可以在任何地方运行的镜像。以下是我的 NextJS 应用程序的示例 Dockerfile。
基于SSM+Jsp+Mysql的高校四六级报名管理系统
基于SSM+Jsp+Mysql的高校四六级报名管理系统的设计与实现
开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示
前台首页
登录界面
个人中心
报名界面
学生管理
报名管理
报名记录
准考记录
身份认证
考试资讯
客服聊天
摘要
本文主要论述了如何使用JAVA语言开发一个高校四六级报名管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述高校四六级报名管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
高校四六级报名管理系统的主要使用者分为管理员和学生,实现功能包括管理员:个人中心、学生管理、四六级报名管理、报名记录管理、准考记录管理、身份证认证管理、系统管理,学生:个人中心、报名记录管理、准考记录管理、身份证认证管理,前台首页;首页、四六级报名、新闻资讯、我的、跳转到后台、在线客服等功能。由于本网站的功能模块设计比较全面,所以使得整个高校四六级报名管理系统信息管理的过程得以实现。
研究背景
随着网络不断的普及发展,高校四六级报名管理系统依靠网络技术的支持得到了快速的发展,首先要从学生的实际需求出发,通过了解学生的需求开发出具有针对性的高校四六级报名管理系统,利用目前网络给学生带来的方便快捷这一特点对系统进行调整,设计的系统让学生的使用起来更加方便,本系统的主要目的就是给学生带来方便与快捷,学生只要在家中就可以进行操作。同时随着电子商务的发展网上高校四六级报名管理系统已经受到广大学生的关注。
关键技术
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html)。
JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。
MYSQL数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性。
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。
系统分析
对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
系统设计
功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
系统实现
进行系统主要功能模块的界面展示。
高校四六级报名管理系统,在系统首页可以查看首页、四六级报名、新闻资讯、我的、跳转到后台、在线客服等内容。
学生登录、学生注册,在注册页面可以填写学号、密码、姓名、学院、班级、手机、邮箱、身份证等信息进行注册、登录。
管理员登录进入高校四六级报名管理系统可以查看个人中心、学生管理、四六级报名管理、报名记录管理、准考记录管理、身份证认证管理、系统管理等信息。学生管理,在学生管理页面中可以通过查看学号、姓名、学院、班级、性别、手机、邮箱、身份证、照片等内容进行修改、删除。
报名记录管理,在报名记录管理页面中可以查看考试编号、项目名称、类别、报考价格、考试时间、考试地点、学号、姓名、学院、班级、报名时间、是否审核、审核回复、是否支付等信息,并可根据需要对已有报名记录管理进行修改或删除等操作。
系统测试
高校四六级报名管理系统开发设计完成后,需要对其进行系统测试,测试的主要目的就是发现并找出系统中存在的问题,并及时的进行解决,确保系统可以正常稳定的运行下去,在进行系统测试的时候,在一定要非常的认真、仔细,切记不能粗心,不能放过一个漏洞,测试时候一定不要着急,要按照之前指定好的测试步骤一步一步进行,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样既可以节省时间而且也能确保测试的准确性,如果采用人工测试的方法就不会这么的方便,由于人工测试有很多不确定的因素,在测试过程中很可能会出现一些问题,用机器测试就不会出现任何的问题,而且机器不会疲惫会一直二等工作下去。
结论
通过对JSP技术和MYSQL数据库的简介,从硬件和软件两反面说明了高校四六级报名管理系统的设计与实现的可行性,本文结论及研究成果如下:实现了JSP与MYSQL相结合构建的高校四六级报名管理系统,我感触到学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它,一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。要想吸引更多的学生,系统的界面必须要美观、有特色、友好,功能要健全。
2024.3.19 Tuesday
目录 7.4. Feature to Query All Books7.4.1. Create BookController.java7.4.2. Write index.jsp7.4.2.1. Initial Version (To Verify Code Logic is Correct)7.4.2.2. Final Version (Query Books Feature) 7.4.3. Create Book List Page allBook.jsp7.4.3.1.Initial Version (To Verify Code Logic is Correct)7.4.3.2. Final Version (Query Books Feature) 7.4.4. Remember to configure Tomcat, import lib7.4.5. Run the Application7.4.5.1. Initial Version (To Verify Code Logic is Correct)7.4.5.2. Final Version (Query Books Feature) 7.5. Adding Book Functionality7.
说明 在Spring Boot中配置多个数据源并实现自动切换,可以通过使用AbstractRoutingDataSource和AOP(面向切面编程)的方式来实现。
下面是一个基本的步骤指南(仅供参考):
定义数据源配置 在application.properties或application.yml中定义每个数据源的连接信息。
# 主数据源 spring.datasource.primary.url=jdbc:mysql://localhost:3306/primary_db spring.datasource.primary.username=root spring.datasource.primary.password=password spring.datasource.primary.driver-class-name=com.mysql.cj.jdbc.Driver # 次数据源 spring.datasource.secondary.url=jdbc:mysql://localhost:3306/secondary_db spring.datasource.secondary.username=root spring.datasource.secondary.password=password spring.datasource.secondary.driver-class-name=com.mysql.cj.jdbc.Driver 创建数据源配置类 为每个数据源创建配置相应的DataSource。
import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; import javax.sql.DataSource; import java.util.HashMap; import java.util.Map; /** * 数据源配置 * @author zq * @since 14:32 2024/03/20 **/ @Configuration public class MoreDataSourceConfig { /** * 配置主数据源 ,用于写入数据 * @author zq * @since 14:27 2024/03/20 * @return javax.
在 TypeScript 中,as const 是一种类型断言,它将变量标记为 “常量”。使用 as const 可以告诉 TypeScript 编译器,某个对象的所有属性都是只读的,并且它们的类型是字面量类型,而不是更通用的类型,比如 string 或 number 类型。接下来,我将介绍 TypeScript 中 as const 类型断言的 5 个使用技巧。
1.确保对象的属性不可变 在下面代码中,虽然你使用 const 关键字来定义 DEFAULT_SERVER_CONFIG 常量。但你仍然可以修改该对象的属性。
const DEFAULT_SERVER_CONFIG = { host: "localhost", port: 8080 } DEFAULT_SERVER_CONFIG.port = 9090 console.log(`Server Host: ${DEFAULT_SERVER_CONFIG.port}`) // "Server Host: 9090" 如果你希望该对象的属性,是只读的不允许修改,那么你可以使用 as const 类型断言。
const DEFAULT_SERVER_CONFIG = { host: "localhost", port: 8080 } as const 之后,当你尝试修改 port 属性时,TypeScript 编译器就会提示以下错误信息:
as const 类型断言,除了支持普通对象之外,还支持嵌套对象:
☘️有一种境界虽然我知道很难很难很难达到,但是还是想跟大家分享一下我的经验,就是当一种状态我们无法改变的时候,我们就要学会与他人共存,共享当下的这片空间。分享一下我身上的两个事例。
ㅤ
☘️事例1:我每天会提前1小时到公司,然后去楼梯间读英语,有个不认识的同事刚好也是固定的时间点在那等电梯,刚开始我有点尴尬,后来慢慢调整过来,我为啥尴尬?我是在学习又不是在做坏事。我也会想,这人怎么这么烦,那么多电梯为啥非要在这等,再后来我想这本来就是公共空间,我可以在这,别人凭什么不能,而且你觉得他是对你的打扰,指不定别人也会觉得你是他的打扰,别人本来也可以安安静静地一个人在那等电梯的。后来我就学会了与他共存,所以现在每天,我在那读英语,他在那等电梯,虽然在一个很小的空间里,但彼此丝毫不影响(而且我读英语的时候是来回走动的)。
ㅤ
☘️事例2:我以前会有点失眠,然后我老公睡觉打鼾,不知道你们有没有体会过失眠的时候旁边还有个人在打鼾或者有其他噪音,那种感觉真的超级烦。我之前的处理方式是到别的房间去睡,虽然这样的方式也不错,但有时候那个房间没被子什么的我还得去找被子,多少有点麻烦。再后来我决定践行【共存】的道理之后,我就想着试试看,能不能在他打鼾的情况下我也能睡着,我就把我睡觉和他打鼾这件事放在一起,两者共存,,,然后我就真的睡着了,现在我老公打鼾我也不用去其他房间睡觉了。
ㅤ
☘️人是群居动物,生活中不可能什么都如我们所愿,难免会有与他人抢占空间的状态,当有一种状态我们无法控制的时候,先不要着急愤怒,尝试着去平复自己的情绪,尝试着去体谅别人,尝试着去想我是不是可以在这种让我不适的境况下,与不适共存,缩小我的不适区,这也是一种让自己不轻易受他人影响的境界。缩小不适区,就是扩大舒适区。有时候我们的心静下来,世界也就安静下来了。
基本操作: 初始化 (git init)
使用背景和作用:
在本地建立一个文件夹后,基于这个文件夹进行git 操作,赋予git操作本文件夹的权限 。查看当前文件夹状态(git status)
每次打开文件夹后,需要查看当前的文件夹状态,并针对操作目的进行正确的操作。查看分支 创建分支和删除分支: 应用需求: 同一个版本需要同时进行多个操作,且各个版本之间不能产生矛盾。
常用指令: git branch -v / git branch 需要创建的分支名 / git checkout 要切换到的分支名
创建分支:需要首先切换到某个分支的某个版本,然后基于此分支和版本创建一个新的分支(copy)/ git branch 新分支名。
删除分支:1.无法删除正在使用的分支——如果当前状态是处在分支1,则无法通过删除分支指令删除分支1/ git branch -d 欲删除分支名字。2. 不能夸版本删除分支—— 基于a 建立分支b, 基于分支b建立分支c, 无法在a分支环境中删除分支c (除非c 和a 已经融合), 需要切换到分支b, 然后删除分支c (2024 03 21)
分支和版本的关系: 创建第一个分支,修改并保存到本地后,如果在第一个分支上再创建第二个分支,则第二个分支就相当于第一个分支的最新版本(个人阶段性感受)。
创建远程库,提交本地库到远程库,拉取远程库到本地库 创建远程库、创建别名: 远程库和 本地库的名字最好保质一致,创建远程库的别名
远程库的名字一般是这种形式 :“https://github.com/dji-sdk/Mobile-SDK-Android-V5.git”, 进行操作的时候一般不容易引用,因此需要创建一个简短的别名(alias).
指令形式: git remote add Alias(别名) OriginName (原名)查看别名
git remote -v 提交本地库到远程库 需要切换到对应需要推送的分支下进行操作
git push alias(别名) 分支名(推送的最小单位)如何在远程库中查看上传结果:
实现 K-means 聚类从零开始涉及几个关键步骤:初始化质心、将点分配给最近的质心、根据分配更新质心,以及重复这个过程直到收敛。这里是一个基本的 Python 实现:
K-means 算法步骤:
初始化质心:从数据点中随机选择 `k` 个初始质心。将点分配给最近的质心:对于数据集中的每个点,找到最近的质心并将该点分配到那个簇中。更新质心:重新计算作为每个簇中所有点的平均值的质心。重复:重复步骤 2 和 3,直到质心不再显著变化,表明算法已经收敛。 import numpy as np def initialize_centroids(points, k): """从数据点中随机初始化质心。""" indices = np.random.choice(points.shape[0], k, replace=False) return points[indices] def closest_centroid(points, centroids): """返回一个数组,包含每个点到最近质心的索引。""" distances = np.sqrt(((points - centroids[:, np.newaxis])**2).sum(axis=2)) return np.argmin(distances, axis=0) def update_centroids(points, closest, centroids): """更新质心为每个簇分配的所有点的平均值。""" new_centroids = np.array([points[closest==k].mean(axis=0) for k in range(centroids.shape[0])]) return new_centroids def k_means(points, k, max_iters=100): """实现 K-means 算法。""" centroids = initialize_centroids(points, k) for _ in range(max_iters): closest = closest_centroid(points, centroids) new_centroids = update_centroids(points, closest, centroids) # 检查收敛 if np.
最近发现自己ubuntu10.04服务器上的apache https无法通过win11上的edge和firefox浏览器访问,但xp下的ie6和ie8没有问题。
firefox的错误提示为“此网站可能不支持TLS 1.2协议,而这是Firefox支持的最低版本”。
经过检查发现:
IE6访问https所需的版本是SSLv3。
IE8访问https所需的版本是TLS1.0。
但win11上的edge和最新版本的firefox浏览器访问https所需的版本是TLS1.2。
使apache服务器支持TLS1.2需要的服务器运行环境:
apache对应版本应>=2.2.23
OpenSSL对应版本应>=1.0.1
查看apache和openssl的版本:
apache2 -v
openssl version -a
查看openssl支持的加密算法:
openssl ciphers -v
ubuntu10.04里面能用sudo apt-get安装的最高版本是
Server version: Apache/2.2.14 (Ubuntu)
Server built: Mar 5 2015 18:11:29
OpenSSL 0.9.8k 25 Mar 2009
built on: Thu Mar 19 15:32:30 UTC 2015
所以必须自己编译新版的apache2和openssl。
系统默认的apache2和openssl都是安装在/usr下的。两者安装在同一目录下,安装文件直接混合在一起。
我们自己源码编译安装的默认是/usr/local/apache2和/usr/local/ssl,两者是分开的。
源码编译安装openssl 1.0.1f:
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1f.tar.gz --no-check-certificate
tar xf openssl-1.0.1f.tar.gz
cd openssl-1.0.1f/
./config shared
make
sudo make install
查看刚安装的openssl版本:
/usr/local/ssl/bin/openssl version -a
简介 WBCE CMS v1.5.2 /language/install.php 文件存在漏洞,攻击者可精心构造文件上传造成RCE
正文 进入靶场,直接给我干懵逼了,调整一下心态。
弱口令爆破 然后直接开始尝试路径admin结果真的访问到了登录界面,看来还是一个意外收获。然后就开始进行弱口令爆破。Admin/123456就成功爆破进去啦!
找上传点 进去后,我们就开始寻找注入点,最后发现Add-ons里面有个language,正好和我们靶场提示的/language/install.php 文件存在漏洞有联系,然后我们直接进去。
开始上传 然后就看到上传文件了。开始文件上传了。
直接上传一个<?php phpinfo();?>发现可以运行。然后就尝试上传命令执行。
然后开始上传<?php system('ls');?>查看目录
没发现flag继续查看根目录<?php system('ls /');?>
找到flag 发现flag直接查看。<?php system('cat /flag');?>
随着人工智能技术的飞速发展,越来越多的应用领域逐渐与AI技术融合。在艺术领域,AI绘画自动生成器成为了一款备受关注的产品。它利用深度学习算法,让用户通过输入关键词或描述性文本,就能在几秒钟内生成一幅独特的艺术作品。在这篇文章中,我们将探讨AI绘画自动生成器的原理、应用以及一些常见的生成器。
一、AI绘画自动生成器的原理 AI绘画自动生成器的工作原理建立在深度学习和生成对抗网络(GANs)的基础上。这个过程可以分为几个关键步骤:
数据收集:AI绘画自动生成器需要大量的艺术作品数据作为训练材料。这些数据通常来自各种艺术家的作品、博物馆的收藏、在线图库等。多样化和高质量的训练数据对于生成器的学习至关重要。
数据预处理:收集到的艺术作品需要经过预处理,以便于模型学习。预处理步骤可能包括图像的裁剪、调整大小、去噪、颜色标准化等,以确保输入数据的一致性和模型的效率。
特征提取:在这个阶段,深度学习模型,如卷积神经网络(CNN),被用来从预处理后的图像中提取关键特征。这些特征可能包括线条、颜色模式、纹理、形状等,它们是艺术作品风格和内容的关键组成部分。
模型训练:生成对抗网络(GANs)被广泛用于训练AI绘画自动生成器。GANs由两个部分组成:生成器和判别器。生成器接收随机噪声作为输入,并生成图像;判别器则判断输入的图像是真实图像还是生成图像。在训练过程中,生成器和判别器相互竞争,生成器试图生成越来越逼真的图像,而判别器则试图区分真实图像和生成图像。这种对抗性训练促使生成器学习到如何生成高质量的图像。
生成艺术作品:经过训练的生成器可以接收用户输入的提示(如关键词、风格、颜色等)作为条件,生成新的艺术作品。生成的过程是将随机噪声输入到生成器中,然后生成器根据学习到的模式和特征生成图像。
优化与迭代:生成器在生成图像后,可能需要进一步的优化和迭代,以提高图像的质量和逼真度。这个过程可能涉及对生成器参数的微调,以及对生成图像的反馈循环。
通过上述步骤,AI绘画自动生成器能够捕捉到艺术作品的关键特征,并利用这些特征生成全新的、具有艺术美感的图像。随着技术的进步,这些生成器变得越来越高效和精确,能够创造出各种风格和主题的艺术作品。
二、AI绘画自动生成器的部分应用 AI绘画自动生成器在多个领域都有广泛的应用,下面是一些主要的应用领域:
创意艺术:AI绘画自动生成器可以为艺术家和设计师提供创意灵感,帮助他们创造出独特的艺术作品。艺术家可以输入关键词或描述,AI就会根据这些输入生成相应的图像。设计辅助:设计师可以使用AI绘画自动生成器来快速生成设计草图、图案和配色方案。这可以大大提高设计效率,特别是在需要大量迭代和试验的时候。教育与培训:AI绘画自动生成器可以作为教育工具,帮助学生和初学者了解不同的艺术风格和技巧。通过互动式的方式,学生可以更好地理解和探索艺术。娱乐与游戏:在游戏开发过程中,AI绘画自动生成器可以用于生成游戏场景、角色和道具等图像内容。这可以节省时间和资源,同时也为游戏设计师提供更多的可能性。媒体传播:AI绘画自动生成器可以用于生成新闻图片、广告海报等,以吸引观众的注意力。这种技术可以为媒体公司提供更具创意和吸引力的内容。商业应用:企业可以使用AI绘画自动生成器来创造独特的品牌形象、标志和包装设计。这将有助于他们在市场上脱颖而出。艺术疗法:AI绘画自动生成器也可以用于艺术疗法,帮助患者通过创造和探索艺术来缓解压力和情绪问题。个性化礼物:人们可以使用AI绘画自动生成器来创建个性化的礼物,如为亲朋好友生成他们的肖像画或象征性的艺术作品。 三、常见的AI绘画自动生成器 DeepArt.io DeepArt.io是一个利用深度学习技术将照片转换成艺术作品的在线平台。用户只需上传一张图片,然后选择一种艺术风格,DeepArt.io就会根据用户的选择生成一幅艺术作品。该平台提供了多种不同的艺术风格,包括梵高、莫奈、毕加索等著名艺术家的风格,以及超现实主义、抽象表现主义等艺术流派。DeepArt.io的操作简单易懂,无需专业技能,任何人都可以轻松创作出独特的艺术作品。
Artbreeder Artbreeder是一个基于GANs(生成对抗网络)技术的在线AI艺术生成平台,它允许用户混合和匹配不同的图像来创造新的艺术作品。用户可以上传自己的图片或者使用平台提供的图片进行创作。Artbreeder提供了多种不同的工具和选项,用户可以通过调整图像的比例、颜色、纹理等来控制生成图像的样式。该平台的特点是生成图像具有较高的分辨率和细节程度,作品多样且富有创意,适合艺术家、设计师和创意人士等进行艺术创作和灵感探索。
GANPaint Studio GANPaint Studio是一个基于GANs(生成对抗网络)的AI绘画软件,它允许用户通过绘制简单的草图或输入关键词来引导AI生成图像。用户可以控制生成图像的风格、颜色和细节等。GANPaint Studio利用先进的深度学习技术,能够快速生成高质量的图像,为用户提供了一个便捷、有趣的绘画和创作工具。无论是对艺术感兴趣的用户,还是专业的设计师和艺术家,都可以通过GANPaint Studio发挥创造力,探索无限的绘画可能性。
Deep Dream Generator Deep Dream Generator是一个利用Google的Inception模型生成交互式梦幻图像的工具。用户可以上传图片或者输入文本描述,Deep Dream Generator通过深度学习处理这些输入,生成独特的、梦幻般的图像。这些图像通常具有扭曲、迷幻的视觉效果,色彩丰富、充满想象力。Deep Dream Generator为用户提供了一个探索机器学习创造力的平台,适合艺术创作、视觉探索和娱乐目的。
NightCafe Studio NightCafe Studio是一个强大的AI艺术创作工具,它支持多种不同的风格和选项,用户可以自定义画布大小、颜色样式和细节程度,以及选择从抽象到超现实的多种风格。无论是专业人士还是初学者,都可以通过这个平台轻松地创作出令人惊叹的艺术作品。
TensorArt TensorArt是一个利用深度学习技术为用户提供艺术创作灵感的平台。用户可以通过上传图片或输入文字描述,依托TensorArt强大的AI算法,快速生成具有独特艺术风格的作品。该平台汇集了多种艺术风格,如梵高、毕加索等著名艺术家的画风,以及抽象表现主义、超现实主义等流派。操作简单易懂,无需专业技能,TensorArt让每个人都能轻松成为艺术家。此外,TensorArt生成的作品具有高分辨率和丰富细节,适合用于展示、装饰等多种场合。
Artisto Artisto是一个利用人工智能技术进行艺术创作的手机应用程序。用户可以通过上传照片,然后选择不同的艺术风格和滤镜来生成艺术作品。Artisto支持多种不同的艺术风格,包括印象派、梵高、毕加索等著名艺术家的画风,以及素描、水彩等绘画风格。操作简单易懂,用户可以轻松地探索和尝试不同的艺术风格,将普通照片转化为独特的艺术作品。Artisto生成的作品具有高分辨率和丰富细节,适合用于展示、装饰等多种场合。
总结 AI绘画自动生成器作为一种新兴的技术,为人们提供了便捷的艺术创作工具。通过深度学习算法,用户可以轻松地生成符合自己需求的图像作品。然而,随着AI技术的不断发展,我们也要关注到由此带来的版权、伦理等问题。在享受AI技术带来的便利的同时,我们还需理性地看待其在艺术领域的应用。