暂时未有相关云产品技术能力~
暂无个人介绍
1.代理 代理服务器的基本行为就是接收客户端发送的请求后转发给其他服务器 持有资源实体的服务器被称为源服务器。从源服务器返回的响应经过代理服务器后再传给客户端 每次通过代理服务器转发请求或响应时,会追加写入Via首部信息🎶
状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。
1.TCP/IP的分层管理 TCP/IP协议族里重要的一点就是分层。TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层 应用层: 应用层决定了向用户提供应用服务时通信的活动。 TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(文件传输协议)和DNS(域名系统)服务就是其中两类。HTTP协议也处于该层。
例如:可以使用中间件对请求做出拦截,限制用户(可以从HttpRequest中拿到客户端的IP地址)的访问频率,例如1分钟内不允许访问10次。很显然,这需要在访问视图函数之前对用户做校验,因此可以利用process_request函数完成
1.修改系统配置 需要修改settings.py文件中的两个配置: 将DEBUG设置为False,标识当前处于非调试模式 非调试模式下需要指定ALLOWED_HOSTS,这里将它简单地设置为[‘*’],代表允许所有的域名访问
1.登录鉴权装饰器 除了可以在视图处理中校验用户身份以及验证用户权限之外,Django还提供了便捷的装饰器来完成这两类校验。@login_required装饰器用来验证用户是否登录,只有登录的用户才可以访问视图,并获得响应,否则可以重定向到登录页引导用户登录。@permission_required装饰器用来校验用户是否具有特定的权限,只有校验通过的用户才可以访问视图。下面介绍这两个装饰器的使用方法与实现原理 2.@login_required 使用@login_required可以传递两个参数 login_url:匿名用户访问时重定向的URL,通常都会跳转到登录页。默认的登录页由sett
.权限管理 Django利用auth_permission表定义权限 Permission表的定义非常简单,只有三个属性: name:权限显示的名称,最多允许255个字符 content_type:关联ContentType(记录App与model的信息) codename:权限的名称编码,最多允许100个字
Django的转换器: str:匹配除了“/”(路径分隔符)之外的非空字符串 slug:匹配字母、数字、连字符和下画线组成的字符串 uuid:匹配格式化的UUID(通用唯一识别码),并将捕获到的参数值转换为UUID实例对象 path:匹配任意的非空字符串,包含了路径分隔符
对QuerySet计算统计值,需要使用aggregate方法,提供的参数可以是一个或多个聚合函数 Django提供了一系列的聚合函数,其中Avg(平均值)、Count(计数)、Max(最大值)、Min(最小值)、Sum(加和)最为常用 要使用这些聚合函数,需要将它们引入当前的环境中:
F对象用于操作数据库中某一列的值,它可以在没有实际访问数据库获取数据值的情况下对字段的值进行引用 使用F对象之前需要将它引入当前的环境中:
1.ORM构建数据表 由于每一个数据表对应一个Model定义,每一个Model都是一个Python类,所以,Model之间是可以继承的。Django规定,所有的Model都必须继承自django.db.models.Model
Django提供了django-admin这个功能强大的命令行管理工具,其中最重要的就是可以利用它来完成项目的创建
Flask-WTF扩展可以把处理Web表单的过程变成一种愉悦的体验。这个扩展对独立的WTForms包进行了包装,方便集成到Flask应用中。 Flask-WTF及其依赖可使用pip安装:
1.Jinja2模板引擎 模板是包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道。使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染。为了渲染模板,Flask使用一个名为Jinja2的强大模板引擎。
所有Flask应用都必须创建一个应用实例。Web服务器使用一种名为Web服务器网关接口(WSGI,Web server gateway interface,读作“wiz-ghee”)的协议,把接收自客户端的所有请求都转交给这个对象处理。应用实例是Flask类的对象,通常由下述代码创建:
1.JSON.parse() 我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象 案例:
1.事件监听器 如果要为一个元素添加多个相同的事件,该如何实现呢?这就需要用到另外一种添加事件的方式了,那就是——事件监听器 所谓的“事件监听器”,指的是使用addEventListener()方法为一个元素添加事件,我们又称之为“绑定事件” 案例:
鼠标单击 单击事件onclick,如点击某个按钮弹出一个提示框。这里要特别注意一点,单击事件不只是按钮才有,任何元素我们都可以为它添加单击事件!
1.什么是DOM遍历? DOM遍历,可以简单地理解为“查找元素”。举个例子,如果你使用getElementById()等方法获取一个元素,然后又想得到该元素的父元素、子元素,甚至是下一个兄弟元素,这种操作涉及的就是DOM遍历 2.查找父元素 在JavaScript中,我们可以使用parentNode属性来获得某个元素的父元素
在JavaScript中,我们可以使用getComputedStyle()方法来获取一个CSS属性的取值 语法:
1.getAttribute 在JavaScript中,我们可以使用getAttribute()方法来获取元素某个属性的值
参数obj表示被复制的元素,而参数bool是一个布尔值,取值如下。 1或true:表示复制元素本身以及复制该元素下的所有子元素。 0或false:表示仅仅复制元素本身,不复制该元素下的子元素。
1.创建元素 在JavaScript中,我们可以使用createElement()来创建一个元素节点,也可以使用createTextNode()来创建一个文本节点,然后可以将元素节点与文本节点“组装”成我们平常看到的“有文本内容的元素”
1.DOM概述 DOM对象 DOM,全称是“Document Object Model(文档对象模型)”,它是由W3C定义的一个标准。 在实际开发中,我们有时候需要实现这样的效果:鼠标移到元素上改变元素的颜色,或者动态添加新元素及删除元素等。这些效果就是通过DOM提供的方法来实现的。 简单地说,DOM里面有很多方法,我们可以通过它提供的方法来操作一个页面中的某个元素,如改变这个元素的颜色、点击这个元素实现某些效果、直接把这个元素删除等。 DOM结构 DOM采用的是“树形结构”,用“树节点”的形式来表示页面中的每一个元素。我们先看下面的一个例子。
last命令用于查看所有系统的登录记录,格式为“last [参数]” 使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]” 例如: 在终端上显示某一个字符串信息:
CSS定位使你可以将一个元素精确地放在页面上指定的地方。联合使用定位和浮动,能够创建多种高级而精确的布局。其中,定位布局共有4种方式。固定定位(fixed)。相对定位(relative)。绝对定位(absolute)。静态定位(static)
由于box2变成了浮动元素,因此box2也和box1一样,宽度不再延伸,而是由内容确定宽度。如果box2后面还有其他元素,则其他元素也会紧贴着box2
1.盒子模型概述 在“CSS盒子模型”理论中,页面中的所有元素都可以看成一个盒子,并且占据着一定的页面空间
这个“图片地址”是鼠标图片地址,其中鼠标图片后缀名一般都是“.cur”,我们可以使用一些小软件来制作 这个“属性值”一般只会用到3个,分别是default、pointer和text。
1.背景颜色:background-color 在CSS中,我们可以使用background-color属性来定义元素的背景颜色。 实例:
默认情况下,表格标题在表格的上方。如果想要把表格标题放在表格的下方,应该怎么实现? 在CSS中,我们可以使用caption-side属性来定义表格标题的位置 caption-side属性取值只有2个:
中文段落首行一般需要缩进两个字的空间。想要实现这个效果,那么text-indent值应该是font-size值的2倍
border-color属性用于定义边框的颜色 简写形式: 想要为一个元素定义边框,我们需要完整地给出border-width、border-style和bordercolor。这种写法代码量过多,费时费力。不过CSS为我们提供了一种简写形式
1.合并行:rowspan 在设计表格时,有时我们需要将“横向的N个单元格”或者“纵向的N个单元格”合并成一个单元格(类似Word的表格合并),这个时候就需要用到“合并行”或“合并列” 在HTML中,我们可以使用rowspan属性来合并行。所谓的合并行,指的是将“纵向的N个单元格”合并 实例:
1.条件渲染 对用户登录时输入的数据,如果不合法进行提示,我们可以使用条件渲染(if语句)来实现: 如下是一个示例:
1.service service命令,顾名思义,就是用于管理Linux操作系统中服务的命令。 这个命令不是在所有的linux发行版本中都有。主要是在redhat、fedora、mandriva和centos中。 查看所有服务当前的运行状态:
Flex组件用于创建弹性布局,开发者可以通过Flex的接口创建容器组件,进而对容器内的其他元素进行弹性布局,例如:使三个元素在容器内水平居中,垂直等间隔分散。 例如:如下的布局代码分别表示:(垂直排列,水平居中,垂直居中)
接下来需要填写项目信息并且创建项目(创建项目完成后,会加载一段时间的配置信息,耐心等待即可) 使用如下的配置创建一个ets应用
进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一个程序平稳而高效地运行。 Linux的进程管理与UNIX的进程管理相似。它包括进程调度、中断处理、信号、进程优先级、上下文切换、进程状态、进度内存等。
1.什么是安全策略 安全策略基于安全区域的域间关系来呈现,其内容包括两个组成部分。 条件。检查报文的依据,防火墙将报文中携带的信息与条件逐一对比,以此来判断报文是否匹配。 动作。对匹配了条件的报文执行的动作,包括允许通过(permit)或拒绝通过(deny),一条策略中只能有一个动作
在Linux中,使用 备名称+分区号 的方式来表示分区,例如: • sda1—第一块硬盘的第一个分区 • sda2—第一块硬盘的第二个分区 • sdb1—第二块硬盘的第一个分区 使用lsblk命令,可以查看所有设备挂载情况
1.at简介 at命令是一次性定时计划任务执行 要想使用 at 命令,读者需提前安装好 at 软件包,并开启 atd 服务。 如何检查系统开启atd服务?很简单,通过如下命令即可: 如下表示atd进程处在运行状态:🙌
1.Cookie和Session兄弟 由于HTTP协议本身是无状态的,也就是说同一个用户前一次HTTP请求和后一次HTTP请求时相互独立的,无法判断后一次请求的用户是不是刚才的用户。为了记录用户的状态,才有了Cookie。Cookie实际上以key-value键值对的形式存储了一些文本信息数据,它将数据保存在客户端(浏览器)。
Linux crontab 是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。 而 linux 任务调度的工作主要分为以下两类:🎉
1.Linux gzip/gunzip命令 Linux gzip命令用于压缩文件。 gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。 例如:将目录下面的hello.txt文件进行压缩:
1.Linux find 命令 Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 按文件名查找: 例如:查找服务器上所有名为hello.txt的文件:
1.apt简介 apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。 apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 apt 命令执行需要超级管理员权限(root)。
1.cat cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]” 由第一行开始显示文件内容
SQLite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。这里有两个通配符与 LIKE 运算符一起使用: