文章

向量数据库实际使用价值

首先至少我自己在网上找到的关于向量数据库的说明文章基本上可以说是装B大集合,没有一个文章是为了给你讲清楚啥是向量数据库,它有什么用。很多文章我甚至都觉得作者自己都不知道自己在讲什么,经常出现用概念A去解释概念B,简直了,过于浮夸。好像写篇博文就是为了满足自己的装B需求,实际上这种行为在我看个就是各跳…

NextCloud Talk机器人如何操作

前言 NextCloud生态在私有网盘和个人、小型团队办公上算的是目前开源社区最NB的产品了,其中的Talk应用在功能性上超越了Mattermost和JSTI等众多竞品,虽然在细分功能上有所差异但是算得上是全面且高效的会议应用了。 既然都在使用个人Talk应用了,我们肯定是希望能够集成大多是消息通知…

新版GITLAB的external_url巨坑

如果使用新版本的gitlab-ce同时修改external_url使用https进行访问那么gitlab的服务会自动切换至443端口,并且如果没有提供有效的证书它甚至会去申请Let’s Encrypt的甚至,这尼玛就离谱。 (PS:具体哪个版本开始就这样了我也不知道,我使用的17.0.0…

搭建基于云的开发环境

前期调研 我今年在家里搞了一台二手的服务器,那么既然搞了一台家用服务器那必须把它的能力给激发出来,除了当做NAS之外我还装了不少虚拟机和容器服务,不要搞错了,你在网上看到的各类NAS领域的博主和我比简直就差远了,这么说吧我本来64G内存,后面发现完全不够用,你想象一下64G内存不够用是个什么情况,一…

只有神才能写出的代码

神也是人,只不过他做到了人做不到的事——阿木 上面这段代码不知道是否有人知道?在这段代码之中的最为人津津乐道的是这一句:i = 0x5f3759df - ( i >> 1 ); // what the fuck? 包括里面的注释那句经典的what the fuck? 足以发现写出这段代码…

免费的Let’s Encrypt证书

一个比较离谱的事情发生了,我每年在阿里云搞得免费证书现在有效期只有3个月,相当于我TM每三个月就要去手动更新一下证书,之前的博客也写了SSL这个东西简直就是一本万利的事情(局域网内搭建浏览器可信任的SSL证书),这种完全不能忍,所以拜拜了资本家,老子不用你了,免费证书不香吗? Let’s…

程序员如何摆脱低价值工作?

1、前言 受生活所迫,我在去年年初离开了原始的创业团队,进入到一家上市公司担任技术经理。值得庆幸的事情是我在原来的小公司做到了技术总监岗位,一方面自身技术栈发展非常全面(什么都懂但是不精通),另一方面在项目管理与公司运行角度我有一定的理解(屁股决定脑袋)。所以当前工作下无论是技术问题、还是管理上东西…

如何备份LongHorn的PVC

前言 之前我们使用的是Velero实现基于K8S云原生的备份技术(点击查看博文),其实不是不能用只是它有点傻逼。主要的问题有这么几个: PVC备份必须和pod一起备份,内部除开PVC里面的数据外面pod的环境变量、镜像等统统去备份了一波,虽然符合云原生的定位但是灵活度极差。 使用命令行操作,可以说极…

Deck.gl绘制三维地下管道

1.背景 写这个文档不是为了让大家来抄代码,而是给出绘制地下管道的思路和理论基础,坦白的说授之于鱼不如授之于渔,当你理解底层原理之后画个管道不是什么难事还有其他很大的想象空间,技术上的原理我尽量写详细一点,让开发者能够明白里面到底在干啥。 首先由于项目需要,我们想要在WebGIS上实现地下管道的绘制…

vue集成lib-jitsi-meet

开源了一个Demo项目,这里完成了lib-jitsi-meet集成到VUE框架,并且正常跑了起来,目的是为了开发者能够快速上手 lib-jitsi-meet搭建自己的WebRTC音视频体系。项目地址:https://github.com/tan9710630/vue-jitsi-meet,如果有帮到…

局域网内搭建浏览器可信任的SSL证书

首先是为什么要干这个事情,你可能会说随便搞个自签名证书难道不能用吗?答案是还真的不能用,的确对于开发来说搞个自签名的证书就行了。但是一旦放到生产环境浏览器对证书有效性进行验证的时候便是不可信状态,这时就必须要用户点击一下继续访问,但是对于我们即将实施项目的自动化要求来说没法这样干。你可能又会说了现在…

WebRTC颠覆软件体系的一项技术

本文通过收集基础信息与相关技术,并且进行实际验证之后得到的研发方向与技术结论可以说存在一定程度上的认知颠覆性。并且WebRTC技术成为标准的周期不长当前在世界范围内的应用可以说屈指可数;同时WebRTC存在一定的技术门槛,对其有一定了解的技术型公司普遍分布在流媒体领域,应用上分布在在监控、直播、视频…

基于Velero的集群备份与迁移技术

原始技术选型 首先是集群必须要使用至少一项备份技术,一方面基于NFS存储在小规模集群下的应用已经可以得到比较稳定表现。但是存储终归是在单一节点上,一旦出现硬盘问题或者其他软硬件问题便会导致数据丢失。即便是之前我们使用的各种分布式存储技术都可以做到数据冗余备份,一定程度上数据还要安全一点。特别是数据存…

私有云集群的技术方案

前言 虚拟化技术是对多服务器管理的核心技术,可以说是必不可少的一项关键点。任何数据中心但凡对超过一台物理机进行管理如果没有虚拟化技术支持那么该数据中心便只能提供基本的软件服务,任何系统服务的编辑与修改势必会影响其他系统服务的运行导致系统无法实现大规模修改;即便是上了K8S架构实现集群也会受限制于Li…

Flowable引擎的使用

技术选型 工作流引擎目前开源上可以选的就只有activiti、flowable、camunda三种,当然除了activiti它们都有商用版本,而且flowable与camunda都是从activiti之中分裂出来的子项目,也是NB。但是目前从技术选型角度考虑,我们公司后续发展或者项目情况来看BPMN…

报表引擎的使用

技术选型 我们公司初步定义了一套完整的报表引擎,从开源软件到商用软件都进行综合的比较。先说开源部分可以说是惨不忍睹,基本上没有一个完整的方案都是各个工具化的组件很难满足系统使用。商用的比较突出的两个分别是帆软FineReport、RDP报表引擎,其中帆软功能突出且非常完整但是价格较高,RDP功能相对…

ETL引擎Kettle的使用

技术选型 在选型上工作流引擎基本上是一个没法选的状态,开源的除了kettle之外基本上是完蛋的状态,不完善。商用的形成了完善ETL功能的基本上全部都完成了Pass系统我们集成上会非常难受所以没有什么好选的基本上上就是kettle了。 项目集成 集成上采用了最简单的方案由项目代码自行进行调度,任务执行…

GIT分支管理办法

远程仓库 分支约束 远程仓库只允许出现五种类型的分支: 主分支:项目的主要分支也就是master分支。用于正式发布,该分支禁止任何人直接提交,提交合并请求由对应项目主管人员确认合并。 开发分支:项目的开发迭代分支,用于开发发布,常规开发任务的代码直接提交至该分支或者由临时分支合并至该分支。 测试分支…

Mapbox结合Deck.gl的高级着色器应用

前言 这篇文件不是简单告知大家本文的效果怎么实现,而是给出一个能够实现复杂效果的思路与手段,实现本文描述的效果不算什么复杂的事情,但是在这个基础之上拓展进而形成自己的效果甚至更加复杂的效果才是这个文章的目的,所以实际掌握本文所描述的方法才是重点效果反倒不是那么重要。 一般来讲我很少将这些东西写出来原…

UniAPP使用原生DOM API

原始问题 首先是为什么要搞这个东西,本质原因在与UniAPP团队的SB设计,为了兼容APP、各种小程序与H5多端打包所以全平台采用去DOM化的设计思路(主要是兼容小程序),限制了开发者直接操作DOM对象,他使用的VUE在打包之后也只能作用于框架的组件。 这样导致的问题就是无法对DOM对象进行自定义结…