物联网资料整理

  1. 物模型是物理世界的实体东西的一个抽象,进行数字化描述后,用于数字世界的数字模型。这么说可能有点绕,更直接一点说就是,物模型是使用计算机可以理解的语言,说清楚这个产品是什么、能做什么事情,以及可以提供哪些信息。 定义了属性、事件和动作这三类功能,也就完成了物模型的定义。

    [阅读全文]
iot 

fluentd

综合需要考虑的问题

  • 最好只处理指定namespace的日志
  • 非标准日志的处理(SQL和Gin的日志),考虑忽略非标准日志
  • 加入k8s metadata
  • 按名称空间加日志(%{[k8s]}-%{+yyyy.MM.dd})
  • 删除不需要的字段
  • 直连ES
  • 消息主体替换根节点的message,level和time提到根节点

安装前系统配置

[阅读全文]

k8s-cronjob

当前k8s版本:1.17,在使用cronjob的时候发现调度的时间不对,配置的是0 0 * * *,但实际运行时间为早上8点,推测是时区问题没跑了~ 但是运行程序的容器已经处理过时区问题,而且调度是k8s发起了,问题在k8s那边。

[阅读全文]
k8s  cronjob 

golang私有仓库

https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more

https://golang.org/ref/mod#private-modules

https://golang.org/ref/mod#vcs-find

https://golang.org/doc/tutorial/create-module

https://sagikazarmark.hu/blog/vanity-import-paths-in-go/

https://medium.com/@dayakar88/a-guide-to-solve-no-go-import-meta-tags-for-private-repositories-with-go-modules-6b9237f9c9f

为了gitlab-ci在构建时拉取私有仓库依赖,构建工作使用的docker容器的dockerfile需要加上:

1
2
3
4
RUN git config --global url."git@192.168.1.10:".insteadOf "https://192.168.1.10/"
COPY gitlab-ci /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN echo "    StrictHostKeyChecking no" >> /etc/ssh/ssh_config

其中的id_rsa为部署密钥,需要在私有仓库中添加部署密钥 上述参考 https://cloud.tencent.com/developer/article/1602151 https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository

[阅读全文]

sonarqube+gitlab

目标

安装SonarQube,在gitlab-runner上运行SonarScanner,SonarQube与Gitlab的账户打通

安装SonarQube

很简单,参考官方文档即可

[阅读全文]

git常用操作指南

创建分支git branch <name>,创建叫name的分支,但仍然停留在当前分支。

删除分支git branch -d <name>,参数为-D则为强制删除。

[阅读全文]
git 

golang plugin从入门到放弃

最开始看到go plugin很兴奋,太实用了。正好手上项目也能用得上,所以花了几天心思去研究一下,所以就有了这篇文章的心德:go plugin从入门到放弃

[阅读全文]

golang learning 2

数据类型

int/uint类型位数不是固定的,根据运行平台可能是32位或64位 获取Int类型位数:strconv.IntSize

Go不允许隐式类型转换,只能强制转换 强制转换:int32(a)

[阅读全文]

brew 切换源

切换到国内源

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 替换brew.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git

# 替换homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

# 刷新
brew update

切换到官方源

[阅读全文]
macOS  brew 

golang开发windows应用添加图标

开源工具源码地址:github.com/akavel/rsrc

  • 下载rsrc工具
  • 创建一个manifest文件
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="Amd64" name="controls" type="win32"></assemblyIdentity>
<dependency>
    <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="Amd64" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
    </dependentAssembly>
</dependency>
</assembly>
  • windows下生成syso文件
1
rsrc_windows_amd64.exe -manifest manifest -ico inventory.ico -arch amd64 -o inventory.syso
  • 构建
1
GOOS=windows CGO_ENABLED=1 GOARCH=amd64 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ go build -ldflags '-w -s' .

注意,网上找到的资料都会报以下的错:

[阅读全文]