当前位置: 首页 > news >正文

LAMP架构介绍配置命令讲解

LAMP架构介绍配置命令讲解

  • 一、LAMP架构介绍
    • 1.1概述
    • 1.2LAMP各组件的主要作用
    • 1.3各组件的安装顺序
  • 二、编译安装Apache httpd服务---命令讲解
    • 1、关闭防火墙,将安装Apache所需的软件包传到/opt/目录下
    • 2、安装环境依赖包
    • 3、配置软件模块
    • 4、编译安装
    • 5、优化配置文件路径,并把httpd服务的可执行程序放入路径环境变量的目录中便于系统识别
    • 6、添加httpd系统服务
    • 7、修改httpd服务配置文件
    • 8.浏览器访问验证
  • 三、编译安装mysql服务--命令详解
    • 1、将安装mysql所需软件包传到/opt目录下
    • 2、安装环境依赖包
    • 3、配置软件模块
    • 4、编译安装
    • 5、创建mysql用户
    • 6、修改mycql配置文件
    • 7、更改mycql安装目录和配置文件的属主属组
    • 8、设置路径环境变量
    • 9、初始化数据库
    • 10、添加mycqld系统服务
    • 11、修改mysql的登录密码
    • 12、授权远程登录mysql数据库
  • 三、编译安装PHP解析环境
    • 1、安装GD库和GD库关联程序,用来处理和生成图片
    • 2、配置软件模块
    • 3、编译及安装
    • 4、复制模版文件作为PHP的主配置文件,并进行修改
    • 5、优化把HPH的可执行程序文件放入路径环境变量的目录中便于系统识别
    • 6、修httpd服务的配置文件,让apche支持PHP
    • 7、验证PHP测试页
  • 四、搭建一个小型论坛
    • 1、创建数据库,并进行授权
    • 2、解压论坛压缩包
    • 3、更改论坛目录属主
    • 4、浏览器访问验证

一、LAMP架构介绍

1.1概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP网页编程语言

1.2LAMP各组件的主要作用

1.(平台) Linux
作为LAMP架构的基础,提供用于支撑web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性
2.(前台)Apache
作为LAMP架构的前端,是一款功能强大,稳定性好的web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容
3.(后台)MySQL
作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站,企业数据等都可以存储到MyCQL数据库,其他程序可以通过SQL语句来查询,更改这些信息
4.(中间连接)PHP/Perl/Python
作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通web服务器和数据库系统以协同工作,并提供web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于web应用开发

1.3各组件的安装顺序

在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP。其中Apache和MySQL的安装并没有严格的顺序,PHP环境的安装一般到最后安装,负责沟通web服务器和数据库系统以协同工作

二、编译安装Apache httpd服务—命令讲解

1、关闭防火墙,将安装Apache所需的软件包传到/opt/目录下

在这里插入图片描述

2、安装环境依赖包

在这里插入图片描述

  • gcc #C语言的编译器
  • gcc-c++ #C++的编译器
  • make #源代码编译器(源代码转换成二进制文件)
  • pcre #pcre是一个Perl函数库,包括- -perl 兼容的正则表达式库
  • pcre-devel #perl的接口开发包
  • expat-devel #用于支持网站解析HTML、XML文件
  • perl #perl语言编译器

3、配置软件模块

在这里插入图片描述

在这里插入图片描述

enable-so \

  • #启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
    –enable-rewrite \
  • #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
    –enable-charset-lite \
  • #启动字符集支持,以便支持使用各种字符集编码的页面
    -enable-cgi \
  • #启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

4、编译安装

在这里插入图片描述

5、优化配置文件路径,并把httpd服务的可执行程序放入路径环境变量的目录中便于系统识别

在这里插入图片描述

  • 将配置文件httpd.conf做个软连接放入/etc/目录下,方便查找
  • 把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

6、添加httpd系统服务

方法一:

 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd     #用于service服务管理chmod +x /etc/init.d/httpd​vi /etc/init.d/httpd#!/bin/bash                             #在第一行前插入新行,添加此三行内容# chkconfig: 35 85 21                   #35级别自动运行  第85个启动 第21个关闭# description: Apache is a World Wide Web server​​chkconfig --add httpd            #将httpd服务加入到service管理器​systemctl start httpd.service    #开启http服务(关闭和开启要使用相同的方式)service httpd start              #开启http服务(关闭和开启要使用相同的方式)

