数据库复习(mysql)
数据库概述为什么要使用数据库
横向:存储数据量大相比保存在文件里,使用时需要遍历,效率更高,而且有很多的优化方法
纵向:数据的丰富度存储的数据类型可以多种多样
持久化能将瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。
关闭应用然后重新启动则先前的数据依然存在。关闭系统(电脑)然后重新启动则先前的数据依然存在。
RDBMS 与 非RDBMS关系型数据库(RDBMS)关系型数据库模型是把复杂的数据结构归结为简单的二元关系 (即二维表格形式)。
非关系型数据库(非RDBMS)非关系型数据库,可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过SQL层的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。
键值型数据库通过 Key-Value 键值的方式来存储数据。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的键,这就会消耗大量的计算。键值型数据库典型的使用场景是作为 ...
django项目总结 | 官网
需求分析分析页面中哪些是动态内容,哪些是静态内容,有一些东西是经常要改动的,不能在页面上写死,需要在后台可以配置。先分析页面哪些是经常需要变更的,哪些是不需要变更的?
第1部分是一个幻灯片,那这个幻灯片呢,有一个背景图,它的效果是由js事件的,如果经常要维护的话,就以它设置为动态的。动态内容包含这个图片 这里的标题,还有图片中的内容,需要我们进行在后端进行设置。
第2部分,关于我们,这个关于我们那基本上很多公司都有,这个东西基本上就没变过,很少变化。
第3部分成功案例,包含企业集团、移动金融、建筑设计。有的时候需要变更一下,如果有新的合作伙伴了,宣传一下就需要用到。成功案例主要就是图片,这是经常变化的。
第4部分,服务流程和关于我们差不多一样,基本上每个公司这个服务流程都是不怎么改动的,这个相当于静态页内容了。
第5部分,团队成员团队介绍,如果公司经常会变更一些人物啊,或者是你想宣传更多的新来的小伙伴呢,那这个时候它就会发生变化了,团队介绍这部分内容也是动态的。
第6部分,资讯中心,是动态的,每天公司会有一些新闻,我们跟谁谁合作了,我们取得什么样成绩了。让用户知道了解这些东西 ...
django项目总结 | 前端
安装先安装node.js再安装vue,跟着官方文档来还需要安装vue cliVue 3 在 2022 年 2 月 7 日 成为新的默认版本
tailwindCSStailwind CSS可以通过更加简单的CSS样式的名称来表示CSS样式。其更简单的CSS样式表示方式如 w-24 表示宽度为 24,PT-6 表示 Padding Top 6 等。官网:www.tailwindCSS.com安装完后需要再main.js中引入
1import './asset/css/tailwind.css'
默认背景在tailwind.config.js中配置:
123456789101112131415161718192021/** @type {import('tailwindcss').Config} */module.exports = { content: ["./src/**/*.{html,js,vue}"], theme: { extend: { ...
进制转换
只记得二进制转十进制,复习一下
二进制转十进制128 64 32 16 8 4 2 1记住这串数字就行,每往前一位就乘2
1000 0010 = 128 + 2 = 130
或者从后往前
0*2^0 + 1*2^1 + 0*2^3 + 0*2^4 + 0*2^5 + 0*2^6 + 0*2^7 + 1*2^8 = 2 + 128 = 130感觉差不多
二进制转八进制只要记得三个数字4 2 1循环往复
010 000 010 = 202不需要加起来
二进制转十六进制只要记得四个数字8 4 2 1循环往复
1000 0010 = 82不需要加起来
另外,十六进制没有9以上的数字,10到15用A到F表示
综上,只要转换成二进制,转成其他很方便,另外,八进制和十六进制因为不用加起来,一眼就能看出来,十进制就稍微麻烦点。
十进制转二进制除2取余,把余数从下往上排列就是二进制78 / 2 = 39余039 / 2 = 19余119 / 2 & ...
halo(博客4.0计划)
今天搜twikoo功能时发现一个巨帅的博客,https://nanshengwx.cn/,就像当初我第一次看到用hexo搭建的博客一样,让我赞叹不已。本又以为是别人技艺高超,自愧不如,直到看到友链里其他博客是同样的效果,发现用的是同一个框架halo。等下一次闲下来,可以用这个框架重构一下博客,有点炫啊。
评论功能(待更新)
哇,之前用的Livere插件来实现评论功能,没想到过了一周,竟然给我加上了广告,不能忍,直接去掉了。
Livere的配置确实挺方便(除了注册时页面和邮件通知全是韩语),可惜有广告。。。
之后学一下改用Twikoo插件来实现该功能。 Twikoo官方文档:https://twikoo.js.org/
本来想用vecel部署,觉得还得学vecel太烦了
看官方文档说vecel大陆访问慢,Hugging Face 部署快,想用后者,结果后者连官网都打不开
发现可以私有部署,直接部署在服务器上,但看网上的教程,对nginx反代理以及linux配环境变量还是不熟,以后再学学,而且服务器竟然没下node.js还得下。教程https://blog.csdn.net/qq_26572789/article/details/135440212
看用docker私有部署感觉好简单,决定用docker部署,学一下docker
页面出现了评论功能,但不能评论,后台地址打不开,即网址+8099的端口号打不开twikoo后台,不知道是nginx反代理没做的原因还是twikoo不能用https的原因。好像 ...
django项目总结 | django基础
创建Django项目配置数据库
在settings.py里的DATABASES里配置数据库
123456789# 定义数据库配置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 使用MySQL作为数据库引擎 'NAME': 'movie', # 数据库名称为movie 'USER': 'root', # 数据库用户名为root 'PASSWORD': '123456' # 数据库密码为123456 }}
使用PyMySQL来替代MySQL,并在配置文件中movie/init.py文件中设置
12345# 导入PyMySQL模块import pymysql# 将PyMySQL模块安装为MySQLdb的别 ...
XSS攻击
xss攻击位置 用户登录入口、网站搜索框等。
xss发生过程 例如:
1<input type="text" name="address1" value="value1from">
当用户输入不是正常想要输入的内容,而是输入一串代码:
1"/><script>alert(document.cookie)</script>
变成:
1<input type="text" name="address1" value=""/><script>alert(document.cookie)</script>">
从而代码就会执行。
xss防御将用户提交的所有内容都进行过滤,排除关键字,敏感内容,对URL的参数也进行一定的过滤,并且对动态输出到页面的内容进行html编码,转换为html实体,使其用户输入的恶意代码无法在浏览器中执行。
移动端适配
媒体查询 @media使用@media在屏幕变化时调整css
123@media only screen and (max-width: 768px) { ...}
css写法可能需要增加很多样式,要写很多很长的选择器名字因此需要将每一个部分的写一块,不同部分之间多换几行在每一个选择器名字旁边写上注释解释,便于查找
display: table页码组件使用了display: table,没见过
使用 display: table; 会使得元素表现得像HTML中的<table>元素,而其子元素(类似于 <tr> 和 <td>)可以按照表格的布局规则进行排列。
以下是 display: table; 一些关键的特性:
块级表格:元素会成为块级元素,并且可以拥有宽度和高度。
内联行为:默认情况下,表格的子元素(<tr>)会表现得像内联元素。
单元格合并:类似于HTML表格,可以使用 colspan 和 rowspan 属性来合并单元格。
表格布局:表格的布局不会受到文档流的影响,这意味着它不会影响周围元素的布局 ...
Mixins
占个坑