PYTHON July 31, 2021

Flask中SQLAlchemy自动更新表结构

Words count 7.9k Reading time 7 mins.

Python: 2.7

Flask: 1.0.3
Flask-SQLAlchemy: 2.3.2

SQLAlchemy: 1.3.12

Flask-SQLAlchemy是Flask中比较好用的ORM...

Read article

PYTHON October 21, 2020

使用Conda Pack打包Python独立运行时环境

Words count 6.6k Reading time 6 mins.

版本说明:

python=2.7

Conda 的Pack工具,可以说是让我发现了新大陆。之前有个项目使用它解决了一个棘手的问题,一直没有整理相关笔记,时间长了容易淡忘,恰好有同事问我如何实现的,这里就重新整理一下。

简单描述一下项目中遇到的这个棘手问题:

这个项目是一个Python2.7开发的Flask服务,它里面有不少依赖需要使用pip安装,并且在网络不好的情况下容易下载失败。要求是能够让用户能够快速部署,几乎不做复杂的操作,就能够运行我们的项目,甚至是目标主机没有联网的情况下,都能够直接...

Read article

PYTHON September 25, 2020

Python中使用flatmap

Words count 1.4k Reading time 1 mins.

写多了Spark、Flink突然觉得到处是map、flatmap,在这些框架中有map、flatmap算子,在scala语言里有对应的方法,而在java 8之后,我们ye可以通过stream api使用map和flatmap,这些用法,用一次就会爱上它,代码确实优雅、好用。早之前我一直以为python里也有这样的用法,也使用过filter、map等方法,但直到今天在写一个小脚本需要用到flatmap时,才发现竟然在语言层面没有原生支持。

这里不罗逼嗦了,直接上实现flatmap的代码,参考https...

Read article

PYTHON August 24, 2020

从CDH Agent错误日志学习Python拆包语法

Words count 5.2k Reading time 5 mins.

国庆七天长假回来上班,迟迟没有进入工作状态,可能祖国的强大,让我不自觉的也飘了起来,哈哈,该收拾收拾心情,为祖国之繁荣而努力加班挣money了。今天通过解决公司开发环境的一个问题,让我瞬间进入了战斗状态,并且顺便学了一下Python拆包的一些语法,还是挺有意思的。

放假回来,同事发现公司开发环境的CDH集群挂了,好长时间没关注了,可能早就挂了吧。挂成什么样了呢?两台节点与Manager失去心跳,所有服务都起不来了,简直废了,处于不可用状态。

当时但看服务状态以为没啥问题,可能是放假期间重启服...

Read article

PYTHON August 24, 2020

Python使用subprocess开启新进程之旅

Words count 7.6k Reading time 7 mins.

版本说明:Python2.7

感觉好久没有写博客了,最近接连两项工作,忙的不亦乐乎,难得空档期,做一下笔记总结。同样是工作中遇到的问题,简单描述一下:有这样一段脚本,它执行时间比较长,而且不断地有标准输出,需要Flask提供REST服务去异步执行这段脚本,并且实时捕获标准输出,通过WebSocket推送给前台。关键点:异步调用,实时获取标准输出,并且可能涉及到实时交互。当时解决这个问题,一开始使用的是Python的输出重定向sys.stdout,然后重写write方法,将输出写到Queue里...

Read article

PYTHON August 24, 2020

Flask从0到1快速后台服务开发

Words count 81k Reading time 1:13

版本说明:

Python:3.7

Flask:1.0.2

前言

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 ,具体详情查看官网:http://flask.pocoo.org/

接触Flask有一段时间了,在工作中使用Flask开发了几个轻量级的后台服务,相比较Django框架,Flask更加的轻量,为渐进式框架,适合快速开发。这里不做深入的源码研究,只是记录一下在工作中使用Flask的经...

Read article

PYTHON January 04, 2020

django模板语言

Words count 2.3k Reading time 2 mins.

一、 { {}} 获取render字典

如views.py

def index(request):
    return render(request, 'index.html', {'hello': 'hello blog'})

templates/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset...
Read article

PYTHON November 07, 2018

Python基于单例模式实现具有时效性的内存缓存

Words count 5.7k Reading time 5 mins.

版本说明:Python 2.7

Python有不少第三方的缓存库,如cacheoutmemcached等。因为项目需求,这里不使用第三方库,自己实现具有时效性的内存缓存,用来缓存重复利用的数据。

1.1 思路

采用dict()作为缓存介质,数据以key、value的形式进行保存。key为cache_id,用来标识不同的缓存数据。value是要进行缓存的数据。并且使用单例的设计模式,保障缓存数据的原子性。在时效性控制上,对每一个缓存数据进行单独控制,使用threading.Timer进行延时销...

Read article

PYTHON August 20, 2018

windows环境搭建

Words count 6.1k Reading time 6 mins.

官网下载:https://www.anaconda.com/download/#windows

1.下载完成后进行安装,【Next】

2.点击【I Agree】同意条款

3.选择安装类型,第一个是安装到当前用户,第二个是安装到所有用户。

4.选择安装路径

5.勾选Add Anaconda to my PATH environment variable选项,将 anaconda加入的环境变量里。

6.点击【Install】即可等待安装完成。

命令行输入

conda install scrapy...
Read article

PYTHON August 20, 2018

linux下django+vue.js环境搭建及项目构建

Words count 17k Reading time 16 mins.

python: 2.7.5

django: 1.11.7

node: 8.5.0

mysql: 5.7

1. 安装python

centos下默认已经安装了python

2. 安装 node.js

下载安装包 版本地址

wget https://nodejs.org/dist/v8.5.0/node-v8.5.0-linux-x64.tar.gz

解压

tar zxvf node-v8.5.0-linux-x64.tar.gz

配置环境变量/etc/profile

export NODE_HOME...
Read article
Load more
0%