目录
正则表达式之
元字符
表示次数
位置锚定
分组和其他
扩展正则表达式
grep
egrep
sed
基本用法
sed脚本格式
sed常用命令
awk
基础用法
结合sed取IP地址
awk的内置变量
REGEXP: Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符),不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符
正则表达式被很多程序和开发语言所广泛支持:vim, less,grep,sed,awk, nginx,mysql 等
主要用来匹配字符串(命令结果,文本内容),
通配符匹配文件(而且是已存在的文件)
可以使用man 7 regex手册 帮助
正则表达式之
元字符
元字符是一个或一组代替一个或多个字符的字符。
. 匹配任意单个字符,可以是一个汉字 [] 匹配指定范围内的任意单个字符,示例:[zhou] [0-9] [] [a-zA-Z] [^] 匹配指定范围外的任意单个字符,示例:[^zhou] [^a.z] a.z
其他元字符
[:alnum:]
字母和数字
[:alpha:]
代表任何英文大小写字符,亦即 A-Z, a-z
[:lower:]
小写字母,示例:[[:lower:]],相当于[a-z]
[:upper:]
大写字母
[:blank:]
空白字符(空格和制表符)
[:space:]
包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广
[:cntrl:]
不可打印的控制字符(退格、删除、警铃...)
[:digit:]
十进制数字
[:xdigit:]
十六进制数字
[:graph:]
可打印的非空白字符
[:print:]
可打印字符
[:punct:]
标点符号
\w
匹配单词构成部分,等价于[_[:alnum:]]
\W
匹配非单词构成部分,等价于[^_[:alnum:]]
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符
[root@localhost ~]#ls /etc/ |grep rc[.0-6]
#这里点代表字符
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
rc.d
rc.local
[root@localhost ~]#ls /etc/ |grep rc'\.'
#此处点代表转义
rc.d
rc.local
[root@localhost data]#touch {a..z}.txt [root@localhost data]#ls a.txt b.txt dns.sh e.txt g.txt i.txt k.txt m.txt o.txt q.txt s.txt u.txt w.txt y.txt [a..z].txt c.txt d.txt f.txt h.txt j.txt l.txt n.txt p.txt r.txt t.txt v.txt x.txt z.txt #匹配[]中任意一个字符
[root@localhost data]#ls |grep '[bin].txt'
b.txt
i.txt
n.txt
#匹配不是a-z.txt文件
[root@localhost data]#ls |grep [^a-z].txt
[a..z].txt
{a-z}.txt
{a-Z}.txt
表示次数
*
匹配前面的字符任意次,包括0次,贪婪模式:尽可能长的匹配
.*
任意长度的任意字符
\?
匹配其前面的字符出现0次或1次,即:可有可无
\+
匹配其前面的字符出现最少1次,即:肯定有且 >=1 次
\{n\}
匹配前面的字符n次
\{m,n\}
匹配前面的字符至少m次,至多n次
\{,n\}
匹配前面的字符至多n次,<=n
\{n,\}
匹配前面的字符至少n次
##代表前面的o出现3次以上
[root@localhost data]#echo goooooogle |grep 'go\{3,\}gle'
goooooogle
#代表前面o出现2次以上4次以下
[root@localhost data]#echo google |grep 'go\{2,4\}gle'
google
#代表o匹配任意次
[root@localhost data]#echo goooooogle |grep go*gle
goooooogle
#一个以上
[root@localhost data]#echo google |grep "go\+gle"
google
位置锚定
^
行首锚定, 用于模式的最左侧
$
行尾锚定,用于模式的最右侧
^PATTERN$
用于模式匹配整行 (单独一行 只有root)
^$
空行
^[[:space:]]*$
空白行
\< 或 \b
词首锚定,用于单词模式的左侧(连续的数字,字母,下划线都算单词内部)
\> 或 \b
词尾锚定,用于单词模式的右侧
\
匹配整个单词
#过滤出不是已#号开头的非空行
[root@localhost data]#grep "^[^#]" /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3485d403-cf78-4d1b-92c9-b6025ccacf17 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
#过滤非空行
[root@localhost data]#grep "^[^$]" /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Oct 7 02:46:55 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3485d403-cf78-4d1b-92c9-b6025ccacf17 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
分组和其他
分组:() 将多个字符捆绑在一起,当作一个整体处理,如:(root)+
后向引用:分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1, \2, \3, ...,\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符
# 分组,分成三组和分成俩组
#提取ip地址(匹配数字)
[root@localhost data]#ifconfig ens33 |grep netmask|grep -Eo '([0-9]{1,3}.){4}'
192.168.37.102
255.255.255.0
192.168.37.255
[root@localhost data]#ifconfig ens33|grep netmask|grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{3\}'|head -1
192.168.37.102
扩展正则表达式
表示次数
* 匹配前面字符任意次
? 0或1次
+ 1次或多次
{n} 匹配n次
{m,n} 至少m,至多n次
{,n} #匹配前面的字符至多n次,<=n,n可以为0
{n,} #匹配前面的字符至少n次,<=n,n可以为0
#匹配oo字符和出现g的次数
#匹配oo
表示分组
() 分组
分组:() 将多个字符捆绑在一起,当作一个整体处理,如:\(root\)+
后向引用:\1, \2, ...
| 或者
a|b #a或b
C|cat #C或cat
(C|c)at #Cat或cat
看了扩展正则表达式是不是可以忘记普通正则表达式了,还是扩展正则表达式简单一点
grep
grep [选项]… 查找条件 目标文件
-i:查找时忽略大小写
-v:反向查找,输出与查找条件不相符的行
-o 只显示匹配项
-f 对比两个文件的相同行
-c 匹配的行数
egrep
egrep命令作用是在文件内查找指定的字符串。
egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。
egrep命令为 grep 的扩充版本, 改良了许多传统 grep 不能或不便的操作. 比方说: grep之下不支持 ? 与 + 这两种modifier, 但egrep可以。 grep不支持 a|b 或 (abc|xyz) 这类”或一”比对, 但egrep可以。 grep在处理 {n,m} 时, 需用 \{ 与 \} 处理, 但egrep则不需要。
常用参数:
-i
搜索时,忽略大小写
-c
只输出匹配行的数量
-l
只列出符合匹配的文件名,不列出具体的匹配行
-n
列出所有的匹配行,显示行号
-h
查询多文件时不显示文件名
-s
不显示不存在、没有匹配文本的错误信息
-v
显示不包含匹配文本的所有行
-w
匹配整词
-x
匹配整行
-r
递归搜索
-q
禁止输出任何结果,已退出状态表示搜索是否成功
-b
打印匹配行距文件头部的偏移量,以字节为单位
-o
与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
sed
sed 即 Stream EDitor,和 vi 不同,sed是行编辑器
Sed是从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行,直到最后一行。每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(PatternSpace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。一次处理一行的设计模式使得sed性能很高,sed在读取大文件时不会出现卡顿的现象。如果使用vi命令打开几十M上百M的文件,明显会出现有卡顿的现象,这是因为vi命令打开文件是一次性将文件加载到内存,然后再打开。Sed就避免了这种情况,一行一行的处理,打开速度非常快,执行速度也很快
基本用法
sed [option]... 'script;script;...' [input file...] 选项 自身脚本语法 支持标准输入管道
默认将输入结果输出,回车即可
[root@localhost data]#sed " " aa aa aa aa vv vv b b ffgd ffgd
查看文件内容,也支持重定向
sed脚本格式
'地址+命令'组成 1. 不给地址 :对全文进行处理(比如行号) 2. 单地址 : #:指定的行,$:最后一行 /pattern/:被此处模式所能够匹配到的每一行 3. 地址范围 : #,# #从#行到第#行,3,6 从第3行到第6行 #,+# #从#行到+#行,3,+4 表示从3行到第7行 /pat1/,/pat2/ 第一个正则表达式和第二个正则表达式之间的行 #,/pat/ 从#号行为开始找到 pat为止 /pat/,# 找到#号个pat为止 4. 步进: ~ 1~2 奇数行 2~2 偶数行
命令
p
打印当前模式空间内容,追加到默认输出之后
Ip
忽略大小写输出
d
删除模式空间匹配的行,并立即启用下一轮循环
a [\]text
在指定行后面追加文本,支持使用\n实现多行追加
i [\]text
在行前面插入文本
c [\]text
替换行为单行或多行文本
w file
保存模式匹配的行至指定文件
r file
读取指定文件的文本至模式空间中匹配到的行后
=
为模式空间中的行打印行号
!
模式空间中匹配行取反处理
q
结束或退出sed
sed自带打印功能,比如10排序,p又打印一边
[root@localhost data]#seq 10 |sed 'p' 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10
#-n关闭打印功能
[root@localhost data]#seq 10 |sed -n 'p' 1 2 3 4 5 6 7 8 9 10
#直接显示第二行内容
[root@localhost data]#ifconfig ens33 |sed -n '2p' inet 192.168.37.102 netmask 255.255.255.0 broadcast 192.168.37.255
#还可以截取第几行到第几行
[root@localhost data]#cat xiao.txt |sed -n '3,6p'
\jji kl#3往后加6行
[root@localhost data]#cat xiao.txt |sed -n '3,+6p'
\jji kl
love #奇数偶数表示
[root@localhost data]#seq 10 |sed -n '1~2p' 1 3 5 7 9 [root@localhost data]#seq 10 |sed -n '0~2p' 2 4 6 8 10 #d选项删除
[root@localhost data]#seq 10 |sed '3d' 1 2 4 5 6 7 8 9 10 [root@localhost data]#seq 10 |sed '3,5d' 1 2 6 7 8 9 10 #还可以直接替换,c,a是追加
[root@localhost data]#seq 10 |sed '2ccc' 1 cc 3 4 5 6 7 8 9 10
[root@localhost data]#seq 10 |sed '2aa' 1 2 a 3 4 5 6 7 8 9 10
sed常用命令
参数说明 :
-e
你可能感兴趣的:(运维,正则表达式,前端,后端)
未来运维,绝绝AI 必备
AI_运维_攻城狮
ai 运维 人工智能
在当今数字化时代,运维工作对于企业的稳定运行至关重要。随着科技的不断进步,人工智能(AI)和自动化技术正逐渐改变着运维行业的面貌。本文将分析运维行业的未来发展方向,探讨人工智能在运维中的应用前景、自动化运维的发展趋势,并对未来的运维工作模式和技能需求进行预测和分析,以帮助读者更好地规划自己的职业发展。一、运维行业现状目前,运维工作主要包括服务器管理、网络管理、数据库管理、应用程序监控等方面。运维工
博睿数据出席GOPS全球运维大会,深度解析如何让大模型真正“懂”运维!
运维
2025年6月27日-28日,第二十六届GOPS全球运维大会暨研运数智化技术峰会在北京盛大启幕。全球近千位行业专家齐聚一堂,围绕大模型、DevOps、SRE、可观测性等核心议题展开深度探讨。本届峰会专设可观测性、金融行业、SRE稳定性等特色专场,聚焦IT技术领域的最新发展,共探企业级最佳实践。作为国内应用性能管理及可观测性领域的领导者,博睿数据受邀出席本次大会。产品总监贺安辉亮相“可观测性专场”,
前端领域 Vite 与 Webpack 的深度对比
前端视界
前端 webpack node.js ai
前端领域Vite与Webpack的深度对比关键词:Vite、Webpack、前端构建工具、模块打包、开发体验、性能优化、ESModules摘要:本文深入对比前端领域两大构建工具Vite和Webpack的核心原理、架构设计和使用场景。通过分析它们的底层机制、开发体验、构建流程和性能表现,帮助开发者理解如何在不同项目需求下做出合理选择。文章包含详细的技术原理图解、实际项目对比示例和未来发展趋势分析。背
工业缺陷检测深度学习方法综述
2301_80355452
深度学习 人工智能
其被广泛地应用于无人质检、智能巡检、质量控制等各种生产与运维场景中.一.工业缺陷检测的背景与特点工业缺陷检测面临着诸多难点:缺陷样本匮乏、缺陷的可视性低、形状不规则、类型未知等,直接使用异常检测方法难以满足工业缺陷检测的任务需求.二.介绍工业缺陷检测问题的定义,分析研究难点与挑战异常:点异常、上下文异常和集群异常。点异常:又称为离群值(outliers)[9],描述数值上偏离正常样本的独立数据。与
网络安全运维与攻防演练综合实训室解决方案
武汉唯众智创
web安全 运维 安全 网络安全运维与攻防演练实训室 网络安全运维 攻防演练实训室 网络安全运维与攻防演练
一、前言在数字化浪潮席卷全球的当下,网络已深度融入社会的各个层面,成为推动经济发展、社会进步和科技创新的关键力量。从日常生活中的移动支付、社交互动,到企业运营中的数据管理、业务拓展,再到国家关键基础设施的运行,网络的身影无处不在。在日常生活中,我们频繁地在网络上进行各种活动,如网上购物、移动支付、社交互动等,这些活动都涉及到个人敏感信息的传输和存储。一旦这些信息被泄露,个人可能面临财产损失、身份被
纯前端本地文件管理器(VSCode风格)(浏览器对本地文件增删改查)
与鱼有约
前端 vscode ide
纯前端本地文件管理器(VSCode风格)(浏览器对本地文件增删改查)简介本项目为一个纯前端实现的本地文件管理器网页(index.html),可在Chrome/Edge浏览器中直接打开,具备类似VSCode的本地文件夹操作体验。无需后端,所有功能均在浏览器端实现。主要功能选择本地文件夹用户点击左上角文件夹按钮,授权后可浏览和操作本地文件夹内容。文件树展示以树形结构展示所选文件夹下的所有文件和子文件夹
Java 正则表达式
你都会上树?
Java java 正则表达式
基本语法元字符转义号\\限定符符号含义*指定前面内容可以出现0次及以上+指定前面内容可以出现1次及以上。至少会出现一次?指定前面内容可以出现0次或一次{n}指定前面的内容只能出现n次{n,}指定前面内容至少出现n次{n,m}指定前面内容至少出现n次但不多于m次选择匹配符符号解释|逻辑或的含义,符号两边内容有一个成立即可|分组组合和反向引用符分组常用分组构造形式说明(pattern)非命名捕获。捕获
数据结构:链表和二叉树的应用和算法设计
鱼弦
数据结构 链表
鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)链表:链表是一种常见的线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表的优势在于可以动态添加和删除元素,不需要预先分配固定大小的内存空间。链表常用于
python自动化运维
ZZH1120KQ
运维 python 自动化
1系统性能信息模块psutilpsutl是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。#这是一个外部模块,需要下载,通过指定源下载pip3installpsutil-ihttps://mirrors.aliyun.com/pypi/simple/importpsutil1.1内存信息memor
[特殊字符] Windows 查看端口占用及服务来源教程(以 9018 端口为例)
下面是一份详细的Windows系统中排查某端口(如9018)被哪个程序占用并确定其具体服务来源的完整教程,适合用于日常运维、开发部署排障等场景。Windows查看端口占用及服务来源教程(以9018端口为例)✅一、查看端口被哪个进程(PID)占用在命令行中执行:netstat-ano|findstr:9018输出示例:TCP0.0.0.0:90180.0.0.0:0LISTENING16044TCP
WHAT - TTF 和 OTF 字体格式
@PHARAOH
前端 javascript 字体
文章目录基础定义核心区别轮廓技术(绘制字体的“骨架”)功能扩展兼容性文件大小如何选择?一个小贴士更多关于前端开发中字体介绍请阅读:WHAT-前端开发中的字体基础定义格式全称简介TTFTrueTypeFont由苹果和微软在1980年代联合开发的字体格式。OTFOpenTypeFontAdobe和微软开发的更现代的字体格式,基于TTF或PostScript。核心区别轮廓技术(绘制字体的“骨架”)TTF
Vue3 - 详解播放m3u8视频流+HLS拉流推流完整方案,vue3如何播放m3u8格式文件实时视频播放教程(流媒体播放、直播视频流、实时摄像头监控视频流对接、后端服务器切片分片传输视频流边下边播)
王二红
+ Vue3 开发问题汇总 vue3 m3u8 hls vue3播放m3u8视频流教程 vue播放m3u8文件 vue3直播视频流播放 摄像头实时监控画面视频流
前言如果您需要Vue2版本,请访问这篇文章。在vue3(PC端+移动端H5)项目开发中,实现m3u8+hls视频流播放、实时流媒体播放高性能无延迟方案及源码,vue3播放3mu8文件/直播视频流,实时流媒体播放需求、做直播实时传输播放、摄像头监控画面视频流、服务器后端视频切片分段返给前端+边下边播等需求,解决前端网页播放视频流卡顿加载慢、无法载入黑屏、播放不流畅、CORS跨域、安卓苹果浏览器兼容等
Spring Boot + ONNX Runtime模型部署
文章目录前言一、模型导出二、Java推理引擎选型三、SpringBoot实战3.1核心架构3.2分层架构详细实现1.Controller层-请求入口2.Service层-核心业务流程3.关键组件深度优化四、云原生部署:Docker+Kubernetes总结前言在AI浪潮席卷全球的今天,Java工程师如何守住后端主战场?模型部署正是Java工程师融入AI领域的方向。为什么Java工程师必须掌握模型部
JavaScript-异步编程
斜杠青年C
javascript 开发语言 前端
一、日常前端开发使用的异步编程方法回调函数事件监听PromiseGeneratorasync/await二、同步编程和异步编程的区别1、什么是同步同步是执行某段代码时,在该代码没有得到返回结果前,其他代码是无法执行的,但是一旦拿到返回值,就可以执行其他的代码2、什么是异步异步就是当某段代码执行异步过程调用发出后,这段代码不会立刻得到返回结果,而是在异步调用发出之后,一般通过回调函数处理这个调用之后
c++基于BP神经网络的手写数字识别
鱼弦
机器学习设计类系统 开发语言 人工智能
鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于BP(Backpropagation)神经网络的手写数字识别是一种常见的机器学习应用。下面我将为您提供原理的详细解释、使用场景的解释以及一些相关的文献材料链接。原理详细解释
Nginx 运维实战与 HTML 静态网页开发全攻略
一、技术背景:静态站点的黄金时代1.静态网页的复兴浪潮性能优势:对比动态站点,静态资源响应速度提升60%+,首屏加载时间平均缩短1.2秒(基于WebPageTest实测数据)技术演进:Jamstack架构普及(2024年市场占有率达37%),Hugo、Nuxt.js等静态站点生成器(SSG)推动企业级应用典型场景:企业官网(占比78%)、产品着陆页(转化率提升23%)、博客系统(WordPress
前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
亿只小灿灿
前端 OpenCV 前端 计算机视觉 opencv
一、OpenCV.js简介与环境搭建OpenCV(OpenSourceComputerVisionLibrary)是一个强大的计算机视觉库,广泛应用于图像和视频处理领域。传统上,OpenCV主要在后端使用Python或C++等语言。但随着WebAssembly(Wasm)技术的发展,OpenCV也有了JavaScript版本——OpenCV.js,它可以直接在浏览器中高效运行,为前端开发者提供了前
Docker进阶命令与参数——AI教你学Docker
LuckyLay
AI教你学Docker docker eureka 容器
2.1进阶命令与参数Docker在日常运维和开发中,除了常用的run、ps、logs等基础命令,还提供了一些功能强大、实用性很高的进阶命令。这些命令可用于容器信息洞察、变更管理、文件操作与资源动态调整等场景。一、dockerinspect作用深入查看容器、镜像、网络、卷等对象的详细元数据(JSON格式)。包含环境变量、挂载点、网络配置、进程信息、资源限制等丰富信息。用法dockerinspect常
pytorch底层原理学习--PyTorch 架构梳理
xinxiangwangzhi_
深度学习 pytorch 架构 人工智能
文章目录PyTorch完整架构流程图关键组件详解完整执行流程示例PyTorch架构梳理PyTorch完整架构流程图硬件层后端层C++部署层核心引擎(libtorchC++)绑定层Python层加载调用训练模式编译模式推理模式生成CPUGPUCPUKernelsCUDAKernelsC++代码torch::jit::load('model.pt')module.forward(inputs)libt
数据库设计体系化知识(后端+前端+AI+三高场景+大厂面试+简历包装)
@一叶之秋
Java架构师学习路线 数据库 前端 人工智能 java
数据库设计体系化知识(AI融合版:后端+前端+AI+三高场景+大厂面试+简历包装)一、数据库设计基础:范式理论+AI辅助建模1.核心知识(AI赋能表结构设计)(1)三大范式+AI校验规则落地:用AI代码生成工具(如Copilot)自动校验表结构是否符合范式。→示例:输入“设计学生-班级表”,AI生成符合3NF的表结构,并标注冗余字段风险。后端协同:Java后端通过SchemaValidator工具
DevOps 完整资料与面试突击图谱
@一叶之秋
Java架构师学习路线 devops 面试 运维
DevOps完整资料与面试突击图谱一、DevOps核心概念1.DevOps的目标与价值DevOps是开发(Development)与运维(Operations)之间的协作方法,旨在通过持续的集成与部署(CI/CD)来提高软件开发和运维的效率。目标:提高软件交付速度:通过自动化构建、测试、部署。提升系统稳定性:通过持续监控、日志追踪、自动化回滚等保障系统高可用。增强团队协作:开发、运维、测试、运维团
推荐使用:webpack的高效EJS模板加载器 —— ejs-compiled-loader
雷柏烁
推荐使用:webpack的高效EJS模板加载器——ejs-compiled-loaderejs-compiled-loaderEJSloaderforwebpack(withoutfrontenddependencies)项目地址:https://gitcode.com/gh_mirrors/ej/ejs-compiled-loader在前端开发的浩瀚星空中,高效的模板引擎和构建工具是构建高性能应
前端面试题整理-场景设计题
C_greenbird
前端学习 前端 javascript css
1.如何使用css画一个三角形借助border实现,在width和height都为0时,设置border,便会呈现三角形。想要哪个方向的三角形,设置其他三边为透明即可。同时,可以通过调整不同边的宽度,来调整三角形的高度和宽度。三角符号/*记忆口诀:盒子宽高均为零,三面边框皆透明。*/div:after{position:absolute;width:0;height:0;content:"";bo
微信小程序|流浪动物救助小程序的设计与实现
qq_469603589
微信小程序 小程序 微信小程序
作者主页:编程指南针作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助收藏点赞不迷路关注作者有好处文末获取源码项目编号:L-BS-XZBS-30一,环境介绍语言环境:Java:jdk1
Kafka日常运维命令总结
我科绝伦(Huanhuan Zhou)
kafka 运维 分布式
一、集群管理前台启动Brokerbin/kafka-server-start.sh/server.properties关闭方式:Ctrl+C后台启动Brokerbin/kafka-server-start.sh-daemon/server.properties关闭Brokerbin/kafka-server-stop.sh二、Topic管理操作命令创建Topicbin/kafka-topics.s
前端 React.js 项目的性能优化的成功案例分析
前端视界
前端艺匠馆 前端 react.js 性能优化 ai
前端React.js项目的性能优化的成功案例分析关键词:React.js性能优化、代码拆分与懒加载、虚拟列表与长列表优化、Webpack深度调优、Fiber架构实践、SSR与SSG落地、React.memo与useCallback最佳实践摘要:本文通过三个真实企业级React项目的性能优化案例,系统解析从性能瓶颈诊断到优化策略落地的完整流程。结合React核心原理(如Fiber架构、虚拟DOMdi
边缘计算与 CDN 融合技术实践教程
快快网络-三七
云计算优化 边缘计算 人工智能
目录前言一、核心技术原理与架构设计1.1边缘计算与CDN协同架构1.2智能调度算法二、数据同步与一致性实现2.1边缘节点数据缓存机制2.2一致性哈希算法应用三、典型应用场景实践3.1实时视频直播优化3.2物联网数据处理四、部署与运维要点4.1容器化部署4.2监控与告警五、未来技术演进方向总结前言在互联网流量爆发式增长、低延迟应用场景不断涌现的背景下,边缘计算与CDN的融合已成为提升网络性能的核心技
【手写前端面试题01】防抖和节流
全栈前端老曹
javascript 前端 javascript 学习 防抖 节流
《手写防抖和节流:从“打工人”到“时间管理大师”》一、本质理解(别被术语吓到)防抖(debounce)是什么?玩游戏看60秒广告只需要完整看一次就行了,退出去一次重新60秒,别一直退✅核心思想:在事件被触发后,等待一段时间,如果这段时间内没有再次触发,才执行。节流(throttle)又是什么?闪现CD:不管多急,都要等冷却好才能再次使用✅核心思想:多次触发→只按固定频率执行,在一定时间内只允许执行
python爬虫爬百度云盘的资源
oaa608868
百度云 爬虫 python
最近百度云盘不知道为啥不提供资源检索,正好最近看了一下python,正好来练练手,写歌爬虫爬一下百度云盘的资源。分析了一下百度云盘的网友源码和js文件,里面有大量ajax的东西,利用json传输数据,前端显示。话说,这样数据爬去就方便多了,也不要用scrapy啥的,直接解析json数据就好。分析js文件提炼了下面三个链接:URL_SHARE='http://yun.baidu.com/pclo
大学专业科普 | 计算机应用、视觉与算法
鸭鸭鸭进京赶烤
计算机应用
一、专业概述计算机应用专业是一门实践性很强的学科,专注于将计算机技术转化为实际应用,服务于各个行业和领域,为社会的数字化转型提供人才支撑。二、课程设置专业基础课程:包括计算机组成原理、操作系统、数据结构、计算机网络等,为学生构建坚实的理论基础。专业核心课程:聚焦于程序设计语言(如C、C++、Java、Python等)、数据库原理与应用、软件工程、Web前端开发等,使学生具备开发各类软件系统的能力。
SQL的各种连接查询
xieke90
UNION ALL UNION 外连接 内连接 JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
java编程思想--复用类
百合不是茶
java 继承 代理 组合 final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
[开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
生活没有安全感
小桔子
生活 孤独 安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
JS的undefined与null的实例
bijian1013
JavaScript JavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
TDD实践(一)
bijian1013
java 敏捷 TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
[Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
jdk环境变量配置
byalias
java jdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
hive DDL语法汇总
daizj
hive 修改列 DDL 修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
为何外键不再推荐使用
hugh.wang
mysql DB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
领域驱动设计
julyflame
VO DAO 设计模式 DTO po
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
单例设计模式
hm4123660
java Singleton 单例设计模式 懒汉式 饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
logback
zhb8015
log logback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
spark storm zookeeper PARALLELISM processing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
spring-master-slave-commondao
王新春
DAO spring dataSource slave master
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数