自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(339)
  • 收藏
  • 关注

原创 tornado

文档main.pyimport tornado.webimport tornado.ioloopfrom tornado.options import define, options, parse_command_line# define, options, parse_command_line 三个配合使用解析命令行# 定义默认参数 这里定义默认启动端口,可通过命令行启动时修改port的值,改变端口define('port', default=8080, type=int).

2024-09-22 21:26:37 672

原创 mybatis 和 mybatis-plus

配置文件: 用于配置数据库连接和 MyBatis 运行时所需的各种特性,包含了设置和影响 MyBatis 行为的属性、映射文件的位置。mapper接口和mapper.xml之间需要遵循一定规则,才能成功的让mybatis将mapper接口和mapper.xml绑定起来。创建IUserMapper接口: 用于操作数据库CURD的方法。文件:用于mybatis配置文件读取数据库信息。resources 目录下 创建。resources 目录下 创建。resources 目录下 的。类:用于跟数据库字段做映射。

2024-09-19 18:21:35 539

原创 python tkinter

GUI编程就是编写一个个组件,界面由组件组成,组件内又可以创建组件,这种组件即为容器。基于tkinter创建 GUI基本四步:窗口->组件->布局->事件。通过与组件绑定,获取组件所触发的事件。管理组件的大小位置样式。

2024-09-16 21:12:47 671

原创 Spring Boot基础

RestController:主要用于构建RESTful Web服务,它简化了开发RESTful风格的控制器的代码,使得开发者能够更加专注于业务逻辑的实现,而无需关注底层的请求-响应处理细节。@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。返回的数据格式通常是JSON或XML,这取决于请求中的Accept头部或配置的消息转换器。是一个静态常量,其值为。

2024-09-13 11:45:19 1422

原创 java 基础

Map 接口提供了丰富的操作方法,可以根据具体需求选择合适的实现类。通过上面的示例,你应该能够理解和使用 Map 接口及其常见实现类。List 接口提供了丰富的操作方法,可以根据具体需求选择合适的实现类。通过上面的示例,你应该能够理解和使用 List 接口及其常见实现类。在Java中,List 接口是集合框架中非常重要的一个接口,它提供了存储和操作有序集合的方法。List 是一个接口,因此不能直接实例化,但可以通过其实现类(如 ArrayList, LinkedList, Vector 等)来使用。

2024-09-11 18:19:38 1042

原创 docker swarm

1.准备三台机器,分别安装docker,例如IP分别为: 192.168.88.131,192.168.88.136,192.168.88.1382.修改/etc/hostname 分别为: manger,node1,node23.分别修改/etc/hosts添加: 192.168.88.131 manger 192.168.88.136 node1 192.168.88.138 node2docker swarm init --

2024-02-01 17:45:28 1239

原创 docker network

网络,你需要创建一个自定义的网络,并将其设置为 Compose 文件中的网络。在默认情况下,Docker Compose 使用的是 Docker 的默认网络。网络是一个 Docker 创建的默认桥接网络,用于容器之间的通信。要在 Docker Compose 中使用。为了使这个配置生效,确保你已经创建了。在上述示例中,我们创建了一个名为。的自定义网络,并将其设置为。作为外部网络,以便使用。

2023-10-26 10:04:40 951

原创 python3 aptly api

【代码】python3 aptly api。

2023-07-14 22:56:32 221

原创 Go语言 文件操作

首先获取文件名,借助os包中都得stat()函数来获取文件属性信息,在函数返回的文件属性中包含文件名和文件大小,Stat参数中name传入的是文件访问的绝对路径,FileInfo中的Name()函数可以将文件名单独提取出来。

2022-10-10 09:31:15 556 1

原创 golang 时间操作

time包。

2022-10-09 16:43:40 771

原创 golang error,panic,recover

import ("fmt""math")//求圆的面积if err!= nil{return}}//1.定义一个结构体,表示错误的信息}//2.结构体实现error接口中的Error方法return fmt.Sprintf("error:半径是%.2f,%s",e.radius,e.msg)}return 0,&areaError{"半径非法",radius}}}

2022-09-25 22:11:47 335

原创 golang 格式化输出

在 Go 语言中,标准包fmt。

2022-09-13 22:12:38 765

原创 Go语言 Go的执行原理以及Go的命令

比如,本机安装Go语言的版本是1.x,那么go get命令会在该代码包的远程仓库中寻找名为“go1”的标签或者分支。如果不加这个-u标记,执行go get一个已有的代码包,会发现命令什么都不执行。这种情况下,go build 命令只是检查库源码文件的有效性,只会做检查性的编译,而不会输出任何结果文件。注意,go get命令会把当前的代码包下载到$GOPATH中的第一个工作区的src录中,并安装。go build编译命令源码文件,则会在该命令的执行目录中生成一个可执行文件,上面的例子也印证了这个过程。

2022-09-04 21:31:04 884

原创 Golang 第一个程序HelloWorld

import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包的函数,fmt 包实现了格式化 IO(输入/输出)的函数。别名操作的话调用包函数时前缀变成了我们的前缀,即f.Println("hello world")这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调。_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数。GOROOT下的src文件夹下,以及GOPATH下的src文件夹下。

