Linux|centos7|yum和编译安装ImageMagick记录

一,

yum安装imagemagick

imagemagick这个软件是图像文件的处理神器,可以文字转图像以及图像的剪辑等等工作,也是配合人工智能工程的不可或缺的工具,具体的用处和特点就不在这里废话了,有兴趣的百度就行了 

本次是在centos7最小化安装基础上安装此软件,因此,首先需要配置yum源,由于centos7已经算是弃用版本,因此,yum源需要配置centos-valute

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

以上两个源是阿里云的基础源和epel源,这两个源的作用是安装ImageMagick的时候担心某些依赖没有的话,做一个补充

下面开始配置centos的过期源,过期源里包含有centos7的一些比较不常用的软件,例如这个ImageMagick

查看本机的centos版本:

[root@node2 SPECS]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

编写repo文件,文件内容如下,其它centos版本都一样,只是把版本号替换掉就可以了,此源里包含ImageMagick

[ewrew]
name=12321
baseurl=https://mirrors.aliyun.com/centos-vault/7.7.1908/os/x86_64
enable=1
gpgcheck=0

🆗,现在就可以使用yum安装ImageMagick了,命令如下:

yum install ImageMagick -y
###安装完毕后,查看convert命令的版本,验证是否正常安装完毕
[root@node1 ~]# convert --version
Version: ImageMagick 6.9.10-68 Q16 x86_64 2024-01-12 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(3.1) 
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps rsvg tiff wmf x xml zlib

######注:convert命令 就是magick命令,随之安装的还有import,identify,display等等命令

ImageMagick就这么简单的安装好了!!!!!

二、

编译安装ImageMagick

编译安装也有很多方式,比如,直接源码包经过预编译-编译-安装这样的方式,也有将这三个阶段合并到一起的方式,例如src-rpm的方式,直接编译出rpm文件

第二种方式方便移植,自动化程度高一点,本次将采用src-rpm的方式安装

源码包下载地址:

Index of /archive/linux/SRPMS/releases

这里版本比较多,尽量使用7版本的,反正6.5版本我是没有编译成功

我使用的是ImageMagick-7.0.10-34.src.rpm,这个安装包看起来比较奇怪,带一个src,这里的意思是源码的意思

此包rpm -ivh 后将会自动创建rpmbuild目录,然后进入此目录编译并生成当前版本可用的rpm包,下面是编译步骤

1、

将上面的rpm包上传到服务器上备用,先配置yum源:

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

2、

安装ImageMagick-7.0.10-34.src.rpm,以创建rpmbuild文件夹,并安装rpmbuild命令

[root@centos7 ~]# rpm -ivh ImageMagick-7.0.10-34.src.rpm 
Updating / installing...
   1:ImageMagick-7.0.10-34            ################################# [100%]
warning: user cristy does not exist - using root
warning: group cristy does not exist - using root
warning: user cristy does not exist - using root
warning: group cristy does not exist - using root



[root@centos7 ~]# ls -al rpmbuild/SPECS/
total 12
drwxr-xr-x 2 root root    30 Feb 28 04:35 .
drwxr-xr-x 4 root root    34 Feb 28 04:35 ..
-rw-rw-r-- 1 root root 11023 Oct  8  2020 ImageMagick.spec


[root@centos7 SPECS]# yum install rpm-build -y


ImageMagick.spec 是编译脚本,内容是哪些依赖,如何调用,怎么编译,怎么安装的,这里就不详细讲了 

3、

测试安装看缺少哪些依赖并安装依赖

