天泉证道

世事洞穿而寡言,名利看淡而重学

  • 博客(349)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 mingw64怎么写make(已实现)

一个linux程序员心血来潮,因为工作原因,又玩window下的linux编程。1,怎么安装离线版本的mingw(即mingw64,在线版本的习惯被叫做mingw.org),这么不详细说,自行搜索。2,我先个测试小例子。3,我的makefile,这个makefile的写法还和linux上的不同,有点像goto语句,函数。4,make编译,执行。...

2020-08-26 22:38:17 348

原创 (mqtt学习6)python实现遗嘱,拔网线之后,可以发出遗嘱消息

import paho.mqtt.client as mqttHOST = "192.168.1.202"PORT = 1883def on_connect(client, userdata, flags, rc): print("successfully connected with result code "+str(rc))def Test(): client = mqtt.Client() client.on_connect = on_connect c.

2020-08-12 09:00:47 325

翻译 (mqtt学习3)mqtt的用paho库自动重连设置

至于怎么连接,订阅,发布的,这里就不重复说了,网上很多,详细看官方文档,https://www.eclipse.org/paho/files/mqttdoc/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html#a7902ce4d11b96d8b19582bdd1f82b630 1,特别说明,重连...

2020-03-28 15:34:02 1225

原创 debian9.9(linux)使用docker方式使用微信和QQ(简单先进)

在linux上使用微信和QQ并不算什么新鲜事,之前采用wine,github,crossover,snap等的方式都安装过,其中最方便的还是github上的下载,然后双击运行,就可以了,但是它貌似已经不维护了,github上的更新时间是2年前,而且我觉得现在使用docker的方式也比那个好一点。docker客户端给docker守护进程发送命令,docker守护进程从远端的仓库中获取镜像,使用镜...

2019-07-06 16:50:32 9358 15

原创 python学习36:给IDLE添加行号(采用IDLEX的LineNumbers.py)python3.8也可以用(亲测有效)

1,下载这个链接我在360安全浏览器上有时打不开,我用ctrl+f5就可以打开了。链接是:http://idlex.sourceforge.net/extensions.html2,解压说明,如果谁喜欢用IDELX的话,就直接双击解压文件下的idlex文件就好,如下:如果喜欢IDLEX的话,直接用就是了,以下的内容不需要再阅读,但是我不喜欢这个界面,所以在py...

2019-03-22 18:59:14 10287 32

原创 vim F7添加作者信息,文件修改完更改最后时间

