- 博客(29)
- 收藏
- 关注
转载 异步任务神器 Celery 快速入门教程
Celery在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务。比如,在 Web 开发中,对新用户的注册,我们通常会给他发一封激活邮件,而发邮件是个 IO 阻塞式任务,如果直接把它放到应用当中,就需要等邮件发出去之后才能进行下一步操作,此时用户只能等待再等待。更好的方式是在业务逻辑中触发一个发邮件的异步任务,而主程序可以继续往下运...
2019-04-10 16:30:36 256
原创 Ubuntu 16.04设置rc.local开机启动命令/脚本的方法
Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)注意:rc.local脚本里面启动的用户默认为root权限。一、rc.local脚本rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。该脚本...
2018-09-06 14:41:31 1182
原创 Docker 如何把镜像上传到docker hub
1 首先你得准备一个hub 的帐号, 去 https://hub.docker.com 注册吧!2 在hub那里新建一个仓库, 这个就类似于github那边的..create ---> create repository(创建知识库) 然后随便搞个名字, 我这里就叫ubuntu吧 所以路径就是wherein/ubuntu了3 运行 docker ps 查看容器, 这里就是要获取到CO...
2018-07-19 09:59:13 2646
原创 python高性能框架-japronto
前言:很久之前就听说python有个web框架可以媲美go、nodejs等高性能语言,周末有空特地看了下。 --------背景了解:japronto是一个全新的,为微服务量身打造的python微框架,关于它的详细介绍可以看转载的这篇文章《用 Python 实现每秒处理 120 万次 HTTP 请求》http://blog.csdn.net/u013128262/article/d...
2018-07-18 10:31:04 4498
原创 docker常用命令
docker run -i -t ubuntu /bin/bash 进入bash -t 分配伪终端 -i 让容器标准输出保持打开docker search mysql 搜索镜像docker rmi ubuntu/id 根据标签或id删除镜像docker rm e81 删除容器docker attach 容器id 或 docker attach 容器name 重新进入未关闭的容器镜像创建镜像三种...
2018-06-28 17:01:42 137
原创 python enumerate用法总结
enumerate()说明enumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值enumerate多用于在for循环中得到计数例如对于一个seq,得到:(0, seq[0]), (1, seq[1]), (2, seq[2])1...
2018-06-28 16:48:07 324
转载 python深入
到现在为止,Python学习已经可以告一段落。下面的部分,我想讨论Python的高级语法和底层实现。这一部分的内容并不是使用Python所必须的。但如果你想从事一些大型的Python开发(比如制作Python工具、写一个框架等),你会希望对这一部分内容有所的了解。一、特殊方法与多范式Python 一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向...
2018-04-26 11:31:41 472
原创 详解Python之%s%d%f
%s 字符串[python] view plain copystring="hello" #%s打印时结果是hello print "string=%s" % string # output: string=hello #%2s意思是字符串长度为2,当原字符串的长度超过2时,按原长度打印,所以%2s的打印结果还是hello print "strin...
2018-04-26 10:25:24 6896
原创 python操作mongodb
下载python中MongoDB的驱动程序pip install pymongo然后确保MongoDB已经安装且可以正常运行,去官网下载相应版本:https://www.mongodb.com/mkdir -p /home/toolscd/home/toolswget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.2.tgz...
2018-04-20 10:20:52 141
原创 Ubuntu下Mongodb数据库连接失败问题
1.遇到的问题:connecting to: test2017-10-24T14:02:02.640+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused2017-10-24T14:02:02.693+0800 E QUERY [thread1] Err...
2018-04-19 17:45:34 1174 1
原创 linux中怎么压缩7天前的*.log文件,并删除7天前的*.log文件,写成脚本
1.删除文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;实例命令:find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:find:linux的查找命令,用户查找指定条...
2018-04-19 10:25:25 4846
原创 python之numpy的基本使用
一、numpy概述numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。二、创建ndarray数组ndarray:N维数组对象(矩阵),所有元素必须是相同类型。 ndarray属性:ndim属性,表示维度个数;shape属性,表示各维...
2018-04-17 11:58:58 228
原创 django通过celery实现异步任务
异步任务的重要性大家在做web项目的时候经常会遇到一些耗时的操作, 比如: 发送邮件、发送短信、生成pdf。这些操作在某些情况下需要立即返回结果给用户,但是可以在后台异步执行。比如用户邮箱注册的时候, 在发送邮件的时候可以先把”已经发送激活邮件到邮箱”返回给用户, 同时把邮件发送任务提交到异步处理线程中。现在介绍一款python写的专门用于处理异步任务的框架–celery。当然celery能完成的...
2018-04-16 17:40:19 517
原创 python面向对象和设计模式
热身既然是针对面向对象的,让我们先来回顾一下面向的三大特性和接口面向对象的三大特性:封装,继承和多态封装把数据和函数包装在类里,类的边界限制外界的访问,将类内和类外隔绝开,并视情况提供一些接口。尤其是一些关键的变量(比如在类内部计算出来的变量),建议设置为私有变量,隔绝类外的访问和修改。class A: def __init__(self, name): self.__na...
2018-04-13 16:50:36 569
原创 在阿里云Ubuntu16.04上使用uwsgi和nginx的django程序
介绍Django是一个功能强大的Web框架,可以帮助您将Python应用程序或网站打开。Django包含一个简化的开发服务器,用于在本地测试您的代码,但对于与生产相关的任何事情,都需要更安全,更强大的Web服务器。在本指南中,我们将演示如何在Ubuntu 16.04上安装和配置一些组件以支持和服务Django应用程序。我们将配置uWSGI应用程序容器服务器以与我们的应用程序进行交互。然后,我们将设...
2018-04-10 17:52:42 307
原创 python经典排序算法
十大经典排序算法来源:https://github.com/hustcc/JS-Sorting-Algorithm排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、...
2018-04-10 17:48:21 655
原创 python词频统计的方式
现有列表如下:[6, 7, 5, 9, 4, 1, 8, 6, 2, 9]希望统计各个元素出现的次数,可以看作一个词频统计的问题。我们希望最终得到一个这样的结果:{6:2, 7:1...}即 {某个元素:出现的次数...}首先要将这些元素作为字典的键,建立一个初值为空的字典:>>> from random import randint>>> l = [rand...
2018-04-10 17:45:51 2396
原创 python之Collections的用法
collections的常用类型有:计数器(Counter)双向队列(deque)默认字典(defaultdict)有序字典(OrderedDict)可命名元组(namedtuple)使用以上类型时需要导入模块 from collections import *1. CounterCounter 作为字典(dict)的一个子类用来进行hashtable计数,将元素进行数量统计、计数后返回一个字典,...
2018-04-10 17:14:48 177
原创 2018编程之禅
1、重构是程序员的主力技能。2、工作日志能提升脑容量。3、先用profiler调查,才有脸谈优化。4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。5、普通程序员+google=超级程序员。6、单元测试总是合算的。7、不要先写框架再写实现。最好反过来,从原型中提炼框架。8、代码结构清晰,其它问题都不算事儿。9、好的项目作风硬派,一键测试,一键发布,一键部署;烂的项...
2018-04-10 17:04:25 309
原创 微信之wxpy
运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 1、准备工作1.1 库介绍只有登录微信才能获取到微信好友的信息,本文采用wxpy该第三方库进行微信的登录以及信息的获取。wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。wxpy一些常见的场景:控制路由器、智能家居等具有开放接口的玩意儿运行脚...
2018-04-10 16:58:06 1218
原创 正则表达式大全
校验数字的表达式1. 数字:^[0-9]*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8. 正数...
2018-04-10 16:55:42 157
原创 python之禅
《Python之禅》是Tim Peters 为 Python 语言总结的 20 条软件开发哲学,在 Python 交互式命令行中可以输入 import this 打印出来,中文翻译:优美胜于丑陋明了胜于隐晦简洁胜于复杂复杂胜于混乱扁平胜于嵌套宽松胜于紧凑可读性很重要即便是特例,也不可违背这些规则虽然现实往往不那么完美但是不应该放过任何异常除非你确定需要如此如果存在多种可能,不要猜测肯定有一种通常也...
2018-04-09 17:59:52 705 1
原创 try except异常
异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python中,和不部分高级语言一样,使用了try/except/finally语句块来处理异常,如果你有其他编程语言的经验,实践起来并不难。异常处理语句 try...excpet...finally实例代码defdiv(a, b):try:print(a / b)ex...
2018-04-09 11:01:33 5489
原创 ubuntu段错误(核心已转储)
core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类型的错误...
2018-04-03 16:03:59 77051 10
转载 python的定时任务APScheduler
引言:在编程语言中,定时任务是常用的一种调度形式,在python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法。1. APScheduler介绍 APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。 APS...
2018-04-03 16:00:05 772
原创 shell if的多条件的流程控制
h=$(date +%H)s=$(date +%S)m=$(date +%M)if [[ $h == 11 && $m == 41 && $s == 10 ]]一. bash [ ] 单双括号基本要素:Ø [ ] 两个符号左右都要有空格分隔Ø 内部操作符与操作变量之间要有空格:如 [ “a” = “b” ]Ø 字符串比较中,> < ...
2018-04-03 15:56:21 3330
原创 MySQL数据的导入与导出(含远程)
线上到开发mysqldump -uprsc -p20171206 sik weChatGroupStatistics > weChatGroupStatistics.sql (导出)mysql -h47.96.4.221 -umysql -psi2017 sik < weChatGroupStatistics.sql (导入)开发到本地mysqldump -h47....
2018-04-03 15:52:47 9654
原创 shell 的时间date
h=$(date +%H)s=$(date +%S)m=$(date +%M)附:摘自《Linux shell脚本攻略(第2版)》的日期格式表shell--判断执行脚本所花费的时间#!/bin/bashstarttime=$(date +%s)sleep 5endtime=$(date +%s)cost=$((endtime - starttime))echo $cost...
2018-04-03 15:48:12 400
转载 python往mysql中插入datetime类型的数据
我们都知道python的%通配符有:%d(整型),%s(字符型),%f(浮点型)。那么关于时间date的类型呢? 比如:我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找,终于发现往python是没有对应时间datetime的相关通配符的,那么我们要怎么实现呢。 其实很简单,我们只需要把datetime转换成字符串类型的...
2018-02-28 11:40:43 13193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人