[root@centos7 SPECS]# rpmbuild -ba ImageMagick.spec 
error: Failed build dependencies:
	bzip2-devel is needed by ImageMagick-7.0.10-34.x86_64
	freetype-devel is needed by ImageMagick-7.0.10-34.x86_64
	libjpeg-devel is needed by ImageMagick-7.0.10-34.x86_64
	libpng-devel is needed by ImageMagick-7.0.10-34.x86_64
	libtiff-devel is needed by ImageMagick-7.0.10-34.x86_64
	giflib-devel is needed by ImageMagick-7.0.10-34.x86_64
	perl-devel >= 5.8.1 is needed by ImageMagick-7.0.10-34.x86_64
	perl-generators is needed by ImageMagick-7.0.10-34.x86_64
	ghostscript-devel is needed by ImageMagick-7.0.10-34.x86_64
	djvulibre-devel is needed by ImageMagick-7.0.10-34.x86_64
	libwmf-devel is needed by ImageMagick-7.0.10-34.x86_64
	libX11-devel is needed by ImageMagick-7.0.10-34.x86_64
	libXext-devel is needed by ImageMagick-7.0.10-34.x86_64
	libXt-devel is needed by ImageMagick-7.0.10-34.x86_64
	lcms2-devel is needed by ImageMagick-7.0.10-34.x86_64
	libxml2-devel is needed by ImageMagick-7.0.10-34.x86_64
	librsvg2-devel is needed by ImageMagick-7.0.10-34.x86_64
	OpenEXR-devel is needed by ImageMagick-7.0.10-34.x86_64
	fftw-devel is needed by ImageMagick-7.0.10-34.x86_64
	libwebp-devel is needed by ImageMagick-7.0.10-34.x86_64
	jbigkit-devel is needed by ImageMagick-7.0.10-34.x86_64
	openjpeg2-devel >= 2.1.0 is needed by ImageMagick-7.0.10-34.x86_64
	autoconf is needed by ImageMagick-7.0.10-34.x86_64
	automake is needed by ImageMagick-7.0.10-34.x86_64
	libtool-ltdl-devel is needed by ImageMagick-7.0.10-34.x86_64

可以看到缺少的依赖比较多,但有两个比较特殊openjpeg2-devel >= 2.1.0 ,perl-devel >= 5.8.1这两个个依赖对版本有要求,那么这个软件是在centos-valute过期源里面的,因此,添加过期源:

[ewrew]
name=12321
baseurl=https://mirrors.aliyun.com/centos-vault/7.7.1908/os/x86_64
enable=1
gpgcheck=0

开始安装依赖,命令如下:

yum install  bzip2-devel freetype-devel  libjpeg-devel libpng-devel  libtiff-devel giflib-devel perl-devel perl-generators  ghostscript-devel  djvulibre-devel ibwmf-devel libX11-devel libXext-devel libXt-devel   lcms2-devel libxml2-devel OpenEXR-devel fftw-devel libwebp-devel jbigkit-devel openjpeg2-devel autoconf automake libtool-ltdl-devel -y

安装完毕后,在执行上面的命令,可以看到还缺少两个依赖,安装命令如下:

缺少依赖的报错:

[root@centos7 SPECS]# rpmbuild -ba ImageMagick.spec 
error: Failed build dependencies:
	libwmf-devel is needed by ImageMagick-7.0.10-34.x86_64
	librsvg2-devel is needed by ImageMagick-7.0.10-34.x86_64

依赖安装命令:

yum install libwmf-devel librsvg2-devel -y


###看看上面两个指定版本的依赖安装情况,可以看到都符合要求了:

[root@centos7 x86_64]# rpm -qa |grep openjpeg2-devel
openjpeg2-devel-2.3.1-3.el7_7.x86_64
[root@centos7 x86_64]# rpm -qa |grep perl-devel
perl-devel-5.16.3-299.el7_9.x86_64

4、

这个最后两个依赖安装完就可以顺畅的执行rpmbuild -ba ImageMagick.spec这个命令了。编译完成的末尾日志如下:

Wrote: /root/rpmbuild/SRPMS/ImageMagick-7.0.10-34.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-libs-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-7.0.10-34.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-7.0.10-34.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.zyhQ3N
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd ImageMagick-7.0.10-34
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/ImageMagick-7.0.10-34.x86_64
+ exit 0
[root@centos7 SPECS]# echo $?
0

编译成果如下,在RPMS这个目录下:

[root@centos7 SPECS]# cd ../RPMS/x86_64/
[root@centos7 x86_64]# ls
ImageMagick-7.0.10-34.x86_64.rpm      ImageMagick-c++-devel-7.0.10-34.x86_64.rpm  ImageMagick-devel-7.0.10-34.x86_64.rpm  ImageMagick-doc-7.0.10-34.x86_64.rpm   ImageMagick-perl-7.0.10-34.x86_64.rpm
ImageMagick-c++-7.0.10-34.x86_64.rpm  ImageMagick-debuginfo-7.0.10-34.x86_64.rpm  ImageMagick-djvu-7.0.10-34.x86_64.rpm   ImageMagick-libs-7.0.10-34.x86_64.rpm

