06 2020 档案
摘要:楔子 Python 和 C、C++ 之间一个最重要的差异就是 Python 是解释型语言,而 C、C++ 是编译型语言。如果开发 Python 程序,那么在修改代码之后可以立刻运行,而 C、C++ 则需要一个编译步骤。编译一个规模比较大的 C、C++ 程序,那么可能会花费我们几个小时甚至几天的时间;
阅读全文
摘要:楔子 Cython:估计很多人都听说过,是用来对 Python 进行加速的。如果你在使用 Python 编程时,有过如下想法,那么 Cython 非常适合你。 1. 因为某些需求导致不得不编写一些多重嵌套的循环,而这些循环如果用 C 语言来实现会快几百倍,但是不熟悉 C 或者不知道 Python 如
阅读全文
摘要:楔子 作为开发者,我们一辈子会经历很多工具、框架和语言,但是这些东西无论怎么变,底层逻辑都是不变的。所以今天我们就回头重新思考编程中那些耳熟能详却又似懂非懂的基础概念,搞清楚底层逻辑。而代码中最基本的概念是变量和值,而存放它们的地方是内存,所以我们就从内存开始。 说到内存,很多人其实并没有搞懂什么时
阅读全文
摘要:为什么需要分布式锁 本文来自于公众号《水滴与银弹》 在开始讲分布式锁之前,有必要简单介绍一下,为什么需要分布式锁?与分布式锁相对应的是「单机锁」,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来「互斥」,以保证共享变量的正确性,其使用范围是在「同一个进程」中。 如果换做
阅读全文
摘要:为什么数据库事务如此重要? 当我们在操作数据的同时,其他人或者应用程序可能也在操作相同的数据;此时数据库必须保证多个用户之间不会产生影响,数据不会出现不一致性。这就涉及到一个重要的概念:数据库事务(Transaction)。 什么是数据库事务: 在企业应用中,数据库通常需要支持多用户并发访问;并且保
阅读全文
摘要:假设你是个妹子,你有一位男朋友,但与此同时你还和另一个"友達以上、恋人未満"的男生暧昧不清。你可以随时甩了现任男友,另一位马上就能补上。这就是冷备份。 假设你是个妹子,你同时和两位男性交往,两位都是男朋友,并且他们还互不干涉,各自独立的为你提供服务。这就是双热机备份。 假设你是个妹子,不相信男朋友给
阅读全文
摘要:楔子 pandas是一个很强大的库,但是在使用的过程中难免会遇见各种奇葩的异常,而这些异常却又很难让人定位到底是哪一步出了问题。下面就来看看pandas中的一些令人感到费解的异常吧,看看你有没有遇到过,如果没有的话,那么说明你pandas可能用的不够多哦。 ヽ( ̄ω ̄( ̄ω ̄〃)ゝ一起来看看 1.
阅读全文
摘要:楔子 本文来自于公众号《小林coding》 代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能。关于 CPU 的结构这里简单介绍一下,它由运算器、控制器、寄存器和内部总线 四部分构成,起作
阅读全文