TOML

Qt for MCUs 1.5 发布啦!改进API,增强其可用性和稳定性

女生的网名这么多〃 提交于 2020-11-02 14:43:37
像C/C++和其他本地语言一样,Rust包括对条件编译的支持。指示编译器在编译过程中是包含还是忽略一段代码的最常见方法是添加一个带有所需条件的cfg属性。例如,您可以使用这种机制来检查目标架构,并根据操作系统在编译时切换代码块。 IntelliJ Rust会检测您项目中的条件禁用块,并将其从代码库中排除。这意味着名称解析和分析会忽略这些块,所以你不会在它们里面得到错误和警告,而且在自动完成中不会有该代码的项目出现在其他地方。另外,该插件在编辑器中把禁用的块灰化了。 这个级别的cfg支持在插件中已经有很长一段时间了,但是缺少了一些东西。条件选项可以包含Cargo功能。以前,IntelliJ Rust只支持项目依赖中声明的特性,但现在你的工作空间特性也被支持了。 我们已经实现了一个智能UI,使您的工作与特性更加透明:您可以直接在Cargo.toml文件中启用或禁用工作空间的任何特定特性。名称解析和代码洞察力会考虑到这一点。 让我们详细研究一下IntelliJ Rust如何处理Cargo特性,当它们在不同级别的依赖关系中使用时。 Library 最简单的情况是,您需要从库中排除功能,或者仅在构建中包括其中的一些功能。 首先,让我们添加tokio板条箱并使用以下full选项启用其所有功能: tokio = { version = "0.3.0", features = ["full"] }

MongoDB迁移数据到Elasticsearch真实操作案例

江枫思渺然 提交于 2020-10-19 09:57:08
· 需求 1、迁移MongoDB中的存量数据到Elasticsearch 2、增量数据业务方会写到MongoDB,但数据变更也要实时同步到Elasticsearch 经过数日的工具特性和我的需求对比之后,我选择了monstache来完成这次的需求。不言而喻,它可以满足我前面提到的需求。 调试过程 1、选择适合你的monstache版本(符合你的es版本、mongodb版本) 版本参考如下: 我的各个版本如下: es: 6.7.0 mongo: 3.2.13 所以我选择 monstache:4版本,对应master分支 2、monstache是使用golang语言开发,首先要安装go环境,需要注意的是要安装符合你monstache的go版本,怎么试?继续往下看,别着急。 我这里需要安装go1.13.6 1、安装 sudo wget https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz tar -C /usr/local -xzf go1.13.6.linux-amd64.tar.gz 2、配置环境变量 vim /etc/profile ... export GOROOT=/usr/local/go export GOPATH=/home/go/ export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

通过consul实现prometheus动态服务发现以及告警策略注册

試著忘記壹切 提交于 2020-10-14 05:57:01
动态服务发现 Prometheus 提供了多种动态服务发现的功能,这里以consul为例。 客户端的一个接口,需要调用服务A-N。客户端必须要知道所有服务的网络位置的,在服务很多时配置十分麻烦。***在加入服务发现模块之后,服务发现模块定时的轮询查看这些服务能不能访问。***客户端在调用服务A-N的时候,就跑去服务发现模块查看它们的网络位置,然后再调用它们的服务。客户端完全不需要记录这些服务网络位置,实现了客户端与服务端的解耦。 在一台主机上部署node-exporter探针, 如果要通过prometheus实现监控,需要修改配置文件,新增一个target。如果每次新增target都去变更服务器上的配置文件会非常麻烦。 在prometheus的configmap.yaml文件中进行配置: -job_name: 'consul-prometheus' consul_sd_configs: - server: '10.4.**.***:8500' services: [] relabel_configs: - source_labels: ['__meta_consul_service'] regex: 正则规则 action: keep 其中 relabel_configs:中内容的含义为:如果目标的__meta_consul_service标签与regex中的内容正则匹配

Rust: Bindgen绑定CTP C++原生接口尝试