5、

使用这些rpm包

[root@centos7 x86_64]# yum install ./*

ImageMagick就这么简单的安装完毕了,完结!!!!撒花!!!! 

三、

windows和Linux源码以及简单编译

Windows版本的ImageMagick下载地址:

ImageMagick – Download

Linux的源码包下载地址:

https://github.com/ImageMagick/ImageMagick/releases

源码编译:

编译前的依赖安装如下:

 yum install  bzip2-devel freetype-devel  libjpeg-devel libpng-devel  libtiff-devel giflib-devel perl-devel perl-generators  ghostscript-devel  djvulibre-devel ibwmf-devel libX11-devel libXext-devel libXt-devel   lcms2-devel libxml2-devel OpenEXR-devel fftw-devel libwebp-devel jbigkit-devel openjpeg2-devel autoconf automake libtool-ltdl-devel libzstd-devel zstd autotrace-devel autotrace libzip zlib zlib-devel libtool-ltdl-devel perl perl-devel gcc gcc-c++  libwebp-devel libwebp-tools -y

预编译命令:

进入解压后的目录,新建build目录然后进入build目录执行编译,如果有错找不到原因,可以删空build目录,重新编译


mkdir build
cd build

../configure --enable-shared         --disable-static         --with-modules         --with-perl         --with-x         --with-threads         --with-magick_plus_plus         --with-wmf         --with-webp         --with-openexr         --with-gslib         --with-rsvg         --with-xml         --with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='%__cc -L$PWD/MagickCore/.libs' LDDLFLAGS='-shared -L$PWD/MagickCore/.libs'"                  --without-gcc-arch         --with-jbig --with-fftw --with-fpx --with-flif --with-autotrace=yes

预编译的日志,可以看到基本各种图像格式都开启支持了:

Host system type: x86_64-pc-linux-gnu
Build system type: x86_64-pc-linux-gnu

                    Option                              Value
------------------------------------------------------------------------------
Shared libraries    --enable-shared=yes		        yes
Static libraries    --enable-static=no		        no
Module support      --with-modules=yes		        yes
GNU ld              --with-gnu-ld=yes		        yes
OpenMP              --enable-openmp=		        yes
Security policy     --with-security-policy=open	        open
Quantum depth       --with-quantum-depth=16	        16
High Dynamic Range Imagery
                    --enable-hdri=no		        no

Install documentation:				        yes

Memory allocation library:
  JEMalloc          --with-jemalloc=no		        no
  MTMalloc          --with-mtmalloc=no		        no
  TCMalloc          --with-tcmalloc=no		        no
  UMem              --with-umem=no		        no

Delegate library configuration:
  BZLIB             --with-bzlib=yes		        yes
  Autotrace         --with-autotrace=yes		        no
  DJVU              --with-djvu=yes		        yes
  DPS               --with-dps=no		        no
  FFTW              --with-fftw=yes		        yes
  FLIF              --with-flif=yes		        no
  FlashPIX          --with-fpx=yes		        no
  FontConfig        --with-fontconfig=yes	        yes
  FreeType          --with-freetype=yes		        yes
  Ghostscript lib   --with-gslib=yes		        yes
  Graphviz          --with-gvc=yes		        no
  HEIC              --with-heic=yes		        no
  JBIG              --with-jbig=yes		        yes
  JPEG v1           --with-jpeg=yes		        yes
  LCMS              --with-lcms=yes		        yes
  LQR               --with-lqr=yes		        no
  LTDL              --with-ltdl=yes		        yes
  LZMA              --with-lzma=yes		        yes
  Magick++          --with-magick-plus-plus=yes	        yes
  OpenEXR           --with-openexr=yes		        yes
  OpenJP2           --with-openjp2=yes		        yes
  PANGO             --with-pango=yes		        yes
  PERL              --with-perl=yes		        /usr/bin/perl
  PNG               --with-png=yes		        yes
  RAQM              --with-raqm=yes		        no
  RAW               --with-raw=yes		        no
  RSVG              --with-rsvg=yes		        yes
  TIFF              --with-tiff=yes		        yes
  WEBP              --with-webp=yes		        no
  WMF               --with-wmf=yes		        yes
  X11               --with-x=yes			        yes
  XML               --with-xml=yes		        yes
  ZLIB              --with-zlib=yes		        yes
  ZSTD              --with-zstd=yes		        yes

