652 1 分钟

# 二维数组中的查找 题目描述:有一批钢管需要拼接,长度为 x 的钢管和长度为 y 的钢管拼接需要花费 x+y 元,现有一批钢管,请问拼接最低需要花费多少钱? # 分析 肯定是先拼短的,因为短的花钱少,每次拼接过后在把这些管子排下序,最后累加每次拼接的金额即可。 # 答案 if __name__ == '__main__': tubes = [1, 4, 2, 3] tubes = sorted(tubes) total_spent = 0 count = 1 for i in range(len(tubes)): if i + 1 < len(tubes):...
1.3k 1 分钟

# 需求说明 有时候我们想要将变量设置为级联关系,比如在做筛选的时候,先选择国家,然后加载该国家对应的省或州,最后再是省或州下面的市等。通过 grafana 的 variable 绑定变量可以将这种情况实现。 具体可以参考 官方说明 下面是以 elasticsearch 为数据源的具体实现细节。 # 信息录入 ES 我们可以从网上下载一份省市的关联信息表,可以直接导入 es 或者通过一些简单脚本写入 es。 from elasticsearch import Elasticsearch, helpers import pandas as pd if __name__ ==...
3.1k 3 分钟

本文介绍两种执行方式:一种是通过 systemd 执行二进制文件,一种是执行 shell 脚本,在实际使用中可以根据自己需要选择恰当方式。 # 方式一:可执行二进制文件 我们通过 pyinstaller 将单个 python 脚本文件转化为二进制可执行文件,然后再添加到 systemd 服务 pyinstaller 可以将脚本文件转为可执行文件,比如在 windows 环境下,可以将脚本转为.exe 格式的文件,在 linux 环境下,可以转为一个可执行的二进制文件,因为 python 比较简单,我们以 python 为例。 # 创建虚拟环境 创建虚拟环境并通过虚拟环境执行 python...
4.3k 4 分钟

# 缘由 今天是第一天,本来想着每天能够学习一点东西,但是最近一会儿弄这个,一会弄那个,感觉时间很少,或者说是自己比较慵懒吧。 从很早的时候就想着某一天能够把 jdk 里面的所有 java 类搞明白,但是到头来还是没有做到。即便是日常常用的一些 java 类的实现细节可能也不清晰。 要么就是某些时候为了应对面试问题,奋笔疾书,翻看一些常用的集合类,一些常用的并发类等等。 希望能够从今天开始,每天了解一个 java 类,不需要特意背记,只求熟悉。 # 说明 这里统一用 windows 版本的.exe 安装程序,jdk 目前先下载以下几个版本:jdk7, jdk8, jdk9 (主要是看...
3k 3 分钟

# 设置可嵌入 iframe 找到 grafana.ini, security: allow_embedding: true 参考: https://grafana.com/docs/grafana/v7.5/administration/configuration/#allow_embedding (将 grafana 嵌入 iframe) # 设置免密登录,方便在项目中将 grafana 以 iframe 形式嵌入进去 使用 grafana admin 账号设置一个只有 Viewer 权限的用户 使用在线 base64 工具如 https://base64.us 来 base 以下字符串...
1.3k 1 分钟

# Grafana 二次开发流程记录 Grafana Github 地址: https://github.com/grafana/grafana git clone https://github.com/grafana/grafana.git git checkout 23956557d8 详细 Dev 文档地址: https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md # 前端 Frontend 前端依赖 yarn,23956557d8 branch 需要...
3.3k 3 分钟

# ES 数据迁移 背景:业务数据量很大,数据分布在各个 dc 下面,每个 dc 对应自己的 es cluster,现需要采集每个 dc 下 es cluster 中指定数据,这里指定是指采集特定 index 下指定的 metrics,需要通过 lucene 配合 DSL 筛选数据,现考虑两种方式。 # 方式一:使用后台 job + 脚本定时获取 基于我们已有的 job 集群环境,创建 Job 执行脚本(如 python 脚本),通过 API 方式采集各个 es 端数据源,并将这些数据存入我们的 es,这种方式可以同时将数据写一份到 oracle,但是因为数据量比较大,需要定期清理...
3.6k 3 分钟

# logstash 采集 oracle 表数据 # 背景 因为项目数据量比较大,而且需要作一些 metrics 给大家看,所以准备先将数据存储到 ES,然后通过 Grafana 作图。 为什么不从 grafana 直连 oracle 呢?因为 Grafana 连接 oracle 需要安装插件,并且这个插件需要付费使用参考。所以为了节约不必要的花费,我们将数据先转存到 ES(正好我们之前有搭建过 es 集群),然后从 grafana 配置 es 作为数据源。 现配置 logstash 采集 oracle 数据。 # 安装 logstash 可以通过压缩包(tar.gz)或者 RPM...
816 1 分钟

可以参考我之前在 github 上提的 discussion: https://github.com/sqlalchemy/sqlalchemy/discussions/7717 目前可以将代码修改成以下方式,将来也许会有更好的支持,感谢 @zzzeek from sqlalchemy import Columnfrom sqlalchemy import DateTimefrom sqlalchemy import MetaDatafrom sqlalchemy import Stringfrom sqlalchemy import Tablefrom sqlalchemy.dialects...
4.1k 4 分钟

OS: windows go: 1.17.2 参考: https://go.dev/doc/tutorial/web-service-gin https://github.com/gin-gonic/gin#installation # 创建文件夹并初始化项目骨架 # 创建 web-service-gin 文件夹 $ mkdir web-service-gin # 进入 web-service-gin 文件夹 $ cd web-service-gin # Go mod 初始化 $ go mod init example/web-service-gin # 获取 gin...