自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时光偏执的博客

自己整理的一些编程基础知识

  • 博客(47)
  • 收藏
  • 关注

原创 CSRF

CSRFCSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题:个人隐私泄露以及财产安全。CSRF攻击示意图客户端访问服务器时没有同服务器做安全验证防止 CSRF 攻击步骤在客户端向...

2019-01-16 11:25:06 16096 2

原创 开启win10 Ubuntu子系统

准备工作1.设置——>更新和安全——>开发者选型——>开发人员模式2.控制面板——>程序——>程序和功能——>启用或关闭Windows功能——>适用于Linux的Windows子系统——>确定 (然后重启)下载并安装Ubuntu在应用商店中搜索Ubuntu,选择Ubuntu16.04,点击获取进行下载及安装,安装完毕点击

2019-01-16 11:00:55 574 1

原创 Redis 和 mongodb, Mysql 的区别和优缺点

Mongodb和MySQL数据库的对比传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。 ...

2019-01-16 10:47:15 1756 1

原创 mongodb 五(和python交互)

mongodb和python交互1. mongdb和python交互的模块pymongo 提供了mongdb和python交互的所有方法安装方式: pip install pymongo2. 使用pymongo导入pymongo并选择要操作的集合 数据库和集合乜有会自动创建 from pymongo import MongoClient client = MongoClient...

2019-01-16 10:34:58 218 1

原创 mongodb 四(索引备份)

Mongdb的索引备份以及和python交互1. mongodb的索引1.1 为什么mongdb需要创建索引加快查询速度进行数据的去重1.2 mongodb创建简单的索引方法语法:db.集合.ensureIndex({属性:1}),1表示升序, -1表示降序db.集合.createIndex({属性:1})上面两个命令效果等价具体操作:db.db_name.ensu...

2019-01-16 10:30:51 950 4

原创 mongodb 三 (聚合操作)

mongodb的聚合操作1. mongodb的聚合是什么聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。语法:db.集合名称.aggregate({管道:{表达式}})2. mongodb的常用管道和表达式2.1 常用管道命令 在mongodb中,⽂...

2019-01-16 10:27:17 1176 2

原创 mongodb 二 (基本使用)

mongodb的基本使用目标掌握mongodb关于数据库和集合的基础命令掌握mongdb增删改查的命令掌握mongodb高级查询的命令1. mongodb数据库的命令查看当前的数据库:db查看所有的数据库:show dbs /show databases切换数据库:use db_name删除当前的数据库:db.dropDatabase()2. mongodb集合的命...

2019-01-16 10:22:37 132 1

原创 mongodb 一 (介绍和安装)

mongodb的介绍和安装1. nosql的介绍“NoSQL”⼀词最早于1998年被⽤于⼀个轻量级的关系数据库的名字随着web2.0的快速发展, NoSQL概念在2009年被提了出来NoSQL在2010年⻛⽣⽔起, 现在国内外众多⼤⼩⽹站, 如facebook、 google、 淘宝、 京东、 百度等, 都在使⽤nosql开发⾼性能的产品对于⼀名程序员来讲, 使⽤nosql已经成为⼀条...

2019-01-16 10:19:35 188 1

原创 Redis 六 (集群)

为什么要有集群 之前我们已经讲了主从的概念,一主可以多从,如果同时的访问量过大(1000w),主服务肯定就会挂掉,数据服务就挂掉了或者发生自然灾难大公司都会有很多的服务器(华东地区、华南地区、华中地区、华北地区、西北地区、西南地区、东北地区、台港澳地区机房)集群的概念 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互...

2019-01-16 10:14:36 194 1

原创 Redis 五 (主从)

主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离master和slave都是一个redis实例(redis服务)主从配置 配置主 查看当前主机的ip地址ifconfig修改e...

2019-01-16 10:06:08 183

原创 Redis 四 (Redis与Python交互)

安装包安装Redis的有3种方式https://github.com/andymccurdy/redis-py第一种:进⼊虚拟环境,联⽹安装包redispip install redis第二种:进⼊虚拟环境,联⽹安装包rediseasy_install redis第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装一步步执行 wget https://github...

2019-01-16 09:52:57 133

原创 Redis 三 (数据操作)

