vue3
模板语法12345678910111213141516171819202122<template> {{msg}} <div>{{ num ? '我是真的' : '我是假的'}}</div> <div>{{ content.split(',').map(v=> `%${v}123`) }}</div> <div><button @click="clickTxt">提交</button></div></template><script setup lang="ts"> const msg:string = "哈哈测试一下" // 还可以为表达式 0为false const...
docker相关环境配置
docker安装1、安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2、设置开机启动docker12systemctl start docker # 启动dockersystemctl enable docker 3、配置阿里云镜像进入阿里云官网搜索容器镜像服务,选择对应的镜像加速器。 4、启动sudo systemctl start docker 5、测试安装sudo docker run hello-world docker-compose安装1、安装123curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose 2、测试docker-compose...
前端相关
nvm配置安装下载地址:https://github.com/coreybutler/nvm-windows/releases安装直接无脑下一步即可,也可自行修改安装路径。安装完成执行:nvm -version查看安装是否成功。安装node环境执行:nvm install 16.12.0对应的node版本号即可。 卸载也是同理nvm uninstall 16.12.0 查看当前系统所有node版本:nvm list node版本切换:nvm use 16.14.2对应的版本号即可。 有一个小坑如下,以管理员运行即可解决。 vite构建创建项目npm init vite@latest xxx(项目名称) --template vue-ts执行后选择vue即可。 routerrouter安装npm install vue-router@next router路由跳转main.js 123456789101112131415161718192021222324252627282930313233import home from...
基于Cloudreve系统在树莓派上搭建私人网盘
树莓派启用root登录pi配置root密码sudo passwd root执行命令会提示输入两遍密码 解锁root账户sudo passwd --unlock root 切换rootsu root 安装cloudreve下载cloudrevewget https://github.com/cloudreve/Cloudreve/releases/download/3.4.2/cloudreve_3.4.2_linux_arm64.tar.gz 解压下载包tar -zxvf cloudreve_3.4.2_linux_arm64.tar.gz解压后会得到一个可执行文件cloudreve 安装mysql下载mysqlsudo apt install mariadb-server 启动服务sudo service mysql start 设置root密码sudo mysqladmin -u root password 123456 进入mysqlmysql -u root -p 创建数据库create database cloudreve; 查看当前有哪些数据库show...
Python列表和元祖相关
索引操作:li = ['apple','banana','pear','mango',[1,2],'呵呵'] l1 = li[0]# 取第一个 print(l1) l2 = li[0:]# 取所有 print(l2) l3 = li[::-1]# 倒取所有 print(l3) l4 = li[1:3]# 取第一第二 print(l4) 增:li = ['apple','banana','pear','mango',[1,2],'呵呵'] li.append("随便")# 写入到列表最后 print(li) li.insert(4,'随便')# 索引插入 print(li) li.extend("随便")# 两个字拆开 li.extend([1,2,3]) #...
Mysql
查看存储引擎:show ENGINES;查看所有搜索引擎SHOW VARIABLES LIKE '%storage_engine%';查看当前正在使用的搜索引擎#SQL读取顺序:MylSAM和InnoDB的区别:主外键:MylSAM:不支持,InnoDB:支持事务:MylSAM:不支持,InnoDB:支持行表锁:MylSAM:表锁,InnoDB:行锁缓存:MylSAM:只缓存索引,不缓存数据,InnoDB:不仅缓存索引,还要缓存真实数据,对内存要求比较高,而且内存大小对性能有决定性的影响。表空间:MylSAM:小,InnoDB:小关注点:MylSAM:性能,InnoDB:事务默认安装:创建表的时候默认安装InnoDB文件结构:MylSAM: b.frm:描述结构文件,字段长度等 b.MYD(MYData):数据信息文件,存储数据信息(如果采用独立表存储模式) b.MYI(MYIndex):索引信息文件 InnoDB: ...
Django
#Django中的模块模型Model:数据层,处理与数据相关的所有事物视图View:视图层,用来处理用户发来的请求模板Template:模板层,通过视图层函数渲染html模板,得到动态的前端页面路由Url:网站的入口,关联刀对应的视图函数,访问网址就对应一个函数表单Forms:表单,用在在浏览器输入数据提交,并对这些数据进行验证后台Admin:Django自带一个管理后台,对你提交的数据进行管理配置Settings:Django的设置,配置文件#Django的基础命令django-admin startproject 项目名->创建一个django项目python manage.py startapp 应用名->项目中创建一个应用python manage.py shell ->进入调试艾玛的调试模式Python manage.py makemigrations ->数据库创建更改文件Python manage.py migrate ->同步刀数据库进行更新python manage.py flush ->清空数据库python...
Python发送邮件
* coding: utf-8 *author = ‘fanafany’date = ‘2019-12-05 11:23 ‘ #’eyndgpugbkoajhhg’ import smtplib,osfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport base64class SendMail(object): def init(self,username,passwd,recv,title,content, file=None,ssl=False, email_host=’smtp.qq.com’,port=25,ssl_port=465): ‘’’ :param username: 用户名 :param passwd: 密码 :param recv:...
Vue
一、介绍MVVM模式:model(模型驱动) vue(html,可以理解为dom),就是数据驱动vue,然后又反过来vue驱动数据,就是一个双向数据绑定常见的一个概念Model:负责数据存储View:负责页面展示View Model:负责业务逻辑(比如ajax请求等),对数据进行加工后交给视图展示MVC模式(设计模式,前后端都有模式存在):M-model-模型-数据(js变量)V-View-视图-用户所见界面(HTML,CSS)C-contral-控制器-事件交互-如何根据视图与用户交互后改变数据(通过dom对象绑定事件,将变量进行修改)##vue.js是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue...
redis相关
keys * 查看所有的值flushdb 刷新(清空)set "mobile" "18888888888"get "mobile" 首先启动redis-server.exe,然后启动redis-cli.exe 123456789import timeimport redisr = redis.Redis(host="127.0.0.1", port=6379, db=0, charset="utf8", decode_responses=True)# 设置编码r.set('foo', "test")r.expire("foo", 1)# 设置过期时间1秒钟time.sleep(1)print(r.get("foo"))