data

Python的单向链表实现

﹥>﹥吖頭↗ 提交于 2020-03-13 11:37:51
思路 链表由节点组成,先规定节点(Node),包含data和指向下个节点的next 初始化 data当然就是传入的data了,next指向None 添加 分两种情况: 链表为空,那么头节点和尾节点都指向新插入的节点 链表不为空,那么直接在尾部添加即可 遍历 因为只有链表的尾节点的next是指向None的,所以可以根据这点来从头遍历 删除某个节点 删除的时候分3种情况: 头节点,此时更改head指向的节点就好了 尾节点,此时只需将尾节点的前一个节点(prev)的next指向None即可 中间的节点,此时要将此节点的前一个节点的(prev)的next指向后续节点的(Current.next) 搜寻 遍历查找即可 清空链表 将头节点和尾节点都置为None即可 class Node: def __init__(self,data): self.next = None self.data = data class SinglyLinkedList: def __init__(self): self.head = None #头节点 self.tail = None #尾节点 self.size = 0 #链表长度 def append(self,data): node = Node(data) if self.tail: #如果链表不为空 self.tail.next = node self

nodejs如何实现简单的文件服务器

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-13 05:44:16
先规定简单的传输协议 文件名的长度(两个字节) 文件名(长度不定,由前两个字节决定) 文件内容的长度(8个字节) 内容 (长度不定,由前8个字节决定) 使用nodejs 实现服务端 var net = require( 'net' ) ; var fs = require( 'fs' ) ; var server = net.createServer() ; server.on( 'connection' , function (client){ console. log ( 'client connected to server。IP:%s,port%s' , client. remoteAddress , client.remotePort) ; var isFirst = true ; var fd ; var contentLength = 0 ; var dataTotalLength = 0 ; var receiveData = Buffer.alloc( 0 ) ; // data长度不可控,需要自己合并多个data直至指定的要求或者发送的socket发送FIN client.on( 'data' , function (data){ if (isFirst) { receiveData = Buffer. concat ([receiveData , data])

SVN更改登录用户

旧街凉风 提交于 2020-03-13 00:17:14
如果装了TortoiseSVN: Settings -> Saved Data -> Authentication Data -> clear。即可清除保存的上个用户登录信息;当再次用到svn时,会提示输入用户名密码,输入新的用户名密码即可。 或者,手动删除下面目录下的svn登录用户信息保存文件: C:\Documents and Settings\javaLee\Application Data\Subversion\auth\svn.simple 通过TortoiseSVN的clear Authentication Data和手动删除效果是一模一样的!都是对userName\Application Data\Subversion\auth\svn.simple\目录下的已保存登录用户信息文件进行删除。 SVN修改用户名与密码 由于在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。 解决方案如下: 在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名密码自动保存起来 以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名, 这时候怎么办?在网上查找后发现如下方法: 1. 查看你的Eclipse中使用的是什么SVN Interface windows > preference > Team

合理使用mysql中的load data infile导入数据

隐身守侯 提交于 2020-03-12 23:34:54
基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'' ]] [lines terminated by'n'] [ignore number lines] [(col_name, )] load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。 把千万级甚至亿级的数据写入mysql,实在是一件很让人头痛的事情。 load data local infile貌似是最快的方法了, 可是load一个亿级的文件,仍然需要数十分钟。 如果有主从结构的话,在主服务器上面load数十分钟,文件数据会写入binary log,再传输到从服务器, 然后从服务器也需要数十分钟来做load操作,如果从服务器只有一个sql_thread来执行binary log

Vue_生命周期函数

