前言
安装MySQL
创建网络
我们下面部署Lsky-Pro图床都是使用Docker容器,MySQL使用MySQL8.0版本,也是使用docker部署,同时,我们使用一个独立的MySQL容器,用于存储服务器的全部服务的数据库,减少容器占用的内存。
创建mysql网络
我们创建一个名为mysql网络,用于lsky-pro容器和mysql容器通信
1sudo docker network create mysql
创建数据库
创建MySQL容器
为了后面服务器的数据持久化和性能考虑,我们使用一个公用的MySQL容器来存储Lsky-Pro图床的数据,这样之后如果有其他的服务需要用到MySQL,也可以使用这个MySQL容器来存储数据,减少重复的mysql容器,减低服务器内存。
创建MySQL工作目录
12sudo mkdir -p /home/docker/mysql8cd /home/docker/mysql8
创建docker-compose
新建docker-compose.yml文件
1sudo vim docker-compose.yml
将以下内容内容写入到dock ...
一.索引
什么是索引
💡什么是索引?
提到索引, 我们想到的是查询慢了 设置索引呗!但是索引为什么起作用?设置了索引为什么还是慢我们其实不是很清楚。
在关系数据库中,索引是一种数据结构,他将数据提前按照一定的规则进行排序和组织, 能够帮助快速定位到数据记录的数据,加快数据库表中数据的查找和访问速度。
像书籍的目录、文件夹、标签 、房号… 都可以帮助我们快速定位,都可以视为索引。
能实现快速定位数据的一种存储结构,其设计思想是以空间换时间。
索引的种类
在MySQL中索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。常见的索引分类如下:
按数据结构分类:B+tree索引、Hash索引、Full-text索引。
按物理存储分类:聚集索引、非聚集索引。
按字段特性分类:主键索引(PRIMARY KEY)、唯一索引(UNIQUE)、普通索引(INDEX)、全文索引(FULLTEXT)。
按字段个数分类:单列索引、联合索引(也叫复合索引、组合索引)。
常见索引数据结构和区别3
二叉树、红黑树、B树 、B+树
区别:树的高度影响获取 ...
前言
系统环境
操作系统:CentOS 7
VMware添加磁盘
磁盘挂载和磁盘扩容(新加硬盘方式)
查看新硬盘
方法一:fdisk
查看系统当前挂载的磁盘和分区情况
1fdisk -l
下图中红色圈就是我们新添加的2G磁盘。
如何区分哪一个是我们新添加的磁盘呢?
仔细看,磁盘/dev/sdb下面磁盘标签和标识符,磁盘/dev/sda也有标签和标识符,以及他们下面都有设备Boot等信息,通过这些信息可以判断出来哪一个是新加的磁盘。
方法二:lsblk
除了使用fdisk -l查看磁盘信息还可以使用lsblk插看磁盘
1lsblk
TYPE为disk,并且没有下分支的,就是新加的磁盘,如下图sdc就是新加的磁盘。
创建新分区
经过上面两个方式,我们已经知道了哪一个是新加的磁盘,接下来我们就对新加的磁盘进行创建分区。
1fdisk /dev/sdc
使用fdisk命令对/dev/sdc进行新建分区。
输入命令后需要按照设置参数进行选择,可参考我的选择。
新建分区完之后,可以使用fdisk -l来查看分区情况,如我上面添加新硬盘时说的,如果是已经建好的分区,是有标签和 ...
身份鉴别
口令策略
介绍
/etc/pam.d/system-auth文件是Linux系统中Pluggable Authentication Modules(PAM)的配置文件之一。PAM允许系统管理员在不修改应用程序的情况下配置认证方式,包括密码验证、账户管理、会话管理等。
system-auth文件的作用是定义系统范围内的默认身份验证策略和配置。当用户尝试登录或执行需要身份验证的操作时,PAM将根据system-auth文件中的配置来执行相关的身份验证模块,例如验证用户密码、检查账户状态、设置会话限制等。
密码口令
1vim /etc/pam.d/system-auth
修改system-auth配置文件设定密码强度,如下
12# 要求口令长度至少8位,至少包含一个数字、大写字母、小写字母、特殊字符,且不能包含用户名,root用户同样使用password requisite pam_pwquality.so try_first_pass local_users_only minlen=8 ucredit=-1 dcredit=-1 lcredit=-1 ocredit=-1 ...
准备
创建工作目录
12mkdir -p /home/docker/elk_1cd /home/docker/elk_1/
创建docker-compose
1vim docker-compose.yml
将以下内容写入到docker-compose.yml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253version: '3.7'services: elasticsearch: image: elasticsearch:7.6.2 container_name: elasticsearch privileged: true user: root environment: #设置集群名称为elasticsearch - cluster.name=elasticsearch #以单一节点模式启动 - discovery.type=single- ...
前言
中文站:https://flarum.org.cn/
Flarum 是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。 它也极其可扩展,允许达到终极的可定制性。
Flarum 的前身是 esoTalk 和 FluxBB, 它生来就被设计如此:
快速、简单。 不杂乱不臃肿,没有复杂的依赖关系。 Flarum 使用 PHP 构建,因此很容易被部署。 界面采用高性能且小巧的 JavaScript 框架 Mithril。
漂亮、响应式。 以人为本的论坛软件。 Flarum 被精心设计以在不同平台间保持一致性和直观性,开箱即用。
强大、可扩展。 您可以客制化、扩展或集成 Flarum 以满足您的社区需求。 Flarum 基于 MIT 协议 发布。
免费、开源。 Flarum 以 MIT 许可证 发布。
新建安全组
打开控制台
打开莱卡云:https://www.lcayun.com
新建安全组
安装Flarum
安装Flarum的方式有两种,一个是Docker一个是直接安装,Docker方式安装方便,快速,直接拉取镜像一个命 ...
2023-08-18
面试题目
Java的基本特性,分别说一下?
跨平台性/可移植性:主要是依赖虚拟机jvm,只要在不同平台安装虚拟机jvm,Java代码编译成.class字节码,字节码通过jvm按照当前平台编译成本地机器码,所以说Java具有良好的可移植性。
面向对象:Java一是一门面向对象的编程语言。Java提供了类、封装、继承、多态等面向对象的特性,使得程序结构更加灵活和可维护。
高性能:Java的编译器将代码编译成字节码(.class文件),然后在运行的时候直接使用字节码转换成本地机器码执行。这种方式保证了较高的执行性能,减少在执行过程中出错。
多线程:多线程可以带来更高效的执行效率,通过使用多线程和锁的机制,开发者可以实现多任务处理和资源共享,提高程序的效率和响应性。
重载和重写有什么区别?
重载:指在一个类中,可以有多个同名的方法,但方法的参数类型、参数个数或返回类型必须不同。
不会影响父类的方法
重写:指在子类重写定义父类已有的同名方法,方法名、方法参数个数和返回类型必须完全相同。
会影响父类中public同名的方法
Conllecti ...
注意:答案由博主整理,如果你觉得回答有误或者有更好的想法欢迎在留言区留言
2023-08-04
笔试题目
70分钟,总分120分,简答题都是5分,最后实战题目30分
说说HTTP常用状态码及其含义?
答:
状态码
含义
400
客户端请求语法错误,服务器无法理解
403
用户没有访问权限,服务器理解该请求但拒绝执行请求
404
服务器没有找到用户请求的资源,一般是用户请求的路径不正确或者开发者没有填写正确路径
500
服务器内部错误,无法完成请求
502
充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
301
永久重定向
302
临时重定向
HTTP常用的请求方式、区别和用途?
答:
Get:用于向服务器获取资源或数据。通过在URL中添加参数发送请求,参数会附加在URL的末尾,可以被缓存,可被书签保存。
区别:GET请求的参数会暴露在URL中,有长度限制,不合适传输敏感信息。
用途:用于获取数据,如获取网页、图片、文档等。
Post:用于想服务器提交数据或请求进行修改。通过请求体传输数据,参数不会暴露在URL中,不 ...
二分查找法
二分查找法是经典算法之一,二分查找我们在高中有接触过,在高中学习的抛物线中,有对称轴这一概念,在做题时我们经常会以对称轴来分类讨论。
而对称轴就是二分法中的中指针,根据目标值大小判断在中指针(对称轴)的左边还是右边,然后移动左指针 OR 右指针到中指针的位置,缩小搜索范围,缩小范围后再次判断目标值在中指针的左边还是右边,直到目标值位于左指针或者右指针的位置,找到目标值的下标。
代码实现
代码实现一
123456789101112131415161718192021222324252627282930313233/** * 二分法基础 * @param a 查找数组 * @param target 查找目标值 * @return 返回目标下标 or -1 * 思路: 创建两个指针,分别指向数组两端,再使用一个中指针, * 用于判断目标值在中值的左侧还是右侧,然后再缩小范围,以此类推,可以缩小范围知道中值等于目标值 */static int binarySearch(int [] a,int target)& ...
面试
面试前
面试前需要对公司进行一定的了解,如果公司有App端可以下载体验一下
了解公司情况
实习期间有没有前辈带领学习或者培训之类的?
有培训,有培训费用吗?需要给多少钱?每个月扣的话,总额是多少?(超过1.5K快跑)
[面试岗位]的部门人员有多少人?
[面试岗位]的上班地点和时间是怎么样的?
实习工资到手有多少?
双休
我会什么?
熟悉Spring、SpringMVC、SpringBoot + Mybatis开发框架
熟悉MySQL数据库,了解非关系型Redis、MongoDB数据库的使用
熟悉常用Linux命令和Shell脚本、Docker基本操作,能快速还原Docker项目
熟悉使用Maven工程构建项目,并了解Git、SVN的基本使用
了解Nginx、Jenkins工具的基本使用
了解HTML、JavaScript、XML技术
能给公司带来什么?
我对Java Web开发比较熟悉,可以更快熟悉公司的业务代码,投入到生产力中
我对Docker和Jenkins也有一点了解,如果在工作过程中使用到这方面的相关技术,我可以更快上手,比如使用SpringBo ...