必须是vim,不能是vi。再更新,使用函数():set nuset nocpset tabstop=4set softtabstop=4set shiftwidth=4set noexpandtabsyntax onfunction FileHead_C() call append( 0,"/***************************************...

2018-07-21 18:49:42 1050 2

原创 用pandas新建excel并设置表头

代码如下:import pandas#创建一个名字为excel_file_name的excel文件#这里把表头设置为(姓名name,年龄age,性别gender,城市city,技能skill) def create_form(excel_file_name): form_header = ['姓名name', '年龄age', '性别gender', '城市city', '技能skill'] df = pandas.DataFrame(columns=form_heade.

2021-02-17 17:53:04 507 1

原创 python中关于__new__和__init__的个人理解

先看段代码:class Student: def __new__(cls, name): print(cls) return super().__new__(cls) def __init__(self, name): self.name = names = Student("Rui")print(s.name)运行结果:<class '__main__.Student'>Rui看到了什么?1,c.

2021-02-04 11:29:41 36 1

原创 python中关于object和type的个人理解

python里面一切都是对象,说到对象,那每个对象都有自己的类型,那既然说一起都是对象,那实例化对象的类型也是对象,即:看讨论type和object之间的关系:1,先看看它们的类型是什么?>>> object.__class__<class 'type'>>>> type.__class__<class 'type'>可以看到它们都是type类的,对应上图的关系,实例化对象是object,实例化对象的类型是type,那t

2021-02-04 11:06:10 50 1

原创 debian10将系统软件包和docker的软件源改成国内源

用如下命令更新系统包时,发现特别慢,是因为系统默认使用国外源,现在改成国内的sudo apt-get update && sudo apt-get dist-upgrade修改/etc/apt/sources.list文件为如下内容:deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster maindeb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ buster m...

2021-02-02 09:08:22 256

原创 python3连接到sql server数据库,检查是否存在某个数据库,没有则创建

代码已经测试过了,成功!import pymssql #引入pymssql模块 def conn(): ret = pymssql.connect(host='DESKTOP-4CDQOMR', user = 'sa', password = '123456') #服务器名,账户,密码 if ret: print("连接到数据库成功!") else: print("连接到数据库失败!") return ret .

2021-01-24 22:36:41 157

原创 debian10上安装samba服务器

1,安装sudo apt-get install samba2,配置## Sample configuration file for the Samba suite for Debian GNU/Linux.### This is the main Samba configuration file. You should read the# smb.conf(5) manual page in order to understand the options listed# he

2021-01-20 10:24:30 176

原创 同时使用动态库和静态库时怎么写makefile

项目经验。关键语句: $(CC) -L $(LIB_FOR_SRS) -o $(OUTPUT_DIR)/$(TARGET) $(OBJS) -Wl,-Bstatic -lssl -lcrypto \ -Wl,-Bdynamic $(DYNAMIC_LINK_OPTION) $(STATIC_LINK_OPTION)也可以换成(链接): $(LD) -L $(LIB_FOR_SRS) -o $(OUTPUT_DIR)/$(TARGET) $(OBJS) -Wl...

2021-01-19 10:33:02 120

原创 linux环境使用c语言获取当前目录下有哪些文件,并打印它们的名字

代码:#include <sys/types.h>#include <dirent.h>#include <unistd.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <time.h>void ReadDir(void){ DIR *dir; str.

2021-01-13 15:32:25 439

原创 linux环境使用c语言获取系统时间,并拼接成字符串

代码: void GetLocalTime(void) { time_t rawtime; struct tm *timeInfo; char newFileName[30] = {0}; memset(newFileName, 0, sizeof(newFileName)); time(&rawtime); timeInfo = localtime(&rawtime); sprintf(newFileNam.

2021-01-13 15:27:42 99

原创 使用fopen/fwrite/fread/fseek/fclose对文件从头读写整型数

#include <stdio.h> #include <stdlib.h> #include <errno.h> int main(void) { FILE *fp = fopen("./index", "w+"); int t = 3; int ret = 0; int r = 0; fseek(fp, 0, SEEK_SET); ret = fwrite(&t, sizeof(int..

2021-01-13 15:19:17 138

原创 用ssms建sql server数据库和python连接到数据库

本文内容:1,用ssms建sql server数据库2,用pthon连接到新建的数据库一、用ssms建数据库1,ssms是什么?SQL Server Management Studio (SSMS) 是一种集成环境,用于管理从 SQL Server到 Azure SQL数据库的任何 SQL基础结构。桌面图标如下;2,打开ssms,登录,用Sql Server Authentication的方式登录,记住Server name、login、password,等一下要用。3,

2021-01-10 21:51:20 74

原创 python3修改pip执行环境和安装软件源

pip是 Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Powershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。1,到Python的安装目录下,进入到Scripts,发现有如下几个.exe,windows可执行文件,我们这里暂时只关注pip3.exe.2,键盘shift+鼠标右击,可以出现"此处打开Powershell窗口"3,进入到powershell中4,用pip3安装easygui模块,执行..

2021-01-09 09:48:41 126

原创 python3入门部分知识点理解

1,IDLE是什么?# IDLE is Python’s Integrated Development and Learning Environment.# IDLE是Python的集成开发和学习环境,可以利用它方便地创建、运行、测试# 和调试Python程序。2,#是什么?为什么后面跟的内容没有出现在运行结果里面?#是单行注释。注释是为了解释该部分代码是做什么的,辅助理解,并不参与运行3,那我要是多行注释怎么办?'''用3个单引号,注意是英文的单引号,不是中文的最前面

2021-01-08 16:47:19 104

原创 在windows10上写自己的第一个python代码

第一步:有的人安装python的时候,没有选择生成桌面快捷方式,可以在桌面左下角开始的位置打开第二步:在开始的所有程序里面找到python的IDLE,拖拽到桌面第三步:双击桌面的idle开始写自己的第一个python代码注意这里是单引号,代码解释:打印“我是小仙女张瑞”。第四步:保存运行保存:ctrl+s保存也可以,左上角的file里面有save也可以保存,保存到自己指定的目录中,我这里保存为:F:\zhangrui中,文件命名为first_code,文件默认后缀名为.p

2021-01-08 11:00:27 161

原创 关于“W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169”问题的解决

我的系统是:guoyanzhang@debian:/lib/firmware$ lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 10 (buster)Release: 10Codename: buster出现问题:W: Possible missing firmware /lib/firmware/rtl_.

2020-10-26 09:16:24 632

原创 关于linux的日志管理学习

我主要是玩debian系列,所以全篇以debian为主,其它linux系统不确定是否可以适用。本文涉及到三个主要的东西:cron,rsyslog,logrotate。一,cron、rsyslog、logrotate的介绍1,cron的介绍2,rsyslog的介绍3,logrotate的介绍二,cron、rsyslog、logrotate的安装1,cron的安装2,rsyslog的安装3,logrotate的安装三,cron、rsyslog、logrotate的使用

2020-10-24 10:04:47 94

原创 (C语言进阶1)main函数传递整数

main函数也可以传递参数的,大家都清楚,但是argv[][]这个是字符串,我们有时候要传递整数怎么办?答:把字符串转换成整形。比如下文代码中,关键代码: else if ((argc == 2) && (argv[1][0] == '1')),执行的命令行是:./a.out 1.即就是2个参数,argv[0] 是./a.out,argv[1]是“1”,那argv[1][0]就是'1',注意这里的单双引号,是指字符串和字符。依次类推,如果执行的命令行是./a.out 1234,即..

2020-10-23 15:14:10 155

原创 linux关于ftp使用的问题总结

1,登陆到ftp服务器,get时发现:ftp: open file handle failed的问题。原因是:下载的文件在本地有一份,即同名,但是格式不同,所以不能覆盖下载。

2020-09-25 09:36:29 120

原创 关于vsftpd服务器搭建的若干问题总结

每次搭建都出问题,改一下也出问题,我都要炸了,这里把觉得写个长期更新的大总结。1,我现在的配置(这个配置是可以登陆进去看的,但是不能上传)root@debian:~# cat /etc/vsftpd.conf#begin my configurationslisten=YESlisten_address=192.168.1.108connect_from_port_20=YESanonymous_enable=NOuse_localtime=YESlocal_enable=YESl

2020-08-06 10:13:52 161

原创 (debian10)No manual entry for pthread_mutex_lock问题的解决

我的操作和系统信息如下:gyz@debian:~$ man pthread_mutex_lockNo manual entry for pthread_mutex_lockgyz@debian:~$ sudo apt-get install manpages-posix-devReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate p

2020-07-10 18:24:04 155 1

原创 git学习1:配置下载自己的github代码

我已经在github上建了项目了,这里不在重复,换了个电脑,我要下载下来修改下。1,生成密钥ssh-keygen -t rsa -C "yanzhang.guo@qq.com"2,把公钥放到github上去 cat ~/.ssh/id_rsa.pub3,就可以下载了git clone git@github.com:guoyanzhang0817/playMQTTing.git4,修改提交代码前的配置:git config --global..

2020-06-12 17:29:55 159

原创 解决curl: (25) Failed FTP upload: 553的问题

把一个文件上传到ftp服务器时,发现curl: (25) Failed FTP upload: 553的问题,后来发现是服务器上那个文件夹权限导致的,换了个文件夹就好了。

2020-05-28 10:39:31 487

转载 (sqlite3学习2)sqlite中的限制:数据库大小、表数、列数、行数、参数个数、连接数等

一、参考网址SQLite中的限制(官网):https://sqlite.org/limits.html运行时限制类别(官网):https://sqlite.org/c3ref/c_limit_attached.html#sqlitelimitcolumn二、详解1、查看、设置sqlite限制命令.limitsqlite> .limit // 显示或设置数据库限制信息:SQLITE_LIMIT length 1000000000 // 字符串或BLOB...

2020-05-26 09:55:23 739

原创 (json-c学习11)解析嵌套的数组

其它什么头文件,编译什么的看前面的部分就好。代码如下:661 void ParsingTest(void)662 {663 int fatherLen = 0;664 int sonLen = 0;665 const char *str = "[{\"gp\":1,\"body\":[{\"ln\":1,\"sd\":2},{\"ln\":2,\"sd\":3}]},{\"gp\":3,\"body\":[{\"ln\":6,\"sd\":7},{\"ln\":8.

2020-05-22 17:42:50 261

原创 (mqtt学习2)编译安装paho

1,源码下载:https://github.com/eclipse/paho.mqtt.c解压:guoyanzhang@debian:~/test$ unzip paho.mqtt.c-master.zip2,安装编译用的库guoyanzhang@debian:~/test/paho.mqtt.c-master$ sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-guiguoyan

2020-05-21 15:57:20 192

原创 (mqtt学习1)安装mosquitto代理者和客户端

1,介绍mqtt是个网络协议,mosquitto是一个开源的mqtt broker,当然了它也有它的客户端,命令行和API都有,但是一般用它的命令行,而客户端API用paho的,paho是一个开源的mqtt client。mosquitto 源码链接:https://github.com/eclipse/mosquittopaho 源码链接 :https://github.com/eclipse/paho.mqtt.c2,安装代理者和客户端我这里是debian10.guoyan..

2020-05-21 14:55:17 119

原创 (json-c学习9)读写json格式的文件

读写的文件,有普通的json格式的文件,还有数组形式的json格式的文件。读普通的文件使用:guoyanzhang@debian:~/test$ cat test.json{"group":1,"test":2}读数组形式的文件使用:guoyanzhang@debian:~/test$ cat test1.json[{"group":1,"test":2},{"group":2,"test":3},{"group":12,"test":13},{"group":12,"test":13}]

2020-05-21 10:40:14 148

原创 (json-c学习8)关于Segmentation fault的一个问题

开始的时候,我以为是json_tokener_parse导致的Segmentation fault的问题,后来问作者,发现是json_object_object_foreach的问题。因为如果是封装成一个函数给别人用,别人可能会传递一个非json的字符串过来,那程序就会崩了,为了防止程序崩,要加个判断。我在github上问作者的链接:https://github.com/json-c/json-c/issues/623解决办法,添加了425-430共6行。407 void TestSeg.

2020-05-20 09:06:17 145

原创 debian10杀毒软件安装和使用

官网地址:https://wiki.ubuntu.org.cn/ClamAV1,安装sudo apt-get install clamavsudo apt-get clamav-daemon2,更新病毒库sudofreshclam3,扫描病毒到指定文件夹sudo clamscan -r / --move result 说明:-r / 扫描根目录--move result 把病毒文件移动到result文件夹下4,删除病毒文件sudo rm result/*.

2020-05-13 18:10:37 336 1

原创 gdb和gdbserver工具的使用简介与交叉编译

一,介绍 嵌入式系统资源有限性,一般不能直目标系统上进行调试,所以很多情况下都是远程调试,就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作: a,用ROM Monitor调试目标机程序; b,用KGDB调试系统内核; c,用gdbserver调试用户空间程序。 这三种调试方法的区别主要在于,目标机远程调试stub 的存在形式的不同,而其设计思路和实现方法则是大致相同的。而我们最常用的是调试应用程序,就...

2020-05-12 19:00:44 311

转载 (json-c学习7) linux c语言释放json对象,防止内存泄漏

实际项目中发现Json-C用法不当导致的内存泄露、踩内存问题,大都是因为不清楚下面几个接口的用法。以下分析基于https://github.com/json-c/json-c( 0.12.1 release)。1. json_object_new_object生成的对象要不要释放int main(int argc, char **argv){ struct json_object* obj; mtrace(); obj = json_object_new_object();...

2020-05-09 16:54:03 578

原创 debian10安装httpd服务器(命令行安装)

在终端执行guoyanzhang@debian:~/test$ sudo apt-get install httpd输出如下信息意思是选择一个安装那么我选择apache2来安装guoyanzhang@debian:~/test$ sudo apt-get install apache2guoyanzhang@debian:~/test$ sudo apt-get install apache2-dev查看安装是否成功sudo systemctl status ap

2020-05-09 11:30:26 1473

原创 (json-c学习6) linux c语言解析json对象和子对象的组合(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:334 void ParsingBodyJsonFuncton(void)335 {336 //封装成如下形式的json内容:337 /*338 {339 "loop_number": 1,340 "sensor_address:1,341 "body":342 .

2020-05-09 10:28:37 141 1

原创 (json-c学习5) linux c语言封装json对象和子对象的组合(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:287 void PkgBodyJsonFuncton(void)288 {289 //封装成如下形式的json内容:290 /*291 {292 "loop_number": 1,293 "sensor_address:1,294 "body":295 ..

2020-05-08 19:11:38 132

Linux串口读写配置,包括232和485.txt

因为网上很多linux串口配置都没有用,结果让我饶了很大的弯,所以我这里记下来,让大家使用,防止大家和我一样走弯路。。配置都是测试过的,包括mark和space校验。

2020-04-14

空空如也

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

TA关注的人 TA的粉丝

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