6 幸福的起点_

尚未进行身份认证

我要认证

搬砖ing

等级
TA的排名 12w+

python socket编程介绍以及遇到的问题

前言学习python socket编程主要的参考资料为《socket-programming-in-python-cn》, 英文原版地址在这里, 中文版pdf下载在这里。一.echo客户端和服务器的介绍以及问题:服务端代码如下:#!/usr/bin/env python3# -*- coding: utf-8 -*-import socketHOST = '127.0.0.1' #本...

2019-07-16 22:22:55

浅谈C语言中的数的转化与运算

浅谈C语言中的有符号和无符号数的转化(读《深入理解计算机操作系统(第三版)》有感)通常在计算机系统里,一个字节由8位组成,范围即为0~255(2^8-1)在计算机系统里,通常声明的类型的字节数和范围如下:有符号无符号32位64位charunsigned char11shortunsigned short22intunsigned int...

2018-11-30 22:19:58

makefile学习

makefile学习我这里是跟着陈皓老师的博客学习的,陈皓老师博客的链接如下:跟我一起写 Makefile(一)跟我一起写 Makefile(二)跟我一起写 Makefile(三)跟我一起写 Makefile(四)跟我一起写 Makefile(五)跟我一起写 Makefile(六)跟我一起写 Makefile(七)跟我一起写 Makefile(八)跟我一起写 Makefile(...

2018-10-29 12:44:21

Linux下GDB调试简介

Linux下C/C++调试工具gdb简介GDB(GNU Debugger)是Linux下的一个调试工具,具体的功能有: - 设置断点,使得代码在制定行暂停执行; - 单步调试程序; - 查看程序中的变量值的变化; - 动态改变程序的执行环境; - 分析崩溃程序产生的core文件;假设我们有源文件hello.c,要使用GDB进行调试,在程序编译时就必须使用-g或者-gdb选项:...

2018-09-17 15:32:47

计算机网络小结

计算机网络由于没有系统的学过计算机网络,因此只能总结一些常见的计算机网络的面试题。一. OSI参考模型OSI参考模型分为7层: - 物理层:负责0,1比特流,代表电压的高低; - 数据链路层:负责物理层面的互连节点之间的通信传输,数据帧的生成和传输; - 网络层:将数据传输到目标地址,这一层主要负责寻址和路由选择; - 传输层:负责两个节点(例如两台计算机)之间的数据传输,...

2018-09-17 15:30:55

图论小结

一.图论的基本概念有向图(有向边),无向图(无向边),顶点集合,边集合,顶点数(阶),边数;完全图,有向完全图,稀疏图,稠密图,平凡图(只有一个顶点),零图(没有边);顶点的度数,奇点,偶点,最小度,最大度;基本定理:度数之和等于边数的两倍;度序列,可图(有限序列是度序列);Havel-Hakimi定理:判断序列是否可图;二部图(偶图),完全二部图,二部图判定(无奇圈);同构;...

2018-09-07 17:18:17

基本输入输出和复合数据类型

基本输入输出头文件包含:stdio.h1.格式化输入输出输出:printf("格式化控制字符串", 输出项);“格式化控制字符串”的形式为: 格式化输出函数printf:%[输出最小宽度][.精度][长度]类型例如:double d = 123.456;print("d=%9.2f", d)

2018-08-30 16:02:10

编译器对源代码的编译过程

编译器对源代码的编译过程对于C/C++源代码的编译,可以使用gcc(GNU Compiler Collection,GNU编译器集合)/g++进行编译。 gcc/g++分别是GNU的C/C++编译器,GNU是“GNU is Not Unix”的首字母缩写,GNU项目Richard Stallman在1983年9月27日公开发起的,GNU软件可以自由使用、复制、修改和发布,由此产生的GNU通用...

2018-08-07 14:02:39

二叉树的常见算法

一.二叉树的遍历算法二叉树的遍历可分为三种:先序遍历,中序遍历和后序遍历。 按照惯例,左孩子优先于右孩子,那么: - 先序遍历指的就是先访问本节点,再访问该节点的左孩子和右孩子; - 中序遍历指的就是:先访问左孩子,再访问本节点,最后访问右孩子; - 后序遍历指的就是:先访问左右孩子,最后访问本节点。树的节点的数据结构常声明为:struct TreeNode { i...

2018-08-05 16:28:21

并查集算法:Union-Find

并查集算法:Union-Find一.算法简介并查集算法是为了解决一类连通性的问题,连通是一种等价关系,满足自反性,对称性和传递性。 - 自反性:p和p是连通的 - 对称性:假设p和q是连通的,那么q和p也是连通的 - 传递性:假设p和q是连通的,q和r也是连通的,那么可以推出p和r也是连通的从连通性这种等价关系,我们可以将对象划分成等价类,等价类中的任意两个元素都是连通的。...

2018-08-03 10:34:36

常见位运算总结

常见位运算总结常见的位运算有六种:and运算,按位与:&有零为零or运算,按位或:|有一位一xor运算,按位异或:^相同为零,不同为一not运算,按位取反:~shl运算,左移:<<shr运算,右移:>>优先级从上往下递减~<<, >>&^|&am

2018-07-29 12:34:00

git学习总结

git学习总结很早之前在廖雪峰老师的网站上学习的git,参见链接Git教程。总结一下常见的git操作。 git的四个分区workspace(工作区):我们平时写代码,对代码的直接修改就是在这个工作区中。index/stage(暂存区):修改代码之后,需要对代码进行保存,就保存在这个暂存区。respository(本地仓库,版本库):代码保存在暂存区之后,可以再commit到...

2018-07-27 23:26:03

STL迭代器简介

STL迭代器简介STL将容器(Containers)和算法(Algorithms)分隔开,两者之间的纽带就在于迭代器(Iterators)。 迭代器也是一种智能指针,重载了例如常见的operator*以及operator->。 迭代器有常见的五种相应型别:iterator_categoryvalue_typedifference_typepointerreference...

2018-07-23 22:12:48

C++从内存分区到动态内存分配

C++从内存分区到动态内存分配一.C++内存分区C++内存分区分为五个部分: 堆,栈,自由存储区,常量存储区,静态/全局存取区。 - 堆:new分配的内存块,程序员使用完必须自己delete,如果忘记,操作系统会在程序结束后释放该内存。 - 栈:编译器需要时自动分配内存,常见的比如局部变量、函数参数等。 - 自由存储区:由malloc分配的内存块,和new类似,需要自己使用fr...

2018-07-19 20:25:37

设计模式之建造者模式

设计模式之建造者模式建造者模式解决的问题: 当创建的对象很复杂(通常是由其它对象组合而成)时,我们将创建的过程分离开,一步一步进行对象的创建,在每一步中可以引入参数,使得可以经过相同的步骤得到不同的对象。 结构图如下: 具体代码如下://Product.h#ifndef PRODUCT_H_#define PRODUCT_H_#include <iostream&...

2018-07-16 23:16:31

设计模式之单例模式

设计模式之单例模式Singleton(单例)模式是最常见的,最容易实现,最应该掌握的设计模式。 单例模式解决的问题非常常见:如何去创建唯一的一个类对象(变量)?在C++语言中,通常维护一个静态成员变量来记录这一个唯一的对象,再通过一个静态接口instance来获取这一个实例。 结构图如下: 主要参考自《设计模式精解-GoF 23种设计模式解析附C++实现源码》作者:K_Eckel, ...

2018-07-15 22:21:30

《Linux命令行大全》读书笔记三:编写shell脚本

第二十四章:编写第一个shell脚本shell脚本是一个包含一系列的命令的文件,shell读取这个文件,然后执行这些命令。三个步骤: - 编写脚本 - 使脚本可执行 - 将脚本放置于shell能够发现的地方脚本的格式,最简单的一个脚本:#!/bin/bash# This is our first scriptecho 'Hello World!'将上述脚本保存为hel...

2018-07-11 23:00:05

《Google C++编码规范》读书笔记第八章:格式

《Google C++编码规范》读书笔记第八章:格式一.行长度(Line Length)每一行的字符数不超过80。 优点:。。。 缺点:反对该原则的人则认为更宽的代码更易阅读,80字符的限制是上世纪60年代的缺陷,现在拥有更大的显示屏,很轻松地显示更多地代码。 结论:有这些例外 1. 如果包含注释或者URL,可以超过80行。 2. 头文件保护可以无视。 3. 包含长路径的可...

2018-07-10 23:20:50

《Linux命令行大全》读书笔记二

第十章:进程ps:查看进程信息。 直接输入ps,会得到两个进程的信息:bash和ps。 选项:r //运行状态s //睡眠状态d //不可中断的睡眠状态t //暂停状态Z //无效或者僵尸状态< //高优先进程n //低优...

2018-07-09 22:40:47

常见的排序算法

常见的排序算法包括:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序和堆排序。 排序算法 最好时间 最差时间 平均时间 空间 是否稳定 冒泡排序 O(n) O(n^2) O(n^2) O(1) 稳定 选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定 插入排序 O(...

2018-07-08 23:10:20

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!