自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 初识 sed 和 gawk

文章目录sed 编辑器在命令行定义编辑器命令在命令行使用多个编辑器命令从文件中读取编辑器命令sed 编辑器sed 命令的格式如下:sed options script file选项描述-e script在处理输入时,将 script 中指定的命令添加到已有的命令中-f file在处理输入时,将 file 中指定的命令添加到已有的命令中-n不产生命令输出,使用 print 命令来完成输出在命令行定义编辑器命令默认情况下,sed 编辑器会将指定的命令应用到

2021-01-20 00:10:17 176

原创 python---输入输出

Format String Syntax格式化字符串包含用花括号 {} 括起来的“可替代字段”。 花括号中不包含的所有内容均视为文字文本,该文本保持原样输出。 如果需要在文字文本中包含花括号字符,可以通过使用 {{ 和 }} 来转义。可替代字段的语法如下:replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"field_name ::= arg_name ("." attribute

2020-12-09 23:48:30 180

原创 python-算术运算符

算术运算符​​整型a=10b=20a+b30a-b-10a*b200b/a2.0b%a0a**b100000000000000000000b//a29//249/24.5-9//2-5浮点型Python在进行浮点数运算时,会先把0.02和0.39转化成二进制数才能计算数据类型转换int()函数不能把中文、浮点数类型的字符串或者标点符号转换成整数,字符串内容是整数的数据,才能被int()强制转换,其他类型都会报错。

2020-12-09 22:13:02 259

原创 python---导入模块

Python 程序可以调用一组基本的函数,这称为“内建函数”,包括 print()、input() 和 len() 函数。Python 也包括一组模块,成为“标准库”。每个模块都是一个 python 程序,包含一组相关的函数,可以嵌入你的程序之中。例如,math 模块有数学运算相关的函数,random 模块有随机数相关的函数,等等。在开始使用一个模块中的函数之前,必须用 import 语句导入带模块。在代码中,import 语句包含以下部分:import 关键字模块的名称可选的更多模块名称,之间

2020-12-09 22:08:12 486

原创 shell ---创建函数

创建函数有两种格式可以用来在 bash shell 脚本中创建函数。第一种格式采用关键字 function,后跟分配给该代码块的函数名。function name { commands}name 属性定义了赋予函数的唯一名称。脚本中定义的每个函数都必须有一个唯一的名称。commands 是构成函数的一条或多条 bash shell 命令。在调用该函数时,bash shell 会按命令在函数中出现的顺序依次执行,就行在普通脚本中一样。在 bash shell 脚本中定.

2020-11-11 00:06:00 187

原创 BLE---地址类型学习

/// BLE device address typetypedef enum { BLE_ADDR_TYPE_PUBLIC = 0x00, BLE_ADDR_TYPE_RANDOM = 0x01, BLE_ADDR_TYPE_RPA_PUBLIC = 0x02, BLE_ADDR_TYPE_RPA_RANDOM = 0x03,} esp_ble_addr_type_t;

2020-11-09 09:43:08 7396

原创 BLE-广播

BLE 广播类型广播的类型一般分为 4 种,见如下表格:可连接的非定向广播(Connectable Undirected Event Type)这是一种用途最广的广播类型,包括广播数据和扫描响应数据,它表示当前设备可以接受其他任何设备的连接请求。进行通用广播的设备能够被扫描设备扫描到,或者在接收到连接请求时作为从设备进入一个连接。通用广播可以在没有连接的情况下发出,换句话说,没有主从设备之分。可连接的定向广播(Connectable Directed Event Type)定向广播类

2020-10-28 00:03:52 2104

原创 BLE 学习---GATT

文档https://www.bluetooth.com/specifications/gatt/

2020-10-27 22:10:04 96

原创 ubuntu 下通过 wireshark 抓取 wifi 数据包

mali@ubuntu:~$ ifconfigenp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.3.6 netmask 255.255.255.0 broadcast 192.168.3.255 inet6 fe80::892c:5025:2488:6...

2020-08-04 16:03:30 2371

原创 Ubuntu18.04系统查看已安装的 python 版本,及 Python2 与 Python3 之间切换