数据结构 redis是key-value的数据结构,每条数据都是⼀个键值对键的类型是字符串注意:键不能重复值的类型分为五种:字符串string哈希hash列表list集合set有序集合zset数据操作行为 保存修改获取删除点击中⽂官⽹查看命令⽂档http://redis.cn/commands.htmlstring类型字符串类型是 Redis ...

2019-01-16 09:46:19 165 1

原创 Redis 二 (安装,配置,服务端和客户端命令)

1安装step1:下载wget http://download.redis.io/releases/redis-4.0.9.tar.gzstep2:解压tar xzf redis-4.0.9.tar.gzstep3:移动,放到usr/local⽬录下sudo mv ./redis-4.0.9 /usr/local/redis/step4:进⼊redis⽬录c...

2019-01-16 09:24:47 139 1

原创 Redis 一 (简介)

nosql介绍 NoSQL:一类新出现的数据库(not only sql)泛指非关系型的数据库不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景NoSQL中的产品种类相当多:MongodbRedisHbase hadoopCas...

2019-01-16 09:16:43 130 1

原创 MySQL 十 (主从)

MySQL主从同步配置1. 主从同步的定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。使用主从同步...

2019-01-15 16:34:15 135 1

原创 MySQL 九 (账户管理)

账户管理在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crudMySQL账户体系:根据账户所具有的权限的不同,MySQL的账户可以分为以下几种服务实例级账号:,启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、连同这些...

2019-01-15 16:23:26 264 1

原创 MySQL 八 (索引)

