- 博客(48)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 基于TCP协议产生的粘包问题及解决办法
须知: 只有TCP有粘包现象, UDP永远不会粘包, 这是socket收发消息的原理导致的.对于TCP协议发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向流的协议,这也是...
2018-11-11 11:52:52
4538
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 作为程序员应该了解的32个算法(持续更新)
算法就是解决问题的一种模式,通过算法我们可以更轻松快速的解决问题。作为程序员,我们应该熟练掌握一些算法并了解多个算法。我会持续不断的更新这篇文章,争取把这些算法都给描述一下,用自己的思维方式给大家讲解一下。来自百度百科:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时...
2018-11-08 18:40:22
7030
原创 Django路由层详解
Django中路由的作用URL配置(URLconf)就是Django 所支撑的网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行典型例子:from django.conf.urls import urlfrom django.contrib import adminurlpatte...
2019-02-14 20:57:58
1104
原创 MVC与MTV模型及Django请求生命周期
MVC模型MVC:Model View ControllerM:模型。是应用程序中用于处理应用程序数据逻辑的部分V:试图。是应用程序中处理数据显示的部分C:控制器。是应用程序中处理用户交互的部分Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM)...
2019-01-17 20:43:03
2873
原创 Python虚拟环境的作用及搭建方法
为什么需要虚拟环境在我们日常的项目开发过程中,我们通常会按照项目的需求去下载相应的框架库,如Django、request等,但是不同的项目所使用的框架库并不一定是相同的,或者使用相同的框架但是版本需求是不同的,这时候需要我们根据需求不断的安装,更新或卸载相应的库。会对我们的开发环境和项目造成很多不必要的麻烦,管理起来也相当困难。想象一下下面这种场景:项目A需要Django框架1.11.9版本...
2019-01-14 17:47:31
8876
3
原创 Js实现别踩白块儿小游戏
通过HTML+CSS+JS实现别踩白块儿小游戏上代码感兴趣的朋友可以加我QQ聊一聊具体实现思路:526772254<!--Author: Catalog Spri--><!--date: 2018/12/25--><!--time: 9:06 PM--><!DOCTYPE html><html><head> ...
2018-12-25 23:15:12
1593
1
原创 Python知识点汇总思维导图
总结了一下关于Python的知识要点,感兴趣的朋友可以参考。如果有错误的地方欢迎留言指出,我们共同进步转载请声明出处。
2018-12-24 23:03:55
7574
原创 你学会HTML了吗?
HTML超文本标记语言 Hyper Text Markup LanguagePS: “超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素语言特点:简单性可扩展性跨平台性通用性主要作用:负责页面的架构布局文件后缀:.html.htmHTML是一门标记语言,是一门非编程语言,不具备编程语言的程序逻辑。它的结构包括“头”部分(英语:Head)...
2018-12-04 17:32:30
875
原创 MySQL必知必会
一、数据库基础什么是数据库数据库这个术语的用法有很多,有时,它可以表示存放数据的地方;有时又可以表示为数据库管理系统;还可以表示为安装数据库服务端的服务器。数据库是什么简单来说,数据库就是一个仓库,这个仓库是一个存放数据的物理位置,将数据按照一定的格式存储起来,你无须关心数据是如何在里面按照怎样的方式存储的。库(database)保存有组织的数据的容器(文件夹)表(tabl...
2018-11-30 19:04:01
5469
原创 高效率使用Pycharm
For WindowsCtrl + Tab 切换窗口Ctrl + x 剪切Ctrl + B 看声明Ctrl + N 查找类名Ctrl + ↑ 显示导航栏Ctrl + D 复制当前行到下一行Ctrl + F 查找Ctrl + G 查行号Ctrl + J 插入模板Ctrl + K 更新到VCSCtrl + enter 查看资源Ctrl + W 选中新增代码Ctrl + R...
2018-11-27 17:21:28
826
原创 关于MySQL的几个小知识
了解型知识点数据库发展史数据库由来基于我们之前所学,数据要想永久保存,都是保存于文件中。使用文件存储数据存在的几个问题:数据共享问题(数据安全问题)毫无疑问,一个文件仅仅只能存在于某一台机器上。PS:(拷贝文件可以实现存在于多台机器,但是无法实现数据同时修改)I/O操作效率问题打开文件读取数据、写入数据关闭文件都数据I/O操作,会大大影响我们程序的执行效率数据库的诞生就...
2018-11-19 23:49:04
1179
原创 被一个猴子(monkey)折腾了一晚上
事情起因是这样的:今天学习了单线程实现并发操作,学习了gevent第三方包(周末会更新并发编程知识点,里面会有详细介绍)老师今天布置了一个作业,其中有一道题目是这样的:使用协程完成TCP套接字编程 支持多客户端同时访问然后我就开始写代码,写完了就报错了错误代码示例:'''使用协程完成TCP套接字编程 支持多客户端同时访问'''# 服务端import geventfro...
2018-11-13 23:26:16
1334
2
原创 linux系统管理命令
一、adduser功能说明:是用来建立用户帐号和创建用户的起始目录,须在root权限下使用该命令。语 法:adduser格式:adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,…]] [-m [-k skeleton_dir] | -M]...
2018-11-11 14:07:12
5619
原创 Python异常处理
什么是异常异常 :异于常态就就异常。简单来说就是我们的程序在运行过程中出错了。当我们的程序出现错误时,会把错误的原因、错误的位置、错误的种类输出到屏幕上异常的组成异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下Traceback叫做异常的追踪信息,我们可以通过它找...
2018-11-01 19:26:24
5045
原创 你的秋天有味道吗
不知不觉秋天又到了,昨天下楼取快递的时候,我闻到了秋的味道。秋的味道是什么呢?秋的味道对每个人来说都是不一样的,那是刻在你记忆深处的一个‘味道’,或许是在秋天,你和女朋友在散步;或许是在秋天,你和父母在爬山;又或者是在秋天,你和孩子在玩耍。只要是它在你记忆里埋下过种子,等再遇到相同的秋风或者相同的落叶,或者哪怕只是一个相同的‘味道’,你也能迅速的回忆起那个美好的瞬间,那就是属于你的秋的味道。...
2018-10-28 10:23:56
832
原创 计算机内部各硬件详解
一般我们所说的电脑指的是x86架构的个人计算机。x86CPU有两大主流开发商(Intel,AMD),他们彼此不兼容,而且设计理念也有所区别,因此其主板芯片组设计也不太相同。整个主板上面最重要的就是芯片组,Intel芯片组通常又分为两个桥接器来控制各组件的通信,分别是:北桥负责连接速度较快的CPU、内存与显卡等组件南桥负责连接速度较慢的周边接口,包括硬盘、USB、网卡等。AMD芯片组的...
2018-10-27 00:07:08
5602
原创 常用模块(一)
一、osos模块是用来与系统交互的,功能十分强大,需要了解的很多,需要熟练运用的也有不少,希望文章能给你们带来帮助# os模块需要了解的部分os.getcwd() # 用来获取当前执行脚本工作目录。注意:不一定是脚本所在目录!!os.chdir('dirname') # 将执行脚本的工作目录更改到传入的参数(目录)下。 # 所以上面说脚本...
2018-10-26 18:51:34
817
原创 类的零碎知识点:classmethod / staticmethod / hasattr / getattr / setattr / delattr / __str__ / __del__
绑定方法与非绑定方法一:绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入):绑定到类的方法:用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)绑定到对象的方法:没有被任何装饰器装饰的方法。为对象量身定制对象.boud_method(),自动将对象当作第一个参数传入(...
2018-10-25 23:07:58
657
转载 请这样写一个README
文章转自链接:https://blog.csdn.net/u011001084/article/details/52803778简评:因为 README,6 个月后的你仍然知道当初写了什么;因为 README,其他人看一眼就能知道是否需要;因为 README,让你的代码更有质量;因为 README,你成了个作家。README 是一种说明文件,通常随着一个软件而发布,里面记载有软件...
2018-10-25 17:10:03
681
原创 类的三大特征之封装
1024被渲染的有点夸张了,如果真的在乎这个节日,还不如给程序员放一天假。希望今天各位程序员可以不加班!接下来开始今天的正题在说封装之前呢,要补充一个昨天遗漏的知识点:组合开始我们今天的人生三问:1. 什么是组合组合组合,就是组装合并呗。在python的类中就是通过某种关系将两个类的两个对象连接在一起就叫组合。(不是同一个类的两个对象!!每个类取出一个对象来,和另一个类的对象以某种...
2018-10-24 19:09:27
896
原创 类的三大特征之——继承
昨天我们学习了面向对象编程、类与对象。昨天遗漏了一个小知识点就是:在python中,一切皆对象。首先,我们要来说明,在python3中,统一了类与类型的概念,即在python3中,类就是类型,类型就是类。我们通过type来查看一个数据的类型,我们也可以通过type来查看一个对象的类型,然后我们发现,他们的类型都是class(类)依旧是说,我们平时使用的所有数据类型,列表啊,字典啊等等都是一...
2018-10-23 21:01:35
934
原创 查询彩票中奖号码小程序
前两天找到一个特别棒的网站——聚合数据网https://www.juhe.cn翻阅网站的时候偶然看到可以免费申请一个查询彩票的API,于是乎,就出现了这个小程序。首先,要去聚合数据网申请一个自己的API,然后用requests模块访问API,然后解析数据就ok了。源码:import requestsurl = 'http://apis.juhe.cn/lottery/quer...
2018-10-23 14:33:46
9712
1
原创 面向对象编程(类与对象)
一、面向过程编程什么是面向过程编程面向过程编程是一种编程思想,核心是“过程”二字。面向过程编程是一种基础的编程思想,它考虑的是实际地做事步骤。一般的面向过程是从上往下一步一步的走,所以面向过程最重要的是模块化的思想方法。基于该思想编写程序就好比在编写一条流水线,是一种机械式的编程方式。举例:现在我们有这么一个要求:把大象装进冰箱。那么使用面向过程编程脑子中应该时刻想着我先干什么再干什么...
2018-10-22 23:45:32
2069
原创 带你重新认识计算机
现如今,我们的生活离不开计算机,那么计算机到底是什么呢?计算机:接收用户输入指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。因此,只要有输入设备(不管是键鼠还是触摸式屏幕)及输出设备(屏幕或直接打印出来),让你可以输入数据使该机器产生信息的,那就是一台计算机。计算机硬件:计算机依外观来说主要分为三部分:1. 输入单元;2. 中央处理器;3. 输出单元...
2018-10-19 00:15:59
894
原创 python模块初接触
至此,我们的函数已经学个差不多,接下来我们就进入模块的学习。我们学习函数的目的是为了简化代码,提高代码可读性,增强代码扩展性,然而通过这几天的写程序发现,在一个文件中定义了二十多个函数依旧使得我们的代码显得很乱,可读性差。我们希望能找到一种方法,使我们的代码看起来整洁,又能保证程序所有功能的实现。模块这个东西就完美的帮我们实现了。我们可以将函数封装成一个个模块,再导入到其他文件内使用,使代码变...
2018-10-11 20:16:26
780
原创 二分法实现in与index()
要求:利用二分法实现in与按传入参数查找索引值index(参数)一、用二分法实现indef search(find_num, list): # 定义函数 if not list: # 判断传入列表是否为空 print('False') return mid_index = len(list) // 2 ...
2018-10-10 23:34:21
920
原创 匿名函数与函数的递归(面试重点函数map、reduce、filter介绍)
一个小长假回来,人都变得松散了很多,打起精神,不能松懈。我们接着前面讲的函数继续往下走,今天我们要介绍一下匿名函数与递归函数一、匿名函数1. 什么是匿名函数首先我们来想一下什么是有名函数,就是在定义的时候给了他一个名字。def 函数名()那匿名函数呢,顾名思义,就是没有名字的函数。2. 为什么要有匿名函数既然已经有了有名函数,为什么还要有匿名函数呢?现在我们来想一下...
2018-10-10 23:27:43
925
原创 用python解决6147问题!!!
'''任意给一个四位数(各位数不完全相同),各个位上的数可组成一个最大数和一个最小数,他们的差又能组成一个最大数和最小数,直到某一步得到的差将会出现循环重复。例:3100-0013=30878730-0378=83528532-2358=61477641-1467=6147'''题目如上⬆️前段时间有个朋友问了我这个问题,当时看到的第一眼就觉得头大,看到数学就懵逼,然后也...
2018-10-10 19:23:53
1422
1
原创 重点面试知识——多个装饰器叠加的原理
当一个被装饰的对象同时叠加多个装饰器时装饰器的加载顺序是:由下而上装饰器的执行顺序是:由上而下加载装饰器就是将原函数名与装饰器内部的wrapper函数进行偷梁换柱执行装饰器实际上就是执行装饰器内部的wrapper函数。我们来看下面这段代码我们定义了两个装饰器:无参装饰器timmer与有参装饰器auth我们用这两个装饰器去修饰index函数。让我们看看到底是发生了一件什么...
2018-09-28 23:01:42
939
原创 函数的进阶——装饰器
老样子,先来三个问题:1. 什么是装饰器2. 为什么要有装饰器3. 怎么用装饰器一、什么是装饰器装饰器从字面意思理解来说就是具有装饰功能的器具。在python中,装饰器就是用来给被装饰对象(函数)增加功能(装饰)的工具。装饰器本身可以是任意可调用的对象——函数被装饰对象也可以是任意可调用的对象——函数装饰器:写一个函数给另一个函数增加新功能二、为什么要有装饰器...
2018-09-27 23:14:05
700
原创 原来这就是装饰器啊
1. 编写函数(函数的执行时间是随机的)import random, time # 导入模块def random_time(): # 定义random_time函数 print('Start') time.sleep(random.randint(1, 5)) # 实现随机执行时间 print('End')random_t...
2018-09-27 19:42:53
1079
原创 函数重点知识
昨日补充:命名关键字参数命名关键字参数就是一个稍微有点特殊的参数而已。定义:在函数定义的过程中,在*与**之间定义的参数就叫做命名关键字参数。特点:命名关键字参数必须按照key=value的形式对函数进行传值。例:def func(a, b, *args, c, **kwargs): pass# 这里的c参数就是命名关键字参数。必须按照key=value的形式...
2018-09-26 23:47:21
982
原创 python函数的基础知识及操作
首先,我们来思考三个问题:1. 什么是函数2. 为什么要有函数3. 怎么用函数。搞懂了这三个问题,我们对函数就会有一个大概的了解。什么是函数:函数就是具备某一功能且可以反复使用的工具。举个例子:当没有函数的时候,我们写一段登录的代码可能要十行甚至二十行,有了具备登录功能的函数,我们只需要使用就可以实现登录的功能。当过了一会儿我们又需要登录,可以再次调用登录函数进行登录。这就...
2018-09-25 20:31:06
700
原创 MongoDB操作详解
简介MongoDB和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等关系型数据库中有一个“表”的概念,有“字段”的概念呢,有“行(数据条目)”的概念MongoDB中也同样有以上的概念,但是名称发生了一些变化,严格意义上来说,二者的概念极为相似,但又有些出入,不过无所谓,我们完全可以按照上面的概念来理解数据...
2018-09-17 15:49:01
716
原创 Redis简介
目录Redis为非关系型数据库使用Redis有哪些好处Redis相比memcached有哪些优势Redis常见性能问题和解决方案MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据Memcache与Redis的区别都有哪些存储方式数据支持类型value大小Redis 常见的性能问题都有哪些?如何解决?Redi...
2018-09-16 12:31:33
796
原创 NoSQL简介
目录NoSQL简介一、NoSQL数据库四大类介绍二、传统的ACID分别是什么三、CAP是什么四、CAP理论五、针对CAP的3进2问题,BASE理论的提出六、分布式与集群简介分布式集群集群与分布式的区别七、Redis启动后小知识点汇总1. 单进程2. Redis自带的数据库3. select命令切换数据库4. dbsize查看数据库的key...
2018-09-16 00:45:56
823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人