自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唐顺才的博客

后端开发技术探讨:linux、c/c++/qt/golang、存储/即时通讯工具/智能硬件

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 golang 对象存储客户端接口实现

对象存储标准的接口有:putgetdeletelist对象存储适合的文件类型:短视频,音频文件、照片、图标、pdf、word文档、电子票据。对于超大文件的存储,有适合索引其中某一个扇区例如:"file1.txt"文件的4096偏移量处的4个字节,总不能把整个文件get下来再访问吧。 需要一个扩展的接口:package mainimport "fmt"type myoss interface { read(key string, offset, size int64) ([]

2021-06-28 22:58:26 527

原创 golang 代码格式化gofmt

vimgo vscode goland 等ide工具集成了命令,在保存go源码文件时自动调用 gofmt 命令和指定参数。如果是手工调用gofmt命令,需要参数-w,否则格式化结果不会写入文件。gofmt -w -lsrc,可以格式化整个项目。gofmt的参数介绍:-l显示那些需要格式化的文件-w把改写后的内容直接写入到文件中,而不是作为结果打印到标准输出。-r添加形如“a[b:len(a)]->a[b:]”的重写规则,方便我们做批量替换-s简化文件中的代码-d显示格式化前后.

2021-06-26 11:06:45 1063

原创 golang 正向代理服务器(支持tcp)

package mainimport ( "fmt" "io" "net" "os" "strings" "sync" "github.com/urfave/cli/v2" "golang.org/x/sys/unix")type tcpproxy struct { lock sync.Mutex dsts []string src string}var TcpProxy = &cli.Command{ Name: "tcpproxy", Al

2021-06-24 10:15:18 2268 1

原创 ffmpeg 转码hevc为h264(mp4)编码,切割为几段短视频

众所周知,ffmpeg是一个强大的音视频编解码器,秋秋影音,等知名的播放器都参考过ffmpeg的代码。下载一个视频到windows,居然不能播放,要收费。我x,这是在欺负程序员是么?果断打开Linux 虚拟机,用ffpmeg转码:ffmpeg -i test.hevc -map 0 -c:a copy -c:s copy -c:v libx264 output.mp4可以播放了:但是想传给女朋友去看,微信tm传大文件又容易断,怎么办? 切割为几段小视频:#!/bin/bash#截.

2021-06-21 15:17:55 3495 1

原创 golang 使用redis实现分布式锁

在微服务的docker容器中,多个pod抢占一套资源时,需要用到全局锁,一般使用redis可以很好的实现保护功能。安装redis-server:apt install redis-server配置redis有访问密码:vim /etc/redis/redis.conf# 开启redis客户端鉴权protected-mode yes# 设置密码为jack123requirepass jack123启动redissystemctl start redis代码:package.

2021-06-20 18:38:07 1168

原创 python 实现互斥锁

代码:import threadingimport timenum = 0 mutex = threading.Lock()def test1(cnt): global num for i in range(cnt): mutex.acquire() print("test1, before add num = %d--" % num) num += 1

2021-06-20 13:30:19 388

原创 golang获取免费Ip代理池

纯技术交流,不得用于其它目的否则后果自负。小幻ip代理池是一个免费的ip代理池。获取ip代理的demo:package mainimport ( "fmt" "log" "net/http" "strings" "github.com/PuerkitoBio/goquery")func getFreeProxy(filter string) ([]string, bool) { proxypool := []string{} client := &http.Clie.

2021-06-19 11:36:33 1203

原创 c++ 实现旋转加载图标

//main.cc#include <stdio.h>#include <iostream>#include <string>#include <unistd.h>using namespace std;string spinChars = "|/-\\";typedef struct SSpinner { string message; int i;}Spinner_;SSpinner * NewSpi

2021-06-14 10:20:47 180

原创 查看linux开机启动项

linux 查看全部的系统服务:root@ubuntu:~/root/# systemctl list-unit-filessystemd-udevd-control.socket static systemd-udevd-kernel.socket static uuidd.socket enabled basic.target

2021-06-11 10:35:45 3217 1

原创 golang 字节池设计(minio)

package mainimport "fmt"type BytePoolCap struct { c chan []byte w int wcap int}func (bp *BytePoolCap) Get() (b []byte) { select { case b = <-bp.c: // reuse existing buffer default: // create new buffer if bp.wcap > 0 { b =

2021-06-10 19:17:55 341

原创 golang 遍历目录和文件

例如有以下路径:root@node1:/tmp/zz# tree /tmp/oss//tmp/oss/└── unsealed ├── s-t01003-100 ├── s-t01003-1000 ├── s-t01003-74 └── s-t01003-752 directories, 3 filesroot@node1:/tmp/zz# 遍历指定目录:package mainimport ( "fmt" "os" "path/filepath"

2021-06-08 10:35:58 2916

原创 golang 实现视频服务器

package mainimport ( "fmt" "io/ioutil" "log" "net/http" "os" "path/filepath" "time")func DownloadPdf(tsid int) ([]byte, error) { // 表单数据 //data := url.Values{} //data.Set("name", "rnben") //data.Set("__RequestVerificationToken", pdfattr.Tok

2021-06-06 01:41:25 1399

原创 修复磁盘命令

windows 系统:打开dos终端,输入以下命令:chkdsksfc/scannowlinux系统:fsck -t ext4 -v /dev/sda1

2021-06-05 11:28:28 1982

原创 golang range特性

切片slice,是一个指针管理器,指向数据区域。在range 遍历时,获取到的值是一个变量的拷贝,不是迭代器。所以,后面的值会覆盖前面的值。package mainimport "fmt"func main() { data := []int{1, 2, 3} tbl := []*int{} for _, v := range data { tbl = append(tbl, &v) } fmt.Println("========== probe1 ===========.

2021-06-02 13:54:32 161

Red_Hat_Gluster_Storage-3.5-Administration_Guide-en-US.pdf

gluster 运维手册(482页英文原版文档)

2021-01-29

空空如也

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

TA关注的人

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