crontab定时任务
crontab定时任务前言无论是做开发还是做运维的程序猿,crontab命令是必须用到的命令,特别是对于运维的人,自动化运维中,crontab也属于其一。
今天来记录常用的crontab定时处理命令。
crontab简介简而言之呢,crontab就是一个自定义定时器。
crontab配置文件
/var/spool/cron/该目录下存放的是每个用户(包括root)的crontab任务,文件名以用户名命名
/etc/cron.d/这个目录用来存放任何要执行的crontab文件或脚本。
crontab时间说明123456789101112131415161718192021222324252627# .---------------- minute (0 - 59) # | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of ...
Django学习笔记
[课程]超细讲解Django打造大型企业官网课程信息
名称
内容
课程名
超细讲解Django打造大型企业官网
链接
网易云课堂
使用pycharm报错-虚拟环境12from django.contrib import adminfrom django.urls import path
如果代码报引用错误,需要检查pycharm的虚拟环境可能是新建项目时候自动新建了新的虚拟环境
解决办法在File->Setting->Python Intepreter中,重新修改下项目的python解释器器
新建项目的结构
传参数方式其一/<id>方式
urls.py
12345678910111213from django.contrib import adminfrom django.urls import pathfrom django.http import HttpResponsefrom book import viewsdef index(request): return HttpResponse('index' ...
Django知识点
学习django过程杂记
这里记的都是django学习过程中容易犯的错误以及随手敲的代码
2019年11月05日1234567891011121314151617181920212223242526272829303132333435363738#views.pyfrom django.shortcuts import render# Create your views here.from django.http import HttpResponse,JsonResponsefrom django.shortcuts import renderfrom django.db import connectiondef index(request): try: with connection.cursor() as cursor: cursor.execute("select id,name,stick from info1") rows = cursor.fetchall() except Exc ...
Django JWT认证机制
JWT的含义Json Web Token认证机制
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
详细信息自行谷歌.
库的选择(django-rest-framework django-rest-framework-jwt)使用django-rest-framework开发api并使用json web token进行身份验证在这里使用django-rest-framework-jwt这个库来帮助我们简单的使用jwt进行身份验证并解决一些前后端分离而产生的跨域问题
安装django-rest-framework现在接口一般都是restful风格,所以我们直接使用这个框架
在终端输入以下命令安装
1pip install djangorestframe
在settings.py的INST ...
Emoji字符长度计算
emoji字符长度的处理简介在项目开发中偶尔会遇到emoji表情存入数据库但是无法准确计算长度(个数和实际所占字符长度)最开始遇到这个情况是在开发后台管理系统时,标题中需要插入emoji表情我用的是emoji-mart-vue
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364import { Picker } from 'emoji-mart-vue'``` 比如👩👩👧👧字符就占用11字符长度 感觉应该通过正则来进行筛别 最后找到了一个标准的正则表达式项目 [EmojiCharString](https://github.com/thomasliew/EmojiCharString) 你可以安装或者在源代码中找到正则并使用它(我采用的这个)## 过程> 原理就是点击emoji的Picker时候自动获取某个输入框内文本,通过正则计 ...
formidable上传图片
node存储文件-formidable的使用formidable库formidable
formidable接收图片123456789101112131415161718192021222324252627282930313233343536373839let form = new formidable.IncomingForm();form.encoding = 'utf-8'; // 编码form.keepExtensions = true; // 保留扩展名form.maxFieldsSize = 2 * 1024 * 1024; // 文件大小form.uploadDir = '/usr/local/workspace/xiaoniaoFile/jiemian' // 存储路径// form.uploadDir = './files' // 存储路径(本地调试)form.parse(req,function(err,fileds,files){ // 解析 formData数据 if(err) ...
i18n国际化在Vue项目的使用
国际化:i18n实现多语言前言如果项目需要多语言的支持,我们需要做国际化,使用 vue-i18n 来实现多语言的界面.这次实测环境是vue3版本
安装1npm install vue-i18n --save
关于语言包,我们有几种方式,一种是每个语言包一个独立的js放到项目里, 或者将语言的对照写在 .vue 文件里, 或者加载远程的JSON语言包我们的后台界面需要支持的语言通常不多,更新也不会非常的频繁,所以我们将语言包放在项目里,规划项目目录,增加 lang 目录来存放语言对照
配置及引入main.js
12import VueI18n from 'vue-i18n'Vue.use(VueI18n)
12345678const i18n = new VueI18n({ locale: 'zh-CN', // 语言标识 //this.$i18n.locale // 通过切换locale的值来实现语言切换 messages: { 'zh-CN': require('./com ...
jQuery知识点
jQuery知识点滚动条动画1234$('.two').click(function(){ var t = $('#hbright').offset().top; $('body,html').animate({"scrollTop":t},500);});
jQuery获取radio的值1$('input[name="radio"]:checked').val();
Linux常用命令
Linux常用命令查看端口占用12lsof -i:[端口号]# lsof -i:8000
查看进程1ps aux|grep uwsgi
杀掉端口进程:kill [PID]
搜索文本||查看日志1cat [文件名] | grep '[文本]'
node连接查询MySQL数据库
node连接查询MySQL数据库方式通过mysql库进行连接
实操:普通方式123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109const express = require('express');const mysql = require('mysql');const app = express();app.listen('3000', () => { console.log('server is runing,port is 3000');});const db = mysql.createC ...