【旧文】青海湖游记

人正不正经不知道,但是都自称君子。 —— 一位不愿透露姓名的洗头小妹

乙未年六月中,夏秋之交,科大六君子骑行环游青海湖,遂有此记。

科大六君子在青海湖畔(左起:老姜,晗哥,龟龟,增哥,羚羊,大鹏)

青海湖,中国最大内陆湖,咸水。环湖360公里,海拔愈3200米,湖周山峦起伏,牛马成群,风光秀丽。

科大六君子,乃羚羊、龟龟、增哥、大鹏、老姜及晗哥是也。

羚羊,安徽人,三角脸,如眼镜王蛇,资深骑行爱好者,其组装车型为众人攒车之蓝本,追随者不可谓不众。

龟龟,江西人,体宽臀肥,官二代,吃货一枚;上古卷轴高玩。

增哥,河南人,两年前曾骑行川藏线,德高望重;[……]

Read more

ShadowSocks笔记

0. 简介

Shadowsocks:一种基于socks5代理方式的加密传输协议,或者实现这一协议的各种传输包。

我想,需要这篇文章的人都不需要更多解释 ^_^

1. 服务器端安装配置

1.1 和 1.2 两种方式二选其一,推荐1.2,简单!

1.1 常见配置

安装:

apt-get install[......]

Read more

WizNote编译笔记(Debian)

 

1. 基本环境准备

Git, cmake, build-essential, zlib1g-dev

apt-get install git build-essential cmake zlib1g-dev libssl1.0-dev

2. QT5 环境配置

2.1 安装QT5

安装 5.7.0 for Linux 64-bit (715 MB) 或者更高版本
http://download.qt.io/off[……]

Read more

HTTPS简介

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。TLS则是SSL的升级版,由于历史原因,现在通常统称SSL。

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的简单描述如下:

  1. 浏览器将自己支持的一套加密规则发送给网站。
  2. 网站[……]

Read more

头文件里放什么

        对 C 和 C++ 程序来说,头文件里放什么,这不是一个难回答的问题。在编写小规模代码时,很少遇到这一困扰,而在编写大型项目时,对这一问题建立明确的认识却是十分必需的。

  • 头文件中放什么
  • 版本、版权信息
  • #include 包含头文件
  • 常量定义及初始化
  • 全局变量声明(⚠ 是声明,不是定义。即 C 语言中的 extern)
  • 数据类型定义(typedef, struct, union)
  • 函数声明
  • 内联函数定义(⚠ C++ 专属)
  • 模版(template,C++ 专属)
  • 源文件中[……]

Read more

C语言中的变长参数

        C语言带有变长参数的机制,最常见的变长参数函数,一个是 printf,另一个就是 scanf 了。相信有人和我一样,很好奇其中的实现机制,本文就简要介绍变长参数的用法和实现原理。主要参考《程序员的自我修养》一书11.2节的内容。

  • 变长参数的用法
  •         变长参数函数的声明方法很简单,可选参数一律用英文省略号“…”表示。比如 printf 的声明:

    int printf(const char * for[......]

Read more

宏定义的几种特殊用法

        宏在 C 代码中十分普遍,最常见的用法莫过于定义一些有特殊含义的常量,或者控制编译过程。在最近阅读代码的过程中,有幸见识了几种不太常见的宏定义的用法,特总结一文。

  • #if 0 … #endif
  •         这是很好理解的一种用法,目的其实就是用来注释代码,被”#if 0″和”#endif”包裹起来的代码是不会被编译的,而用通常的多行注释方法把实际可运行的代码注释掉又不是一个很好的方法(这种注释还是专门用来以自[……]

    Read more

    GDB 基本用法

  • GDB 简介
  •         GDB:the GNU Project Debugger。
            简单来说,GDB 就是 Linux(或者说 *nix ?)环境下最通用的调试工具,它是非图形化的,人机通过“键入”各种指令直接交互,省去了鼠标点来点去之繁琐,并且在一[……]

    Read more

    DWM 设置多显示屏

            (转载请注明出处)

            DWM 的介绍和编译安装之前已有介绍,最近以来,本人也一直在使用这个窗口管理器。总的来说,其精简,快速,也很稳定,是一个实用又耐折腾的好“桌面”。不过美中也有不足,在两次组会时间,本人发现不知道该怎样来设置外接显示器,也带来了一些使用上的小麻烦。后经多方调查和尝试,终于找到了设置多显示屏的方法。网上的介绍比较少,写在这里备忘一下。

    • xrandr 及其基本使用
    •  &nb[……]

    Read more