摘要:
什么是ORM? ORM的英文全称是“Object Relational Mapping”,即对象-关系映射,从字面上直接理解,就是把“关系”给“对象”化。 对应到数据库,我们知道关系数据库(例如Mysql)的特征就是数据与数据之间存在各种各样的“关系”,这种“关系”是由Table(表)来维护和表现的 阅读全文
摘要:
总的来说,Python的垃圾回收机制是以引用计数为主,同时为了解决循环引用的问题以及提升效率,采取标记-清除和分代收集为辅助办法。 1. 引用计数 引用计数的核心思想是:每一个对象都有一个计数器ob_refcnt用来标记这个对象被引用的次数(比如被1个变量引用则为1,被2个变量引用则为2)。当引用次 阅读全文
摘要:
Install python package with proxy sudo pip install python-magic --proxy=https://your-proxy.com 2.No distributions at all found for autopep8 Upgrade pi 阅读全文
摘要:
软件开发者要开源软件,不单单是开放源代码就可以了,选择一种许可证很重要,一个许可证之于软件就相当于价值观之于普通人,代表了这个软件的基本品性。一个错误的许可证选择可能会直接导致整个项目的失败。 各种开源的许可证主要的限制还是在redistribution(发布),所以个人/商业公司开发的软件包含了G 阅读全文
摘要:
简单的讲,元类创建了Python中所有的对象。 我们说Python是一种动态语言,而动态语言和静态语言最大的不同,就是函数和类不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个HelloWorld的class,就写一个helloworld.py模块: 当Python解释器载入hellow 阅读全文
摘要:
什么是进程,什么是线程? 进程与线程是包含关系,进程包含了线程。 进程是系统资源分配的最小单元,线程是系统任务执行的最小单元。 打个比方,打开word,word这个程序是一个进程,里面的拼写检查,字数统计,更改字体等等功能是一个个线程。当word这个进程启动的时候,系统分配给word进程一些资源(C 阅读全文
摘要:
作者: 阮一峰 日期: 2015年8月 5日 团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。 否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。 下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。 第一步:新建分支 阅读全文
摘要:
题目: 01背包问题描述:有编号分别为a,b,c,d,e的N=5件物品,它们的重量w分别是2,2,6,5,4,它们的价值v分别是6,3,5,4,6,每件物品数量只有一个,现在给你个承重为M=10的背包,如何让背包里装入的物品具有最大的价值总和sum_v? 在DP(dynamic programmin 阅读全文
摘要:
作者: 阮一峰 日期: 2012年8月29日 diff是Unix系统的一个很重要的工具程序。 diff是Unix系统的一个很重要的工具程序。 它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入: $ diff <变动前的文件> <变动后的文件> diff就会告诉你,这两个文件 阅读全文
摘要:
在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情。 什么是patch?简单来讲,patch中存储的是你对代码的修改 什么是生成patch?生成patch就是记录你对代码的修改并将其保存在patch文件中 什么是打patch?打patch 阅读全文