05 2018 档案
摘要:什么是自省? 在日常生活中,自省(introspection)是一种自我检查行为。 在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。 说的更简单直白一点:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单
阅读全文
摘要:什么是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
阅读全文
摘要:在Git的使用过程中,设置git账号信息的时候遇到如下错误: 当我们设置Git账号的Global用户名的时候,报错 warning: user.name has multiple values 原因:这是因为在.gitconfig文件中已经有了一个[user]字段了 解决方案:编辑.gitconfi
阅读全文
摘要:软件开发者要开源软件,不单单是开放源代码就可以了,选择一种许可证很重要,一个许可证之于软件就相当于价值观之于普通人,代表了这个软件的基本品性。一个错误的许可证选择可能会直接导致整个项目的失败。 各种开源的许可证主要的限制还是在redistribution(发布),所以个人/商业公司开发的软件包含了G
阅读全文
摘要:简单的讲,元类创建了Python中所有的对象。 我们说Python是一种动态语言,而动态语言和静态语言最大的不同,就是函数和类不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个HelloWorld的class,就写一个helloworld.py模块: 当Python解释器载入hellow
阅读全文
摘要:什么是进程,什么是线程? 进程与线程是包含关系,进程包含了线程。 进程是系统资源分配的最小单元,线程是系统任务执行的最小单元。 打个比方,打开word,word这个程序是一个进程,里面的拼写检查,字数统计,更改字体等等功能是一个个线程。当word这个进程启动的时候,系统分配给word进程一些资源(C
阅读全文