最新发布 第2页

Alan Hou的个人博客用行动赢得尊重

Coding

如何编写内存高效及CPU调优的Go结构体

如何编写内存高效及CPU调优的Go结构体
结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构体类型定义方法来实现不同的行为。本文会尝试从内存利用和CPU周期的角度讲解如何高效编写struct。我们来看下面这一结构体,这是我们一个奇怪用例所定义的terraform资源类型: ty……继续阅读 »

Alan 2个月前 (07-26) 160浏览 0评论0个赞

Python

Python进阶系列三:字典和集合

Python进阶系列三:字典和集合
Python 基本就是一堆封装着语法糖的字典。-Lalo Martins,早期数字游民和 Python 专家在所有的Python程序中都会使用到字典。即便没在代码中直接使用,也是间接用到,因为dict类型是Python实现的一个基础。类和实例发不发、模块命名空间以及函数关键词参数都是在内存以及字典表示的核心Python结构。__builtins__.__……继续阅读 »

Alan 3个月前 (06-24) 267浏览 2个赞

Coding

【Rust编程第2版】第2章 Rust编程语言之旅

【Rust编程第2版】第2章 Rust编程语言之旅
Rust给作者写书带来了挑战:这种语言的特点不是可以放在一页纸中吹嘘的某一个具体牛逼的特性,而是其精巧设计的每个部分共同平滑实现最后一章所提出的目标:安全、高性能编程。语言的每一部分都与其它部分进行了完美的结合。因此我们不是先一个个讲解语言特性,而是准备了一些小而完整的程序,每个程序都会涉及到语言的一些特性:热身程序里对命令行参数进行简单运算,同时包含……继续阅读 »

Alan 3个月前 (06-17) 397浏览 0评论0个赞

Odoo

第八章 Odoo 15开发之业务逻辑 – 业务流程的支持

第八章 Odoo 15开发之业务逻辑 – 业务流程的支持
在前面的文章中,我们学习了如何使用模型层构建应用数据结构,然后使用ORM API 和记录集查看和操作这些数据。本章中,我们把前面所学串到一起实现一些应用中常见的逻辑模式。我们会学习一起触发业务逻辑的方式,以及支撑这些方式的一些常见模式。我们还将学习一些重要的开发技巧,如打日志、调试和测试。本章的主要内容有学习项目-图书借阅模块触发业务逻辑的方式理……继续阅读 »

Alan 4个月前 (06-11) 2589浏览 3评论9个赞

Odoo

第七章 Odoo 15开发之记录集 – 使用模型数据

第七章 Odoo 15开发之记录集 – 使用模型数据
在前面的章节中,我们概览了模型创建以及如何向模型加载数据。现在我们已有数据模型和相关数据,是时候学习如何编程与其进行交互了。业务应用需要业务逻辑来计算数据、执行验证或自动化操作。Odoo框架API为开发者提供了工具用于实现这种业务逻辑。大多数时候是查询、转换及写入数据。Odoo在底层数据库之上实现了一个ORM(对象关系映射)层。ORM提供了API(应用程……继续阅读 »

Alan 4个月前 (06-05) 876浏览 0评论3个赞

Odoo

第六章 Odoo 15开发之模型 – 结构化应用数据

第六章 Odoo 15开发之模型 – 结构化应用数据
本章我们更进一步学习模型层,以及如何使用模型来设计支撑应用的数据结构。我们会探讨可用的模型类型,以及在使用这些类型时如何定义强制进行数据验证的约束。模型由支持不同数据类型的数据字段组成,一些字段类型支持定义模型间的关联。对于字段更高级的使用包含使用具体的业务逻辑自动计算的值。本文的主要内容有:学习项目 – 优化图书应用创建模型创建字段……继续阅读 »

Alan 4个月前 (05-28) 888浏览 0评论3个赞

Odoo

第五章 Odoo 15开发之导入、导出以及模块数据

第五章 Odoo 15开发之导入、导出以及模块数据
大多数Odoo 模块的定义,如用户界面和权限规则,实际是存储在对应数据表中的数据记录。模块中的 XML 和 CSV 文件不是 Odoo 应用运行时使用,而是将这些定义加载到数据表的手段。正是因为这个原因,Odoo 模块的一个重要部分是在文件中放入数据以便插件安装时将其加入数据库。此外,掌握Odoo的数据展现的格式对于在项目实施时导入、导出业务数据也很重要……继续阅读 »

Alan 4个月前 (05-20) 891浏览 0评论5个赞

Odoo

第四章 Odoo 15开发之模块继承

第四章 Odoo 15开发之模块继承
Odoo 的一项强大之处是无需直接修改所扩展模块的代码即可添加功能。这都归功于与自身代码组件相独立的功能继承。对模块的扩展可通过继承机制实现,以已有对象的修改层的形式。这些修改可以发生在每个层面,包括模型、视图和业务逻辑层面。我们不是直接修改原有模块,而是新建一个模块,采用所要做的修改在已有模块上新增一层。上一章讲解了如何从零开始创建应用。本章中我们将学习……继续阅读 »

Alan 5个月前 (05-14) 926浏览 0评论4个赞

Odoo

第三章 Odoo 15开发之创建第一个 Odoo 应用

第三章 Odoo 15开发之创建第一个 Odoo 应用
Odoo 开发通常都需要创建自己的插件模块。本文中我们通过创建首个Odoo应用,学习在 Odoo 中显示、安装应用的步骤。我们将从开发工作流的基础学起,即创建、安装新模块,然后升级开发迭代中更新的代码。Odoo 采用类 MVC(Model-View-Controller)的架构,我们会深入到各层来实现一个图书应用。本文主要包含以下内容:图书项目总览……继续阅读 »

Alan 5个月前 (05-06) 1727浏览 3评论3个赞

Coding

Redis 的学习总结

Redis 的学习总结
Redis 使用一个哈希表来保存所有键值对,这个哈希表,其实就是一个数组,数组的每个元素称为一个哈希桶。哈希桶中的元素保存的并不是值本身,而是指向具体值的指针。集合类型的底层数据结构主要有 5 种:整数数组、双向链表、哈希表、压缩列表和跳表。Redis 单线程是指它对网络 IO 和数据读写的操作采用了一个线程,而采用单线程的一个核……继续阅读 »

Alan 5个月前 (04-29) 369浏览 0评论0个赞