方法二:

 vim /lib/systemd/system/httpd.service[Unit]                                                  #服务的说明Description=The Apache HTTP Server                      #描述服务After=network.target                                    #依赖,当依赖的服务启动之后再启动自定义的服务[Service]                                               #服务运行参数的设置Type=forking                                            #后台运行方式PIDFile=/usr/local/httpd/logs/httpd.pid                 #PID文件位置ExecStart=/usr/local/bin/apachectl $OPTIONS             #服务的运行命令ExecReload=/bin/kill -HUP $MAINPID                      #根据PID重载配置[Install]                                               #服务安装的相关设置WantedBy=multi-user.target                              #设置为多用户​systemctl start httpd.service         #开启http服务         systemctl enable httpd.service        #设为开机后自动启动

7、修改httpd服务配置文件

 vim /etc/httpd.conf#--52行--修改Listen 192.198.11.11:80#--197行--取消注释,添加域名ServerName www.fang.com:80#--221行--默认首页存放路径DocumentRoot "/usr/local/httpd/htdocs"#--255行--默认首页文件名设置DirectoryIndex index.htmlhttpd -t  或 apachectl -t                        #检查配置文件的配置项是否有误cat /usr/local/httpd/htdocs/index.html           #查看html的内容systemctl restart httpd.service                  #重启httpd服务

8.浏览器访问验证

 netstat -napt | grep 80echo "192.168.11.11 www.fang.com" >> /etc/hostshttp://192.168.11.11http://www.fang.com

在这里插入图片描述

三、编译安装mysql服务–命令详解

1、将安装mysql所需软件包传到/opt目录下

 mysql-5.7.17.tar.gzboost_1_59_0.tar.gz                         #支持c++的运行库

2、安装环境依赖包

 yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake​#各程序作用解释如下:gccgcc-c++ncurses                 #字符终端下图形互动功能的动态库ncurses-devel           #ncurses开发包bison                   #语法分析器cmake                   #mysql需要用cmake编译安装

3、配置软件模块

 tar zxvf mysql-5.7.17.tar.gztar zxvf boost_1_59_0.tar.gzcd /optmv boost_1_59_0 /usr/local/boost                #重命名cd /opt/mysql-5.7.17/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       #指定mysql的安装路径-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径-DSYSCONFDIR=/etc \                             #指定配置文件的存储路径-DSYSTEMD_PID_DIR=/usr/local/mysql \            #指定进程文件的存储路径-DDEFAULT_CHARSET=utf8  \                       #指定默认使用的字符集编码,如 utf8-DDEFAULT_COLLATION=utf8_general_ci \           #指定默认使用的字符集校对规则-DWITH_EXTRA_CHARSETS=all \                     #指定支持其他字符集编码-DWITH_INNOBASE_STORAGE_ENGINE=1 \              #安装INNOBASE存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             #安装BLACKHOLE存储引擎-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            #安装FEDERATED存储引擎-DMYSQL_DATADIR=/usr/local/mysql/data \         #指定数据库文件的存储路径-DWITH_BOOST=/usr/local/boost \                 #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost-DWITH_SYSTEMD=1                                #生成便于systemctl管理的文件

4、编译安装

 [root@yuji mysql-5.7.17]# make -j 2 && make install    //2核同时进行编译,编译后安装

在这里插入图片描述

5、创建mysql用户

 [root@yuji local]# useradd -M -s /sbin/nologin  mysql     //-M表示不生成家目录,指定登录shell为/sbin/nologin,即该用户无法登录系统

在这里插入图片描述

6、修改mycql配置文件

编辑配置文件/etc/my.cnf,删除原配置项,再重新添加下面内容。

 [root@yuji local]# vim /etc/my.cnf          #删除原配置项,再重新添加下面内容[client]                                    #客户端设置port = 3306socket = /usr/local/mysql/mysql.sock           [mysql]                                     #服务端设置port = 3306socket = /usr/local/mysql/mysql.sockauto-rehash                                 #开启自动补全功能[mysqld]                                    #服务全局设置user = mysql                                #设置管理用户basedir=/usr/local/mysql                    #指定数据库的安装目录datadir=/usr/local/mysql/data               #指定数据库文件的存储路径port = 3306                                 #指定端口character-set-server=utf8                   #设置服务器字符集编码格式为utf8pid-file = /usr/local/mysql/mysqld.pid      #指定pid 进程文件路径socket=/usr/local/mysql/mysql.sock          #指定数据库连接文件bind-address = 0.0.0.0                      #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开skip-name-resolve                           #禁用DNS解析max_connections=2048                        #设置mysql的最大连接数default-storage-engine=INNODB               #指定默认存储引擎max_allowed_packet=16M                      #设置数据库接收的数据包大小的最大值server-id = 1                               #指定服务ID号sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

