Docker学习 查看未运行的的containerdocker ps -f "status=exited"或docker container ls -f "status=exited"docker commit命令docker commit: 从容器创建一个新的镜像。OPTIONS说明:a: 提交的镜像作者;c: 使用Dockerfile指令来创建镜像;m: 提交时的说明文字;p: 在commit时,将容器暂停。docker commit [OPTIONS] CONTAINER
中间件学习 中间件参考文档:Go语言高级编程中间件就是非业务的技术类组件,常常使用中间件剥离非业务逻辑。如下是一个简单的web服务,挂载一个简单的路由。package mainimport ( "fmt" "net/http")func hello(wr http.ResponseWriter, r *http.Request) { wr.Write([]byte("hello"))}func main() { http.Handle("/", timeMiddleware(htt
python title: python学习笔记date: 2019-10-21 03:11:46tags: python学习笔记Python学习Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。本文主要记录了在学习python过程中所遇到的一些小知识点,所以很多知识点在随手记录时并未记录地址,所以若有不当,可联系删除。1.__str__ 和__repr__区别.
数据结构 二叉树的遍历(非递归),镜像,完全二叉树判定 先序遍历二叉树(非递归)//非递归前序遍历二叉树void PreOrderByLoop(TreeNode* root){ if(root == NULL) { //空树 return; } ListStack* stack; ListStackInit(&stack); //将根结点入栈 ...
数据结构 二叉树的基本操作(求树的结点数,高度,叶子结点...) 以下代码所测试的树:根据先序遍历结果(带空结点),构造一棵树将树的先序遍历放入数组,空结点用*代替char arr[] = "abd**eg***c*f**";再然后,与递归前序遍历树的方法一样,只是将打印该结点换成创建结点即可。代码实现://根据先序遍历结果(带空结点),构造一棵树TreeNode* _TreeCreate(TreeDataType arr[],size_t size,int*...
数据结构 共享栈(一个数组实现两个栈) 题目解析:代码:#include<stdio.h>#define Max_size 1000typedef char DataType;typedef struct shareStack{ DataType data[Max_size]; int top1; int top2;}shareStack;//初始化void shareStackInit(share...
数据结构 判定字符串是否按照出栈顺序 判定字符串是否按照出栈顺序 代码中所引用头文件源自之前的一篇的完成顺序栈与链式栈博客。题目解析如下:代码如下:#include"seqstack.h"#include<stdio.h>int stackTrue(SeqStack* stack,char* input,char* output){ if(stack == NULL) { //非法输入 return ...
数据结构 两个队列实现一个栈 解题思路:Stack_by_2queue.h#pragma once#include<stdio.h>#include<stdlib.h>#define TITLE printf("========================%s==========================",__FUNCTION__);#define MaxSize 100...
数据结构 两个栈实现一个队列 解题思路:#pragma once#include<stdio.h>#include<stdlib.h>#define TITLE printf("=======================%s=========================",__FUNCTION__);typedef char DataType;typedef struct...
C语言实现扫雷小游戏 扫雷小游戏设计思路1.显示游戏界面 若我们需要一个9*9的游戏区域,我们需要设置一个11*11的面板,而只显示9*9部分。2.布置雷 调用rand()函数来获得放置雷的随机坐标,令该点值改为1;3.排雷 ...
数据结构 单链表相关习题3 1.判定两个链表是否相交, 并求出交点解题思路: 两链表若相交,则其最后一个节点必定相同。所以遍历得出两链表的尾节点可得知两链表是否相交。 若两链表相交,则求出两链表长度,相减得其差值len。 较长链表先向后遍历len次,随后两链表同时向后遍历。直到出现两值相同时,该节点即为相交点。//判定两个链表是否相交, 并求出交点 LinkNode* HasCross(LinkNode*...
数据结构 实现一个栈:取栈中的最小值的时间复杂度为O(1) 解题思路: 每次入栈两个元素,一个为将要入栈的value元素,一个位min最小元素。 第一次入栈时,将该元素设为min值,入栈两次该元素。此后,每次入栈value都需和min值比较,若比min值小,则min数据更新为该值。若大于min,则min不变。 此后,先入栈value元素,后入栈min。这样就保证了栈顶元素始终为最小值min。下面上代码:#include"minStack....
数据结构 二叉树的基本操作(递归版本) 此处我们采用孩子表示法来完成遍历:typedef char TreeNodeType;typedef struct TreeNode{ TreeNodeType data; struct TreeNode* lchild; struct TreeNode* rchild;}TreeNode;首先我们先构造一棵树:先序遍历:ABDGHEICFJ中序遍历:GHDBIEAF...
数据结构 单链表相关习题2 (*包含求带环链表环的入口) 1.判断链表是否带环,带环返回1,不带换返回0//判断链表是否带环,带环返回1,不带换返回0int HasCycle(LinkNode* head){ if(head == NULL) { //空链表 return -1; } if(head->next == NULL) { return 0; } LinkNode* low = head; LinkNode...
网络基础 调研Netstat 简介netstat Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 一般用netstat -an 来显示所有连接的端口并用数字表示。 netstat命令的功能是显示网络连接、路由...
网络基础 UDP服务器 UDP协议端格式16位UDP长度, 表⽰整个数据报(UDP⾸部+UDP数据)的最⼤⻓度;如果校验和出错, 就会直接丢弃;UDP特点UDP传输的过程类似于寄信.⽆连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给;应⽤层返回任何错误信息;⾯向数据报: 不能够灵活的控制读写数据的次数和数量;...
网络基础 网络编程套接字 认识IP地址IP地址有两个版本IPv4(32位)和IPv6(128位);IP地址是在IP协议中, 用来标识网络中不同主机的地址;对于IPv4来说, IP地址是⼀个4字节, 32位的整数;我们通常也使⽤ "点分十进制" 的字符串表⽰IP地址, 例如 192.168.0.1 ; 用点分割的每⼀个数字表示⼀个字节, 范围是 0 - 255;认识端口号端口号(port)是传输层协议的内容,标示了这台机器上...
网络基础 UDP/TCP协议 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性...
Linux gdb调试多线程 gdb调试多线程gdb调试多线程的方法和调试多进程相差不多,我们先写一段多线程代码以供测试:#include <stdio.h>#include <pthread.h>void* rout1(void* arg){ printf("I am %s!",(char*)arg); return (void*)0;}void* rout2(void* ar...