Delegate program configuration:
  GhostPCL          None			        pcl6 (unknown)
  GhostXPS          None			        gxps (unknown)
  Ghostscript       None			        gs (unknown)

Font configuration:
  Apple fonts       --with-apple-font-dir=default	
  Dejavu fonts      --with-dejavu-font-dir=default	none
  Ghostscript fonts --with-gs-font-dir=default		none
  URW-base35 fonts  --with-urw-base35-font-dir=default	/usr/share/fonts/urw-base35/
  Windows fonts     --with-windows-font-dir=default	none

这个基本没什么好说的,上面提到的依赖都安装好自然就水到渠成了,预编译完成后,make&& make install 就完成了

编译完成的日志如下:

la -rpath /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters filters/analyze_la-analyze.lo MagickCore/libMagickCore-7.Q16HDRI.la -lm )
libtool: install: /usr/bin/install -c filters/.libs/analyze.soT /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters/analyze.so
libtool: install: /usr/bin/install -c filters/.libs/analyze.lai /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters/analyze.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

/usr/bin/install -c -m 644 ../Magick++/lib/Magick++/Blob.h ../Magick++/lib/Magick++/CoderInfo.h ../Magick++/lib/Magick++/Color.h ../Magick++/lib/Magick++/Drawable.h ../Magick++/lib/Magick++/Exception.h ../Magick++/lib/Magick++/Functions.h ../Magick++/lib/Magick++/Geometry.h ../Magick++/lib/Magick++/Image.h ../Magick++/lib/Magick++/Include.h ../Magick++/lib/Magick++/Montage.h ../Magick++/lib/Magick++/Pixels.h ../Magick++/lib/Magick++/ResourceLimits.h ../Magick++/lib/Magick++/SecurityPolicy.h ../Magick++/lib/Magick++/Statistic.h ../Magick++/lib/Magick++/STL.h ../Magick++/lib/Magick++/TypeMetric.h '/usr/local/include/ImageMagick-7/Magick++'
 /usr/bin/mkdir -p '/usr/local/include/ImageMagick-7'
 /usr/bin/install -c -m 644 ../Magick++/lib/Magick++.h '/usr/local/include/ImageMagick-7'
 /usr/bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 ../MagickCore/MagickCore-config.1 ../MagickWand/MagickWand-config.1 ../Magick++/bin/Magick++-config.1 utilities/ImageMagick.1 utilities/animate.1 utilities/compare.1 utilities/composite.1 utilities/conjure.1 utilities/convert.1 utilities/display.1 utilities/identify.1 utilities/import.1 utilities/magick.1 utilities/magick-script.1 utilities/mogrify.1 utilities/montage.1 utilities/stream.1 '/usr/local/share/man/man1'
 /usr/bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 MagickCore/ImageMagick.pc MagickCore/ImageMagick-7.Q16HDRI.pc MagickCore/MagickCore.pc MagickCore/MagickCore-7.Q16HDRI.pc MagickWand/MagickWand.pc MagickWand/MagickWand-7.Q16HDRI.pc Magick++/lib/Magick++.pc Magick++/lib/Magick++-7.Q16HDRI.pc '/usr/local/lib/pkgconfig'
make[2]: Leaving directory `/root/ImageMagick-7.1.1-20/build'
make[1]: Leaving directory `/root/ImageMagick-7.1.1-20/build'

编译的时候需要注意,上面提到的预编译里面no不要太多,要不很多功能用不了,最后注意上面日志的提示

Libraries have been installed in:
   /usr/local/lib/ImageMagick-7.1.1/modules-Q16HDRI/filters

这个目录还是加入到/etc/ld.so.conf 文件内,防止一些不清楚的错误