查看系统版本信息mali@ubuntu:~$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04 LTS (bison-elk-cougar-mlk X54)Release: 18.04Codename: bionic查看已安装的 python 版本mali@ubuntu:~$ python2 --versionPython 2.7.17mali@ubunt

2020-07-22 11:01:10 6655

原创 如何创建本地 MQTT broker

文章目录创建本地 brokermqtt projectmqtt client使用MQTT.fx接入物联网平台mqtt test创建本地 brokerhttps://test.mosquitto.org/托管一个公开可用的 Mosquitto MQTT server/broker# 安装 mosquitto clientsudo snap install mosquitto # version 1.6.9, orsudo apt install mosquitto-cli

2020-07-14 19:17:37 1306

原创 使用 openssl 获取服务器证书

文章目录读取服务器的 CA 证书生成服务器的 CA 证书读取服务器的 CA 证书Root cert for howsmyssl.com, taken from howsmyssl_com_root_cert.pem The PEM file was extracted from the output of this command: openssl s_client -showcerts -connect www.howsmyssl.com:443 </dev/nullThe C

2020-07-14 14:31:22 4107

原创 ble service 学习

文章目录官方文档GATT ServiceDIS(Device Information Service)FTMS(Fitness Machine Service)GATT Descriptors官方文档蓝牙官网地址:https://www.bluetooth.com/Assigned Numbers:https://www.bluetooth.com/specifications/ass...

2020-04-07 16:30:49 1447

原创 python--列表学习

文章目录列表是什么?访问列表元素修改、添加和删除元素修改列表元素在列表中添加元素在列表末尾添加元素在列表中添加元素从列表中删除元素使用 del 语句删除元素使用方法 pop() 删除元素弹出列表中任何位置处的元素根据值删除元素组织列表使用方法sort()对列表进行永久性排序使用函数sorted()对列表进行临时排序倒着打印列表确定列表的长度列表是什么?列表是由一系列按特定顺序排列的元素组成。...

2020-02-23 18:34:21 627

原创 sed

sed工具sed的用法sed [-nefr] [动作]参数:-n: 使用安静 (silent) 模式,在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上,但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行才会被列出来。-e: 直接在命令行模式下进行 sed 的动作编辑。-f: 直接将 sed 的动作写在一个文件中, -f filename 则可以执...

2020-02-16 22:06:16 127

原创 可变参数:stdarg.h

实现可以接受可变数量参数的函数提供一个使用省略号的函数原型;在函数定义中创建一个 va_list 类型的变量用宏 va_start() 把该变量初始化为一个参数列表用宏 va_arg() 访问参数列表用宏 va_end() 完成清理工作#include <stdio.h>#include <stdlib.h>#include <stdarg.h&g...

2019-12-16 23:20:27 127

原创 MQTT

MQTT Control Packet typePosition:byte 1,bits 7-4.

2019-10-22 10:21:06 167

原创 python--输入输出

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license()" for more information.>>> n = int(input("...

2019-10-07 22:58:29 231

原创 python----基础学习

1.安装python使用的操作系统是Ubuntu,可以从终端窗口安装python,步骤如下:sudo apt-get install python3sudo apt-get install idle3sudo apt-get install python3-pip2.安装文本编辑器sudo apt-get install geany3.运行hello world程序...

2019-09-20 13:18:30 297

原创 编译与链接

#include <stdio.h>int main(){ printf("Hello World\n"); return 0;}在Linux下,当我们使用GCC来编译Hello World程序时,只需使用最简单的命令:mali@mali:~/code/link$ cat hello.c #include <stdio.h>int main(...

2019-09-03 23:58:45 327

原创 C ---位操作

C按位运算符按位逻辑运算符用法:掩码用法:打开位(设置位)有时,需要打开一个值中的特定位,同时保持其他位不变。用法:关闭位(清空位)用法:切换位用法:检查位的值移位运算符位字段位字段(bit field)是一个signed int或unsigned int类型变量中的一组相邻的位。位字段通过一个结构声明来建立,该结构声明为每个字段提供标签,并确定该字段的宽度...

2019-09-02 00:41:53 148

