Practice

在Windows平台使用IIS部署Flask网站

在 Windows 平台部署基于 Python 的网站是一件非常折腾的事情,Linux/Unix 平台下有很多选择,本文记录了 Flask 部署到 IIS 的主要步骤,希望对你有所帮助。 涉及工具和平台 Windows 7 x64 Python 3.4+ Flask 完成 Hello Flask 网站 这是一个最简单的 Flask 网站: # hello.py ...

理解 Git Diff 命令

你确定自己会git diff 吗? 在 git 提交过程中,存在三大环节: working tree index file (staged) commit 这三大环节中,你应该有一个大概的了解: working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree 的状态就改变了。 index file:是索引文件,它是连接...

上传并发布你自己发明的轮子 - Python PyPI 实践

Pypi 的发布实践。 本文仅讨论上传相关的步骤,关于如何给写一个setup.py 请参阅官方文档: https://docs.python.org/2/distutils/setupscript.html 上传前的注意事项 假设你的包已经开发完成,并且根目录必须要有一个setup.py。 最好有一个README.rst 用来描述你的轮子,虽然这不是必须的,但文...

Move on to Python 3

Do we want to move on to Python 3? Well, what is your concerns? Here is a slide made by me probably can help you out. (Use the left/right arrow key to navigate back/forward.) Slides Resourc...

总结:Python中的异常处理

异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。 在Python中,和不部分高级语言一样,使用了try/except/finally语句块来处理异常,如果你有其他编程语言的经验,实践起来并不难。 异常处理语句 try…excpet…finally 实例代码 def div(a, b): try:...

Gif截屏工具 - GifCam

如果你需要录制截屏并保存成 gif 图片格式,那么你一定不能错过 GifCam 这个神奇的小工具。它虽然只有 600K,但功能不可小觑。 GifCam (Gif 相机) 是一款免费且非常优秀的视频录制/剪辑的 GIF 动画制作软件,它的使用非常简单直观,譬如想要将某一小段视频录制成 Gif 图片,你只需将其窗口的取景框拖放到视频播放的区域,然后按下录制按钮即开始录制。它就像一个摄像机一...

Python装饰器的另类用法

之前有比较系统介绍过 Python 的装饰器(请查阅《详解 Python 装饰器》),本文算是一个补充。今天我们一起探讨一下装饰器的另类用法。 语法回顾 开始之前我们再将 Python 装饰器的语法回顾一下。 @decorate def f(...): pass 等同于: def f(...): pass f = decorate(f) @语法的好处在于...

详解Python的装饰器

Python 中的装饰器是你进入 Python 大门的一道坎,不管你跨不跨过去它都在那里。 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数。 def say_hello(): print "hello!" def say_goodbye(): print "hello!" # bug here if __na...

说说Python中的闭包 - Closure

Python 中的闭包不是一个一说就能明白的概念,但是随着你往学习的深入,无论如何你都需要去了解这么一个东西。 闭包的概念 我们尝试从概念上去理解一下闭包。 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久...

Python中不尽如人意的断言Assertion

断言是测试的氧气,无断言,不测试。 Python Assert 为何不尽如人意 Python 中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常。 >>> assert 1 + 1 == 2 >>> assert isinstance('Hello', str) >>> assert is...

Improve Assertion In Python

Assertion is the basics of testing. Why not using Python Assert Assertion in Python is pretty simple, you can assert any condition by assert statement. >>> assert 1 + 1 == 2 >>&...

解决 Jenkins中TFS Plugin Mapping错误的问题

处理 TFS 的问题备忘。 问题描述 Once you had update in TFS workspace for Jenkin TFS plugin, you might get error like bellow: 如果你把 Jenkins 中 TFS 插件更新过,那么你有可能会遇到 Mapping 错误的问题。 [workspace] $ "C:\Program Fil...

Chrome, Andriod, JRE, Selenium各种开源工具的国内镜像

在国内很多时候不翻墙真的很难做开发,本篇博客收集了一些知名工具和类库的国内镜像,当你没有 VPN 时,说不定能帮上你的大忙。 淘宝镜像 淘宝的镜像更新速度非常及时,安装它在官网上说的,大概没 10 分钟会同步一次。 https://npm.taobao.org/ https://npm.taobao.org/mirrors 部分镜像列表...

获取 Google Chrome 谷歌浏览器离线安装包

谷歌浏览器的离线安装包还真有用。 安装到个人用户目录,请使用以下链接: Download Google Chrome Standalone Offline Installer (32-bit) Download Google Chrome Standalone Offline Installer (64-bit) 安装后所有用户可用,请使用以下链接: Googl...

Python中的反转字符串问题

按单词反转字符串是一道很常见的面试题。在 Python 中实现起来非常简单。 def reverse_string_by_word(s): lst = s.split() # split by blank space by default return ' '.join(lst[::-1]) s = 'Power of Love' print reverse_str...