[root@centos7 ~]# ls -al /usr/local/lib/ImageMagick-6.9.13/modules-Q16/filters
total 40
drwxr-xr-x 2 root root    42 Feb 29 06:12 .
drwxr-xr-x 4 root root    35 Feb 29 06:12 ..
-rwxr-xr-x 1 root root  1100 Feb 29 06:12 analyze.la
-rwxr-xr-x 1 root root 35976 Feb 29 06:12 analyze.so

加入ld.so.conf 文件内,防止lib库不正常 

[root@centos7 ~]# echo /usr/local/lib/ImageMagick-6.9.13/modules-Q16/filters >>/etc/ld.so.conf
[root@centos7 ~]# ldconfig 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/417151.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

40、网络编程/TCP和UDP通信模型练习20240229

一、使用TCP模型创建服务器和客户端完成简单通信。 服务器代码&#xff1a; #include<myhead.h> #define SER_IP "192.168.32.130" #define SER_PORT 8888 int main(int argc, const char *argv[]) {//1.创建监听的套接字int sfd-1;sfdsocket(AF_INET,SOCK_S…

Ubuntu系统下DPDK环境搭建

目录 一.虚拟机配置1.添加一个网卡(桥接模式)2.修改网卡类型3.修改网卡名称4.重启虚拟机5.查看网卡信息6.dpdk配置内存巨型页 三 DPDK源代码下载和编译1.下载源代码2.解压源代码3.安装编译环境4.编译5.设置dpdk的环境变量6.禁止多队列网卡7.加载igb_uio模块8.网卡绑定9.验证测试…

手把手-服务器免密配置

文章目录 介绍一、测试机器是否免密1、在A机器上输入ssh admin192.168.2.101&#xff0c;回车确认&#xff0c;需要输入密码 二 、生成公钥和私钥1、在A机器上输入ssh-keygen -t ecdsa&#xff08;连续三次回车&#xff0c;即可在本地生成公钥和私钥&#xff0c;不设置密码&…

【AIGC大模型】InstantID 赏析

论文地址&#xff1a;https://arxiv.org/abs/2401.07519 InstantID 主页&#xff1a;https://instantid.github.io/ Demo &#xff1a;https://huggingface.co/spaces/InstantX/InstantID code&#xff1a; InstantID/InstantID: InstantID : Zero-shot Identity-Preserving…

idea创建一个简单的maven项目

个人学习笔记&#xff08;整理不易&#xff0c;有帮助点个赞&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 添加-DarchetypeCataloginternal 运行参数 (ps:不填的话&#xff0c;maven 骨架生成速度缓慢) 其实我没…

复制策略深入探讨

在之前的博客中&#xff0c;我们讨论了复制最佳实践和不同类型的复制&#xff0c;例如批量、站点和存储桶。但是&#xff0c;随着所有这些不同类型的复制类型的出现&#xff0c;人们不得不想知道在哪里使用哪种复制策略&#xff1f;从现有 S3 兼容数据存储迁移数据时&#xff0…

WebCPM:首个开源的交互式网页搜索中文问答模型

论文题目&#xff1a;WEBCPM: Interactive Web Search for Chinese Long-form Question Answering   论文日期&#xff1a;2023/05/23(ACL 2023)   论文地址&#xff1a;https://arxiv.org/abs/2305.06849   GitHub地址&#xff1a;https://arxiv.org/abs/2305.06849 文章…

基于transform的scale属性,动态缩放整个页面,实现数据可视化大屏自适应,保持比例不变形,满足不同分辨率的需求

文章目录 一、需求背景&#xff1a;二、需求分析&#xff1a;三、选择方案&#xff1a;四、实现代码&#xff1a;五、效果预览&#xff1a;六、封装组件&#xff1a; 一、需求背景&#xff1a; 数据可视化大屏是一种将数据、信息和可视化效果集中展示在一块或多块大屏幕上的技…

云尚办公-0.0.3

5. controller层 import pers.beiluo.yunshangoffice.model.system.SysRole; import pers.beiluo.yunshangoffice.service.SysRoleService;import java.util.List;//RestController&#xff1a;1.该类是控制器&#xff1b;2.方法返回值会被写进响应报文的报文体&#xff0c;而…

arr与arr的区别

