由 sort 中 key 的用法浅谈 python

用 Python 时间也算不短了,但总感觉自己在用写 C++ 代码的思维写 Python,没有真正用到其作为脚本语言的优势。之前刷 LeetCode 时,自己的 Python 代码总是很长,很像披着 Python 外衣的 C++ 代码(放在这里,不断重构中)。

想来大概是因为觉得python简单,平时只是零零碎碎的学习,也没有去读别人的代码,导致掌握的不够深入。回想起前段时间的面试,面试官看我简历写熟悉Python,就问了两个Python的问题:

  1. Python 中常用的优化技巧(能够提升 Python 执行效率的,除了算法层面)
  2. 按照 value 从小到大输出 dict 中的 key-value值。

我支支吾吾半天,就是没有答到点上,直接导致被拒(后来整理的内容放在这里)。所谓知耻而后勇,经过一段时间对 Python 的重新学习,才慢慢发现 Python 的一些强大与美妙之处。

Read More

让我们一起愉快地逃课吧

逃课,在大多数人眼中都是“坏学生”的专利,一说起逃课,就会联想起逃课打游戏,逃课出去玩,逃课把妹等。然而,还可以为了学习而逃课,这里我们要说的就是逃课去学习的故事。

为什么我要逃掉算法课?

写这篇文章的时候我本来应该在教室上《算法分析与设计》这门课,算法对于学计算机的同学来说,重要性不言而喻。我们应该花费大量的时间去熟悉各种算法,同时了解算法背后的思想。那么我为什么会逃掉这么重要的一门课呢?

忘了在哪里看过一句话,大致意思是看一个人读过的书就知道这个人的品味。同样,我觉得看一个老师推荐的教材就知道这个老师的水平了。下面来看看老师推荐的算法教材吧,排名有先后(完全复制课件内容,排版未做更改):

Read More

从理论到实践,全方位认识DNS(实践篇)

理论篇我们基本了解了DNS的整个协议原理,但是可能还会有着下面的疑问:

  1. 为什么我想申请的域名都没了?
  2. DNS 域名还要备案,这是为什么啊?
  3. 如何将刚申请的域名绑定到自己的网站呢?
  4. 怎么才能看到那些在背后默默给我解析的域名服务器呢?
  5. 他们说用一个什么文件就可以访问好多好多不存在的网站,是真的吗?
  6. 可信任的域名服务器是怎么一回事,难道有些域名服务器会做坏事?
  7. 怎么知道我现在用的域名服务器有没有使坏呢?
  8. ……

我不准备一个一个地去回答这些问题,不过相信我,读完本文,对于上面问题的答案你会有一个清晰的认识,并且可以解决其他各种各样关于 DNS 方面的问题。

Read More