Python执行方式的速度对比
本测试的主要目的是对比python在并发和并行下的程序执行速度,希望能够给以后coding和模块选择提供参考。 样例代码是参考自《Fluent Python》。 按照类型和模块,将代码分成5种,分别是: 常规顺序执行(或者说是同步模式、普通模式) 多进程模块Multiprocessing 多线程模块Multithreading 异步模块asyncio 并行cocurrent.future模块 以下代码详见github仓库 代码展示 1. 常规顺序执行... Read More
Comments: 0 Category: Python Time:Pycharm如何登录Github账号
Pycharm关于Github的登录方式有两种,一种是账号密码,另一种是Token。下面是演示Token的方式。 准备工作 Pycharm需提前安装 Git和GitHub 插件。 检查路径: Settings/Preferences > Plugins 1. Github生成Token 步骤: 进入以下路径 Settings > Developer settings > Personal access tokens > Generate new token 如图所示 生成token并复制。... Read More
Comments: 0 Category: Default Time:多进程、多线程和异步IO
一. 基本概念 1. 同步和异步 同步和异步的概念是调用者执行调用后对结果的获取处理方式 同步Synchronize:调用函数后,由调用者主动查询返回的调用结果。 一直等待就是堵塞 如果用轮询等方式查询,即为非堵塞 异步Asynchronize:调用者发出调用后就转而继续执行其他操作,不查询调用结果。当调用完成后,所调用的函数会通过通知或回调的方式来通知调用者。对于异步调用,调用的返回并不受调用者控制。 通知: 当被调用者执行完成后,发出通知告知调用者,无需消耗太多性能。 回调:... Read More
Comments: 0 Category: Python Time:SocketIO在flask中应用
什么是WebSocket? WebSocket是HTML5中定义的可以在单个TCP连接上进行双向通信(即全双工通信)的协议。借助WebSocket,浏览器和服务器只需要完成一次握手(handshaking)就可以建立持久的连接,并进行双向数据传输。 什么是Socket.IO? Socket.IO(https://socket.io/)是一个基于WebSocket实现实时通信的开源JavaScript库。它可以简化实时Web程序(real-time... Read More
Comments: 62 Category: Flask Time:在WSL运行Linux系统
windows有个功能叫Subsystem for Linux(简称WSL),可以实现在windows系统中直接安装Linux系统,包括: 在Microsoft商店中选择喜欢的系统和版本 可以使用像是grep, sed, awk, or other ELF-64 binaries的命令行工具 可以运行Bash shell和Linux命令行程序: Tools: vim, emacs, tmux Languages: NodeJS, Javascript, Python, Ruby, C/C++,... Read More
Comments: 0 Category: Default Time:Xshell等工具如何连接GoogleCloud
Google Cloud控制台本身有SSH功能,可以通过网页登录或gcloud命令行工具就能轻松连接。另外,使用Xshell或PuTTY等第三方工具亦能连接Google Cloud,其主要的方式有: 账号密码登录 通过密钥登录 本文主要是讲述在windows下,如何使用第三方工具通过密钥登录。 1. 涉及工具 Xshell PuTTYgen tool 2. 生成密钥 Windows 未提供内置的 SSH 客户端,因此必须下载并安装第三方客户端。... Read More
Comments: 0 Category: Deploy & Devos Time:Flask中如何创建celery实例
尽管flask的官网给出了celery的相关函数,但那个似乎只对单独实例有效,如果flask的实例是使用工厂函数创建,则celery很容易会遇到循环导入,或者是没有上下文等情况。 celery是需要启动两个实例,一个是使用命令行启动worker,一个则由flask实例在创建时celery实例 Flask官方样例 flask官方样例 其他方法 以下方式是我目前使用的,可参考模板。 1. 目录结构 |-main/ |-blueprints/ |- __init__.py |- views.py... Read More
Comments: 3 Category: Flask Time:Leetcode解题笔记——搜索Search(持续更新)
题目17:Letter Combinations of a Phone Number 内容: Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order. A mapping of digit to letters (just like on... Read More
Comments: 0 Category: 算法 Time:Typora&Picgo&Github配置
三者联系: Typora:负责md文档的编写 PicGo:图片上传工具,监听typora的图像上传请求(typora使用中文版才能设置picgo桌面版) Github:利用github仓库功能变成图床 Typora设置 在插入图片的时候,可以选择存在本地或者上传。 以下是存储在本地设置。 注意事项 关于图片的设置可参考支持文档。 关于图片的插入后操作有全局设置和局部设置。局部设置优先级高于全局。如上图所示为全局设置。如需局部设置则在当前文档下,通过格式 -> 图像 ->... Read More
Comments: 0 Category: Default Time:算法的复杂度定义
不同算法的优劣,通过以下两个维度来衡量: 时间复杂度:是指执行当前算法所消耗的时间 空间复杂度:是指执行当前算法需要占用多少内存空间 时间复杂度: 定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数。定性描述该算法的运行时间。 通常使用 大O符号表示法来衡量其时间复杂度,,可看作是算法的渐进时间复杂度。 公式:T(n) = O (f(n))。 T(n)表示随输入规模n的增大,算法执行时间的增长率。其中f(n) 表示每行代码执行次数之和。 以下面例子为例: for(i=1;... Read More
Comments: 0 Category: 算法 Time: