- 博客(120)
- 资源 (1)
- 收藏
- 关注

转载 如果有人问你数据库的原理,叫他看这篇文章
一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript
2016-11-20 15:54:30
2216
1
原创 Python2到Python3升级过程中需要注意的一些点
print格式的变化,如:print ‘a’, -> print (‘a’, end=’ ')re.compile(ur’’’…’’’) -> re.compile(r’’’…’’’)字符集的变化,Python3默认字符集unicode,Python2是ascii编码,所以Python3中需要去掉reload(sys); sys.setdefaultencoding('utf-8...
2019-02-26 12:06:33
769
原创 Python实现排序算法(上)
#!/usr/bin/env python# -*- coding: utf-8 -*-# 用Python实现了 # 冒泡排序,选择排序,插入排序,快速排序,归并排序"""Author: wukai15937@gmail.comdatetime: 2018/11/4 下午15:19"""from __future__ import absol
2018-11-05 01:09:19
251
原创 WSGI, uWSGI, uwsgi, nginx
注:经过调研发现,网络上对于此四者关系的描述不尽相同,有的甚至相差甚远,对于官方的一些资料及对比一些博客,得出以下认识,如有偏颇之处,望不吝指正。用一张图可以清晰的展示四者的关系(此图摘自网络):1. WSGIWSGI(Web Server Gateway Interface)即Web服务器网关接口,它不是任何软件,而是一种通信协议(PEP3333)。The availability ...
2018-10-14 00:06:26
389
原创 Ubuntu 增加端口访问控制
# 设置27017端口拒绝访问sudo iptables -A INPUT -p tcp --dport 27017 -j REJECT --reject-with icmp-port-unreachable# 设置27017端口允许本机访问sudo iptables -I INPUT -s 127.0.0.1 -p tcp --dport 27017 -j ACCEPT# 设置27...
2018-09-17 16:40:45
4774
转载 Ubuntu源码安装MySQL
編譯與安裝: 源码下载地址:http://dev.mysql.com/downloads/mysql/ 选择Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers首先 : sudo apt-get u...
2018-07-26 10:46:37
417
原创 Python smtplib 邮件发送xls文件
要解决一个定时发送报表给特定人员的问题,利用crontab + Python smtplib很方便就解决了,邮件发送代码如下#!/usr/bin/env python# -*- coding: utf-8 -*-"""Author: wukai15937@gmail.comDatetime: 2018/7/16 下午5:09"""from __future__ im...
2018-07-17 11:16:33
2843
转载 IOS内购
原文地址 1.IOS purchase 介绍所谓的IOS 内支付就是在应用中内嵌Store,在iOS APP 中使用Store Kit framework来实现In-App Purchase,Store Kit会连接App Store,代替应用安全地完成用户支付的支付行为。Store&...
2018-07-10 18:06:21
1240
原创 Python2 ascii codec can't encode characters in position ordinal not in range(128)
str.encode('utf-8') if isinstance(str, unicode) else str
2018-06-28 11:23:58
628
原创 mysql_config not found错误
pip install MySQL-python报错如下root@ubuntu:~/django-blog# pip install MySQL-pythonCollecting MySQL-python Downloading http://mirrors.aliyun.com/pypi/packages/a5/e9/51b544da85a36a68debe7a7091f068d802...
2018-03-18 02:51:25
1278
原创 JSON 序列化函数,处理 Mongo ID
import bson, jsondef default(obj): """ JSON 序列化函数,处理 Mongo ID 用法:json.dumps(default=default) :param obj: :return: """ if isinstance(obj, bson.objectID): return bs...
2018-02-27 15:32:27
826
原创 MongoDB复制集replicaSet
本机测试搭建Mongo复制集首先创建三个配置文件# mongo1.conflogpath=/tmp/logs.log1.txtdbpath=/data/dbport=27017fork=truelogappend=truereplSet=wukai/127.0.0.1:27018# mongo2.conf logpath=/tmp/logs/log2.txt
2018-01-31 00:52:01
293
原创 mac修改网卡地址出现basicipv6validationerror
此时设置过程需在终端完成列出网卡名An asterisk (*) denotes that a network service is disabled.Built-in Serial Port (1)EthernetVPN (L2TP)易得出,网卡名为Ethernet关闭ipv6设置networksetup -setv6off Ethernet设置ip
2018-01-30 15:10:11
893
原创 UnicodeDecodeError: 'ascii' codec can't decode byte... Python编码问题
获取默认编码import syssys.getdefaultencoding()--------->>> ascii设置默认编码为utf-8import sysreload(sys)sys.setdefaultencoding("utf-8")! 注意,需先reload(sys),否则可能报错,无setdefaultencoding属性
2018-01-29 12:36:35
443
转载 HBase底层存储原理
理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.Google's BigTable论文 清楚地解释了什么是BigTable:Bigtable是一个疏松的分布式的持久的多维排序的map,这个map被
2018-01-28 23:33:03
1974
原创 Python抽象类与抽象方法
抽象方法 抽象方法表示基类的一个方法,没有实现,所以基类不能实例化,子类实现了该抽象方法才能被实例化。 Python的abc提供了@abstractmethod装饰器实现抽象方法,下面以Python3的abc模块举例。实现In [19]: from abc import ABC, abstractmethodIn [20]: class A(object): ...: '
2017-12-22 13:19:55
4809
原创 Python max(min)函数
取value最大的字典In [1]: a = {'teacher_id': 234234, 'count': 20}In [2]: b = {'teacher_id': 23443454, 'count': 30}In [3]: c = {'teacher_id': 4533454, 'count': 70}In [5]: max([a, b, c], key=lambda x: x['count
2017-12-14 13:42:25
602
原创 enums中Enum对象取值
In [2]: from enum import EnumIn [3]: class Test(Enum): ...: a, b, c = 1, 2, 3 ...: In [4]: Test['a']Out[4]: <Test.a: 1>In [5]: Test['a'].valueOut[5]: 1In [6]: Test['a'].nameOut[6]: 'a'
2017-12-08 20:04:47
1203
原创 ssh连接错误 Permission denied (publickey)
首先得确保你的.ssh下有目标服务器的公钥信息,这是前提如果公钥信息保存在文件中,如 wk.pub,在命令行输入,ssh-add ~/.ssh/wk.pub, ~/.ssh/wk.pub为公钥文件的绝对路径执行ssh连接命令,正常应该是能连接上的,但有可能会报出如下错误:1.Could not open a connection to your authentication agent此时需
2017-11-30 14:50:08
16250
转载 使用Python和xlwt向Excel文件中写入中文
原文地址 Python等工具确实是不错的工具,但是有时候不管是基础的Python还是Python的软件包都让我觉得对中文不是很亲近。时不时地遇到一点问题很正常,刚刚在写Excel文件的时候就又遇到了这样的问题。 为了能够说明情况,假设我想把当前文件夹中所有的文件名称全都写入到Excel文件中。当前的目录信息如下:grey@DESKTOP-3T80NPQ:/mnt
2017-11-29 12:27:38
2776
转载 网络地址转换NAT原理及其作用
1 概述原文地址1.1 简介NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(I
2017-11-29 11:47:22
6601
1
转载 Tornado request内容
原文地址 最近学习了用 tornado 编写一段小程序,根据 HTTP header 收集客户端相关信息:是否手机、操作系统、浏览器等信息。先上代码,简单实用:[python] view plain copy<embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn
2017-11-23 16:30:30
3372
原创 URL-encoding : ASCII Character
url编码对应ascii编码%20 : space %21 : ! %22 : ” %23 : # %24 : $ %25 : % %26 : & %27 : ‘ %28 : ( %29 : ) %2A : * %2B : + %2C : , %2D : – %2E : . %2F : / %30 : 0 %31 : 1 %32 : 2 %33 : 3 %34 : 4 %35 : 5 %36 : 6
2017-11-21 14:36:17
482
原创 Python时间戳转为北京时间
要将时间戳转化为北京时间,这里涉及一个时区的问题,由于Python默认只有时间戳转化为UTC时间的函数,所以这里要引入pytz这个库首先安装pytz模块,使用pip install pytzimport timeimport datetimeimport pytztz = pytz.timezone('Asia/Shanghai') #东八区t = datetime.datetime.fro
2017-11-03 15:36:18
16093
4
转载 Python 函数 类 语法糖
原文出处: zzir Python 语法糖\,换行连接<div id="crayon-59bea086412e0484925162" class="crayon-syntax crayon-theme-github crayon-font-monaco crayon-os-mac print-yes notranslate" data-sett
2017-09-18 00:39:42
609
原创 Python排序字典
Python排序可以通过内建函数sorted()实现,同时部分拥有sort()方法的数据类型也可以通过sort实现,由于字典没有sort方法,所以用sorted实现通过key值排序d = {'a': 2, 'A': 1, 1: 3, 'b': 2}sorted_key_list = sorted(d)print(sorted_key_list)sorted_dict = map(lambda x:
2017-09-17 02:25:29
16202
原创 Sublime Text编辑器开启或关闭Vim模式
首先按以下方式进入配置文件编辑界面 Preferences -> Settings (mac下快捷键为 Command ,)接下来会有两个文件: Preferences.sublime-settings--Default (默认设置,默认不可修改) Preferences.sublime-settings--User (用户设置,可以修改,且配置覆盖默认)在Preferences.subli
2017-09-16 01:31:19
22302
1
原创 ssdb zset操作(Ⅰ)
zsetssdb的zset是ssdb三种数据结构中的一种: sorted set(有序集合),有name,key,score三个属性,按score权重排序,且key值不可重复,key不重复通过map实现,以score排序通过set实现,name是一个集合的名字。操作运行ssdb在ssdb的bin目录下执行./ssdb-cli进入交互模式(mac或linux可通过命令sudo find / --n
2017-09-15 00:48:01
1787
原创 mongodb多层嵌套数组查询
现有一数据如下,为嵌套中的数组,再嵌套数组 { “a” : [ [ ‘num’ ], [ ‘blue’, ‘num
2017-09-14 00:45:18
9370
原创 Python生成器实现杨辉三角
杨辉三角杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。(引自于:百度百科)很容易就得出规律: 除根以外,每个数都由它上层的左右两数之和,一个数不存在即视为0。根为1由此规律,易得每层边界数值为1下面用Python的生成器来实现这个著名的三角:)生成器实现# _*_
2017-09-14 00:21:57
710
原创 Python装饰器的理解
Python装饰器是什么Python装饰器就是一个函数,它的产生是为了在不改变目标函数结构的基础上为其增加功能,返回值是增加功能后的目标函数。一个简单的装饰器 -为程序添加简单的计时功能import timedef get_run_time(method): def wrapper(): start = time.time() method()
2017-09-01 01:37:56
249
转载 Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)
原文地址概念介绍 无限加载与瀑布流的结合在Web前端开发中的效果非常新颖,对于网页内容具备较好的表现形式。无限加载并没有一次性将内容全部加载进来,而是通过监听滚动条事件来刷新内容的。当用户往下拖动滚动条或使用鼠标滚轮的时候,页面会自动加载剩余的内容。如下: 简约而不简单,正是这种别出心裁,突破常规的设计才能得到用户的青睐……实现思路 在前端开
2017-05-05 18:11:47
2792
原创 PyQt5设置QTableWidget列宽固定
找了良久才找着啊,找了很多内容,点进去发现都一样…QTableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.Fixed)这里有比较完整的关于QTableWidget的内容 http://www.cnblogs.com/skynet/p/4229556.html
2017-05-03 18:12:00
5540
转载 psutil--系统监控模块
原文地址一、psutil模块1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free
2017-04-28 17:18:49
4797
原创 pyqt注销操作后重新登录--程序的重启
大体思路说下,要代码实现的私聊程序入口处:...def main(): # `...`是省略的内容 ... app = QApplication(sys.argv) ... exit_code = app.exec_() if exit_code == 888: main() else: sys.exit()
2017-04-28 16:02:09
2153
10
转载 Qt5中部分自带控件菜单(QLineEdit、QTextEdit右键菜单)的汉化
原文地址 Qt中一些控件自带了功能完备的右键菜单,完全可以满足一般的使用要求,而不必再费劲自己创建、调用菜单,但是默认情况下这些菜单均为英文,用在一款汉语软件里难免有点别别扭扭,这就需要我们进行汉化。得益于Qt本身良好的国际化设计,实现起来并不复杂。经查阅各位大牛的文章以及用户文档,在Qt5中的使用总结如下:1、首先要有翻译文件(.qm),关于如何生成qm这里
2017-04-17 19:14:53
3402
HTTP2.0协议中英文对照版.docx
2017-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人