索引1. 思考在图书馆中是如何找到一本书的?一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操作很少出现性能问题,遇到最多、最容易出问题还是一些复杂的查询操作,所以查询语句的优化显然是重中之重2. 解决办法当数据库中数据量很大时,查找数据会变得很慢优化方案:索引3. 索引是什么索引是一种特殊的文件(InnoDB数据表...

2019-01-15 16:12:43 119 2

原创 MySQL 七 (事务)

事务1. 为什么要有事务事务广泛的运用于订单系统、银行系统等多种场景例如:A用户和B用户是银行的储户,现在A要给B转账500元,那么需要做以下几件事:检查A的账户余额>500元;A 账户中扣除500元;B 账户中增加500元;正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜。那如果A账户扣了钱之后,系统出故障了呢?A白白损失了500,而B也没有收到本该...

2019-01-15 16:04:01 125 1

原创 MySQL 六 (视图)

<h2 id="视图">视图</h2>1. 问题对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦解决办法:定义视图2. 视图是什么通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视...

2019-01-15 15:48:22 170 1

原创 MySQL 五 (MySQL与Python交互)

1.Python 中操作 MySQL 步骤引入模块在py文件中引入pymysql模块from pymysql import *Connection 对象用于建立与数据库的连接创建对象:调用connect()方法conn=connect(参数列表)参数host:连接的mysql主机,如果本机是'localhost'参数port:连接的mysql主机的端口,默认是...

2019-01-15 15:40:02 515 1

原创 MySQL 四 (数据库查询)

1.查询创建数据库、数据表-- 创建数据库create database python_test_1 charset=utf8;– 使用数据库use python_test_1;– students表create table students(id int unsigned primary key auto_increment not null,name varchar(20)...

2019-01-15 11:39:35 416 1

原创 MySQL 三 (数据库设计)

数据库设计关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表结构,这是项目开始的第一步在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员来完成现阶段不需要独立完成...

2019-01-15 11:17:04 200 1

原创 MySQL 二 (数据库操作)

1.数据库操作查看所有数据库show databases;使用数据库use 数据库名;查看当前使用的数据库select database();创建数据库create database 数据库名 charset=utf8;例:create database python charset=utf8;删除数据库drop database 数据库名;例...

2019-01-15 10:32:50 91

原创 MySQL 一 (安装,数据类型)

1.MySQL 简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品特点使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBS...

2019-01-15 09:27:12 404 1

原创 CKEditor富文本编辑器

在运营后台,运营人员需要录入商品并编辑商品的详情信息,而商品的详情信息不是普通的文本,可以是包含了HTML语法格式的字符串。为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑器。富文本即具备丰富样式格式的文本。我们使用功能强大的CKEditor富文本编辑器。安装pip install django-ckeditor...

2019-01-13 15:26:07 202 1

原创 搜索引擎Elasticsearch

1. 搜索引擎原理通过搜索引擎进行数据查询时,搜索引擎并不是直接在数据库中进行查询,而是搜索引擎会对数据库中的数据进行一遍预处理,单独建立起一份索引结构数据。我们可以将索引结构数据想象成是字典书籍的索引检索页,里面包含了关键词与词条的对应关系,并记录词条的位置。我们在通过搜索引擎搜索时,搜索引擎将关键字在索引数据中进行快速对比查找,进而找到数据的真实存储位置。2. Elasticsear...

2019-01-13 15:24:12 308 1

原创 FastDFS分布式文件系统

1. 什么是FastDFSFastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracke...

2019-01-13 15:12:08 95

原创 celery(异步服务)

Celery简介Celery是一个功能完备即插即用的任务队列celery适用异步处理问题,当发送邮件,或者文件上传,图像处理等耗时操作,我们可以将其异步执行,这样用户就不用等待很久,提高用户体验celery特点:简单:易于使用和维护,有丰富的文档高效:单个celery进程每分钟可以处理数百万个任务灵活:celery中几乎每个部分都可以自定义扩展celery非常易于集成到一些web开...

2019-01-13 11:43:56 878 2

原创 MVC,MVT模式

1.MVC有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、...

2019-01-13 11:34:02 474 1

原创 TCP,UDP,Socket 协议

TCP/IP、UDP、Http、Socket的区别       一、网络七层模型       20世纪70年代中,为了优化数据库系统设计,支持数据库系统的访问,美国的一个互联网研究小组提出了一个结构化的分布式通信系统体系结构(共七层),他们内部称之为分布式系统体系结构(DSA),1977年...

2019-01-13 10:56:59 137 2

原创 HTTP/HTPPS协议

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...

2019-01-13 09:55:03 6606 1

原创 Docker详解

Docker简介1. 虚拟化1)什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间 的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚 拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计 算能力和资...

2019-01-13 09:36:51 215 2

原创 Git详解 四 (标签,分支)

标签当某一个大版本完成之后,需要打一个标签作用:记录大版本备份大版本代码模拟经理打标签1.进入到经理的本地仓库test007 cd Desktop/manager/test007/2.经理在本地打标签 git tag -a 标签名 -m '标签描述' 例: git tag -a v1.0 -m 'version 1.0'3.经理推送标签到远程仓库 git p...

2019-01-12 16:46:34 752 2

原创 Git详解 三( 多人协同开发 ,代码冲突)

多人协同开发1.代码编辑界面介绍:此处使用gedit做演示代码编辑界面左边为模拟经理的操作代码编辑界面右边为模拟张三的操作2.模拟张三先编辑login.py文件代码进入张三本地仓库:cd Desktop/zhangsan/test007编辑代码:num1 = 10本地仓库记录版本:git commit -am ‘第一个变量’推送到远程仓库:git push3.模拟...

2019-01-12 16:29:25 6466 5

原创 Git详解 二(创建远程仓库 克隆项目)

Git远程仓库GithubGithub网站作为远程代码仓库时的操作和本地代码仓库一样的,只是仓库位置不同而已!准备Git源代码仓库 https://github.com/准备经理的文件 Desktop/manager/准备张三的文件 Desktop/zhangsan/1.创建远程仓库1.1.登陆注册Github1.2.创建仓库入口1.3.编辑仓库信息1.4.仓库创建完成1...

2019-01-12 15:33:28 602 1

原创 Git详解 一 (Git介绍,单人本地仓库操作)

1.Git简介GitGit 是目前世界上最先进的分布式版本控制系统(没有之一)作用源代码管理为什么要进行源代码管理?方便多人协同开发方便版本控制Git管理源代码特点1.Git是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并、…2.Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库Git操作流程图解Git服务器 --> 本地仓库 -...

2019-01-12 14:58:37 337 1

原创 RESTful API接口设计标准及规范;

RESTful发展背景及简介网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。REST(Representational Stat...

2019-01-12 11:42:10 284195 18

转载 Tornado框架简介

-------------------简介-------------------1、概念:    Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给...

2019-01-12 10:45:49 4468 2

原创 Flask框架简介

FlaskFlask是当下流行的Web框架,它是用Python实现的。Flask显著的特点是:它是一个“微”框架。”微”意味着Flask旨在保持核心的简单,但同时又易于扩展。默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Fl...

2019-01-12 10:37:21 5990 2

原创 浅谈Python Django框架

1、Django简介Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原...

2019-01-12 10:30:56 2775 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除