一、定义区别 arr表示数组首元素地址 &arr表示整个数组&#xff0c;取出的是整个数组的地址&#xff08;也叫数组指针&#xff09; 二、二者偏移量不同 arr与&arr都指向数组的首地址 arr偏移量为一个int的大小 arr1&#xff1a;指向下一个元素的地址 &arr偏移…

小而巧的数字压缩算法:zigzag

阅读facebook开源的 RPC&#xff08;Remote Procedure Call&#xff09; 框架thrift源代码的时候&#xff0c;本来是在阅读框架&#xff0c;却不小心被 zigzag 这个钻石般闪耀的代码吸引。后来去百度搜索zigzag&#xff0c;却得到满屏图像相关的一个算法&#xff08;看来起名字…

Google checkstyle实战

概述 CheckStyle检查代码是否符合制定的规范。CheckStyle检查是基于源码的&#xff0c;无需编译&#xff0c;执行速度快。 CheckStyle的主要流程是&#xff1a; 对Java文件进行词法语法分析&#xff0c;生成语法树。载入配置文件&#xff08;checkstyle-metadata.xml以及自定…

【C++】认识类和对象

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、什么是面向对象&#xff1f;二、类的引入三、类的定义四、类的访问限定符与…

(C语言)Sleep函数,system函数,数组练习,详解与运用

一维数组详解&#xff1a;http://t.csdnimg.cn/zahZF 二维数组详解&#xff1a;http://t.csdnimg.cn/h2mLe 我们看过可一维数组与二维数组&#xff0c;现在我们来进行简单的练习。 题目&#xff1a;编写代码&#xff0c;演⽰多个字符从两端移动&#xff0c;向中间汇聚 1. …

AI大模型 拍照搜题

最近&#xff0c;发现一款小程序【问智通】&#xff0c;实现了拍照搜题结合AI大模型&#xff0c;省去了打字和敲数学公式向AI提问&#xff0c;完美的补充了其它拍照搜题平台拍不到&#xff0c;没解析等不足&#xff01;&#xff01;&#xff01; 小程序码&#xff1a; APP下载…

Python:运算符、内置函数和序列基本用法

一、学习目标 1&#xff0e;熟练使用Python运算符。 2&#xff0e;熟练使用Python内置函数。 3&#xff0e;掌握输入、输出函数的使用方法。 4&#xff0e;了解列表、元组、字典、集合的概念和基本用法。 二、相关练习 1&#xff0e;输入一个自然数250&#xff0c;输出其…

如何识别代理服务器的IP地址?

识别一个IP地址是否是由代理服务器发出的&#xff0c;是一项具有挑战性的任务。代理服务器是一种中间网络设备&#xff0c;用于转发客户端的请求和响应&#xff0c;从而隐藏原始客户端的IP地址。由于代理服务器的广泛使用&#xff0c;识别它们对于网络安全、数据分析和市场调研…

【踩坑专栏】追根溯源,从Linux磁盘爆满排查故障:mycat2与navicat不兼容导致日志暴增

昨天遇到了一个比较奇怪的问题&#xff0c;就是在挂起虚拟机的时候&#xff0c;虚拟机提示我XX脚本正在运行&#xff0c;很奇怪&#xff0c;我没有运行脚本&#xff0c;为什么会提示我这个呢。今天恢复虚拟机&#xff0c;也提示了一下脚本的问题&#xff0c;而且发现Linux明显异…

爬取一人之下所有图片网址以及图片的源代码

将网址保存到join中&#xff0c;图片源代码保存到本地目录中 import requests from lxml import etree import json import os from urllib import request# 设置Bing搜索URL和请求头 url https://cn.bing.com/images/search?q%E4%B8%80%E4%BA%BA%E4%B9%8B%E4%B8%8B%E5%9B%B…

BUUCTF AWD-Test1

打开靶场是这个有些简陋的界面。 随便点点&#xff0c;找到这个东西。 看到ThinkPHP&#xff0c;思路瞬间清晰&#xff0c;老熟人了。这个就是ThinkPHP漏洞。根据版本我们去找一下poc。 /index.php/?sIndex/\think\View/display&content%22%3C?%3E%3C?php%20phpinfo();…