草庐IT

三十分

全部标签

SSE图像算法优化系列三十二:Zhang\Guo图像细化算法的C语言以及SIMD指令优化

    二值图像的细化算法也有很多种,比较有名的比如Hilditch细化、Rosenfeld细化、基于索引表的细化、还有Opencv自带的THINNING_ZHANGSUEN、THINNING_GUOHALL喜欢等等。这些都属于迭代的细化方式,当然还有一种是基于二值图像距离变换的细化方法,二值想比较,我个人认为是基于迭代的效果稳定、可靠,但是速度较慢,且速度和图片的内容有关,基于距离变换的版本,优点是速度稳定,但是效果差强人意。本文这里还是选择基于迭代的方式予以实现。    相关的参考文章有:http://cgm.cs.mcgill.ca/~godfried/teaching/projects

我三十岁,在某公司

在某公司五年了。2022年的工作,分成两个阶段。四月份之前,我还在py小分队,四月份之后,风云大变,整个中心分崩离析,人员结构大幅变化。外包人员大部分都被辞退,近百人的部门缩减到了三十人左右,当然也有很多正式员工跳槽,当然这部分人显然是大佬,去了更好的公司。不过什么算更好的公司呢?或许不那么卷,行政效率没有那么低的公司吧。外企可能是最佳选择,或者还是更卷的互联网公司,谁知道呢。留下的,有能力的人为自己找了最好的退路,其余的人随遇而安了。我算哪种呢,当时自以为能力很强,于是在两个部门之间纠结:一个是很卷但是项目很多能锻炼能力的部门,我本来就会被组织分到这个部门;另一个是挣钱能力公司最强,但是技术

我三十岁,在某公司

在某公司五年了。2022年的工作,分成两个阶段。四月份之前,我还在py小分队,四月份之后,风云大变,整个中心分崩离析,人员结构大幅变化。外包人员大部分都被辞退,近百人的部门缩减到了三十人左右,当然也有很多正式员工跳槽,当然这部分人显然是大佬,去了更好的公司。不过什么算更好的公司呢?或许不那么卷,行政效率没有那么低的公司吧。外企可能是最佳选择,或者还是更卷的互联网公司,谁知道呢。留下的,有能力的人为自己找了最好的退路,其余的人随遇而安了。我算哪种呢,当时自以为能力很强,于是在两个部门之间纠结:一个是很卷但是项目很多能锻炼能力的部门,我本来就会被组织分到这个部门;另一个是挣钱能力公司最强,但是技术

十分钟学会Golang开发gRPC服务

gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用ProtocolBuffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持。Golang开发gRPC应用程序的套路也已经很清晰,这篇文章就来做一个简单的介绍,算是入门。1、安装protoc这个工具也称为proto编译器,可以用来生成各种开发语言使用proto协议的代码。下载地址:https://github.com/protocolbuffers/protobuf/releases一般下载最新版本就行,注意要符合自己当前的操作系统。解压后里边有个protoc.exe,拷贝到

十分钟学会Golang开发gRPC服务

gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用ProtocolBuffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持。Golang开发gRPC应用程序的套路也已经很清晰,这篇文章就来做一个简单的介绍,算是入门。1、安装protoc这个工具也称为proto编译器,可以用来生成各种开发语言使用proto协议的代码。下载地址:https://github.com/protocolbuffers/protobuf/releases一般下载最新版本就行,注意要符合自己当前的操作系统。解压后里边有个protoc.exe,拷贝到

学习ASP.NET Core Blazor编程系列三十——JWT登录(4)

学习ASP.NETCoreBlazor编程系列文章之目录学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习ASP.NETCoreBlazor编程系列三——实体学习ASP.NETCoreBlazor编程系列五——列表页面学习ASP.NETCoreBlazor编程系列七——新增图书学习ASP.NETCoreBlazor编程系列八——数据校验学习ASP.NETCoreBlazor编程系列十三——路由(完)学习ASP.NETCoreBlazor编程系列十五——查询学习ASP.NETCoreBlazor编程系列

学习ASP.NET Core Blazor编程系列三十——JWT登录(4)

学习ASP.NETCoreBlazor编程系列文章之目录学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习ASP.NETCoreBlazor编程系列三——实体学习ASP.NETCoreBlazor编程系列五——列表页面学习ASP.NETCoreBlazor编程系列七——新增图书学习ASP.NETCoreBlazor编程系列八——数据校验学习ASP.NETCoreBlazor编程系列十三——路由(完)学习ASP.NETCoreBlazor编程系列十五——查询学习ASP.NETCoreBlazor编程系列

十分钟彻底理解 Redis 的持久化和主从复制

什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示:这样做有什么问题呢?其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。对于只把Redis当缓存来用的项目来说,数据消失或许问题不大,重新从数据源把数据加载进来就可以了,但如果直接把用户提交的业务数据存储在Redis当中,把Redis作为数据库来使用,在其放存储重要业务数据,那么Redis

十分钟彻底理解 Redis 的持久化和主从复制

什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示:这样做有什么问题呢?其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。对于只把Redis当缓存来用的项目来说,数据消失或许问题不大,重新从数据源把数据加载进来就可以了,但如果直接把用户提交的业务数据存储在Redis当中,把Redis作为数据库来使用,在其放存储重要业务数据,那么Redis

为什么平均等待时长对于数据库运维十分关键

​昨天我谈到第二次使用人大金仓数据库的时候,能够从可观测性接口中获得等待事件的等待时间信息,感受到了数据库在易用性上的进步。有些朋友十分不解,不就是等待时间的长度数据采集吗?有这么重要吗!说实在的,运维人员获得数据库的等待事件的等待时长,是比重要还要重要的。我们很容易从数据库中获得等待事件的次数,等待事件次数统计对于数据库内核来说,实现起来并不麻烦,只要维护一个内存数据结构,通过轻量级锁来保护这个内存结构就可以了。数据库的会话可以通过向数组累计统计数据来获得这些统计数据。甚至很多数据库根本不需要统计等待次数,只需要在会话信息中增加一些等待事件的相关数据项就可以了。每个会话都会维护自己的会话状态