原创 c++---函数重载

函数重载函数多态是C++在C语言的基础上新增的功能。默认参数可以让我们能够使用不同数目的参数调用同一个函数,而函数多态(函数重载)能让我们使用多个同名的函数。函数重载的关键是函数的参数列表---也称为函数特征标(function signature).如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则它们的特征标相同,而变量名是无关紧要的。C++允许定义名称相同的函数,条件...

2019-09-02 00:40:18 77

原创 C++---标准模板库

STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器中存储的值的类型相同;算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。STL使得能够构造各种容器(包括数组、队...

2019-09-02 00:33:17 65

原创 C++---函数模板

函数模板允许以任意类型的方式来定义函数。例如,可以建立这样一个交换模板:template <typename AnyType>void Swap(AnyType &a, AnyType &b){ AnyType temp; temp = a; a = b; b = temp;}第一行指出,要建立一个模板,并将类型命名为...

2019-09-02 00:17:51 117

原创 c++---成员初始化列表

成员初始化列表的语法:如果Classy是一个类,而mem1、mem2和mem3都是这个类的数据成员,则类构造函数可以使用如下的语法来初始化数据成员:Classy::Classy(int n, int m) :mem1(n), mem2(0), mem3(n * m + 2){ //...}上述代码将mem1初始化为n,将mem2初始化为0,将mem3初始化为n*m+2。从...

2019-09-01 23:27:07 139

原创 linux---FTP

1.使用tcpdump抓取FTP执行过程中的数据包:mali@mali:~/ftp$ sudo tcpdump -i any -w ftp.pcaptcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes2.执行FTP相关指令mali@mali:~/ftp...

2019-08-27 15:06:22 641

原创 C语言实现---八皇后问题

#include <stdio.h>#include <stdlib.h>#define max 8int queen[max], sum=0; /* max为棋盘最大坐标 */void show() /* 输出所有皇后的坐标 */{ int i; for(i = 0; i < max; i++) { pri...

2019-08-26 21:46:53 140

原创 C++--多态公有继承

RatedPlayer继承示例很简单,可参考https://blog.csdn.net/merry1996/article/details/100066859。派生类对象使用基类的方法,而未做任何修改。然而,可能会遇到这样的情况,即希望同一个方法在派生类和基类中的行为是不同的。换句话来说,方法的行为应取决于调用该方法的对象。这种较复杂的行为称为多态---具有多种形态,即同一个方法的行为随上下文而异...

2019-08-25 22:27:03 263 2

原创 C++---类继承

目录1.一个简单的基类派生一个类构造函数:访问权限的考虑使用派生类1.一个简单的基类从一个类派生出另一个类时,原始类称为基类,继承类称为派生类。为说明继承,首先需要一个基类。Webtown俱乐部决定跟踪乒乓球会会员。作为俱乐部的首席程序员,需要设计一个简单的TableTennisPlayer类:tabtenn0.h//tabtenn0.h--a table-t...

2019-08-25 22:16:26 279

原创 网络序和主机序

#include <stdio.h>#include <stdlib.h>#include <string.h>#define DSS_SUCCESS 0#define DSS_ERROR -1typedef unsigned int uint32; /* Unsigned 32 bit value */typedef signe...

2019-08-23 12:38:13 137

原创 c++---实现mystring

1.string.h//string.h#ifndef STRING_H_#define STRING_H_#include <iostream>using std::ostream;using std::istream;class String{private: char *str; //pointer to string int len; //...

2019-08-18 19:51:41 139

原创 C++---使用类

运算符重载实现一个Time类,重载加法、减法和乘法运算符:1.头文件://mytime.h--Time class with operator overloading#ifndef MYTIME_H_#define MYTIME_H_class Time{private: int hours; int minutes;public: Time();...

2019-08-18 17:17:48 102

原创 c++---循环和关系表达式

基于范围的for循环(C++ 11)#include <iostream>using namespace std;int main(){ double prices[5] = {4.99, 10.99, 6.87, 7.99, 8.49}; for (double x : prices) cout << x << en...

2019-08-18 12:19:23 69

原创 c++---对象和类

目录类的构造函数和析构函数声明和定义构造函数使用构造函数默认构造函数析构函数改进Stock类this指针对象数组抽象数据类型-栈类声明类似结构声明,可以包括数据成员和成员函数。声明有私有部分,在其中声明的成员只能通过成员函数进行访问;声明还具有共有部分,在其中声明的成员可被使用类对象的程序直接访问。通常,数据成员被放在私有部分中,成员函数被放在共有部分中,因...

2019-08-18 01:25:26 234

原创 c++--new和delete

目录使用new来分配内存使用delete释放内存使用new来创建动态数组使用new创建动态结构使用new来分配内存在使用new时,程序员要告诉new,需要为哪种数据类型分配内存;new将找到一个长度正确的内存块,并返回该内存的地址。程序员的责任是将该地址赋给一个指针。例如,在运行阶段为一个int值分配未命名的内存,并使用指针来访问这个值:int *pn = new...

2019-08-17 23:48:21 93

原创 linux---进程间通信(IPC)

经典的IPC(InterProcess Communication):管道 FIFO 消息队列 信号量 以及共享存储管道管道是UNIX系统IPC的最古老形式,所有UNIX系统都提供此种通信机制。管道有以下两种局限性:历史上,它们是半双工的 (即数据只能在一个方向上流动)。 管道只能在具有公共祖先的两个进程之间使用。通常,一个管道由一个进程创建,在进程调用fork之后,这个管道就能在父...

2019-08-14 01:48:01 116

原创 linux---文件和目录

文件访问权限每个文件有9个访问权限位,可将它们分为3类:9个访问权限位 st_mode屏蔽 含义 S_IRUSR S_IWUSR S_IXUSR 用户读 用户写 用户执行 S_IRGRP S_IWGRP S_IXGRP 组读 组写 组执行 ...

2019-08-13 22:06:52 119

原创 c---字符输入/输出和输入验证

创建更友好的用户界面使用缓冲输入/* guess.c */#include <stdio.h>int main(void){ int guess = 1; printf("Pick an integer from 1 to 100. I will try to guess it\n"); printf("Respond with a y if ...

2019-08-12 01:03:11 166

原创 linux---进程控制

目录进程标识函数fork()僵尸(Zombie)进程销毁僵尸进程:函数wait和waitpid信号处理信号和signal函数alarm函数利用sigaction函数进行信号处理利用信号处理技术消灭僵尸进程函数exec函数system进程标识每个进程都有一个非负整型表示的唯一进程ID。因为进程ID标识符总是唯一的,常将其用作其他标识符的一部分以保...

2019-08-12 01:00:22 204

原创 C---文件输入/输出

目录标准I/Oexit()fopen()函数读和写流输入函数输出函数每次一行I/O文件结尾一个简单的文件压缩程序随机访问: fseek()和ftell()标准I/O的机理二进制I/O:fread()和fwrite()用二进制I/O进行随机访问标准I/Ocount.c演示了如何用标准I/O读取文件和统计文件中的字符数/* cou...

2019-08-11 02:17:47 305

unp.tar.gz

the source code of the book "UNIX Network Programming" UNIX Network Programming, Volume 1 This book is for people who want to write programs that communicate with each other using an application program interface (API) known as sockets. Some readers may be very familiar with sockets already, as that model has become synonymous with network programming. Others may need an introduction to sockets from the ground up. The goal of this book is to offer guidance on network programming for beginners as well as professionals, for those developing new network-aware applications as well as those maintaining existing code, and for people who simply want to understand how the networking components of their system function.

2019-07-16

sqlite-jdbc-3.8.9-sources.jar

sqlite-jdbc-3.8.9-sources.jar 包 欢迎下载 好用

2018-04-17

sqlite-jdbc-3.8.9-javadoc.jar

sqlite-jdbc-3.8.9-javadoc.jar

2018-04-17

jfr.jar 包

jfr.jar 非常好用的Jar包 用过 所以才上传的 赚取积分

2018-04-16

resources.jar

resources.jar Java jar 包 用过的 特别好用的Jar 包

2018-04-16

POI-3.9。jar

poi-3.9.jar包ziyu

2018-04-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除