Gunicorn部署pyzbar程序 最近组里的小伙伴,搞条形码识别,没搞定,我简单写了个识别的程序,然后用Gunicorn 部署了下,很有参考意义。为了满足可扩展性(后续增加OCR、图像处理等功能)和内网部署的需求,使用 FastAPI 作为 Web 框架(因为它性能高、开发快、原生支持异步),配合 Gunicorn 作为 WSGI/ASGI 服务器进行部署。 整个小项目遵循了分层架构(路由层、业务层、工具层),这样以后要 2025-11-28 Python #AI Gunicorn Uvicorn Python
利用Colab玩转Onnx——包括可以同时编写和运行Python和C++代码 公司没有提供带显卡的笔记本(贼抠门),也不敢瞎用公司的服务器显卡,双十一犹豫了半天也没买新电脑(经济下行啊)。但是最近有点迷AI部署,所以想到了用Colab,试试能不能搭建Onnx环境,没想到可以。 Colab 本质上是一个运行在 Google 服务器上的 Ubuntu Linux 虚拟机,它预装了 C++ 编译器(如 g++)。 我们将通过以下步骤实现: 挂载 Google Drive:用于访 2025-11-15 AI #Onnx Colab CXX
brpc编译环境搭建 众所周知,C++编译是个大难题,之前的brpc环境学习环境是放在公司电脑的,现在在自己电脑的虚机Ubuntu16.04上,重新搭建个学习环境。以下是艰苦奋战的结果。 升级 CMake以下是升级 CMake 的详细步骤: 1. 检查当前版本先确认当前系统已安装的 CMake 版本: 1cmake --version 2. 从官方网站下载最新版本访问 CMake 官方下载页面 选择适合你的系统版 2025-01-02 CXX #brpc CXX
协程调用系统函数会发生什么? 前几天被人问及协程调用系统函数会发生什么,这个问题还是很有趣的,不同的语言和模型实现的机制会有所不同,今天特地用几种流行的语言实现研究了一下,结果也是非常有趣。 在协程中调用系统调用函数是否成功,取决于以下几个因素: 系统调用的类型(阻塞/非阻塞)。 协程的实现机制(用户态、内核态,或者语言特性)。 语言运行时及其调度模型。 不同语言和运行时对协程的实现差异会导致行为不同。 2024-11-16 Coroutine #Coroutine 系统调用
MySQL的常用查询语句集锦 最近参加了一些传统企业的面试,通常都会写一份笔试题,和大厂不一样,他们是真的笔试题(纸质试卷,考察技术基础题:比如语言特性、计算机体系结构、SQL等),虽然说是技术基础,但是很多题目难度还是很高的,比如MySQL的查询语句,不仅考察基础知识,还考察如何解决复杂的业务问题。故此,我翻阅了一些博客和书籍,记录了一些典型的MySQL查询场景,提供建表语句和解答,而且难度是依次递增,非常有趣。 1. 查询 2024-11-13 MySQL #MySQL
生成器在Python和Java中的实践 AI训练的代码中,包括很多教学代码,有很多Python的生成器实践(尤其李沐的课件),但是Web端写日常业务到是很少用到,就顺手查了一下资料,比较了一下各自的实现方式和原理。 Python 中的生成器Python 生成器使用 yield 关键字和协程特性,能够在延迟计算的基础上节省内存并实现流式处理。生成器的实现基于协程(Coroutine)机制,使得函数可以暂停和恢复,从而可以在迭代过程中按需生 2024-10-30 Python #Python Java Generator 生成器
SPI在MySQL JDBC Connector 和 Flink Table Connector的实践 最近在看Flink的时候,发现 Flink Table Connector也是使用了SPI技术的,结合很早之前MySQL JDBC Connector的使用,将两者的SPI实践记录下这篇文章。 1. Java SPI 技术概述Java SPI(Service Provider Interface)是一种机制,允许模块化开发和服务提供者的动态加载。通过 SPI,可以在运行时发现和加载实现特定接口的服 2024-10-27 Java #SPI Flink MySQL
Java并发——管程模型 最近在翻操作系统的资料的时候,看到信号量和管程,联想到JDK的实践,记录一下管程的一些思想。操作系统的话,南大蒋炎炎老师的课不错,有时间实践完,后续全面记录一下心得。 管程(Monitor)是一种用于同步并发程序中线程访问共享资源的机制,它提供了对临界区的自动管理,避免了线程之间的竞争条件。不同的管程模型在处理同步和线程唤醒方面有差异,主要有三种经典模型:Hasen 模型、Hoare 模型 和 M 2024-10-22 并发编程 #并发 管程
分布式文件系统——FastDFS和HDFS的一些比较 最近发现很多开发很喜欢问分布式存储相关的问题,下面简单记录下目前我自己使用比较多的两种开源分布式文件系统。 适用场景FastDFS 和 HDFS 是常用的分布式文件系统组件,它们各自具有不同的设计理念和应用场景。以下是两者的对比分析,以及简单的代码使用示例。 1. FastDFS优点: 高效的文件上传和下载:FastDFS 适用于文件大小较小且需要高效上传/下载的场景,尤其是需要文件的快 2024-10-16 分布式文件存储 #FastDFS HDFS
TBB和Java并行库的一些对比 最近看到TBB的一些资料,然后自然而然地想到了java的一些并行库,就记录了两者的一些简单的比对。 在 C++ 中,Intel TBB(Threading Building Blocks)提供了一套高效的并行编程模型,而在 Java 中,也有丰富的并发库供开发者使用,比如 ForkJoinPool、CompletableFuture、Stream.parallel() 等。通过对这两者的功能进行比 2024-10-16 C++ #C++ Java