作者文章归档:felix

Golang使用selenium操作Chrome


Golang使用selenium操作Chrome

1.需求

解决自动化登录的问题,顺便可以解决爬虫问题。

2.基本概念

selenium:  Selenium 是一个用于 Web 应用程序测试的工具,Selenium 测试直接自动运行在浏览器中,就像真正的用户在手工操作一样。

    webdriver:   chromeDriver是谷歌为网站开发人员提供的自动化测试工具。

    selenium和webdriver其实原来是两个不同的开源项目,后来selenium2就把selenium1(RC)和webdriver合并到一起,还是用selenium的名字,但是实现方式和协议基本...

Read more

Windows下Go程序添加图标


Windows下Go程序添加图标

​ 计划使用go语言编译一系列实用工具,提高自己的工作效率。发现编译后的.exe文件没有图标,甚是难看,所以找了windows平台下添加Go程序图标的方法。

1. 查找ico图标

​ 查找一个符合程序气质的图标,下载备用。

​ ico链图标下载: easyicon

2.生成syso文件

​ rsrc是在Windows的Go程序中嵌入.ico和manifest资源的工具。

2.1 下载安装rsrc
go get github.com/akavel/rsrc
2.2 生成程序描述文件ico.manifest...

Read more

K8S : Helm 部署 ELK 7.6


K8S : Helm 部署 ELK 7.6

场景

​ 在 K8S 上部署有状态应用 ELK,收集日常测试数据的上报(应用拨测的 Heartbeat、调用链追踪的 APM、性能指标 metabeat 等)。本文通过rook提供底层存储,用于安装elk的statefulset,然后部署MetalLB实现本地负载均衡,最后通过ingress-control实现访问kibana。

操作步骤

  • 1.安装rook
  • 2.安装helm
  • 3.安装ES
  • 4.安装kibana
  • 5.安装filebeat
  • 6.安装metalLB
  • 7.安装Ingress-control
  • 8.访问测试

1.安装rook...

Read more

golang 堆排序


package main

import "fmt"

func main() { arr := []int{6, 1, 2, 7, 9, 3, 4, 5, 10, 8} heapSort(arr) fmt.Println("---") fmt.Println(arr) }

//堆排序 func heapSort(arr []int) { //求数组长度 //根据堆的规律,假设子节点的规律,假设子节点的坐标为i //左子节点坐标为2i+1,右子节点坐标为2i+2 //父节点的坐标为(i-1)/2. 此处可以计算无论最后一位数...

Read more

golang 快速排序


golang 快速排序

package main

import (
    "fmt"
    "strconv"
)

func quickSort(arr []int, low, high int) {
    if low < high {
        var pivot = partition(arr, low, high)
        quickSort(arr, low, pivot)
        quickSort(arr, pivot + 1, high)
    }
}
func partition(arr []int,low,high int) i...

Read more

基于Go博客wblog的理解和修改


初衷

​ 自学Go语言已经一段时间,想通过博客更深入理解go语言。最终通过Gin语言定位了wblog博客框架。wblog是基于基于gin+gorm开发的个人博客项目。

​ 学习别人的博客是一个抓狂的过程,不仅要疯狂学习扩展的知识,比如gin框架,gorm,还要理解原作者的思想和构建过程。

​ 原项目仅做了简单的英文注释。我则根据原项目增添了很多自己理解的注释和说明,方便其他后来人学习参考。同时更新原项目依赖,可以一键运行。

修改

  1. 增加了中文注释,更多的是我对原项目的理解,方便其他人理解和学习。
  2. 使用go module替代了govendor依赖管理包,...

Read more

搭建办公环境ElasticSearch 日志分析系统


搭建办公环境ElasticSearch 日志分析系统

​ 计划将公司的防火墙+交换机+服务器(centos7)+ Vmware+Windows server纳入到监控范围,所以开启了ELK监控之旅。

​ 本文采用ELK架构栈进行组建,万丈高楼平地起,虽然开始比较简陋,后期会不断完善这个日志分析系统。

​ 全文框架如下:

​ Hillstone: syslog→logstash→elasticsearch→kibana

​ H3C: ...

Read more

继续加油啊!Felix


继续加油啊! 好久没有发博客了,这段时间比较颓,思想上波动比较大,有点失去方向。 这段时间自学了go和elk,可能是同步进行,而且进展缓慢,所以可能比较颓。 但是生活还要继续,理想还是要保持。 我要在黑暗中要找到光。 加油,Felix!

Read more

Python多页签自动化登录


Python多页签自动化登录

​ 自己管理了好几个系统,虽然实现自动监控报警,但是还还想要人工检查。为了提高效率,现在写了一个脚本实现多个系统的自动化登录。

脚本选择:
  • 开始想用bat实现,发现走不通,账号和密码登录认证的方式无法解决。有方法的小伙伴可以推荐。
  • 后面使用python实现,主要是方案成熟,可参考案例多啊。
浏览器选择

​ chrome浏览器:因为习惯了。

事前准备
  • 安装python: 机器已装python3.6.2

  • 安装selenium: pip install selenium

  • 安装webdriver插件:选择chrome版本对应的web...

Read more

记openvpn客户端安装遇到问题


记openvpn客户端安装遇到问题

因工作需要,最近在研究OPENVPN。因为它免费开源,而且使用社区活跃度较高。 目前已在windows,IMAC,IPhone,andriod成功部署使用客户端。具体使用方式不再说明,简单说明遇到的问题吧。

1.MAC中导入证书的问题。

mac系统上不支持crt证书,需要转换为pkcs12证书。

openssl pkcs12 -export -out ca.p12 -inkey ca.key -in ca.crt
2.iphone客户端中导入证书报错。

iphone无法显示的支持证书,需手动将证书添加到ovpn配置文件中。

#iPhone-OpenVP...

Read more