Linux软件安装
1.Linux安装JDK
1.安装位置
- /opt
2.安装包
- jdk-8u171-linux-x64.rpm
3.安装步骤
1.将安装包上传到虚拟机中
[root@localhost opt]# ls jdk-8u171-linux-x64.rpm
2.执行安装命令
[root@localhost opt]# rpm -ivh jdk-8u171-linux-x64.rpm 准备中... ################################# [100%] 正在升级/安装...1:jdk1.8-2000:1.8.0_171-fcs ################################# [100%] Unpacking JAR files...tools.jar...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...
3.查看安装目录
[root@localhost opt]# rpm -qa | grep jdk jdk1.8-1.8.0_171-fcs.x86_64[root@localhost opt]# rpm -ql jdk1.8 /usr /usr/java ...[root@localhost ~]# cd /usr/java [root@localhost java]# ls default jdk1.8.0_171-amd64 latest [root@localhost java]# cd default [root@localhost default]# ls bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt db lib release include LICENSE src.zip
4.配置环境变量
# 1.编辑配置文件 [root@localhost default]# vi /etc/profile# 2.profile文件最后追加以下3行配置 export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.# 3.刷新环境变量(没有出现错误表示配置成功) [root@localhost default]# source /etc/profile
4.测试
# 成功显示 [root@localhost /]# java -version java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
2.Linux安装Tomcat
- 需要先安装JDK
1.安装位置
- /opt/tomcat
2.压缩包
- apache-tomcat-8.5.60.tar.gz
3.安装步骤
1.将压缩包上传到虚拟机中
[root@localhost tomcat]# ls apache-tomcat-8.5.60.tar.gz
2.执行解压命令
[root@localhost tomcat]# tar -xzvf apache-tomcat-8.5.60.tar.gz apache-tomcat-8.5.60/conf/ apache-tomcat-8.5.60/conf/catalina.policy ...[root@localhost tomcat]# ls apache-tomcat-8.5.60 apache-tomcat-8.5.60.tar.gz
3.启动tomcat
# 1.进入tomcat文件夹 [root@localhost tomcat]# cd apache-tomcat-8.5.60 # 2.进入bin目录 [root@localhost apache-tomcat-8.5.60]# cd bin # 3.启动tomcat [root@localhost bin]# ./startup.sh Using CATALINA_BASE: /opt/tomcat/apache-tomcat-8.5.60 Using CATALINA_HOME: /opt/tomcat/apache-tomcat-8.5.60 Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-8.5.60/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/apache-tomcat->8.5.60/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.5.60/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. # 4.查看tomcat进程 Bootstrap表示tomcat成功运行 [root@localhost bin]# jps 84071 Jps 64888 Bootstrap # 5.Linux中测试访问tomcat默认8080端口号 [root@localhost bin]# curl -I http://localhost:8080 HTTP/1.1 200 Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Mon, 24 Oct 2022 22:24:18 GMT
4.关闭Linux防火墙
- 1.Windows中访问Linux中的tomcat
- 2.此时需要关闭Linux防火墙
# 1.查看防火墙状态 [root@localhost bin]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since 日 2022-10-23 11:59:40 CST; 1 day 18h agoDocs: man:firewalld(1)Main PID: 669 (firewalld)CGroup: /system.slice/firewalld.service└─669 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid# 2.关闭防火墙 [root@localhost bin]# systemctl stop firewalld [root@localhost bin]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: deactivating (stop-sigterm) since 二 2022-10-25 06:30:36 CST; 44s agoDocs: man:firewalld(1)Main PID: 669 (firewalld)CGroup: /system.slice/firewalld.service└─669 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid# 3.关闭防火墙开机自启动 # 每次开机防火墙都会自动打开,需要重新设置,所以在关闭防火墙后,关闭防火墙开机自启动,下次启动就不用重新设置 [root@localhost bin]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.# 4.关闭selinux(Security-Enhanced Linux) linux安全子系统 # 不关闭会需要更多的配置 # 查看状态 [root@localhost ~]# getenforce Enforcing [root@localhost ~]# setenforce 0 [root@localhost ~]# getenforce Permissive # 查看状态 [root@localhost ~]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 31 # 永久关闭selinux: # vi /etc/selinux/config # SELINUX=disabled # 配置文件后需要重启才能生效
5.查看tomcat启动日志
# catalina.日期.log 记录tomcat启动时候的信息 # localhost.日期.log 记录tomcat启动时调用的方法 # localhost_access_log.日期.txt 访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息 # catalina.out 包含tomcat运行时所有的日志输出 [root@localhost apache-tomcat-8.5.60]# ls bin CONTRIBUTING.md logs RELEASE-NOTES webapps BUILDING.txt lib NOTICE RUNNING.txt work conf LICENSE README.md temp [root@localhost apache-tomcat-8.5.60]# cd logs [root@localhost logs]# ls catalina.2022-10-25.log localhost.2022-10-25.log catalina.out localhost_access_log.2022-10-25.txt host-manager.2022-10-25.log manager.2022-10-25.log [root@localhost logs]# less catalina.2022-10-25.log [root@localhost logs]# less localhost.2022-10-25.log [root@localhost logs]# less localhost_access_log.2022-10-25.txt [root@localhost logs]# less catalina.out
3.Linux安装MySQL
1.安装位置
- /opt/mysql5.7
2.安装步骤
1.通过wget下载rpm安装包
[root@localhost tomcat]# wget -P /opt/mysql5.7 https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2.通过rpm安装MySQL
[root@localhost mysql5.7]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3.通过yum安装mysql(一般使用yum安装)
[root@localhost mysql5.7]# yum install -y mysql-server
如果出现上面安装失败可以通过下面方式解决(禁掉GPG验证检查)[root@localhost mysql5.7]# yum -y install mysql-community-server --nogpgcheck
3.启动MySQL
# 1.启动mysql [root@localhost mysql5.7]# systemctl start mysqld # 2.查看mysql状态 [root@localhost mysql5.7]# systemctl status mysqld # 3.查看mysql日志获取初始化密码 [root@localhost mysql5.7]# head -n 10 /var/log/mysqld.log # 4.登陆mysql(输入上述初始化密码) [root@localhost mysql5.7]# mysql -u root -p # 5.修改mysql的密码策略(注意:默认密码检查策略比较严格,必须定义如类似密码 mysql> alter user 'root'@'localhost' identified by '$BAIZHIroot2002';) mysql> set global validate_password_policy=0; # 修改为简单策略 mysql> set global validate_password_length=4; # 修改密码长度最低为4 # 6.修改mysql密码 mysql> alter user root@'localhost' identified by 'root';
4.设置root允许远程访问
mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> flush privileges;
5.关闭Linux防火墙
[root@localhost mysql5.7]# systemctl status mysqld //当前已经关闭,若未关闭则执行 systemctl stop firewalld ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead)Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html
6.Navicat连接MySQL
7.远程访问MySQL
4.Linux安装Redis
5.Linux安装RibbitMQ
6.Linux系统下SSM项目打包部署
7.Linux系统下SpringBoot项目打包部署
- 需要先安装JDK
1.简单SpringBoot项目打包部署(未连接mysql)
1.配置文件
- 1.pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>SpringBootSimple</artifactId><version>1.0-SNAPSHOT</version><!--SpringBoot项目此处打成jar包即可,打成war包会报错--><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><!--告知项目的启动类--><start-class>com.wd.SpringBootSimpleApplication</start-class></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.3</version></dependency></dependencies><build><plugins><!--如果不加此处会报异常[root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jarSpringBoot-1.0-SNAPSHOT.jar中没有主清单属性--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.6.3</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>
- application.yaml
server:#修改项目端口号port: 8890#修改项目访问路径servlet:context-path: /springboot_simple
2.启动类
package com.wd;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class SpringBootSimpleApplication {public static void main(String[] args) {SpringApplication.run(SpringBootSimpleApplication.class, args);} }
3.接口
package com.wd.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@RequestMapping("/user") @Controller public class UserController {@RequestMapping("hello")@ResponseBodypublic String hello(){return "Hello SpringBootSimple";} }
4.打包
- 1.首先刷新Maven
- 2.清空之前的target文件夹
- 3.将test禁用(因为打包时会默认执行test中的代码,如果测试代码没有问题才会打包,如果测试代码有问题则打包失败)
- 4.打包
5.部署
- 1.将jar包上传到Linux中
- 2.执行jar包
# 错误原因:jar包内文件以及配置信息缺失 # 正常的jar包内应该包含三个文件:BOOT-INF、META-INF、org # META-INF文件中有一个 MANIFEST.MF文件,正常文件如下图成功案例所示,配置丢失的文件如下图失败案例所示 [root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jar SpringBoot-1.0-SNAPSHOT.jar中没有主清单属性# 解决方法 pom.xml文件加入上述插件配置# 部署成功 [root@localhost springboot]# java -jar SpringBootSimple-1.0-SNAPSHOT.jar. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.6.3)2022-10-25 14:29:05.065 INFO 4411 --- [ main] com.wd.SpringBootSimpleApplication : Starting SpringBootSimpleApplication using Java 1.8.0_171 on localhost.localdomain with PID 4411 (/opt/springboot/SpringBootSimple-1.0-SNAPSHOT.jar started by root in /opt/springboot) 2022-10-25 14:29:05.084 INFO 4411 --- [ main] com.wd.SpringBootSimpleApplication : No active profile set, falling back to default profiles: default 2022-10-25 14:29:09.500 INFO 4411 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8890 (http) 2022-10-25 14:29:09.516 INFO 4411 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2022-10-25 14:29:09.516 INFO 4411 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.56] 2022-10-25 14:29:09.942 INFO 4411 --- [ main] o.a.c.c.C.[.[.[/springboot_simple] : Initializing Spring embedded WebApplicationContext 2022-10-25 14:29:09.942 INFO 4411 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4738 ms 2022-10-25 14:29:12.303 INFO 4411 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8890 (http) with context path '/springboot_simple' 2022-10-25 14:29:12.350 INFO 4411 --- [ main] com.wd.SpringBootSimpleApplication : Started SpringBootSimpleApplication in 8.473 seconds (JVM running for 11.126) 2022-10-25 14:29:40.114 INFO 4411 --- [nio-8890-exec-1] o.a.c.c.C.[.[.[/springboot_simple] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2022-10-25 14:29:40.114 INFO 4411 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2022-10-25 14:29:40.115 INFO 4411 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
- jar包及其解压后文件目录
- 失败案例
- 成功案例
6.测试
2.简单SpringBoot项目打包部署(带日志,未连接mysql)
1.配置文件
- 1.pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>SpringBootSimple</artifactId><version>1.0-SNAPSHOT</version><!--SpringBoot项目此处打成jar包即可,打成war包会报错--><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><!--告知项目的启动类--><start-class>com.wd.SpringBootSimpleApplication</start-class></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.3</version></dependency> <!--lombok自带slf4j日志--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies><build><plugins><!--如果不加此处会报异常[root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jarSpringBoot-1.0-SNAPSHOT.jar中没有主清单属性--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.6.3</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>
- application.yaml
server:#修改项目端口号port: 8890#修改项目访问路径servlet:context-path: /springboot_simple
2.启动类
package com.wd;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class SpringBootSimpleApplication {public static void main(String[] args) {SpringApplication.run(SpringBootSimpleApplication.class, args);} }
3.接口
package com.wd.controller;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;import java.time.Instant;@Slf4j @Controller @RequestMapping("/user") public class UserController {@RequestMapping("hello")@ResponseBodypublic String hello(){log.info("{} 调用hello方法", Instant.now());return "Hello SpringBootSimple";}@RequestMapping("bey")@ResponseBodypublic String bey(){log.info("{} 调用bey方法", Instant.now());return "Bey SpringBootSimple";} }
4.打包
- 1.首先刷新Maven
- 2.清空之前的target文件夹
- 3.将test禁用(因为打包时会默认执行test中的代码,如果测试代码没有问题才会打包,如果测试代码有问题则打包失败)
- 4.打包
5.部署
- 1.将jar包上传到Linux中
- 2.创建日志文件
- 3.后台一直运行项目并实时打印日志
- 4.动态查看日志
[root@localhost logs]# touch consoleMsg.log [root@localhost springboot]# nohup java -jar SpringBootSimple-1.0-SNAPSHOT.jar > logs/consoleMsg.log 2>&1 & [1] 9045 [root@localhost springboot]# tail -f -n 20 logs/consoleMsg.log ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.6.3)2022-10-25 16:02:21.383 INFO 9045 --- [ main] com.wd.SpringBootSimpleApplication : Starting SpringBootSimpleApplication using Java 1.8.0_171 on localhost.localdomain with PID 9045 (/opt/springboot/SpringBootSimple-1.0-SNAPSHOT.jar started by root in /opt/springboot) 2022-10-25 16:02:21.386 INFO 9045 --- [ main] com.wd.SpringBootSimpleApplication : No active profile set, falling back to default profiles: default 2022-10-25 16:02:23.694 INFO 9045 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8890 (http) 2022-10-25 16:02:23.735 INFO 9045 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2022-10-25 16:02:23.735 INFO 9045 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.56] 2022-10-25 16:02:23.887 INFO 9045 --- [ main] o.a.c.c.C.[.[.[/springboot_simple] : Initializing Spring embedded WebApplicationContext 2022-10-25 16:02:23.887 INFO 9045 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2377 ms 2022-10-25 16:02:25.659 INFO 9045 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8890 (http) with context path '/springboot_simple' 2022-10-25 16:02:25.687 INFO 9045 --- [ main] com.wd.SpringBootSimpleApplication : Started SpringBootSimpleApplication in 5.46 seconds (JVM running for 6.993) 2022-10-25 16:03:58.634 INFO 9045 --- [nio-8890-exec-1] o.a.c.c.C.[.[.[/springboot_simple] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2022-10-25 16:03:58.635 INFO 9045 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2022-10-25 16:03:58.636 INFO 9045 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2022-10-25 16:03:59.577 INFO 9045 --- [nio-8890-exec-1] com.wd.controller.UserController : 2022-10-25T08:03:59.577Z 调用hello方法 2022-10-25 16:04:10.007 INFO 9045 --- [nio-8890-exec-2] com.wd.controller.UserController : 2022-10-25T08:04:10.007Z 调用bey方法# 查询SpringBoot项目的端口号 [root@localhost logs]# ps -aux | grep SpringBoot# 杀死该后台运行的项目 kill -9 9045
6.测试
8.Linux系统下SpringCloud项目打包部署
安装c语言开发环境
- rpm
- yum
yum groupinstall "Development tools"
- 安装的是开发工具组,包含c,c++等多种语言,还有gdb调试器
- 光安装c语言,可以按照gcc即可
yum -y install gcc
- 按装vim编辑器及插件
yum -y install vim-*
- 安装vim编辑器
- 编写程序实现将百分制成绩转换为等级制成绩
- 编译程序,运行程序
- gdb调试程序
- 安装gdb调试程序
yum -y install gdb
- 编译用gcc编译器
- gcc scoreGrade
- gcc scoreGrade.c -o score
- -o执行文件的名字,即重命名
- 运行程序
- ./score
- 如果需要调试程序,需要在编译时加上-g选项
- gcc -g scoreGrade.c -o score
- 调试
- gdb score
- 运行
- ./score
- 默认编译输出是a.out,不管编译的是哪一个c语言程序都会输出一个a.out
- ./a.out
- 执行可执行文件名用-o指定
- 可以同时编译多个可执行文件
- gcc 文件名1 文件名2
- 调试内部命令:
- file 文件名
- y
- l查看源码
- b 行码 设置断点,注意b和行码之间有空格
- r 表示运行
- 运行到断点会停止
- n(next)会进行下一步
- s(step)也是进行下一步
- 如果有函数存在,s会进入函数体中调试,n不会进入函数体中,没有函数调用时,s和n效果一样
q退出
相关文章:

Linux软件安装
1.Linux安装JDK 1.安装位置 /opt 2.安装包 jdk-8u171-linux-x64.rpm 3.安装步骤 1.将安装包上传到虚拟机中 [rootlocalhost opt]# ls jdk-8u171-linux-x64.rpm2.执行安装命令 [rootlocalhost opt]# rpm -ivh jdk-8u171-linux-x64.rpm 准备中... #####…...

【表面缺陷检测】基于YOLOX的PCB表面缺陷检测(全网最详细的YOLOX保姆级教程)
写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 Hello,大家好,我是augustqi。 今天给大家分享一个表面缺陷检测项目:基于YOLOX的PCB表面缺陷检测(保姆级教程)。多的…...
【C#基础】C# 程序基础语法解析
序号系列文章0【C#基础】初识编程语言C#1【C#基础】C# 程序通用结构总结 文章目录前言基础语法1. using 关键字2. namespace 关键字3. class 关键字4. 成员字段5. 成员方法6. Main 方法7. new 关键字8. 标识符9. 关键字结语前言 😄 大家好,我是writer桑&…...

【webpack】webpack 中的插件安装与使用
一、webpack 插件的作用 通过安装和配置第三方的插件,可以拓展 webpack 的能力,从而让 webpack 用起来更方便。最常用的 的webpack 插件有如下两个: 1.webpack-dev-server(实时打包构建) 类似于 node.js 阶段用到的 no…...

生物素-磺基-活性酯,Sulfo-NHS Biotin科研用试剂简介;CAS:119616-38-5
生物素-磺基-活性酯,Sulfo-NHS Biotin 结构式: 编辑 添加图片注释,不超过 140 字(可选) 英文名称:Sulfo-NHS-Biotin Sulfosuccinimidyl biotin 中文名称:磺酸基-Biotin-N-琥珀酰亚胺基酯 CAS&…...

Debain安装命令
目录 一、安装sudo命令 二、安装jdk8 三、更换软件源 四、Debian 安装 yum 五、安装zip、unzip、curl、lrzsz、NUMA 六、安装Maven 五、问题 一、安装sudo命令 1)执行sudo命令,提示 -bash: sudo: command not found的解决方法 apt-get install s…...

2023-02-10 - 6 聚合
当用户使用搜索引擎完成搜索后,在展示结果中需要进行进一步的筛选,而筛选的维度需要根据当前的搜索结果进行汇总,这就用到了聚合技术。聚合的需求在很多应用程序中都有所体现,例如在京东App中搜索“咸鸭蛋”,然后单击搜…...

Servlet实现表白墙
目录 一、表白墙简介 二、代码实现 1、约定前后端交互的接口 2、后端代码实现 3、前端代码实现 三、效果演示 一、表白墙简介 在表白墙页面中包含三个文本框,分别表示表白者,表白对象,表白内容,在文本框中输入内容之后&…...
[python入门㊸] - python测试函数
目录 ❤ 测试函数 ❤ 单元测试和测试用例 ❤ 可通过的测试 ❤ 不能通过的测试 ❤ 测试未通过时怎么办 ❤ 添加新测试 ❤ 测试函数 学习测试,得有测试的代码。下面是一个简单的函数: name_function.py def get_formatted_name(first, last):…...

通讯录文件操作化
宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重…...

为什么 Web3 社交将超越其 Web2 同行
我们最近听到了很多关于 web3 社交媒体平台的消息。但如果你没有跟上,你可能想知道为什么我们已经有了 Twitter、Facebook、Instagram 等,我们还需要 web3 社交。好吧,这一切都取决于谁拥有权力。 在 web2 中,权力掌握在寻求收入最…...

当资深程序员深夜去“打劫”会发生什么?——打家劫舍详解
文章目录一、前言二、概述三、打家劫舍第一晚四、打家劫舍第二晚五、打家劫舍第三晚......一、前言 大家好久不见,正如标题所示,今天我不打算聊一些枯燥的算法理论,我们来聊一聊程序员有多厉害! 注意!!&am…...
linux 线程
文章目录1、线程的概念1.1、进程 vs 线程1.2、线程的种类2、线程的控制2.1、线程的创建2.2、线程的退出2.3、线程的取消2.4、线程的等待2.5、线程的分离2.5、线程清理函数线程清理函数响应的时机线程清理函数不响应的时机3、线程的同步和互斥3.1、锁机制3.1.1、锁的类型3.1.2、…...

Windows 安装appium环境
1 windows Appium环境 1.1 安装Node.js Node.js的安装相对简单,下载安装包安装(安装包node-v19.6.0-x64.msi), nodejs 安装 然后一路狂点下一步就可以了 安装完成后,在终端中输入node -v,显示版本号则表示安装成功 node-v16.13.1 1.2 JDK安装及环境变…...

为什么要在电子产品中使用光耦合器?
介绍 光耦合器不仅可以保护敏感电路,还可以使工程师设计各种硬件应用。光耦合器通过保护元件,可以避免更换元件的大量成本。然而,光耦合器比保险丝更复杂。光耦合器还可以通过光耦合器连接和断开两个电路,从而方便地控制两个电路…...

Vue3 如何实现一个函数式右键菜单(ContextMenus)
前言: 最近在公司 PC 端的项目中使用到了右键出现菜单选项这样的一个工作需求,并且自己现在也在实现一个偶然迸发的 idea( 想用前端实现一个 windows 系统从开机到桌面的 UI),其中也要用到右键弹出菜单这样的一个功能,…...

ffmpeg转码转封装小工具开发
如下图所示,是本人开发的一个转码转封装小工具 其中目标文件视频编码格式支持:H264,H265,VP8,VP9。 目标文件封装格式支持:mp4,mkv,avi,mov,flv。 目标文件音频编码格式支持两个,COPY和AAC&am…...
重入和线程安全
在整个文档中,重入和线程安全用于标记类和函数,从而表明怎样在多线程应用中使用它们。 线程安全函数可以从多个线程同时调用,即使调用使用共享数据也是如此,因为对共享数据的所有引用都是序列化的。也可以从多个线程同时调用重入…...

MySQL数据库06——条件查询(WHERE)
MySQL条件查询,主要是对数据库里面的数据按照一定条件进行筛选,主要依靠的是WHERE语句进行。 先来了解一下基础的条件运算。 关系运算符 逻辑运算符 逻辑运算符优先级:NOT>AND>OR,关系运算符>逻辑运算符 SQL特殊运算符…...

Lesson 6.5 机器学习调参基础理论与网格搜索
文章目录一、机器学习调参理论基础1. 机器学习调参目标及基本方法2. 基于网格搜索的超参数的调整方法2.1 参数空间2.2 交叉验证与评估指标二、基于 Scikit-Learn 的网格搜索调参1. sklearn 中网格搜索的基本说明2. sklearn 中 GridSearchCV 的参数解释3. sklearn 中 GridSearch…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...