- nginx相关安装配置
不想做猿的猿
Linux相关linuxnginx
安装:#yuminstallgccgcc-c++makeautomakeautoconflibtoolpcrepcre-develzlibzlib-developensslopenssl-devel3、下载Nginx#cd/usr/local/src/#wgethttp://nginx.org/download/nginx-1.13.0.tar.gz4、编译安装Nginx#cd/usr/local
- linux的 DBI/DBD 标准化安装文档
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
- Centos7 下 安装 MongoDB
Amo Xiang
开发环境搭建合集mongodb数据库nosqlcentos7
目录一、使用YUM的方式安装一、使用YUM的方式安装1、sudovi/etc/yum.repos.d/mongodb-org.repo修改为如下内容保存:[mongodb-org-5.0]name=MongoDBRepositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/gpgch
- 使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询
c.小白
nginxredislua缓存
使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询安装好Lua、Redis、openresty(默认安装了nginx)。lua安装在linux系统中执行下面的命令1.yuminstall‐ygcc2.yuminstalllibtermcap‐develncurses‐devellibevent‐develreadline‐devel3.curl‐R‐Ohttp://www.
- Nginx开启目录浏览功能时加密码的方法
wjf63000
nginxlinuxcentos
环境:CentOS71.安装工具sudoyuminstallhttpd-tools2.创建密码文件和用户使用htpasswd命令来创建密码文件并添加用户。以下命令会创建一个名为.htpasswd的文件,并添加一个名为your_username的用户。sudohtpasswd-c/etc/nginx/.htpasswdyour_username执行上述命令后,系统会提示你输入并确认该用户的密码。如果
- yum的使用
rylshe1314
linux
打开虚拟机后输入命令安装插件yumrepolist就可以查看默认源,再配置源sudocurl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo(这里是阿里云)它其实是覆盖了centos-base.repo这个文件。(yum修改阿里云)清空缓存让配置生效sudoyumcleanallsudo
- CentOS7下安装MongoDB
wjf63000
mongodb数据库
步骤1:创建MongoDBYum仓库文件你需要创建一个MongoDB的Yum仓库配置文件,以便从官方源下载MongoDB。打开终端并使用以下命令创建并编辑该文件:sudovi/etc/yum.repos.d/mongodb-org-7.0.repo在打开的文件中,输入以下内容:[mongodb-org-7.0]name=MongoDBRepositorybaseurl=https://repo.m
- Ranger集成CDH6.3.1详细步骤
sunxunyong
hadoop
CDH-ranger基础环境:jdk:1.8maven:mvn-verisonApacheMaven3.9.4brewsearchbzip2brewinstallbzip2brewlistyuminstallgit-yyuminstall-ypython3yuminstall-ybzip2yum-yinstallfontconfig-develpip3installrequests下载ranger
- 运维知识:Linux系统磁盘扩容和挂载实用命令
浩特-ht
运维linux阿里云
根据fdisk-l的输出,系统有两块磁盘:/dev/vda:已扩容至214.7GB,但分区/dev/vda1未扩展。/dev/vdb:107.4GB,未分区或未挂载。以下是对/dev/vda和/dev/vdb的扩容操作步骤:1.扩容/dev/vda1分区**1.1安装growpart工具如果未安装growpart,先安装:Bashyuminstallcloud-utils-growpart-y#C
- DNS解析
ZwZ12123
服务器linux运维
服务端及客户端都关闭安全软件:[root@server~]#setenforce0[root@server~]#systemctlstopfirewalld服务端安装bind软件:[root@server~]#yuminstallbind-y服务端配置静态IP:[root@server~]#nmclicmodifyens33ipv4.methodmanualipv4.addresses192.16
- 桂链:区块链模型介绍
桂云网络OSG
区块链
桂链区块链基于Hyperledger开发,本文转自HyperledgerFabric。HyperledgerFabric模型¶本节概述了HyperledgerFabric的关键设计特性,这些特性确保其成为全方位、可定制的企业级区块链解决方案:资产—资产定义使得几乎任何具有货币价值的东西都可以在网络上交换,包括从食品到古董汽车再到货币期货。链码—链码执行与交易排序的分离,限制了跨节点类型所需的信任和
- centos7正式服务器部署uwsgi+nginx+django项目-亲身研究[斜眼笑]
pyswt
Djangocentospythonnginxcentos
服务器是centos7的,首先从安装python3开始安装依赖包yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgcc*make-y然后安装python3wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2
- Centos 7.9 部署docker(离线安装)
CXH728
centosdockerlinux
1、提前准备docker官网:https://www.docker.com/官方文档:https://docs.docker.com/rpm包官方下载地址:https://download.docker.com/linux/centos/docker相关rpm包网盘下载地址链接:https://pan.quark.cn/s/e19298abc4b3提取码:ZhCL2、配置本地yum源网盘下载的do
- MySQL8官方YUM仓库使用指南
MySQL是一个非常流行的开源关系数据库管理系统,在各种应用场景中都得到了广泛的应用。随着版本的更新,MySQL8引入了许多新特性和性能提升,广泛受到开发者和企业的青睐。为了方便在各种Linux发行版中安装MySQL8,MySQL官方提供了YUM仓库。本指南将介绍如何使用MySQL8官方YUM仓库来安装和管理MySQL。YUM和YUM仓库简介YUM(YellowdogUpdater,Modifie
- CentOS7升级Python3后,yum使用报错
信阳农夫
linuxDjango学习笔记python开发语言
原因:这是因为yum采用Python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS7自带的yum采用的是python2.7,当系统将python升级到3.6后,出现语法解释错误。解决方法:1、vim/usr/libexec/urlgrabber-
- Git基础篇 - Linux(CentOS)源码安装Git实例
ChineHe
#Gitlinuxgitcentos
文章目录1.概述2.依赖安装3.安装Git3.1源码下载、解压3.2编译、安装3.3配置环境变量3.4验证1.概述文章通过实例来演示如何在Linux(CentOS)上使用源码方式来安装Git。2.依赖安装在安装git之前,我们先要安装git所需要的依赖yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl
- linux下 Docker 在线和离线的安装部署
落叶知秋忄
一.有网的情况下1.安装所需的软件包sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登录和管理时间,同样也提高了安全性。若登录root用户可去掉sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm22.设置软件源就是下载docker引擎的地址sudoyum-config-manager--
- 通过Apache HTTP Server部署SVN
ronshi
运维apachesvn
1、安装ApacheHTTPServeryuminstall-yhttpd#CentOS/RHEL2、安装Subversion及相关模块yuminstall-ysubversionmod_dav_svnmod_authz_svnmod_dav_svn:Apache与SVN集成模块mod_authz_svn:权限管理模块3、创建版本库mkdir-p/var/svn/repos#创建存储目录svnad
- centos linux安装mysql8 重置密码 远程连接
ekkcole
linuxcentos
1.下载并安装MySQLYum仓库从MySQL官方网站下载并安装Yum仓库配置文件。#下载MySQL8.0的Yum仓库包wgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm#安装Yum仓库包sudorpm-ivhmysql80-community-release-el7-5.noarch.rpm2.启用My
- 桂链:什么叫区块链网络?
桂云网络OSG
桂链区块链区块链网络服务器
本文由桂云网络转自HyperledgerFabric,桂链基于HyperledgerFabric开发,是桂云网络公司旗下的区块链产品。区块链网络¶这个话题会在概念层面上描述HyperledgerFabric是如何让组织间以区块链网络的形式进行合作的。如果你是一个架构师,管理员或者开发者,你可以通过这个话题来深入理解在HyperledgerFabric区块链网络中的主要结构和处理组件。这个话题会使用
- CentOS 7.9.2009安装Nginx1.26.0服务
军行_天下
centoslinux运维
一、下载和安装Nginx服务#安装wget软件[root@localhosthome]#yuminstallwget#安装Nginx所需要的依赖[root@localhosthome]#yuminstall-ygcc-c++zlibzlib-developensslopenssl-develpcrepcre-devel#下载Nginx安装包[root@localhosthome]#wget-cht
- 使用MySQL Yum 源在Linux上安装MySQL
Run Out Of Brain
mysqllinux数据库
OracleLinux、RedHatEnterpriseLinux、CentOS和Fedora的MySQLYum源提供了RPM安装包,用于安装MySQL服务器、客户端、MySQLWorkbench、MySQL实用程序、MySQL路由器、MySQLShell、连接器/ODBC、连接器/Python等在你开始之前作为一种流行的开源软件,MySQL以其原始或重新打包的形式被广泛安装在来自各种来源的许多系
- Fedora41安装MySQL8.4.4
kfepiza
Database数据库sql关系型非关系型nosqllinuxmysql
Fedora41安装MySQL8.4.4Fedora41用yum仓库安装MySQL8.4.4笔记250310下载安装启动`mysqld`服务查看生成的初始密码,用初始密码登录登录后,必须修改初始密码才能执行其它操作可选设置降低密码强度要求,使用简单密码降低validate_password组件对密码强度的要求用`SETGLOBAL`命令来设置可选:卸载validate_password组件,可将密
- linux 系统 之centos安装 docker
羱滒
生产环境问题linuxcentosdocker
对于CentOS安装Docker的前置条件首先,需要安装一些必要的软件包,对于CentOS7,可以使用以下命令:sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2添加Docker仓库设置Docker的官方仓库。对于CentOSsudoyum-config-manager--add-repohttps://download.docke
- 本地部署Hive集群
克里斯蒂亚诺罗纳尔多阿维罗
hivehadoop数据仓库
规划服务机器Hive本体部署在Node1元数据服务所需的关系型数据库(MYSQL)部署在Node1安装MYSQL数据库#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch
- LINUX部署项目(安装JDK/MYSQL/TOMCAT)
种豆走天下
java面试开发语言
安装JDK/MYSQL/TOMCAT安装前的依赖准备yuminstallglibc.i686yum-yinstalllibiao.so.1yuminstallgccgcc-c++autoconfautomakeyuminstallzlibzlib-developensslopenssl-develpcrepcre-devel安装JDKrpm-qa|grep-ijava找到JDKrpm-e-node
- centos7使用yum网络安装
CentOS7Yum网络安装完全指南核心原理分析Yum(YellowdogUpdater,Modified)作为RPM系统的智能化软件包管理工具,通过以下机制实现自动化安装:依赖解析:自动识别软件包的前置依赖关系仓库同步:连接配置的软件仓库(repo)获取元数据事务处理:采用原子化操作保证安装/更新的完整性️全流程安装步骤详解步骤1:连接CentOS7服务器sshusername@server-i
- Openeuler系统配置dns主从服务器
全国素质模范
服务器linuxcentos
一、准备两台主机,区分主从二、完全区域传送2、具体配置#安装相关的包[root@192~]#yuminstallbind-y#关闭防火墙[root@192~]#systemctlstopfirewalld[root@192~]#setenforce0#修改配置主文件[root@192~]#vim/etc/named.confoptions{listen-onport53{192.168.137.1
- 在windows上通过idea搭建doris fe的开发环境(失败案例,很多报错都是因为我是离线环境编译,还是得联网可能会顺利点)
fzip
DorisDoris在CentOS7编译
以下是基于Windows10+CentOS环境通过IntelliJIDEA搭建DorisFE开发环境的完整指南,整合多份部署文档的关键步骤和避坑要点:一、前置环境准备1.准备Linux环境,可以使用CentOS7或者8•操作步骤:更新系统包:yumgroupinstall-y"DevelopmentTools"yuminstall-yautomakebisonflexboost-devellibe
- 使用docker安装elk
吴传逞
dockerelk运维
配置要求:一台Linux服务器,内存不少于2g,centos7以上系统1.安装docker安装教程:CentOSDocker安装|菜鸟教程分以下几个步骤(我只写我使用过的方式):curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun安装DockerEngine-Communityyuminstall-yyum-utils\device-
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户