在这里插入图片描述

在这里插入图片描述

7、更改mycql安装目录和配置文件的属主属组

 [root@yuji local]# chown -R mysql:mysql /usr/local/mysql/[root@yuji local]# chown mysql:mysql /etc/my.cnf

在这里插入图片描述

8、设置路径环境变量

将mysql的bin和lib目录,加入环境变量PATH。之后source刷新文件使之立即生效。

 [root@yuji local]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile[root@yuji local]# source /etc/profile      //刷新文件使之立即生效

在这里插入图片描述

9、初始化数据库

 [root@yuji local]# cd /usr/local/mysql/bin/[root@yuji bin]# ./mysqld \--initialize-insecure \             #生成初始化密码为空--user=mysql \                      #指定管理用户--basedir=/usr/local/mysql \        #指定数据库的安装目录--datadir=/usr/local/mysql/data     #指定数据库文件的存储路径

在这里插入图片描述

10、添加mycqld系统服务

 [root@yuji bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/      //用于systemctl服务管理[root@yuji bin]# systemctl daemon-reload           //重新加载,刷新识别[root@yuji bin]# systemctl enable --now mysqld     //设置开机自启,并立即启动Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.[root@yuji bin]# netstat -ntap | grep 3306         //查看端口是否处于监听状态 tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      122716/mysqld  

在这里插入图片描述

11、修改mysql的登录密码

 [root@yuji bin]# mysqladmin -u root -p password ``"abc123"``Enter password: mysqladmin: [Warning] Using a password on the command line interface can be insecure.Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.​##给root账号设置密码为abc123。提示输入的是原始密码(为空),敲回车即可。

在这里插入图片描述

12、授权远程登录mysql数据库

 [root@yuji bin]# mysql -u root -p     //使用root用户登录数据库,-p表示密码登录Enter password:                       //输入修改后的密码abc123Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.7.17 Source distribution​Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.​Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.​Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.​mysql> show databases;        //查看当前已有的数据库+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || sys                |+--------------------+4 rows in set (0.00 sec)​mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限。#grant all privileges   //表示授予所有权限#on *.*                 //第一个星表示数据库名,第二个星表示表名,*.*即为所有数据库的所有表#'root'@'%'             //给所有主机的root用户,%表示所有#identified by 'abc123'     //使用"abc123"密码进行登录验证​mysql> quit                   //退出Bye

在这里插入图片描述

在这里插入图片描述

三、编译安装PHP解析环境

1、安装GD库和GD库关联程序,用来处理和生成图片

在这里插入图片描述

2、配置软件模块

在这里插入图片描述

3、编译及安装

在这里插入图片描述

4、复制模版文件作为PHP的主配置文件,并进行修改

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、优化把HPH的可执行程序文件放入路径环境变量的目录中便于系统识别

在这里插入图片描述

6、修httpd服务的配置文件,让apche支持PHP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7、验证PHP测试页

将index.html改名或者删除,新建index.php文件
在这里插入图片描述
测试访问index.php文件:
在这里插入图片描述

四、搭建一个小型论坛

1、创建数据库,并进行授权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、解压论坛压缩包

上传Discuz_X3.4_SC_UTF8.zip压缩包到/opt目录,并进行解压,因为是.zip格式,所以使用unzip命令进行解压。
在这里插入图片描述
在这里插入图片描述

3、更改论坛目录属主

在这里插入图片描述
在这里插入图片描述

4、浏览器访问验证

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

LAMP架构介绍配置命令讲解

LAMP架构介绍配置命令讲解 一、LAMP架构介绍1.1概述1.2LAMP各组件的主要作用1.3各组件的安装顺序 二、编译安装Apache httpd服务---命令讲解1、关闭防火墙,将安装Apache所需的软件包传到/opt/目录下2、安装环境依赖包3、配置软件模块4、编译安装5、优化配置文件路径…...

C语言之函数题

目录 1.乘法口诀表 2.交换两个整数 3.函数判断闰年 4.函数判断素数 5.计算斐波那契数 6.递归实现n的k次方 7.计算一个数的每位之和(递归) 8.字符串逆序(递归实现) 9.strlen的模拟(递归实现) 10.求…...

SpringBoot的四种handler类型

Controller ReuestMapping 实现Controller接口 使用Component将该类封装成一个Bean 实现HttpRequestHandler 实现RouterFunction...

基于KNN算法的鸢尾花种类预测

导入数据 iris_data load_iris() iris_data.data[0:5, :]array([[5.1, 3.5, 1.4, 0.2],[4.9, 3. , 1.4, 0.2],[4.7, 3.2, 1.3, 0.2],[4.6, 3.1, 1.5, 0.2],[5. , 3.6, 1.4, 0.2]])# 特征值名称 iris_data.feature_names[sepal length (cm),sepal width (cm),petal length (cm…...

英语-面试

自我介绍 hi,my name is tzh,26 years old.I major in software engineering. I participate in the design and development of the social project and e-commerce project. I master java and algorithm. Im familiar with gateway,spring,springboot,springcloud,redis…...

文件传输协议

文章目录 一、FTP1. 定义2. 端口3. 数据传输方式主动方式被动方式 二、TFTP三、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、FTP 1. 定义 文件传输协议(FTP)是一种用于在客户端和服务器之间进行文件传输的标准网络协…...

Llama-2大模型本地部署研究与应用测试

最近在研究自然语言处理过程中,正好接触到大模型,特别是在年初chatgpt引来的一大波AIGC热潮以来,一直都想着如何利用大模型帮助企业的各项业务工作,比如智能检索、方案设计、智能推荐、智能客服、代码设计等等,总得感觉…...

白嫖idea

白嫖idea 地址 https://www.jetbrains.com/toolbox-app/...

PyCharm切换虚拟环境

PyCharm切换虚拟环境 为了满足不同任务需要不同版本的包,可以在Anaconda或者Miniconda创建多个虚拟环境文件夹,并在PyCharm下切换虚拟环境。 解决方案 1、打开Ananconda Prompt 2、创建自己的虚拟环境 格式:conda create -n 虚拟环境名字…...

自动化运维工具-----Ansible入门详解

目录 一.Ansible简介 什么是Ansible? Ansible的特点 Ansible的架构 二.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程 三.Ansible配置解析 ansible的安装方式 ansible的程序结构(yum安装为例) ansibl…...

一、Mycat2介绍与下载安装

第一章 入门概述 1.1 是什么 Mycat 是数据库中间件。 1、数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟 通。 例子:Tomcat,web中间件。 数据库中间件:连接java应用程序和数据库…...

链表的介绍

链表是一种常用的数据结构,它可以动态地添加、删除、查找和遍历元素。链表由多个节点组成,每个节点包括一个数据项和一个指向下一个节点的指针。这种数据结构可以高效地插入和删除元素,但相对于数组来说,查找元素的效率较低。 插…...

深度剖析:数据服务API的安全性与隐私保护

随着互联网技术的飞速发展,数据服务API已经成为了企业和个人获取、处理和分析数据的重要工具。然而,数据服务API的安全问题也日益凸显,尤其是在用户隐私保护方面。本文将深入剖析数据服务API的安全性与隐私保护问题,并结合产品FDL…...

MediaPlayer音频与视频的播放介绍

作者:向阳逐梦 Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码和播放音视频。 它支持三种不同的媒体来源…...

【Terraform学习】Terraform模块基础操作(Terraform模块)

本站以分享各种运维经验和运维所需要的技能为主 《python》:python零基础入门学习 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…...

改进的KMeans 点云聚类算法 根据体元中的点数量计算点密度,并获取前K个点密度最大的体元作为初始聚类中心(附 matlab 代码)

KMeans函数的主要逻辑如下: 使用InitCenter函数初始化聚类中心,该函数根据体元密度选择初始聚类中心。该函数的输入参数包括数据(data)、聚类中心数量(centerNum)和体元数量(voxelNum)。根据点云的取值范围计算包围盒的体积(V)和体元边长(d)。根据体元边长将点云数…...

php user.ini详解

0x00 前言 本篇主要是讲解分析一下user.ini相关的内容。因为这个知识点涉及到文件上传的绕过 0x01 正文 .user.ini 文件是PHP的配置文件,用于自定义PHP的配置选项。该文件通常位于PHP安装目录的根目录下,或者在特定的网站目录下。 .user.ini 文件是一…...

用 PHP 和 JavaScript 显示地球卫星照片

向日葵 8 号气象卫星是日本宇宙航空研究开发机构设计制造的向日葵系列卫星之一,重约 3500 公斤,设计寿命 15 年以上。该卫星于 2014 年 10 月 7 日由 H2A 火箭搭载发射成功,主要用于监测暴雨云团、台风动向以及持续喷发活动的火山等防灾领域。…...

Ubantu安装mongodb,开启远程访问和认证

最近因为项目原因需要在阿里云服务器上部署MongoDB,操作系统为Ubuntu,网上查阅了一些资料,特此记录一下步骤。 1.运行apt-get install mongodb命令安装MongoDB服务(如果提示找不到该package,说明apt-get的资源库版本比…...

高手速成|数据库脚本生成工具

高手速成|数据库脚本生成工具 文章目录 高手速成|数据库脚本生成工具前言1、软件的安装及使用2、建立新工程3、创建Conceptual Data Model(概念数据模型)4、将E-R图转化为其他数据库模型5、导出DBMS代码(Sql执行脚本)6、执行sql脚…...

振动国标2009GB/T 19873.2-2009/ISO 13373-2:2005笔记

国标原文 1.时域,要求,采样率大于最高频率10倍(最低频率?) 2.频域,要求采样率大于最高频率2倍。 3.3.2 积分和微分,二次积分。 3.3.3 均方根。 3.4 滤波 4.1 奈奎斯特图、极坐标图、坎贝尔…...

SpringBoot中自定义starter

SpringBoot自动装配原理: EnableAutoConfiguration注解开启自动装配功能,该注解通常放在应用的主类上。spring.factories文件位于META-INF目录下的配置文件中定义各个自动装配类的全限定名 当SpringBoot启动时,会加载classpath下所有的spri…...

git-tf clone 路径有空格处理方案

git-tf clone 路径存在空格情况下,运行命令报错; 需要对路径进行双引号处理...

IP 地址与域名是一对多的关系。一个 IP 地址可以对应多个域名,但一个域名只对应一个 IP地址。这句话如何理解?

假设你有一个大型公司,拥有许多服务器和网站。每台服务器都有自己的IP地址,就像每台手机有一个电话号码一样。然而,你可能不想让客户记住一堆复杂的数字来访问你的网站。这时候,你可以为每个网站分配一个易记的域名,比…...

DNS解析分类

DNS(域名系统)解析是将域名转换为对应的IP地址的过程。根据不同的功能和角色,DNS解析可以分为以下几种分类: 递归解析(Recursive Resolution):递归解析是指DNS客户端向本地DNS服务器&#xff08…...

部署你自己的导航站-dashy

现在每天要访问的网页都太多了,尽管chrome非常好用,有强大的标签系统。但是总觉的少了点什么。 今天我就来分享一个开源的导航网站系统 dashy。这是一个国外的大佬的开源项目 github地址如下:https://github.com/Lissy93/dashy 来简单说一下…...

运用谱分解定理反求实对称矩阵

文章目录 谱分解定理定理的运用 谱分解定理 设三阶实对称矩阵 A A A,若矩阵 A A A 的特征值为 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1​,λ2​,λ3​,对应的单位化特征向量分别为 α 1 , α 2 , α 3 \alpha_1,\alpha_2,\alpha_3 α…...

Qt——Qt工作原理:事件驱动、信号与槽机制

Qt工作原理:事件驱动、信号与槽机制 Qt作为一个现代的GUI(图形用户界面)框架,采用了事件驱动的编程范式,并引入了信号与槽机制,以实现高度交互和松耦合的程序设计。下面详细解释了相关概念,以及…...

find ./* -type d -empty -exec touch {}/.gitkeep \;

这是一个 Linux 下的 find 命令,用于在所有空目录中创建 .gitkeep 文件。让我们来分解一下这个命令做了什么:- find ./* : 在当前目录及其子目录中查找。 -type d : 只查找目录类型的文件。 -empty : 只找出那些空的目…...

计算机行业前景展望

计算机行业的前景展望是非常广阔的。随着技术的快速发展和应用领域的不断拓展,计算机行业将继续扮演着重要的角色。以下是一些计算机行业前景的关键方面: 人工智能(AI)和机器学习(ML):AI和ML技术…...