2022-09-04 21:02:03 530

原创 Go语言 环境搭建

1.先创建你的工作空间(Workspaces),官方建议目录$HOME/go。三、配置环境 .bashrc。解压版:解压到指定目录下。安装版:双加安装即可。

2022-09-04 20:39:28 1567

原创 C++ 内存分区

的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。​ 由程序员分配释放,若程序员不释放,程序结束时由操作系统回收。​ 全局区还包含了常量区, 字符串常量和其他常量也存放在此.​ 由编译器自动分配释放, 存放函数的参数值,局部变量等。的,使其只读的原因是防止程序意外地修改了它的指令。​ 在程序编译后,生成了exe可执行程序,​ 在C++中主要利用new在堆区开辟内存。该区域的数据在程序结束后由操作系统释放。​ 存放 CPU 执行的机器指令。,栈区开辟的数据由编译器自动释放。......

2022-08-17 22:32:21 151

原创 C++ 结构体

struct 结构体名 变量名 = { 成员1值 , 成员2值…总结3:结构体通过 ' . ' 访问成员,或为成员变量赋值。总结1:定义结构体时的关键字是struct,不可省略。总结2:结构体定义完成后,所占与的字节数就已经确定。作用:将自定义的结构体放入到数组中方便维护。结构体名 { 结构体成员列表 };,允许用户存储不同的数据类型。struct 结构体名 变量名。struct 关键字可以去掉。定义结构体时顺便创建变量。......

2022-08-16 16:39:43 894

原创 Docker 部署 Debian 10 reprepro

Docker 部署 Debian 10 reprepro

2022-07-26 15:20:13 899

原创 Debian 10 reprepro

reprepro

2022-07-23 16:50:44 612

原创 Docker FreeIPA

Freeipa

2022-07-21 09:16:22 1511

原创 saltstack Grains

Grains: - grains.append # 向grains中添加key/value, 不存在则创建,存在则追加,被追加的key将有两个值,salt '*' grains.append key val. 特别注意:append 操作要时 key必须是个列表 - grains.delkey # 删除指定的grains key,value也会一起删除。salt '*' grains.delkey key - grains.delval # 删除指定的grains key 的.

2022-04-26 20:17:38 214

原创 saltstack salt-ssh

salt-ssh是 0.17.0 新引入的一个功能,不需要用minion即可对客户端进行管理,也可以不需要master;salt-ssh也支持salt大部分的功能:比如grains,modules,state等;salt-ssh没有使用ZeroMQ的通信架构,执行是串行模式, salt-ssh 基于sshd服务salt-ssh执行原理salt-ssh是在salt基础上打了一个python包上传到客户端的默认/var/tmp目录下, 在客户端上面解压并执行返回结果,最后删除/var/tmp上传的临时.

2022-04-24 20:35:11 983 1

原创 saltstack state.sls

配置:修改master配置文件,告诉master, state.sls作业存放的路径file_roots: base: - /srv/salt/base dev: - /srv/salt/dev注:配置完配置文件之后,需要确定以上配置的目录都必须存在,才可以重启,如果配置的目录不存在,是起不来的。 base目录是必须有的。创建state的作业脚本cd /src/salt/basevim mytest.sls # 必须是.sls结尾的nginx_i

2022-04-23 18:56:26 472

原创 docker compose

方法文档Overview of Docker Compose | Docker Documentation安装curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose授权chmod +x /usr/local/bin/docker-compose使用说明:.

2022-04-12 11:01:10 627

原创 saltstack

基于python开发的,用于批量控制管理服务器 . saltstack与ansible对比saltstack系统中的角色salt-master : 管理端salt-minion : 被管理端salt-syncdic: salt代理(用于分布式管理)分布式部署:认证saltstack系统中的角色之间采用证书的方式认证(安全)认证方式:salt-minion向salt-master发送证书申请,salt-master签收证书部署 yum install -y e

2022-03-25 16:50:29 437

原创 python 异步编程 asyncio

协程协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行在Python中有多种方式可以实现协程,例如:greenlet,是一个第三方模块,用于实现协程代码(Gevent协程就是基于greenlet实现) yield,生成器,借助生成器的特点也可以实现协程代码。 asyncio,在Python3.4中引入的模块用于编写协程代码。 async & awiat,在Python3.5中引入的两个关键字,结合as

2022-03-17 23:50:20 4406

原创 subprocess

一.立即获取结果res = subprocess.getoutput('ifconfig')print(res)跳到指定目录 执行 命令获取结果res = subprocess.check_output('ifconfig', shell=True, cwd='跳到指定目录')print(res)二.获取时时输出结果obj = subprocess.Popen('ping www.baidu.com', shell=True, stdout=subprocess.PIPE)

2022-03-14 22:46:58 1089

原创 python3 django==1.11 使用sqlcipher 加密sqlite3

SQLCipher在CentOS 上的编译安装下载sqlciphergit clonehttps://github.com/sqlcipher/sqlcipher.git安装依赖包与编译安装cd sqlcipher./configuremake && make install可能会出现openssl的问题:configure: error: OpenSSL Crypto library not found解决办法: yum -y install open.

2022-01-04 18:40:40 2887

原创 golang beego

安装环境设置:GO111MODULE=onGOPROXY=https://goproxy.cn,direct安装:go get github.com/astaxie/beegogo get github.com/beego/beebeego项目创建bee new demo目录结构demo├─conf // 配置文件│ └── app.conf├─controllers // 类似django view.py│ └── default.go├─models

2022-01-01 17:07:39 1210

原创 centos下安装python3

Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装.注:本文示例安装版本为Python3.5,一、Python源代码编译安装安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository)$ sudo yum install yum-utils使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理.$ sudo