删除回忆录丶 提交于 2020-10-06 11:34:44
一、 环境准备: WSL2 + Bindgen + CTP C ++ 接口 for linux Bindgen : https : / / github . com / rust - lang / rust - bindgen CTP for linux 说明一下,我在windows环境下,同样的方法,一直报libclang没有找到,至今也没有解决,看了github bindgen issues上提的问题,类似的问题不少。试了不少方法,终于放弃,转WSL2. 二、构建wrapper.hpp 文件 wrapper.hpp是告诉bindgen,我这些都需要帮我翻译一下。东西在这呢。这个文件可以放在src目录下。 # include "../ctp_sdk/ThostFtdcMdApi.h" # include "../ctp_sdk/ThostFtdcTraderApi.h" # include "../ctp_sdk/ThostFtdcUserApiStruct.h" # include "../ctp_sdk/ThostFtdcUserApiDataType.h" 三、倒腾build.rs文件 build.rs文件,放在工程目录的根目录下,我这儿的工程名是“rust_new_test”,build.rs放在和Cargo.toml同一目录级下,并列就好。 use std :: env

Go 包管理机制深入分析

此生再无相见时 提交于 2020-10-04 00:57:14
前言 随着 Go 语言的深入使用,其依赖管理机制也一直是各位 Gopher 热衷于探讨的话题。Go 语言的源码依赖可通过 go get 命令来获取,但自动化程度不高,于是官方提供了 Dep 这样的自动化批量管理依赖的工具。虽然 Go 语言的依赖管理在很多方面还是不如人意,但整个体系正在日趋完善,本篇就将从最基本的依赖管理场景出发,一同探讨 Go 语言依赖管理的一些最佳实践。 Go 依赖管理的基本思路 在 Go 语言中,我们通过 go get 命令将 GitHub 或者 Google Code 上的代码下载到本地指定目录,然后在开发代码中通过 import 的形式引用本地的代码。 Go 语言可以通过直接分析代码中的 import 语句来查询依赖关系。go get 命令在执行时,就会自动解析 import 来安装所有的依赖。那么下载的依赖在本地是如何存储的呢? 这里就涉及到 Go 语言的 WORKSPACE 概念,简单来说就是通过 GOPATH 环境变量来设置 Go 代码的位置。一般来说,GOPATH 目录下会包含 pkg、src 和 bin 三个子目录,这三个目录各有用处。 bin 目录用来放置编译好的可执行文件,为了使得这里的可执行文件可以方便的运行,在 shell 中设置PATH变量。 src 目录用来放置代码源文件,在进行 import 时,是使用这个位置作为根目录的

pip和pipfile

怎甘沉沦 提交于 2020-08-17 16:44:29
pip常用命令 基本用法:pip install SomePackage,等效于 python - m pip install SomePackage。 明确指定版本号:pip install SomePackage ==1.0 .0。 指定最小版本号:pip install SomePackge >=1.0 .0。 指定版本号区间:pip install SomePackage >=1.0.0,<2.0 .0。 pip 也支持直接从文件读取包列表以便批量安装,通常命名为 requirements.txt,可以使用 pip install - r requirements.txt 来安装。requirements.txt 文件内容是如下的扁平格式: SomePackage1 SomePackge2 >=1.0 .0 SomePackage3 >=1.0.0,<2.0.0 pipfile与pipfile.lock Pipfile 与 Pipfile.lock 是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。 Pipfile 文件是 TOML ( 什么是toml格式 中文)格式而不是 requirements.txt 这样的纯文本。 一个项目对应一个 Pipfile ,支持开发环境与正式环境区分。默认提供 default 和 development

Grafana配置LDAP认证

*爱你&永不变心* 提交于 2020-08-16 14:17:40
Grafana从2.1开始支持LDAP集成LDAP的统一用户登录认证。默认是LDAP是未启用,需手动更改配置使之能支持LDAP。在参考官方文档 Grafana LDAP Authentication 进行配置。 Grafana主配置文件grafana.ini中开启LDAP认证 vim /etc/grafana/grafana.ini [auth.ldap] enabled = true config_file = /etc/grafana/ldap.toml allow_sign_up = true LDAP配置/ldap.toml [[servers]] host = "10.10.10.10" port = 389 use_ssl = false start_tls = false ssl_skip_verify = false bind_dn = "cn=ldapadmin,cn=Users,dc=hi,dc=local" bind_password = 'xxxxxx' search_filter = "(cn=%s)" search_base_dns = ["dc=hi,dc=local"] [servers.attributes] name = "givenName" surname = "sn" username = "cn" member_of =

