当前搜索:

Pycharm 下远程调试 Neutron 简介

实验背景及环境介绍 众所周知要深入学习一款开源软件就去阅读它的源码吧,但如果只是阅读冷冰冰的代码,往往是一头雾水,你肯定希望知道代码运行起来的上下文、变量值的变化,那么你需要调试。对于 Openstack 来说,大多代码都是开源 Python 编写的,这对于学习来说成本低很多,因为你可以随时...
阅读(764) 评论(0)

搭建私有 Docker 仓库服务器

Docker Hub 是 Docker 官方的公共仓库服务器,用户在 DockerHub 上只能创建一个私有仓库,这对于有些用户是不够用的,而且 DockerHub 服务器的访问速度也是个很大问题,那么我们希望能在自己本地的服务器上创建一个类似于 DockerHub 仓库服务器供团队使用,这也是可...
阅读(16152) 评论(0)

最小 Docker 镜像 hello-world 剖析

开始学习 Docker 的同学基本上都是按照官方的 guide 来安装,之后要测试是否已经安装成功,官方会让你 pull 一个 hello-world 示例镜像下来并运行,如下命令: guohl@ghl-MBP ⮀ ~ ⮀ docker pull hello-world 31cbccb51277:...
阅读(18773) 评论(2)

Windows 更新导致 VirtualBox 启动失败

我的虚拟机版本是 4.3.20, Windows 版本是 Windows 8,但今天突然发现 VirtualBox 启动不了,报的错误如下:为了搜索引擎能检索到此错误信息,我将错误信息的文本贴在下面: NtCreateFile(\Device\VBoxDrvStub) failed: Unko...
阅读(7635) 评论(0)

Linux 磁盘管理实践

问题描述研一的小伙伴向我反应实验室的 Confluence 知识管理系统上传不了附件,经过排查发现是磁盘空间不足了,使用 df 命令查看磁盘使用量如下图:实验室的文件服务器有三块硬盘,分别为 250GB、1TB、1TB,对应的设备文件名分别为 /dev/sda1、/dev/sda2、/dev/sd...
阅读(1511) 评论(0)

make 学习笔记

make 是用来构建和管理工程的工具,它是一个命令,需要解释一个称为 makefile 中的指令,makefile 是描述工程中所有文件的编译、链接的规则。 make 可以根据依赖文件和目标文件的最后修改时间,来决定哪些文件需要更新,哪些文件不需要更新,这样能高效地构建工程。 makefile...
阅读(1153) 评论(0)

从12306帐号泄漏谈用户密码安全

新闻回顾 12月25日圣诞节,据漏洞反馈平台乌云网显示,大量12306用户数据在互联网疯传。本次泄露的用户数据包括用户帐号、明文密码、身份证、邮箱等。 随后,12306官方发表公告,称经过认真核查,此泄露信息全部含有用户的明文密码。12306网站数据库所有用户密码均为非明文转换码,网上泄露的用户...
阅读(1421) 评论(2)

编程语言的类型系统

每学一门新的编程语言时,在看到介绍该门编程语言的特点时,经常会遇到 静态、动态、强、弱 、隐式、显式 类型等字样,似懂非懂,这里结合网上的资料总结一下它们的含义以及区别,描述不一定专业、准确,但求能进一步理解这些词的概念即可。 类型系统(Type System)用于定义如何将编程语言中的数值...
阅读(1172) 评论(0)

Python Socket 编程——聊天室示例程序

上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型。本文再通过一个例子来加强一下对 Socket 编程的理解。 聊天室程序需求 我们要实现的是简单的聊天室的例子,就是允许多个人同时一起聊天,...
阅读(2435) 评论(1)

Python Socket 网络编程

Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。要解决网络上两台主机之间的进程通信问题,首先要唯一标识该进程,在 T...
阅读(1265) 评论(0)

为什么 C++ 中成员函数指针是 16 字节?

当我们讨论指针时,通常假设它是一种可以用 void * 指针来表示的东西,在 x86_64 平台下是 8 个字节大小。例如,下面是来自 维基百科中关于 x86_64 的文章 的摘录: Pushes and pops on the stack are always in 8-byte st...
阅读(1238) 评论(0)

GNU Readline 库及编程简介

用过 Bash 命令行的一定知道,Bash 有几个特性: TAB 键可以用来命令补全↑ 或 ↓ 键可以用来快速输入历史命令还有一些交互式行编辑快捷键: C-A / C-E 将光标移到行首/行尾C-B / C-F 将光标向左/向右移动一个位置C-D 删除光标下的一个字符C-K 删除光标及...
阅读(2722) 评论(0)

C/C++ 中头文件相互包含引发的问题

C/C++ 中头文件相互包含引发的问题 今天下午遇到一个头文件相互包含而导致的编译问题,花了我不少时间去调试没找到问题,最后晚上跟师兄讨论不少时间,突然有所顿悟! 问题重现 我把问题脱离于项目简单描述一下:我写了一个函数 bool func(ClassA* CA) 需要加到项目中,我就把这个...
阅读(31786) 评论(8)

浅谈 C++ 中的 new/delete 和 new[]/delete[]

在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new ...
阅读(103749) 评论(20)

什么是 Web 框架?

Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式。从简单的博客系统到复杂的富 AJAX 应用,web 上每个页面都是通过写代码来生成的。我发现很多人都热衷于学习 web 框架技术,例如 Flask 或这 Django 之类的,但是很多人并不理解什么是 web 框...
阅读(1686) 评论(0)

Getting Physical With Memory

当我们试图去了解复杂系统时,去除其抽象层,直接关注最底层,我们会更容易去理解。使用这种方法,我们来看一下内存和 I/O 接口的最简单和基础的层:处理器和总线的接口。这些细节是更上层问题的基础,例如线程同步、Core i7 的需求等。然而,由于我是一个程序员,我将忽略一些 EE 人关注的问题。下面展...
阅读(1176) 评论(0)

例解 Linux 下 make 命令

Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。本文我们将用一些实例来讨论 make 命令背后的工作机制。 Make 如何工作的 对于不知道背后机理的人来说,make...
阅读(1245) 评论(0)

Hash 函数及其重要性

不时会爆出网站的服务器和数据库被盗取,考虑到这点,就要确保用户一些敏感数据(例如密码)的安全性。今天,我们要学的是 hash 背后的基础知识,以及如何用它来保护你的 web 应用的密码。 申明 密码学是非常复杂的一门学科,我不是这方面的专家,在很多大学和安全机构,在这个领域都有长期的研究。 ...
阅读(5310) 评论(0)

破解 Windows 下Markdown 编辑器 MarkdownPad 2

MarkdownPad 是 Windows 平台下一款优秀的 Markdown 编辑器,本文简单介绍 Markdown 以及使用一种方法破解 MarkdownPad 使其升级到专业版。该方法仅限于教育用途,我不为滥用该方法导致的商业纠纷负责! Markdown 简介 Markdown ...
阅读(17768) 评论(22)

Linux 内核版本命名

Linux 内核版本命名在不同的时期有其不同的规范,我们熟悉的也许是 2.x 版本奇数表示开发版、偶数表示稳定版,但到 2.6.x 以及 3.x 甚至将来的 4.x ,内核版本命名都不遵守这样的约定。本文就简单总结一下关于 Linux 内核版本号那点事: Linux 内核版本号命名四个不同的阶段...
阅读(13297) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 38万+
    积分: 3464
    排名: 1万+
    友情链接
    最新评论