logo

海盗

Python 中的对象概述

在 Python 的世界中,一切皆对象。 int / list / dict / ... 都是对象,除此之外,函数、类本身也是对象,那么,这些对象究竟是什么呢?

从结果看,Python 中的对象是 C 语言中结构体在堆上申请的一片内存区域。而在具体实现上,这里先简单描述一下。
屏幕快照 2016-07-09 01.16.10.png

阅读全文...

从源码编译 Python

尝试通过源码自己编译 Python,使用的系统是 Ubuntu14.04 LTS。

python-back.png

阅读全文...

怎样在 Ubuntu 16.04 上安装 OpenVPN 服务

open_vpn_server_tw.jpg

参考自 How To Set Up an OpenVPN Server on Ubuntu 16.04

为什么需要 OpenVPN

对我来讲,有两个原因:

  • 安全地在不安全的网络环境下上网:如需要在酒店、咖啡厅或者不可信任的 Wi-Fi 环境下上网时,我需要确保自己不会被监听。
  • 跨过防火墙,享受自由的网络环境。

那么,为什么我不用 ShadowSocks 呢?答案是,其实我也在用,不过它在 iOS 上的表现确实无法令人满意,另外,PC 端使用 Chrome 配合 ss 翻墙的时候需要很复杂的配置(或许我不会用吧),相比之下, OpenVPN 可以非常方便的全部搞定(除了安装比较复杂)。所以,这篇博客记录下 OpenVPN 服务的安装过程,以供参考。

文中使用的服务器是 Ubuntu 16.04,不过 Debian 系的操作系统应该是可以通用的。

阅读全文...

五月晦忆五月朔与老夏小事

屏幕快照 2016-05-31 20.04.35.png

我们听到里面的和尚在诵经——

无上甚深微妙法
百千万劫难遭遇
我今见闻得受持
愿解如来真实义

“要不要进去?”
“先等等吧。”

阅读全文...

优雅的 Python 之 Ellipsis

Python 是一门非常具有包容性的语气,体现在一个优秀的工程师可以非常容易优雅高效地完成一件事情,而一个拙略的工程师通过一样的代码同样可以做到几乎一样的功能。今天,介绍一下 Python 的 Ellipsis~~~

想象这样一个问题:

如何优雅地生成一个等差数组?比如输入一个序列的第一、第二项以及最后一项,然后返回这个等差数组。

阅读全文...

一道关于字符串的面试题

今天的题目是:编写一个算法,实现基本的字符串“压缩”算法,比如对于字符串abbbbbccccdddcccccc,经过算法处理之后得到的输出为a1b5c4d3c6,如果处理后的字符串长度不小于原串长度,则返回原串。

屏幕快照 2016-03-30 21.58.25.png

阅读全文...

如何确定一个字符串中是否所有字符全部互不相同

在技术面试中经常会遇到算法题,接下来,我计划(在我的能力范围内)写一些常见面试题及其解决思路,希望可以巩固自己的知识,如果可以顺便帮助到一些朋友,就更好不过了。

2016-03-26 11:37:05屏幕截图.png


第一道(也是最简单的一道)面试题便是:如何确定一个字符串中是否所有字符全部互不相同?

阅读全文...

几种无用但有趣的排序算法

  常见的排序算法——诸如快排、堆排或归并等——都是基于比较的,除了这种正统意义上的排序算法,最近了解了几种令人啼笑皆非的排序算法,与大家分享一下。虽然这些算法都基本不可能用到生产环境,不过,平时拿出来恶搞一下还是比较有意思的。

New sorted logo.png

阅读全文...