TiDB 忘记密码如何登陆

前提是你 提交于 2020-08-13 17:11:14
刚修改密码后就忘记,囧囧囧囧囧。记录一下,以便以后犯了同样的错误可以快速找到解决方法。 测试阶段,还是使用的 TiUP cluster 在单机上模拟生产环境部署步骤 单机模拟生产环境 先停止tidb tiup cluster stop <cluster-name> 然后找到 tidb-server 的配置文件,一般默认是在 cd /tidb-deploy/tidb-4000/conf vi tidb.toml 添加如下security [security] skip-grant-table = true 然后找到 tidb-server 的启动文件,具体在 deploy 目录下的script/run_tidb.sh,一般是 /tidb-deploy/tidb-4000/scripts 由于 tidb 限制了 skip 模式只能在操作系统 root 用户启动 tidb-server 才可以进行,所以要用 root 用户来执行上面的脚本 sudo sh run_tidb.sh 此时再次登录 tidb,就会发现不需要输入 root 密码了. mysql -h 127.0.0.1 -P 4000 -u root 登录之后 SET PASSWORD FOR 'root'@'%' = 'xxx'; #或者 ALTER USER 'test'@'localhost' IDENTIFIED BY

写一个axios-ts吧!学习Prettier(三)

喜夏-厌秋 提交于 2020-08-13 09:56:06
导航 写一个axios-ts吧!学习Rollup(一) 写一个axios-ts吧!Rollup搭建typescript库(二) 写一个axios-ts吧!学习Prettier(三) Prettier是什么 Prettier 是一个代码格式化的工具,它会按照某一规范格式化代码。 为什么要使用Prettier 我的理解 通用的样式指南比团队讨论的要好,与其浪费大量时间讨论,不如 npm i 一下。所以为什么不用其他的而是用 Prettier 呢? Prettier 是唯一全自动化的。希望停下讨论风格,虽然是有效的,但是时间浪费太多。到底用哪种风格,单引号还是双引号?不要再研究了,换个思路,我们要不要使用 Prettier ?只要大家选择同意就可以了。 使用 Prettier 的好处就是: 节省时间 避免低级错误 只管写代码,格式化交给 Prettier 结合 githook 减少 PR 中的样式问题 跟其他工具良好的结合 总之一句话,格式化用 Prettier 就对了。 怎么使用 官方文档 prettier官网 开始学习 ClI 使用 prettier 命令运行 Prettier ,选几个常用的,具体移步 prettier官网 --check / -c 检查文件是否已格式化,将结果打印到控制台,错误码: 0: 正确 , 1: 格式不正确 , 2: prettier出现错误 。

夏午茶/sago

心不动则不痛 提交于 2020-08-09 05:39:36
sago 西米露,一种富有营养的物质,手工制成 cli并行框架 提供一套轻量可控的脚本开发脚手架,降低并发程序开发难度 软件功能 - 支持测试/生产环境 配置文件区分 - 数据库组件 mysql,redis - 日志组件 支(持错误分级输出,文件切割,rgb颜色输出) - 工具组件 (文件,网络,变量转换等) - 并发组件 (支持协程复用模式和单次释放模式,支持并发数和超时时间设置) - cmd 脚手架工具等 (生成项目基本目录生成,model文件生成) 使用说明 go mod 安装 需要安装 mod 包,安装成功后配置环境变量 export GO111MODULE=on export GOPROXY= https://goproxy.cn IDE选择:建议使用goland版本 >= 2019.2,安装好后会自动检测并引入依赖,go mod是golang新出特性,旧版本不支持 新项目初始化 1 利用脚手架工具生成一个新项目,如下 cd cmd ./ sago_cmd - pname 项目名    table参数如不指定,则不生成model下的文件 2 将生成的目录拷贝到console下面,结束 项目部署 交叉编译:mac,windows,linux之间是不兼容的,在mac下生成linux上可执行文件命令 GOOS = linux GOARCH = amd64 go build -