Zihao

Make small but daily progress

0%

DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。

本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。

DNS 是什么?

DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。 举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69

阅读全文 »

在我看来,不管是前端开发还是后端开发的工程师都应该了解这个过程,了解这个过程可以让你整体把握整个软件的运行流程,同时可以让你更好地理解一些前后端优化、SEO,甚至一些网络安全的问题。要想讲清楚“网络请求的整个过程”的话,其中涉及到的网络基础、HTTP协议、浏览器的工作原理等都应该是必备的知识储备,接下来的文章中,我也会在讲清楚整个请求过程的同时穿插补充这些相关知识,已经对这些知识有了解和深入研究的同学可以权当复习了。

阅读全文 »

这篇文章主要介绍了python中的字典详细介绍,字典是Python中最强大的数据类型之一,本文讲解了什么是字典、创建字典和给字典赋值、字典的基本操作、映射类型操作符、映射相关的函数、字典的方法等内容,需要的朋友可以参考下。

阅读全文 »

使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序。

阅读全文 »

一些语言(如PHP)的三元表达式形如:

1
2
# 判定条件 ? 为真时的结果 : 为假时的结果  
if(1==1) ? true : false
阅读全文 »

Memory_profiler是一个Python模块,可以监视一个进程的内存消耗,甚至可以一行一行的分析Python程序的内存消耗。它纯粹是由Python实现,用户可选psutil模块(强烈推荐)作为依赖。

阅读全文 »

python中有个pdb模块,使python代码也可以像gdb那样进行调试,一般情况下pdb模块可以在代码内直接使用,也可以通过命令行参数的形式添加该模块进行调试(python -m pdb file.py)。在代码中直接使用pdb模块调试时,import pdb模块后,然后在需要调试的代码出添加pdb.set_trace()命令即可,运行程序后,在运行到次代码处会自动停止,进入调试模式。

阅读全文 »

作为个人私有云的一环(虽然是搭建在公共服务器上),一直都很想搭建一个类似 GitHub 的服务,但 GitLab 太复杂了(说句不好听的,GL 就是 Git server 中的 WordPress),别的又相当简陋,于是一直以来都只有围观的份。最近发现上半年关注的Gogs 经过几个版本迭代,已经达到基本可用的状态了。于是搭建了一个自己的服务,用来镜像自己分散在各个服务商处的代码,以及开新坑的时候托管用。这里把安装的过程和一些需要注意的地方记录一下。安装过程分为这些步骤:

  • 新建用户;
  • 下载源码编译 / 下载预编译二进制打包;
  • 运行安装;
  • 配置调整;
  • 配置 nginx 反向代理;
  • 保持服务运行;

注意,这里默认你已经安装好了 MySQL 服务器(或 MariaDB)和 nginx,如果没有,请自行查找如何安装和配置这些依赖。当然你也可以使用 SQLite 数据库。

阅读全文 »