大城市里の小女人 提交于 2020-03-12 19:51:27
目录 创建阶段 1.创建一个Vue的实例 2.Init Events & Lifecycle 3.beforeCreate 4.Init injections & reactivity 5.created 6.判断流程图 7.beforeMount 8.mounted 运行阶段 1.beforeUpdate 2.更新虚拟DOM 3.updated 销毁阶段 beforeDestory 和 destoryed 创建阶段 1.创建一个Vue的实例 new Vue({}); 2.Init Events & Lifecycle 表示刚初始化了一个Vue空的实例对象,这时候,这个对象身上只有默认的一些生命周期函数和默认的事件。其它的还没有创建。 3.beforeCreate beforeCreate与data、methods等平级,是第一个生命周期函数。表示实例完全被创建出来之前,会执行该函数 var vm=new Vue({ el:"#app", data:{ msg:'hello' }, methods:{ show(){ console.log('show()'); } }, beforeCreate() { console.log(this.msg);//undefined this.show(); //TypeError:this.show is not a function }

如何判断TCP包是否发送成功

浪子不回头ぞ 提交于 2020-03-12 17:13:05
1. TCP发送接口:send()   TCP发送数据的接口有send,write,sendmsg。在系统内核中这些函数有一个统一的入口,即sock_sendmsg()。由于TCP是可靠传输,所以对TCP的发送接口很容易产生误解,比如sn = send(...); 错误的认为sn的值是表示有sn个字节的数据已经发送到了接收端。其实真相并非如此。 我们知道,TCP的发送和接收在在内核(linux)中是有对应的缓冲的: struct sock{ ... struct sk_buff_head receive_queue; //接收的数据报队列 struct sk_buff_head write_queue; //即将发送的数据报队列 ... }   对于发送端而言,用户空间调用send(data)等发送接口将数据发送, 内核会将data拷贝到内核空间的socket对应的缓冲中,即sock.write_queue。而send()函数的返回值仅仅是表示本次send()调用中成功拷贝的字节数(用户空间->内核空间对应的sock缓冲队列) 。 具体发送和接收端的接收就由TCP协议完成 ,虽然TCP是可靠传输,但是这个前提是发送端和接收端的网络是连接的,否则你懂得。这样,对于调用send()发送的用户而言,如果想要确定接收方是否成功接受数据,就得需要靠其他的办法查询。 2. send(

Vue:axios中POST请求传参问题

拜拜、爱过 提交于 2020-03-12 16:02:19
vue的ajax请求用的是axios组件,结果在用到post请求的时候,发现给后台传data时,后台(python语言+django框架)接收不到。 后台的request.body显示出,我给传送的是data被django打包成了一个obj中的key值,value为空数组。导致后台获取不到。 解决方案: axios({ method:'POST', url:ap_service_url+opt.url, data:opt.obj, transformRequest: [function (data) { let ret = '' for (let it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' } return ret }], headers:{'Content-Type': "application/x-www-form-urlencoded"} }).then(function(res){ /*请求成功*/ }).catch(function(err){ /*请求失败*/ }) 通过添加 transformRequset 成功跳出这个坑~ 来源: https://www.cnblogs.com/WQLong/p/8316152.html

mysqldump 备份

强颜欢笑 提交于 2020-03-12 15:25:59
1. 为 mysqldump 创建一个最小权限的账户 GRANT SELECT, LOCK TABLES, SHOW VIEW, TRIGGER ON . TO 'dump'@'%' identified by "123456"; 2. 备份命令 mysqldump -h 192.168.1.100 -P3306 -udump -p --database test > /data/backup/test.sql 2.1 备份压缩 导出的数据有可能比较大,这时候就需要进行压缩 mysqldump -h192.168.1.100 -P3306 -udump -p --database test | gzip > /data/backup/test.sql.gz 2.2 备份同个库多个表 mysqldump -h192.168.1.100 -P3306 -udump -p test t1 t2 > /data/backup/test_t1_t2.sql 2.3 同时备份多个库 mysqldump -h192.168.1.100 -udump -p --databases test test2 test3 > /data/backup/mutil_db.sql 2.4 备份实例上所有的数据库 mysqldump -h192.168.1.100 -P3306 -udump -p --all

python 微博爬取图片不用cookie

ⅰ亾dé卋堺 提交于 2020-03-12 13:32:26
Python 爬取微博图片,no cookie   想爬微博的某个用户的的图片,不使用cookie。代码如下。使用方法很简单,小白可用。整个代码需要修改的就是id,如何找到目标用户的id呢?两个方法: 1、打开手机微博,进入用户主页,按下图操作: https://weibo.com/u/2117146340,u后面这一串数字就是id 2、用户搜索博主名字,点击找人,切记不是其他方法 # -*- coding: utf-8 -*- import urllib . request import json import requests import os path = 'D:\\picture\\weibo\\' #id = '2093492691' id = '3627764220' proxy_addr = "122.241.72.191:808" # pic_num = 0 weibo_name = "programmer" def use_proxy ( url , proxy_addr ) : req = urllib . request . Request ( url ) req . add_header ( "User-Agent" , "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,

opencv 中CV_32F和CV_64读取数据结果不一致

有些话、适合烂在心里 提交于 2020-03-12 12:59:08
我需要读取matlab生成的txt,里面存放着3*3的矩阵,我在尝试用opencv读取txt 并转存为yaml文件时出现了问题。 原始数据 3.2212523e-01 -3.2059794e-02 -7.1996807e-05 9.0743866e-02 4.9048730e-01 8.8287459e-05 4.8554884e+02 2.2995003e+02 1.0000000e+00 原始opencv 代码 ifstream infile; infile.open(strtemp); //打开原始txt路径 float data[3][3]; //存放读取的3*3矩阵 for (int k = 0; k<3; k++) { for (int h = 0; h<3; h++) { infile >> data[k][h]; } } Mat datatemp;//转换为Mat datatemp = Mat(3, 3, CV_32FC1, data);//数组内容写入Mat string str1 = ".\\data\\matrix\\c2proMatrix-"; string strtemp1 = str1 + to_string(i) + "-" + to_string(j) + ".txt"; FileStorage wstemp(strtemp1,