-
一个基于服务的密码管理工具
一个基于服务的密码管理工具,他的数据存在于你的服务端,你的任何客户端可以通过Token来获取你保存的信息。
编程时间:2022-06-28 点击:44
-
Go中位运算以及应用场景介绍
Go中位运算以及应用场景介绍
编程时间:2022-06-07 点击:53
-
window10 git 免安装版报错:cannot spawn git:Exec format error
在window10下面安装git,但是无法使用git pull , git clone , git push 命令。报错:`cannot spawn git:Exec format error` 不知道是啥原因,但是下载的是 tar.bz2 的压缩包,改下载 MinGit 版本的 zip包吧,跟版本没有关系,试过很多个版本了
编程时间:2022-05-24 点击:84
-
js click 事件不取消选中的文字状态
我们经常遇到下面这种情况,就是当我选中`名文件`几个字,然后去点击`H3`的时候,`名文件` 的选中状态就会被取消,但是我们并不希望这样。因此我们可以用以下方法处理。
编程时间:2022-05-20 点击:68
-
关于 GO 中 flag.StringVar 或者 flag.String 都获取不到值的问题
题外话 很多新手在使用一种新语言做开发语言的时候,通常不会把文档全部去熟悉一遍,即使读过文档的也难免会有些细节也没注意到。所以一般新手在使用新语言开发项目的时候,通常会通过搜索引擎去解决问题。今天我要...
编程时间:2022-04-07 点击:119
-
什么是 Goroutine?你如何停止它?
什么是 Goroutine?你如何停止它?一个 Goroutine 是一个函数或方法执行同时旁边其他任何够程采用了特殊Goroutine 线程。Goroutine 线程比标准线程更轻量级,大多数 Golang 程序同时使用数千个 Goroutine。您可以通过向 Goroutine 发送一个信号通道来停止它。Goroutines 只能在被告知检查时响应信号,因此您需要在逻辑位置(例如 for 循环顶部)包含检查。
编程时间:2022-03-10 点击:186
-
Golang 使用什么数据类型?
Golang 使用什么数据类型?
编程时间:2022-03-10 点击:84
-
与其他语言相比,使用 Go 有什么好处?
与其他语言相比,使用 Go 有什么好处? ⚫ 与其他作为学术实验开始的语言不同,Go 代码的设计是务实的。每个功能和语法决策都旨在让程序员的生活更轻松。 ⚫ Golang 针对并发进行了优化,并且在规模上运行良好。 ⚫ 由于单一的标准代码格式,Golang 通常被认为比其他语言更具可读性。 ⚫ 自动垃圾收集明显比 Java 或 Python 更有效,因为它与程序同时执行。
编程时间:2022-03-10 点击:145
-
go实现敏感词过滤
敏感词过滤,提前将敏感词设置好,然后每次有新句子都要过滤一遍,若存在敏感词,则用*号代替
编程时间:2022-03-04 点击:281
-
Rust 基础语法
Rust 基础语法 变量,基本类型,函数,注释和控制流,这些几乎是每种编程语言都具有的编程概念。 这些基础概念将存在于每个 Rust 程序中,及早学习它们将使你以最快的速度学习 Rust 的使用。 变量 首先必须说明,Rust 是强类型语言,但具有自动判断变量类型的能力。这很容易让人与弱类型语言产生混淆。 如果要声明变量,需要使用 let 关键字。例如: let a = 123; 只学习过 JavaScript 的开发者对这句话很敏感
编程时间:2022-03-03 点击:93
-
安装 Rust
Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。 Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。截至
编程时间:2022-03-03 点击:92
-
go变量分配在栈上还是堆上
golang的变量是分配在栈上还是堆上?
编程时间:2022-03-01 点击:77
-
常见集合类
在Java容器中一共定义了2种集合, 顶层接口分别是Collection和Map。但是这2个接口都不能直接被实现使用,分别代表两种不同类型的容器。 简单来看,Collection代表的是单个元素对象的序列,(可以有序/无序,可重复/不可重复 等,具体依据具体的子接口Set,List,Queue等);Map代表的是“键值对”对象的集合(同样可以有序/无序 等依据具体实现)
编程时间:2022-02-17 点击:87
-
k8s namespace 无法删除一直是处于Terminating状态
修改 Kubernetes中namespace有两种常见的状态,即Active和Terminating状态,其中Terminating状态一般会比较少见,当对应的命名空间下还存在运行的资源,但该命名空间被删除时才会出现所谓的Terminating状态,这种情况下只要等待Kubernetes本身将命名空间下的资源回收后,该命名空间将会被系统自动删除。 但是在某些情况下,即使命名空间下没有运行的资源,但依然无法删除Terminating状态的命名空间的情况,它会一直卡在Terminating状态下。
编程时间:2022-01-18 点击:131
-
kubeflow 使用教程
可以看到新版的kubeflow多了很多功能。 这里按模块介绍下 Kubeflow 的几个核心组件。 Notebook Servers,作为一个管理线上交互实验的记录工具,可以帮助算法人员快速完成算法实验,同时notebook server 提供了统一的文档管理能力。 AutoML,提供自动化的服务,对特征处理、特征选择、模型选择、模型参数的配置、模型训练和评估等方面,实现了全自动建模,降低算法人员手动实验次数。 Pipeline,提供一个算法流水线的工程化工具,将算法各流程模块以拓扑图的形式组合起来,同时结合 argo 可以实现 MLOps。 Serverless,将模型直接发布成一个对外的服务,缩短从实验到生产的路径
编程时间:2022-01-10 点击:448
-
国内环境一键安装 Kubeflow 1.3
由于国内网络问题,Kubeflow 通常安装都是各种磕磕碰碰,以一颗为广大人民谋福利的心,这里提供中国的本地镜像版(阿里云镜像/dockerhub)的安装。 同时这里汇总了一些kubeflow的中文教程资料供大家参考。
编程时间:2022-01-07 点击:576
-
golang 内存管理
编写过C语言程序的肯定知道通过malloc()方法动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。 除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jemalloc。二者在避免内存碎片和性能上均比glibc有比较大的优势,在多线程环境中效果更明显。 Golang中也实现了内存分配器,原理与tcmalloc类似,简单的说就是维护一块大的全局内存,每个线程(Golang中为P)维护一块小的私有内存,私有内存不足再从全局申请。 另外,内存分配与GC(垃圾回收)关系密切,所以了解GC前有必要了解内存分配的原理。
编程时间:2021-12-18 点击:198
-
Roaringbitmap 算法介绍
Roaringbitmap属于是位图的一个进化,即压缩位图,不过在roaringbitmap中不只包含bitmap这一种数据结构,而是包涵了多种存储的方式,以此来达到压缩位图的目的,具体的存储方式下面会讲到。在实际的业务当中我们可以使用roaringbitmap来存储用户的属性标签,增删改查这些属性标签等,以及根据这些存储的用户的标签通过并集,交集等方法来筛选出特定的用户。
编程时间:2021-12-10 点击:249
-
Ristretto 源码分析
ristretto 在并发方面的设计,使用了BP-Wrapper的并发技巧,引入了环形缓冲区。数据一致性方面采用的是弱一致. 最终一致.更新缓存后立马查询不保证是最新的数据.
技术干货时间:2021-12-09 点击:310
-
如何判断一个元素在亿级数据中是否存在?
最近有朋友问我这么一个面试题目: 现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。 需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。 Bloom Filter 基于上面分析的条件,要实现这个需求最需要解决的是如何将庞大的数据 load 到内存中。 而我们是否可以换种思路,因为只是需要判断数据是否存在,也不是需要把数据查询出来,所以完全没有必要将真正的数据存放进去。 伟大的科学家们已经帮我们想到了这样的需求。 Burton Howard Bloom 在 1970 年提出了一个叫做 Bloom Filter(中文翻译:布隆过滤)的算法。 它主要就是用于解决判断一个元素是否在一个集合中,但它的优势是只需要占用很小的内存空间以及有着高效的查询效率。 所以在这个场景下在合适不过了。
技术干货时间:2021-11-29 点击:167