- 博客(29)
- 资源 (10)
- 问答 (3)
- 收藏
- 关注
原创 Django配置crontab定时任务
1 在Django 项目中添加定时任务Django 的crontab的定时任务实现底层依然依赖于Linux系统的crontab任务,通过crontab模块将自己的定时任务写入crontab里,让系统去执行安装crontab模块 pip install Django-crontab在setting.py中添加模块和定时任务INSTALLED_APPS = [‘django_crontab’]...
2019-09-24 18:14:32
619
转载 【php中的curl】php中curl的详细解说
最经刚入职在看公司代码,对于php了解的不是很多,然鹅公司的码是php,于是就转载这篇博文学习一下;本文我来给大家详细介绍下cURL的简单的使用方法,下文我将会给大家详细介绍cURL的高级应用,好,废话不多说,我们先来认识下什么是cURL,可能还有很多同学没有听说过这个工具,我先来给大家简单介绍下什么是cURL:cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多
2017-08-08 11:06:57
442
原创 sublime text3 配置node环境在path中找不到node的解决
配置Package Settings Preferences -> Package Settings -> Nodejs -> Settings - User{ // save before running commands "save_first": true, // if present, use this command instead of plain "node" //
2017-04-12 11:38:57
2909
原创 多线程与线程同步
线程概念线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程
2016-07-25 16:28:52
876
1
原创 linux与windows栈内存分配区别
同样的一段代码#include<stdio.h>int main(int argc, char **argv){ int i; int a[5]; for(i=0;i<6;i++) a[i]=0; printf("hello word"); return 0;}在linux和windows上运行的结果是不同的。在windows上由于数组越界导致for进入死循环而没有
2016-07-23 17:31:06
2821
1
原创 一个栈数据越界的小例子
前段时间,有个学妹跑过来找我,学长,我的程序出了bug,找不出来,你帮我看看吧。去了之后看到她的代码是这样写的(我只写出主要出问题的代码):struct stu{ char name[10]; char passwd[10];};//定义了一个结构体,成员变量为两个char数组;//她在某个函数方法内是这样写的int i;struct stu st;for(i=0;i<10;
2016-07-23 12:08:44
1841
原创 Unix编程(一)进程环境
1. mian函数c程序总是从main函数开始执行,其原型是int main(int argc , char** argv);其中argc是命令行参数的数目,argv是指向各参数的指针所构成的数组。当内核执行C程序时,在电泳main函数之前先调用一个特殊的启动例程,可执行文件将此启动例程指定为程序的起始地址。启动例程从内核取的命令行参数和环境变量值,然后按上述方式调用main函数做好安排。进程终止
2016-07-23 10:51:47
351
原创 web缓存技术和HTTP代理
在说web缓存之前先来了解一下HTTP代理。 代理服务器其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 为什么要提代理服务器呢,因为web缓存技术是基
2016-07-22 15:37:53
2994
原创 HTTP请求与响应码
协议: HTTP 是web的应用层协议,它是web的核心。HTTP协议通过两个部分程序实现:一个是称为浏览器的客户机程序和另一个称为web服务器的服务器程序,他们运行在不同的端系统中,通过HTTP报文进行会话。HTTP是一个无状态协议。连接方式: 持续连接:多个请求/响应对经同一个TCP连接进行传输;分无流水线的持续 连接和有流水线的持续连接。 非持续连接:每个请求/响应对都经单独的TCP
2016-07-22 11:56:17
689
原创 TCP(三 拥塞控制与流量控制)
对于TCP的数据拥堵可以分别在发送方和接收方进行处理,在发送方的处理是拥塞控制,接收方的处理是流量控制,通过这两种机制,有效的确保了TCP的传输效率和可靠性。 拥塞控制 : TCP基于端到端的拥塞控制方法进行网络拥塞控制,为系统提供了一种根据自己的通信确认报文作为反馈信息来感知网络状态的隐式拥塞控制机制。 慢启动: 当TCP发送方准备发送数据时,若发送方的缓存很大,发送方就将缓
2016-07-21 11:30:30
1042
原创 TCP 三次握手四次挥手及理由(二 连接与断开)
TCP是一个面向连接的协议。无论哪一方想另一方发送数据之前,都必须在双方之间建立一条连接。下面就来讨论一下连接的建立和断开。 话不多说,先看一下TCP建立连接时的时序图 如图示,请求端主机A发送一个SYN指明需要建立一条连接(第一次握手)当主机B收到主机A的SYN报文段后,如果允许连接,主机B向主机A返回ACK并发送SYN报文 (第二次握手)主机A在收到主机B的ACK和SYN后向主句B发送AC
2016-07-20 17:00:56
763
原创 TCP(一 协议)
TCP和UDP一样是基于IP的传输层协议,但是不同于UDP的是TCP是一种面向连接的,可靠的字节流服务。面向连接就是说两个使用TCP协议的用户在数据交互前先要建立一个TCP连接。 TCP的可靠性来源: 1. 应用数据是被分割成TCP认为合适发送的数据块,和UDP不同的是应用程序所产生的数据报长度不变。有TCP传递给IP的信息单位称为报文段。 2. TCP发送一个后启
2016-07-20 15:36:37
489
原创 DNS小结
域名解析系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。在Unix主机中该解析器主要是通过两个库函数gethostbuname()和gethostbyaddr()来访问的。解析器通过一个或多个域名服务器来完成这种相互转换。在一个应用程序请求打开一个TCP连接或用UDP发送一个数据前,
2016-07-18 20:52:45
772
原创 TCP 状态转移机
TCP协议可靠传输协议,它的可靠性是有它的面向连接的性质所决定,在TCP连接与断开的时候会出现不同的状态,各种状态之间的存在相互转换,因此便有了状态转移机这个概念,下图就是TCP连接的11种状态之间的转换图 注意在TCP连接过程中没有固定的客户端与服务端的概念,是一个相对的存在,两者可交换身份,服务端可作为发起者,也可作为接受者,客户端同理。 服务端: 1. 客户端主动断开连接:
2016-07-17 18:32:37
582
原创 C++ 堆栈
此处所讨论的堆栈不同于数据结构中的堆栈,在数据结构中存在堆和栈的概念,栈是一种先进后出的数据结构,堆则是一种排序方式,而在内存分配中也存在堆(heap)和栈(stack)的概念,与数据结构中的概念不同,这里简单说明在内存分配中的堆栈之间的不同。在这之前先看一下程序在运行时内存的分配图 图片来自于网络 一、内存分配方式 1、全局变量(extern变量)和所有静态变量(static变量),是由
2016-07-17 10:18:41
800
原创 TCP粘包问题及应用层解决方法
TCP为什么会有粘包问题TCP和UDP是存在于传输层的两个网络传输协议,由于UDP的消息传输发送是基于数据包的是有边界的数据,而TCP是基于字节流的数据传输方式,而流的方式就注定了它的无边界性,比如在管道中流动的水就是无边界的,如果把水装入某个容器中在用管道传输,那它就是有边界的,容器的大小就可以看成它的边界。因此UDP可以保证每次收到的都是一个完整的数据包,而TCP缺无法保证,所以才有粘包问
2016-07-16 21:30:23
2965
原创 c++避免内存泄漏
在c/c++语言对于程序内存的管理不像java语言一样有自己的垃圾回收机制,而c/c++却要程序员手动的释放用关键字new或者 malloc系统函数申请的内存空间,然而由于程序员的疏忽可能会忘记去手动释放内存,这样就导致了程序内存的泄漏。在c/c++的程序内存分配中,自顶向下分为代码段,数据段,栈区,栈保留区,动态链接库区,堆保留区,堆区。程序栈内存有系统管理,栈上的数据生命周期结束时系统
2016-04-18 22:09:19
2484
转载 红黑树问题
原文 http://blog.csdn.net/silangquan/article/details/186557951.stl中的set底层用的什么数据结构?2.红黑树的数据结构怎么定义的?3.红黑树有哪些性质?4.红黑树的各种操作的时间复杂度是多少?5.红黑树相比于BST和AVL树有什么优点?6.红黑树相对于哈希表,在选择使用的时
2016-03-13 21:34:13
439
原创 平衡树-----AVL
二叉搜索树的建立是基于他的插入算法实现的,在上一篇博文里已经讨论过,在上篇博文中二叉搜索树的建立过程中试讲新结点插入到树的最底层,如果输给的要插入数据是按照某个键值已经排好序的有序列,例如12、23、25、32、36、43、53或者反序辣么这就会出现两种极端情况,如图所示这样建立的二叉搜索树只有单支,他的效率相对很低的,辣么怎样建立一颗正常的搜索树,下面我们来讨论一下如果我们在插入
2016-02-06 15:13:12
571
原创 二叉搜索----BST
二叉搜索树(binary search tree, BST)是一颗二叉树,它的每个内部结点都关联一个关键字,并且具有以下性质:任意结点的关键字都大于(或等于)该节点的左子树的关键字,小于(或等于)右子树的关键字。如图示就是一颗二叉搜索树由关键字的有序性可通过输的中序遍历将其按顺序输出中序的递归遍历void Order_Travarsal_Tree(BiTree root){
2016-02-04 14:48:24
588
2
原创 二叉树的遍历
二叉树是 n个(n>=0)个结点的有限集合。当n=0时,称为空二叉树;当n>0时。该集合有一个根结点及两颗互不相交的,被称为左子树和右子树的二叉树组成(有点像递归定义)。也可以理解为:二叉树是满足一下两个条件的树(1)每个家结点的度不大于2,;(2)结点的子树位置是明确分左右的,不能随意改变。 二叉树的遍历在顺序上分为先序,中序和后序三种,而在方法上又分为递归和非递归两种,从结构上
2016-02-03 20:15:18
563
原创 在accept前调用fork和accept后调用fork的区别
在linux网络编程中并发服务器的最简单的方式就fork()子进程处理连接,父进程继续等待新的连接完成。而在fork()子进程的顺序上有在accept之前和accept之后两种。通过fork()创建子进程时,子进程继承父进程环境和上下文的大部分内容的拷贝,其中就包括文件描述符表。(1)对于父进程在fork()之前所建立的连接,子进程都会继承,与父进程共享相同的文件偏移量。系统文件表位于系统
2016-02-03 10:05:49
1892
1
原创 wait和waitpid的区别
首先奉上这两个函数 pid_t wait(int *statloc); pid_t waitpid(pid_t pid, int *statloc, int options); wait和waitpid都是用来处理终止进程的,这两个函数都返回两个值:已终止的进程ID号,以及通过statloc指针返回的子进程的状态(一个整数)。如果调用wait()的进程没有终止的进程而还有一个
2016-01-23 00:10:12
2474
原创 关于c++顺序容器小结(二)---基本操作
各个容器都包含在自己的头文件中 构造:V v1; V v2(v1); V v1={a,b,c,d….}; 操作(所有容器的基本操作): v1.size();返回容器大小; swap(v1,v2)交换容器元素//仅当元素类型一致是才可交换 v1.swap(v2);交换v1,v2的元素;
2015-11-09 21:45:58
435
原创 关于c++顺序容器小结(一)---概述
最近又再啃c++11primer,不停一遍又一遍啃也不是办法,就总结一下。 什么是顺序容器:所谓容器就一些特定数据类型对象的集合,就像家里装东西的箱子一样吧它们装在一起便于管理。而顺序容器就是提供控制元素的存储和访问顺序,通俗的说就是可以按照顺序把东西放到箱子里,而取的时候也可以按照顺序去拿。 顺序容器的种类: vector(可变数组),deque(双端队列支持
2015-11-09 17:24:04
544
原创 Ubuntu 安装 jsoncpp的全过程
重点内容 一.准备: 1.安装 scons scons是用Python进行编译的,而Linux大版本都带有Python 所以不用安装,只需安装scons即可。在安装scons是有两种方法: (1)在终端下命令行安装 sudo apt-get install scons (2)去网站下载源码包编译安装;(个人建议去网站下载源码包自己编译,这样文件路径比较清楚,命令
2015-07-30 11:00:48
8750
1
原创 操作mysql的笔记
------//////创建数据库//////------:CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;show databases; --//显示数据库show tables [FROM databasename]; --//显示数据
2015-07-25 15:41:44
442
原创 wind8 建局域网
1. 以管理员身份启动(Windows+X -->命令提示符)2. 输入netsh wlan set hostednetwork mode=allow ssid=(所要建的局域网的名称) key=(密码)然后回车3. 继续输入 netsh wlan start hostednetwork 回车就OK啦
2015-06-14 15:31:00
538
sublime 3 汉化包
2017-02-15
linux codeblocks 汉化包
2016-04-23
linuxcodeblocks 13汉化包
2016-04-23
linux codeblocks 13.12 汉化包
2016-04-23
codeblocks 汉化包
2016-04-23
codeblocks 13.12 汉化包
2016-04-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人