- 博客(134)
- 收藏
- 关注
转载 Go语言【数据结构】指针知多少?
指针 本章围绕字符串、数字、数组、切片、map、channel、结构体与指针赋值及函数传参的应用剖析字符串字符串本身也是StringHeader的结构体,包含Data指针与字符串长度,如下type StringHeader struct { Data uintptr Len int}Data指向的内存地址不可更改,字符串赋值和...
2019-09-23 17:57:00
313
转载 Go语言【开发】加载JSON配置文件
JSON配置加载辅助网址,JSON转结构体对应http://json2struct.mervine.net/从JSON文件中加载配置到全局变量中配置文件 config.json{ "HTTP服务地址": "IP地址", "host1": "10.45.151.75", "HTTP服务端口": "监听端口", "port...
2019-09-17 19:03:00
777
转载 Go语言【数据结构】切片
切片简介 简单地说,切片就是一种简化版的动态数组。Go 数组的长度不可改变,而切片长度是不固定,切片的长度自然也就不能是类型的组成部分了。数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因此在Go代码中数组使用的并不多。而切片则使用得相当广泛,理解切片的原理和用法是一个Go程序员的必备技能。当进行append与copy函数操作时会对真实数据进行内存拷贝初始化...
2019-09-15 12:40:00
385
转载 Go语言【数据结构】字符串
字符串简介 一个字符串是一个不可改变的字节序列,字符串通常是用来包含人类可读的文本数据。和数组不同的是,字符串的元素不可修改,是一个只读的字节数组。每个字符串的长度虽然也是固定的,但是字符串的长度并不是字符串类型的一部分。由于Go语言的源代码要求是UTF8编码,导致Go源代码中出现的字符串面值常量一般也是UTF8编码的。 Go语言字符串底层数据也是对应的字节数组,但是字符...
2019-09-15 11:05:00
272
转载 Go语言【数据结构】数组
数组简介 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展。数组元素可以通过索引(位置)来读取(或者修改),索引从 0 开始,第一个元素索引为 0,第二个索引为 1,以此类推。数组不可以动态增长和收缩元...
2019-09-14 13:27:00
264
转载 ETCD服务
ETCD简介ETCD是一个开源的、分布式的键值对数据存储系统,由Go语言实现,用于存储key-value键值对,同时不仅仅是存储,主要用途是提供共享配置及服务发现,使用Raft一致性算法来管理高度可用的复制日志。有下面特点简单:定义明确,面向用户的API(gRPC)安全:具有可选客户端证书身份验证的自动TLS快速:基准测试10,000次/秒可靠:使用Raft正...
2019-09-13 18:44:00
213
转载 Go语言【项目】 websocket消息服务
websocket消息服务目的:搭建websocket服务,用浏览器与服务进行消息交互(写的第一个Go程序)代码目录结构:前端html页面: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 ...
2019-09-06 20:52:00
239
转载 按月分表存储过程
存储过程CREATE DEFINER=`root`@`%` PROCEDURE `segment_tx_callin_track`()BEGINDECLARE _exists FLOAT(14,6) DEFAULT 0;set @mouth= DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 MONTH),'%Y%m');# 新表...
2019-08-20 17:59:00
231
转载 【数据结构】B树、B+树详解
B树前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树),理解不透彻B树,则无法理解数据库的索引机制;接下来将用最简洁直白的内容来了解B树、B+树的数据结构 另外,B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree...
2019-07-28 18:51:00
647
转载 Python开发【源码剖析】 Dict对象
static void ShowDictObject(PyDictObject* dictObject){ PyDictEntry* entry = dictObject->ma_table; int count = dictObject->ma_mask+1; int i; //输出k...
2019-07-24 16:51:00
130
转载 【C语言】崩溃的双重指针
指针的指针?前言: 指针的初识点击移步双重指针: 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。直接上脚本#include <stdio.h> int main (){...
2019-07-23 16:46:00
106
转载 【C语言】学不会的指针
指针前言: 指针是C语言程序的核心,刚开始学指针,嗯....这样呀,貌似不难呀;之后开始用指针,&p,p,*p,**p,这些指针在用的时候,额.....什么东东?每次都要想半天,特别是遇到双重指针,脑子直接卡住;什么是指针? 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声...
2019-07-23 11:29:00
253
转载 Python开发【源码剖析】 List对象
前言 本文探讨的Python版本为2.7.16,可从官网上下载,把压缩包Python-2.7.16.tgz解压到本地即可 需要基本C语言的知识(要看的懂)PyListObject对象PyListObject对象可以有效地支持对元素的插入、添加、删除等操作,在Python的列表中,无一例外地存放的都是PyObject*指针[PyObject*,PyObje...
2019-07-22 18:09:00
171
转载 【C语言】了解原码、反码、补码
原码、反码、补码在学习C语言的过程中,有遇到补码这个问题,当时感觉懂了,有貌似不是很懂;然后查了一些文档,整理了一番,以后忘记了可以再翻开这篇文档,查漏补缺吧!原码原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1(+0/-0)。上面是维基百科的解释,也就是说二进制的第...
2019-07-18 16:06:00
293
转载 中国大学MOOC-翁恺-C语言程序设计习题集(二)
04-0. 求符合给定条件的整数集(15)给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式: 输入在一行中给出A。输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。输入样例: 2输出样例: 234 235 243 245 253 254 324 325...
2019-07-12 17:14:00
632
转载 中国大学MOOC-翁恺-C语言程序设计习题集(一)
练习02-0. 整数四则运算(10)本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式: 输入在一行中给出2个正整数A和B。输出格式: 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。输入样例: 3 2代码:#include <stdio.h>i...
2019-07-08 13:44:00
2325
转载 Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
Python获取文件名的方法性能对比前言:平常在python中从文件夹中获取文件名的简单方法 os.system('ll /data/') 但是当文件夹中含有巨量文件时,这种方式完全是行不通的; 在/dd目录中生成了近6百万个文件,接下来看看不同方法之间的性能对比 快速生成文件的shell脚本for i in $(seq 1 1000000);...
2019-03-18 20:17:00
172
转载 Python开发【笔记】:aiohttp搭建简易聊天室
简易聊天室:1、入口main.pyimport loggingimport jinja2import aiohttp_jinja2from aiohttp import webfrom aiohttpdemo_chat.views import indexasync def init_app(): app = web.App...
2019-03-13 16:25:00
349
转载 Python开发【模块】:aiohttp(二)
AIOHTTP1、文件上传① 单个文件上传服务端 async def post(self, request): reader = await request.multipart() # /!\ 不要忘了这步。(至于为什么请搜索 Python 生成器/异步)/!\ file = await reader.nex...
2018-12-16 13:44:00
232
转载 Python开发【笔记】:PEP 8 编码规范
PEP 8 编码规范https://bk.tencent.com/document/bkrule/040101.pdf转载于:https://www.cnblogs.com/lianzhilei/p/10070883.html...
2018-12-05 14:49:00
119
转载 Python开发【笔记】:asyncio 定时器
asyncio 定时器实现:import asyncioclass Timer: def __init__(self, timeout, callback): self._timeout = timeout self._callback = callback self._task = asyncio....
2018-11-30 15:08:00
1650
转载 Python开发【笔记】:接口压力测试
接口压力测试脚本1、单进程多线程模式# #!/usr/bin/env python# # -*- coding:utf-8 -*-import timeimport loggingimport requestsimport threadingfrom concurrent import futures# download_url = 'ht...
2018-11-29 19:14:00
213
转载 Python开发【笔记】:列表转字典
列表转字典it = [1,2,3,4]print(dict(zip(it, it)))# {1: 1, 2: 2, 3: 3, 4: 4}it = iter(it)print(dict(zip(it, it)))# {1: 2, 3: 4} 转载于:https://www.cnblogs.com/lianzhilei/p/9959929....
2018-11-14 19:40:00
86
转载 Python开发【笔记】:抓包(实时分隔)
抓包进行linux系统抓包,并且定时分隔防止文件太大#!/usr/bin/env python# -*- coding:utf-8 -*-import osimport sysimport loggingimport threadingimport timeimport datetime# 工作目录WORKSPACE = '/r...
2018-11-07 10:32:00
158
转载 Python开发【模块】:aiomysql
pass转载于:https://www.cnblogs.com/lianzhilei/p/9920737.html
2018-11-07 09:42:00
175
转载 Python开发【模块】:aiohttp(一)
AIOHTTP用于asyncio和Python的异步HTTP客户端/服务器主要特点:支持客户端和HTTP服务器。支持服务器WebSockets和 客户端WebSockets开箱即用,没有回调地狱。Web服务器具有中间件, 信号和可插拔路由。入门客户端:import aiohttpimport asyncioasync ...
2018-11-06 17:04:00
702
转载 Python开发【模块】:Requests.Session
PASS转载于:https://www.cnblogs.com/lianzhilei/p/9915372.html
2018-11-06 15:08:00
153
转载 Python开发【异步】:asyncio
异步asyncioasyncio是一个使用async / await语法编写并发代码的库。asyncio用作多个Python异步框架的基础,这些框架提供高性能的网络和Web服务器,数据库连接库,分布式任务队列等。asyncio通常非常适合IO绑定和高级结构化网络代码。asyncio提供了一组高级API:同时运行Python协同程序并完全控制它们的执行;...
2018-11-04 22:09:00
372
转载 Python开发【模块】:tornado.queues协程的队列
协程的队列协调生产者消费者协程.from tornado import genfrom tornado.ioloop import IOLoopfrom tornado.queues import Queueq = Queue(maxsize=2)@gen.coroutinedef consumer(): while True: ...
2018-10-11 16:25:00
197
转载 Python开发【笔记】:获取目录下所有文件
获取文件import osdef sub_dirs(rdir): li = os.listdir(rdir) return lidef main(rdir): content = sub_dirs(rdir) for i in content: i = os.path.join(rdir,i) ...
2018-09-29 09:32:00
87
转载 机器学习【工具】:Numpy基础
Numpy Numpy 是 Python 数据科学计算的核心库,提供了高性能的多维数组对象及处理数组的工具使用方式import numpy as np数组生成数组简单生成a = np.array([1, 2, 3])# <class 'numpy.ndarray'># [1 2 3]a = np.array...
2018-09-22 00:27:00
130
转载 机器学习【算法】:KNN近邻
引言 本文讨论的kNN算法是监督学习中分类方法的一种。所谓监督学习与非监督学习,是指训练数据是否有标注类别,若有则为监督学习,若否则为非监督学习。监督学习是根据输入数据(训练数据)学习一个模型,能对后来的输入做预测。在监督学习中,输入变量与输出变量可以是连续的,也可以是离散的。若输入变量与输出变量均为连续变量,则称为回归;输出变量为有限个离散变量,则称为分类;输入变量与输出变量均为...
2018-09-18 22:16:00
421
转载 Python开发【笔记】:关于子线程(子进程)与主线程(主进程)的关联
前言:主要分析下面的问题:主线程启线程 主线程执行完毕,会关闭子线程吗?子线程启线程 主线程执行完毕,会结束吗?主进程启动进程,主进程执行完毕,会怎样?子进程启动进程,进程执行完毕,又会如何?1、主线程启线程示例1.1import timeimport threadingdef function(): ...
2018-09-10 15:55:00
679
转载 Python开发【笔记】:字典内部剖析
字典内部剖析开篇先提出几个疑问:所有的类型都可以做字典的键值吗?字典的存储结构是如何实现的?散列冲突时如何解决?最近看了一些关于字典的文章,决定通过自己的理解把他们写下来;本章将详细阐述上面的几个问题,通过源码的剖析,尽量还原字典的真相。键值要求:在python中只有可以散列的数据类型才能作为字典里的键(只有键有这个要求,值并不需要是可散列的数...
2018-07-06 18:32:00
153
转载 Python开发【笔记】:加锁的最佳方案
避开死锁代码程序中,尽量要避免死锁的产生,下面分析常见的线程锁使用方式 ;注:只有同一把锁才会产生互斥1、常见的死锁方式(加锁时程序报错,锁未释放):import timeimport threadingclass Lock(): def __init__(self): self.mutex = threading.Lock(...
2018-05-16 16:01:00
212
转载 Python开发【笔记】:what?进程queue还能生产出线程!
进程queue底层用线程传输数据import threadingimport multiprocessingdef main(): queue = multiprocessing.Queue() print(threading.active_count()) queue.put('start thread') print(thr...
2018-05-16 15:05:00
77
转载 Python开发【笔记】:谁偷了我的内存?
内存占用Sayings: 最近被线上程序内存泄漏的问题搞的挺头大(程序在运行中内存占用不断的扩大),便开始看python内存垃圾回收机制、弱引用、循环引用相关的文章,着重查了一下自己的程序是不是真的有循环引用;在看的过程中写了一些demo去验证一些猜想;开篇先问三个问题Linux与Windows内存回收机制是不是不同?都是如何实现的Linux上不同Python版本内...
2018-05-14 11:35:00
121
转载 Python开发【笔记】:什么是RESTful框架
RESTful框架前言:一句话总结:用URL定位资源,用HTTP描述操作越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对...
2018-05-09 20:29:00
196
转载 Python开发【笔记】:pymsyql 插入一条数据同时获取新插数据的自增id的两种方式...
一、通过cursor.lastrowidimport pymysql.cursors# Connect to the databaseconnection = pymysql.connect(host='192.168.90.10', port=3306, ...
2018-05-09 17:21:00
620
转载 Python开发【Tornado】:搭建文件下载服务、音频文件播放
Tornado 如何做文件下载要求:浏览器输入url地址,直接弹窗提示下载Tornado服务端,搭建文件下载服务#!/usr/bin/env python# -*- coding:utf-8 -*-import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.R...
2018-03-22 20:21:00
776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人