2021-12-31 11:33:42 8714

原创 离线部署Django + gunicorn + nginx

环境:python3开发环境有网络,生产环境无网络思路:在开发环境创建python的虚拟环境,在虚拟环境中pip install需要的包,后将虚拟环境移到生产环境(需要做一些修改)我的python虚拟环境名: env项目名: server详细:创建虚拟环境:mkvirtualenv -p python3 envworkon env 安装项目需要的包:pip3 install Django==1.11.28 pip3 install ...

2021-12-21 11:02:35 2271

原创 go build golang_org/x/net/route: open /usr/local/go/pkg/darwin_amd64/vendor/golang_org/x/net/route.a

https://blog.csdn.net/daima_caigou/article/details/89683915

2021-08-25 17:27:47 244

原创 Golang 调用 C/C++ 库

参考目录结构:|-importC| |-lib| | |-libvideo.dll| | |-libvideo.so| |-include| | |-video.h| | |-video.c| |-main.goC的代码如下:头文件 video.h//video.h#ifndef VIDEO_H#define VIDEO_Hvoid exeFFmpegCmd(); // 声明int sum(int a,int b);#endif源文件

2021-08-23 16:54:09 4858

原创 ES TransportError: TransportError(429, u‘cluster_block_exception‘, u‘index [klbp-knowledge] blocked

需要清理磁盘空间https://www.5axxw.com/questions/content/r1gecl

2021-08-09 16:10:24 717

原创 golang net/http编程

net/httpgo使用net/http包创建服务器,首先注册处理函数 http.HandleFunc(),设置回调函数handler,然后绑定服务器监听地址http.ListenAndServe()package mainimport ( "fmt" "net" "net/http" "os")func home(w http.ResponseWriter, r *http.Request) { // w 会写给客户端(浏览器)的数据 // r 从客户端(浏览器)读到的数

2021-08-05 00:02:59 324

原创 golang TCP 实现文件发送接收

首先获取文件名,借助os包中都得stat()函数来获取文件属性信息,在函数返回的文件属性中包含文件名和文件大小,Stat参数中name传入的是文件访问的绝对路径,FileInfo中的Name()函数可以将文件名单独提取出来os.Statfunc (f *File) Stat() (fi FileInfo, err error)Stat返回描述文件f的FileInfo类型值。如果出错,错误底层类型是*PathError。type FileInfotype FileInfo interf

2021-08-03 23:36:30 2129

原创 golang socket tcp udp

TCPsocket serverpackage mainimport ( "fmt" "net")func main() { // 一. 创建套接字socket // 指定server端使用的通信协议, 并绑定ip 和 port listener, err := net.Listen("tcp", "127.0.0.1:8384") if err != nil{ fmt.Println("server start err :", err) return } f

2021-08-01 19:46:22 571

原创 golang Json 序列化 反序列化

序列化结构体转jsonpackage mainimport ( "encoding/json" "fmt")// 注意: 结构体转json, 内部成员变量名一定要大写type IT struct { // 二次编码 Company string `json:"-"` // 定义json不序列化该字段 Subject []string `json:"subj"` // 定义json序列化后的键名为 subj IsOk bool `json:",string

2021-07-30 00:05:11 892

原创 go语言 互斥锁 读写锁

互斥锁每个资源都对应于一个可称为"互斥锁"的标记,这个标记用来保证在任意时刻,只能有一个协程(线程)访问该资源。其它的协程只能等待。互斥锁是传统并发编程对共享资源进行访问控制的主要手段,它由标准库sync中的Mutex结构体类型表示。sync.Mutex类型只有两个公开的指针方法,Lock和Unlock。Lock锁定当前的共享资源,Unlock进行解锁。在使用互斥锁时,一定要注意:对资源操作完成后,一定要解锁,否则会出现流程执行异常,死锁等问题。通常借助defer。锁定后,立即使用defer..

2021-07-28 23:51:01 662

原创 goland go程 channel select

go程补充: 每当有一个进程启动时,系统会自动打开三个文件:标准输入: stdin标准输出:stdout标准错误:stderr当运行结束,操作系统会自动关闭着三个文件import ( "fmt" "time")func foo() { fmt.Println("foo ") time.Sleep(time.Microsecond * 100)}func fun() { fmt.Println("fun ") time.Sleep(time.Microse

2021-07-28 15:51:57 42

空空如也

空空如也

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

TA关注的人

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