- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 C++提高
本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用1 模板1.1 模板的概念模板就是建立通用的模具,大大提高复用性。模板的特点:模板不可以直接使用,它只是一个框架、模板的通用并不是万能的1.2 函数模板C++另一种编程思想称为泛型编程 ,主要利用的技术就是模板。C++提供两种模板机制:函数模板和类模板1.2.1 函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template<typename T
2021-06-08 18:57:19 896 2
原创 C++核心
1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及全局常量、字符串常量栈区:由编译器自动分配释放,存放函数的形式参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程1.1 程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域:代码区:存放 CPU 执行的机器指令-代码的二
2021-06-02 11:59:38 1346 1
原创 C++基础入门
1 C++初识1.1 编写一个C++程序vs2019–>创建新项目–>c++空项目–>选择项目路径–>右键点击源文件–>添加新建项–>c++文件–>添加–>写代码–>点击本地windows调试器运行#include<windows.h>#include<iostream>using namespace std;int main(void) { int x; x = MessageBox(GetForegroundW
2021-05-25 11:42:18 1207 4
原创 tornado-websocket-异步非阻塞
一、 基本操作 /easy/app.py路由系统class LoginHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): *** def post(self, *args, **kwargs): ***# 配置文件settings = { "template_path": 'template', 'static_path': 'static',}
2021-05-14 15:47:25 825 1
原创 python脚本执行外部程序.exe
# os.popen运行dos命令:# popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,但不会将执行过程中要打印的内容打印出来import osmain = r"D:\zonghe.exe"f = os.popen(main)data = f.readlines()f.close()print(data)# commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来import subp
2021-05-13 15:18:40 607
原创 docker虚拟机及flask部署
虚拟化部署环境的重要性直接把程序部署在Linux操作系统上,很容易引发资源冲突(比如CentOS自带MariaDB数据库,再安装MySQL数据库会冲突)。程序卸载不干净,导致无法安装或部署新程序。每次部署之前要安装很多软件,修改复杂的配置文件。无法让服务器硬件资源实现多租户服务。(可以给虚拟环境分配固定的硬件资源,则不会发生争抢硬件资源的冲突)增大了在Linux系统上部署集群和分布式的难度。Vmware和Docker对比:Vmware是重量级虚拟机,每个虚拟实例都虚拟了完整的硬件环境(虚
2021-05-11 15:31:23 398 1
原创 定时器实现方式
1.app.py 和 tasks 组合形成flask异步处理2.timer.py 定时器(Timer)简单实现3.celery_test.py python使用celery项目:https://github.com/zxy1013/auto_timer
2021-05-08 10:17:10 84
原创 设计模式
设计模式:对软件设计中普遍存在(反复出现)的各种问题所提出的解决方案----类之间的协作方案面向对象:封装(data和方法)、继承(代码复用)、多态(python是一门多态的语言)接口:若干抽象方法的集合。限制实现接口的类必须按照接口给定的调用方式实现方法,对高层模块隐藏了类的内部实现(不需要去看Alipay WechatPay的内部实现 只需要p.pay(100)调用即可)面向对象设计SOLID原则:开放封闭原则: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应尽量
2021-05-07 16:01:24 192 1
原创 flask/django跨域
CORB(Cross-Origin Read Blocking)浏览器在加载可以跨域资源时,在将资源载入页面时对其进行识别与拦截等一系列处理。跨域访问的处理方法:一、通过后台服务端进行对其他域的请求二、通过flask的flask-cors第三方扩展三、jsonp: json with padding 创建一个回调函数,然后在远程服务上调用这个函数并且将JSON数据形式作为参数传递,完成回调。将JSON数据填充进回调函数,这就是JSONP的JSON+Padding的含义。四、设置响应头五、d
2021-04-26 17:31:24 297 2
原创 flask-restful
安装 pip install flask-restful手册参照 https://flask-restful.readthedocs.io/en/latest/RESTful(表现层状态转化)adds support for quickly building REST APIsrest api是前后端分离的最佳实践,是开发的一套标准或规范,不是框架。1、轻量,直接通过http,不需要额外的协议,通常有post/get/put/delete操作。http协议无状态,所有状态均保存在服务器端。2、
2021-04-20 15:53:57 378 1
原创 flask消息闪现和日志
原来后台向前端传递消息render_template('test.html',msg='hello world')前端接收{{ msg }}一、消息闪现:在一个请求结束的时候添加flashflash('恭喜!验证成功啦!')flash('哈哈哈')flash(username)在当前请求中渲染获取或下一个请求获取闪现内容:get_flash_messages()设置类型flash('恭喜!验证成功啦', 'info')flash('哈哈哈', 'error')flash(us
2021-04-16 12:40:59 180
原创 flask的WTForms
flaskwtf文档https://flask-wtf.readthedocs.io/en/stable/#wtform文档https://wtforms.readthedocs.io/en/2.3.x/Flask-WTF集成了WTForm功能,是带有csrf令牌的安全表单且具有全局csrf保护的功能、有文件上传(Flask-Uploads)及图形验证码功能。安装,会自动安装WTForms:pip install Flask-WTF定义form.py 添加import refrom fl
2021-04-15 16:43:23 324
原创 nginx--虚拟机
按照之前的方法将项目上传至虚拟机上//虚拟机上cd /home/virtualevirment_makemkdir 2048sudo chmod 777 2048 -R在pycharm中配置好上传本地2048文件NginxNginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,其特点是占用内存少,并发能力强,提供负载均衡,在同类型的网页服务器中表现优秀。Nginx和tomcat的区别nginx常用做静态内容服务和代理服务器HTTP Server,直接将外来请求转发给后
2021-04-08 16:31:55 195
原创 flask项目部署至虚拟机
安装虚拟机以及ubuntu系统https://blog.csdn.net/weixin_49722641/article/details/108630299windows与linux的设计理念有根本性的区别:windows:用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。因为windows将所有操作都隐藏起来,只给用户提供封装好的功能,用户只能在操作系统限制的范围内操作,如果是普通用户,会觉得很windows很舒服,因为不需要思考。只需要按照指示去操作。但对于开发人员而言,这种
2021-04-08 09:33:57 991
原创 flask(四)模型
flask-scriptpip install flask-script使用里面的Manager进行命令,管理和使用程序manager = Manager(app=app)在终端的使用命令:python app.py runserver ---->Runs the Flask development serverpython app.py runserver -h 0.0.0.0 -p 5001---->设置端口号和host自定义添加命令 @manager.comman
2021-03-21 21:34:26 526
原创 flask(三)模板
模板可以理解为一个特殊的html文件,特殊之处就在于这个html文件包含固定内容和动态部分,其动态部分可以借助模板引擎进行传参,类似于django1.模板引擎传参app.pyclass Girl: def __init__(self,name): self.name = name self.age = 18 self.gender = '女' def __str__(self): return self.name@ap
2021-03-15 13:56:13 177 1
原创 flask(二)http协议之request和response
1.请求报文和响应报文打开浏览器,当输入一个url,点击访问的时候会向目标服务器发送一个HTTP请求,请求的会经过os七层,可以理解为通过url请求目标服务器的一段具体的资源,这种浏览器于服务器之间交互的数据被称为报文。应用层:网络服务与最终用户的一个接口。协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP表示层:数据的表示、安全、压缩。格式有:JPEG、ASCll、EBCDIC、加密格式等会话层:建立、管理、终止会话。对应主机进程,指本地主
2021-03-13 18:23:33 734 2
原创 flask(一)配置和路由
Flask是一个Python编写的Web轻量级框架。它和Django的联系以及区别,django是一个大而全的web框架,它内置许多模块,flask是一个小而精的轻量级框架只包含基本的配置; Django有模板,表单,路由,基本的数据库管理等等内建功能。Flask只是一个内核,默认依赖于2个外部库: Jinja2 模板引擎和 WSGI工具集–Werkzeug , flask的使用特点是基本所有的工具使用都依赖于导入的形式去扩展,flask只保留了web开发的核心功能。常用扩展包:Flask-SQLal
2021-03-12 17:47:44 2425
原创 rabbitmq
线程队列 同一个进程中不同线程的交互进程队列 不同进程的交互rabbitmq 不同机器不同语言之间的交互,此时使用消息中间件即消息队列(异步)开发语言是:erlangeasy_install pika
2021-03-08 17:33:01 129
原创 celery分布式任务运算
基于python开发的分布式异步消息任务队列,可以轻松的实现任务的异步处理, 如果业务场景中需要用到异步任务,就可以考虑使用celery。Celery 在执行任务时需要通过一个消息中间件来接收和发送任务消息,以及存储任务结果, 一般使用rabbitMQ or Redi。当任务执行失败或执行过程中发生连接中断,celery 会自动尝试重新执行任务。Celery 4.x及以上不支持windows10一、使用celery1.工作流程 rabbitmq为broker 中间商任务发送者发送任务给celery,
2021-03-02 17:31:37 295 2
原创 redis缓存数据库
NoSQL = Not Only SQL = 不仅仅是SQL,泛指非关系型的数据库,超大规模和高并发的SNS(social network society)暴露了很多难以克服的问题,而NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。NoSQL数据库的四大分类**1.键值(Key-Value)存储数据库 **这一类数据库主要会使用到一个哈希表,hash(key) Key/value模型简单、易部署。但是如果只对部分值进行查询或更新的时候,Key/value
2021-03-02 15:52:56 287
原创 github操作方法
Pycharm1.setting–version control–github 配置好github用户名和密码。2.配置git 下载git后填写路径D:***\git.exe3.建立远程仓库并提交代码,点击顶部菜单栏的VCS选项,import into version control --share project 填写name和描述我的电脑属性中搜索文件夹 选择显示隐藏的文件和文件夹。就能看到隐藏的文件夹/.git ,打开其中的config文件,删除类似于下面格式的三行:...
2021-03-01 19:04:11 219 2
原创 CBV和FBV实现验证登录
CBV加装饰器classurl(r'^login.html$', views.Login.as_view()) # 类名的关联方法在执行前后做一些操作,此时是输出post或者get。from django.shortcuts import render,redirect,HttpResponsefrom app01 import modelsfrom django import viewsfrom django.utils.decorators import method_decorator
2021-02-14 13:07:45 205 1
原创 Windows 上安装charm-crypto
一、预制包装1.为Windows x64安装Python 3.52.下载charm-crypto-win-x64.7z解压缩charm-crypto-win-x64.7z 并转到charm-crypto文件夹将所有.dll文件复制到C:\Windows\System32。**文件在我的资源里**3.easy_install 的安装https://pypi.python.org/pypi/ez_setup下载 ez_setup.py 到桌面后,按住键盘的 shift 键,右击鼠标,选中“在此处打
2021-01-26 14:46:59 3834 36
原创 session和cookie实现免密登录
要求:登录注册班级管理学员管理增删改查1.定义数据库表结构定义表结构关系class Classes(models.Model): caption = models.CharField(max_length=32)class Student(models.Model): name = models.CharField(max_length=32) cls = models.ForeignKey('Classes',on_delete=models.CASC
2020-12-01 13:12:04 1274
原创 AJAX与json
JSON(JavaScript Object Notation)是一种轻量级数据交换,是用字符串来表示Javascript对象;json字符串就是js对象的一种表现形式(字符串的形式) import json i=10 s='hello' t=(1,4,6) l=[3,5,7] d={'name':"zzzfff"} json_str1=json.dumps(i) # '10' json_str2=json.dumps(s) # '"hello"' json_str3=json.dum
2020-11-25 18:26:28 261 2
原创 models模块编辑
django默认支持sqlite,mysql, oracle,postgresql数据库。<1> sqlitedjango默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3<2> mysql引擎名称:django.db.backends.mysql如果想要更改数据库,需要修改如下:DATABASES = { 'default': { 'ENGINE': 'django.
2020-11-05 09:50:24 524
原创 extend模板继承
extend模板继承创建模板文件HTML<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .page-header{ height: 50px; background-color: rebeccapur
2020-11-03 17:02:30 374 1
原创 jquery轮播图
css样式优先级:id100 > class10 > element1<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin:0; padding:0; }
2020-10-25 21:01:08 90
原创 框架Django原理及基础二
在Django中使用静态文件js等时,首先需要配置setting文件BASE_DIR1=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))STATIC_URL = '/abc/' #以abc来代替static,此后html中关于static的均可以写为abc#因为后端出现问题时,可能会对static进行改名,此时前端再不可对static进行引用,但是使用abc时,不论后端怎么变换,前端均可以用abc引用#为了后端的更改不会影响前端
2020-10-25 14:56:38 375
原创 框架Django原理及基础一
框架: frameworkDRP原则: Don’t repeat yourself特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以快速开发特定系统。去除重复部分web应用的流程://浏览器发送一个HTTP请求//服务器收到请求,生成一个HTML文档//服务器把HTML文件作为HTTP响应的BODY发送给浏览器//浏览器最终受到HTTP响应,从BODY中读取HTML文件并显示对于所有的Web应用,本质是一个socket服务端,用户的浏览器是一个socket客户端。im
2020-10-22 21:50:31 925
原创 交互器、linux下的常用命令
使用交互器步骤搜索-->cmd-->cd(change directory) c:\-->dir(查看当前目录文件)#若想清空,输入cls搜索-->cmd-->python--> print(" hello world")#若想返回,输入ctrl+c搜索-->cmd-->cd c:\--> "E:\python35\python.exe" C:\Users\xxx\Desktop\py\test.txt#可直接拖入文件,系统会自动识别地址搜
2020-09-17 22:23:59 548
原创 pycharm操作MySQL
导出现有数据库数据:mysqldump -u用户名 -p密码 数据库名称 >导出文件路径 # 结构+数据mysqldump -u用户名 -p密码 -d 数据库名称 >导出文件路径 # 结构导入现有数据库数据:mysqldump -uroot -p密码 数据库名称 < 文件路径avg获取平均值select student_id,avg(num) from score group by student_id HAVING avg(num) >
2020-09-14 22:36:22 2413
原创 mysql数据库基础知识
1 概念数据库 文件夹数据库表 文件数据行 文件中的一行数据2 启动服务器:cmd命令框下 net start mysql 或 C:\mysql-5.7.16-winx64\mysql-5.7.16-winx64\mysqlmysql.server start 客户端连接:cmd命令框下 C:\mysql-5.7.16-winx64\mysql-5.7.16-winx64\mysql -u root -p show databases; # 查看当前Mysql
2020-09-14 19:17:38 724
原创 前端复盘
为什么要有HTML? 浏览器渲染时使用一套HTML规则, "Hello"变为"<h1>Hello</h1>"服务器端写HTML时 在任何语言的WEB框架中html都做模版.html .tpl (template) .chmtl发送请求和相应请求时请求头 请求内容 用两个换行符分割响应头 响应内容 用两个换行符分割HTML规则-html/head/title/meta/body-div/p/a/h/span/b/br/hr/em/ul/ol/li/img/table
2020-09-12 11:18:29 597
原创 jQuery的基本语法和基本属性
jQuery是Javascript框架,是轻量级的js库(压缩后只有21k)jQuery 对象是 jQuery 独有的,如果一个对象是 jQuery 对象,那么它就可以使用 jQuery 里的方法$("#test").html() 意思是指:获取ID为test的元素内的html代码选择器基本选择器 $("*") $("#id") $(".class") $("element") $(".class,p,div")层级选择器 $(".outer div") $(".out.
2020-09-11 17:16:42 129
原创 JavaScript的函数作用域
if while等控制语句并没有自己作用域函数有自己的作用域<script> if(1==1){ var s=12; } console.log(s); //12 function f(){ var temp=666;//局部变量 val=676; } f(); console.log(val);//676 console.log(temp);//temp is not defi
2020-09-09 18:14:13 88
原创 二级联动以及内容的左右移动
onchange实现二级联动<body> <select id="province"> <option>请选择省:</option> </select> <select id="city"> <option>请选择市:</option> </select> <script> data={"河北省":[
2020-09-09 17:19:04 217
原创 javascript里的对象
instanceof方法<script> var s="hello"; // typeof 只能判断基本数据类型; alert(typeof (s));//string var s2=new String("hello"); alert(typeof(s2));//object alert(s2 instanceof String);//instanceof可以判断实例对象是不是string true var n=new Number
2020-09-01 18:19:19 178
原创 JavaScript基本数据类型和基础语法
核心(ECMAScript)文档对象模型(DOM) Document object model (整合js,css,html)浏览器对象模型(BOM) Broswer object model(整合js和浏览器)1.JavaScript的引入方式直接编写可以放在head和body标签内,建议放在body里的最后面,将html标签加载完成后加载js。<script> alert('hello') /*alert访问网页时会在地址栏出现一个hello框*/</script&g
2020-08-31 21:09:28 190
爬虫爬取空间说说等生成词云.rar
2020-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人