注视点渲染Foveated rendering是什么
Foveated rendering听起来好像是非常复杂的技术。但实际上注视点(foveation)的底层概念非常直接。使用人注视屏幕的信息,可以减少生成场景的运算资源,方式是使用高分辨率渲染人眼观看的小区哉,而场景外的其它区域(人的四周)采用更小的分辨率和更少的细节。注视点渲染主要用于显示技术,如VR头显和AR眼镜,对些场景资源优化至关重要。本文中作者会……
Foveated rendering听起来好像是非常复杂的技术。但实际上注视点(foveation)的底层概念非常直接。使用人注视屏幕的信息,可以减少生成场景的运算资源,方式是使用高分辨率渲染人眼观看的小区哉,而场景外的其它区域(人的四周)采用更小的分辨率和更少的细节。注视点渲染主要用于显示技术,如VR头显和AR眼镜,对些场景资源优化至关重要。本文中作者会……
本例选择了《天空之城》的25张照片,组成5×5的照片墙)。首先我们在setupContentEntity方法中构建了一个纹理数组,将这25张照片添加到数组images中。其中封装了setup方法,借助于visionOS对沉浸式空间的支持,我们创建了三个平面,组成具有立体感的照片墙。在setup方法中调用了addChildEntities,对ima……
我们在Day 8中演示了attachment的实现,本节的知识点是portal。portal相当于哆啦A梦里的任意门,它让我们可以打开另一个世界,这个世界独立于当前的世界,具有单独的光照系统并且由portal几何图形进行遮罩。要创建portal,首先就需要创建一个世界(makeWorld),在其中可以添加自己的实体。接着创建portal并将其关联至刚刚创建……
本节我们开始初探在visionOS中添加动画效果,我们的入口文件和ContentView和Day 6中并没有什么区别,所以重点来看ViewModel和ImmersiveView。首先是ViewModel.swift文件: import SwiftUIimport RealityKitclass ViewModel:……
在之前的学习中我们在空间中添加了3D模型,但在初始摆放后就无法再对其进行移动或做出修改。本节我们在Day 5显示和隐藏的基础上让我们模型可以实现拖拽效果,同时对纯色的立方体实现点击随机换色的功能。首先是入口文件,无需做出改变, import SwiftUI@mainstruct visionOSDemoApp: A……
在Day 4中我们使用了ImmersiveSpace并在其中添加了一个立方体,但对这个立方体我们只配置了长宽高,并没有做进一步的操作。本文中我们会通过纹理和材质对这个立方体的六个面分别进行不同的绘制。首先我们将ImmersiveView分拆出来,先新建一个ImmersiveView.swift文件,这是一个视图文件,所以请选择User Interface下……
细心的读者会发现在在Day1和Day2的示例中我们使用的都是WindowGroup。 @mainstruct visionOSDemoApp: App { var body: some Scene { WindowGroup { ContentView() ……
多模态大语言模型世界已然很丰富, 图片领域前有Midjourney,后有DALL·E的追赶,开源界还有Stable Diffusion垫后。视频领域Runway的Gen 2一骑绝尘,也不乏大量的追赶者,Deforum配合Stable Diffusion也可实现文生视频。今天我们探讨的是3D模型,如果未来增强现实以及Apple所倡导的空间计算能够走入大众市场,……
我们在Day1中学习了如何创建一个visionOS应用,但在第一个Demo应用中我们的界面内容还是2D的,看起来和其它应用并没有什么区别。接下来我们先学习如何展示3D素材,苹果为方便开发人员,推出了RealityKit,接下来看如何使用。首先我们需要一个3D素材,Apple在Quick Look页面提供了一些素材,读者也可以到Sketchfab等网站获取其……
本章讲解如何创建视图实现业务应用的用户界面。Odoo用户界面首当其冲的是菜单项以及点击菜单所执行的各种操作,因此我们首先会学习这些内容。最常用的视图类型是表单视图,有几种元素我们必须要学习,包含如何在视图中组织元素布局以及理解字段和按钮中的所有选项。其它常用的视图有列表视图和搜索视图。最后,还有一些具有特殊目的的其它视图类型,比如透视表和图表视图。在本章……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记图片如今,个人设备主要用于处理图片、视频和声音,苹果的设备也不例外。SwiftUI可以通过Image视图显示图片,但需要其它框架的支持来处理图片、在屏幕上展示视频或是播放声音。本章中我们将展示Apple所提供的这类工具。图片选择器SwiftUI内置了一个Photo……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记苹果系统借助现代处理器的多核可同步执行多条代码,提升同一时间内程序所能执行的任务。例如,一段代码从网上下载文件,另一段代码可以在屏幕上显示进度。此时,我们不能等待第一个执行完后再执行第二个,而必须要同步执行这两个任务。要并行处理代码,系统将代码单元分组成任务。在Swi……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记安装截至目前visionOS还未在Xcode稳定版中开放,所以需要下载Xcode Beta版。比如我们可以下载Xcode 15.1 beta 2,注意Xcode 15要求系统的版本是macOS Ventura 13.5或更新,也就是说2017年的MacBook Pro……
2023年11月8日 Odoo 17已正式发布,本次图标上做了较大更新,坦白说我个人不太适应,觉得设计不如之前的版本。安装脚本(非官方):https://github.com/Yenthe666/InstallScript。很可能不会有Odoo 16和 Odoo 17的《开发手册》和《开发指南》的出版了,一方面 Daniel Reis 没有回应新书的撰写……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记App可以让用户访问网页,但实现的方式有不止一种。我们可以让用户通过链接在浏览器中打开文档、在应用界面中内嵌一个预定义的浏览器或是在后台下载并处理数据。链接链接是一个关联表示文档位置的文本或图片。在用户点击链接时打开文档。链接设计之初用于网页,但我们可以将其插入应用……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记SwiftUI是一套新框架,因此并没有包含我们构建专业应用所需的所有工具。这意味着我们会需要求助于UIKit(移动设备)和AppKit(Mac电脑)等原生框架所提供的工具。我们已介绍过UIKit。它是一套SwiftUI在后台实现用于创建大部分视图和控件的框架。有些UI……
其它相关内容请见虚拟现实(VR)/增强现实(AR)&visionOS开发学习笔记苹果的产品遍布一百多个国家,使用几十种语言和方言发行应用,但通常我们只能创建一个版本的应用,所以就需要对不同市场进行适配。这不仅仅是翻译,还有用户界面中元素的排列、数字的格式等等。这一客制化的过程称为本地化。在SwiftUI中,大多数本地化会自动完成。例如,SwiftU……
本文中我们学习如何创建一个iOS应用,让用户可以 点击屏幕将3D内容放到真实环境中。读者将学习如何将3D资源文件加载到RealityKit实体中,并将其锚定到真实世界的物理位置。本指南的最后有应用完整版的下载链接。创建一个增强现实应用打开Xcode,点击Create a new Xcode project。会弹出一个窗口,选择Augmented Re……
前言AR框架的一个核心是含能够理解特征的场景和各种类型的锚点。锚点有很多种,可根据特定场景来摆放3D模型 ,甚至可以真人来做距离测量(ARBodyAnchor)。并且这些框架不容忽视的优势是具有进行场景重建和人形遮挡(occlusion)的32位尝试数据。事实上,AR框架的大部分新功能都增强了AR体验质量。硬件也是如此,苹果全新的U1和R1芯片就带来了AR……
本文讨论近期发布的Java 21。其中新增了一个主要特性,虚拟线程(virtual thread),近期话题不断,我们都知道Golang的协程提供了很好的并发功能。那么就来探讨一下Java 21和 Go 语言中相应的功能。Golang的协程和Java 21的虚拟线程都是用于构建轻量执行线程的并发技术。它们具有一些相似的特性,但也有着非常大的区别。下面就……
您已发表176条评论。
日期时间 | Points | 类别 | 状态 | 描述 |
---|---|---|---|---|
2019-01-30 14:15:08 | 0 | accepted | comment_posted_203961 | |
2019-02-09 11:16:00 | 0 | accepted | comment_posted_203977 | |
2019-02-09 11:17:58 | 0 | accepted | comment_posted_203978 | |
2019-02-10 04:13:49 | 0 | accepted | comment_posted_203981 | |
2019-02-10 07:42:20 | 0 | accepted | comment_posted_203983 | |
2019-02-11 08:01:50 | 1 | 充值 | accepted | comment_approved_203983 |
2019-02-14 01:36:17 | 0 | 充值 | accepted | comment_posted_204011 |
2019-02-15 13:41:31 | 0 | 充值 | accepted | comment_posted_204017 |
2019-02-18 04:10:47 | 0 | 充值 | accepted | comment_posted_204028 |
2019-02-19 04:34:38 | 0 | 充值 | accepted | comment_posted_204031 |
2019-02-22 17:40:31 | 0 | 充值 | accepted | comment_posted_204043 |
2019-02-25 15:46:07 | 0 | 充值 | accepted | comment_posted_204053 |
2019-02-28 14:24:13 | 0 | 充值 | accepted | comment_posted_204064 |
2019-03-01 07:24:42 | 0 | 充值 | accepted | comment_posted_204067 |
2019-03-07 23:32:12 | 0 | 充值 | accepted | comment_posted_204078 |
2019-03-07 23:34:02 | 0 | 充值 | accepted | comment_posted_204079 |
2019-03-08 09:18:01 | 0 | 充值 | accepted | comment_posted_204082 |
2019-03-08 09:44:40 | 0 | 充值 | accepted | comment_posted_204083 |
2019-03-08 12:29:01 | 0 | 充值 | accepted | comment_posted_204085 |
2019-03-12 06:31:34 | 0 | 充值 | accepted | comment_posted_204092 |
2019-03-12 15:55:08 | 0 | 充值 | accepted | comment_posted_204094 |
2019-03-15 15:24:29 | 0 | 充值 | accepted | comment_posted_204104 |
2019-03-16 01:57:32 | 0 | 充值 | accepted | comment_posted_204107 |
2019-03-22 07:15:53 | 0 | 充值 | accepted | comment_posted_204124 |
2019-03-22 07:46:10 | 0 | 充值 | accepted | comment_posted_204125 |
2019-03-24 09:01:55 | 0 | 充值 | accepted | comment_posted_204129 |
2019-04-08 05:06:08 | 0 | 充值 | accepted | comment_posted_204167 |
2019-04-11 02:58:27 | 0 | 充值 | accepted | comment_posted_204174 |
2019-04-21 00:09:40 | 0 | 充值 | accepted | comment_posted_204189 |
2019-04-23 03:56:57 | 0 | 充值 | accepted | comment_posted_204201 |
2019-04-29 12:40:08 | 0 | 充值 | accepted | comment_posted_204224 |
2019-05-02 06:28:00 | 0 | 充值 | accepted | comment_posted_204231 |
2019-05-08 01:14:24 | 0 | 充值 | accepted | comment_posted_204253 |
2019-05-08 01:20:18 | 0 | 充值 | accepted | comment_posted_204254 |
2019-05-11 03:05:01 | 0 | 充值 | accepted | comment_posted_204280 |
2019-05-11 03:06:49 | 0 | 充值 | accepted | comment_posted_204281 |
2019-05-11 03:08:17 | 0 | 充值 | accepted | comment_posted_204282 |
2019-05-12 03:44:48 | 0 | 充值 | accepted | comment_posted_204287 |
2019-05-15 08:47:18 | 0 | 充值 | accepted | comment_posted_204314 |
2019-05-18 07:40:58 | 0 | 充值 | accepted | comment_posted_204340 |
2019-05-20 07:16:13 | 0 | 充值 | accepted | comment_posted_204354 |
2019-05-28 13:32:51 | 0 | 充值 | accepted | comment_posted_204389 |
2019-05-30 10:10:47 | 0 | 充值 | accepted | comment_posted_204404 |
2019-06-03 15:34:17 | 0 | 充值 | accepted | comment_posted_204447 |
2019-06-24 07:49:18 | 0 | 充值 | accepted | comment_posted_204561 |
2019-06-24 11:35:58 | 0 | 充值 | accepted | comment_posted_204564 |
2019-07-02 14:48:57 | 0 | 充值 | accepted | comment_posted_204590 |
2019-07-02 14:50:36 | 0 | 充值 | accepted | comment_posted_204591 |
2019-07-02 15:03:05 | 0 | 充值 | accepted | comment_posted_204592 |
2019-07-03 02:05:59 | 0 | 充值 | accepted | comment_posted_204594 |
2019-07-04 12:53:59 | 0 | 充值 | accepted | comment_posted_204600 |
2019-07-06 01:08:41 | 0 | 充值 | accepted | comment_posted_204607 |
2019-07-10 07:26:31 | 0 | 充值 | accepted | comment_posted_204616 |
2019-07-16 23:35:36 | 0 | 充值 | accepted | comment_posted_204629 |
2019-07-19 05:52:28 | 0 | 充值 | accepted | comment_posted_204649 |
2019-07-24 01:22:39 | 0 | 充值 | accepted | comment_posted_204690 |
2019-07-24 23:44:57 | 0 | 充值 | accepted | comment_posted_204698 |
2019-07-27 12:36:15 | 0 | 充值 | accepted | comment_posted_204722 |
2019-07-31 13:29:51 | 0 | 充值 | accepted | comment_posted_204738 |
2019-08-13 10:28:13 | 0 | 充值 | accepted | comment_posted_204792 |
2019-08-13 10:36:27 | 0 | 充值 | accepted | comment_posted_204793 |
2019-08-13 10:38:53 | 0 | 充值 | accepted | comment_posted_204794 |
2019-08-13 10:41:52 | 0 | 充值 | accepted | comment_posted_204795 |
2019-08-15 03:47:08 | 0 | 充值 | accepted | comment_posted_204801 |
2019-08-16 08:14:37 | 0 | 充值 | accepted | comment_posted_204804 |
2019-08-19 05:52:18 | 0 | 充值 | accepted | comment_posted_204814 |
2019-08-21 13:28:23 | 0 | 充值 | accepted | comment_posted_204820 |
2019-08-23 06:08:52 | 0 | 充值 | accepted | comment_posted_204827 |
2019-08-28 06:05:47 | 0 | 充值 | accepted | comment_posted_204847 |
2019-08-28 06:15:46 | 0 | 充值 | accepted | comment_posted_204848 |
2019-08-31 12:53:40 | 0 | 充值 | accepted | comment_posted_204875 |
2019-09-02 09:39:50 | 0 | 充值 | accepted | comment_posted_204878 |
2019-09-02 09:46:57 | 0 | 充值 | accepted | comment_posted_204879 |
2019-09-04 07:31:04 | 0 | 充值 | accepted | comment_posted_204888 |
2019-09-23 23:31:56 | 0 | 充值 | accepted | comment_posted_205039 |
2019-09-28 13:58:46 | 0 | 充值 | accepted | comment_posted_205065 |
2019-10-05 08:35:47 | 0 | 充值 | accepted | comment_posted_205084 |
2019-10-07 14:55:03 | 0 | 充值 | accepted | comment_posted_205090 |
2019-10-13 02:28:52 | 0 | 充值 | accepted | comment_posted_205107 |
2019-10-15 13:18:20 | 0 | 充值 | accepted | comment_posted_205115 |
2019-10-20 02:55:26 | 0 | 充值 | accepted | comment_posted_205123 |
2019-10-20 10:22:05 | 0 | 充值 | accepted | comment_posted_205125 |
2019-10-23 01:57:19 | 0 | 充值 | accepted | comment_posted_205128 |
2019-10-24 10:09:09 | 0 | 充值 | accepted | comment_posted_205141 |
2019-10-24 10:11:02 | 0 | 充值 | accepted | comment_posted_205142 |
2019-10-25 10:55:47 | 0 | 充值 | accepted | comment_posted_205146 |
2019-10-27 09:46:44 | 0 | 充值 | accepted | comment_posted_205156 |
2019-11-27 23:27:40 | 0 | 充值 | accepted | comment_posted_205285 |
2019-11-28 02:12:43 | 0 | 充值 | accepted | comment_posted_205288 |
2019-11-28 03:50:51 | 0 | 充值 | accepted | comment_posted_205290 |
2019-12-20 07:56:13 | 0 | 充值 | accepted | comment_posted_205404 |
2019-12-26 01:45:51 | 0 | 充值 | accepted | comment_posted_205418 |
2019-12-30 12:38:35 | 0 | 充值 | accepted | comment_posted_205436 |
2020-01-10 03:16:50 | 0 | 充值 | accepted | comment_posted_205472 |
2020-01-13 02:48:15 | 0 | 充值 | accepted | comment_posted_205487 |
2020-01-19 14:26:21 | 0 | 充值 | accepted | comment_posted_205532 |
2020-01-22 12:31:53 | 0 | 充值 | accepted | comment_posted_205542 |
2020-01-31 02:02:50 | 0 | 充值 | accepted | comment_posted_205627 |
2020-01-31 10:17:50 | 0 | 充值 | accepted | comment_posted_205634 |
2020-02-09 14:50:34 | 0 | 充值 | accepted | comment_posted_205741 |
2020-02-10 11:35:21 | 0 | 充值 | accepted | comment_posted_205756 |
2020-02-11 09:49:52 | 0 | 充值 | accepted | comment_posted_205766 |
2020-02-18 13:43:31 | 0 | 充值 | accepted | comment_posted_205868 |
2020-03-14 08:03:51 | 0 | 充值 | accepted | comment_posted_206253 |
2020-03-16 05:26:54 | 0 | 充值 | accepted | comment_posted_206269 |
2020-03-18 01:34:41 | 0 | 充值 | accepted | comment_posted_206286 |
2020-03-22 16:11:13 | 0 | 充值 | accepted | comment_posted_206326 |
2020-03-27 09:17:00 | 0 | 充值 | accepted | comment_posted_206382 |
2020-03-31 08:15:11 | 0 | 充值 | accepted | comment_posted_206420 |
2020-04-06 01:42:16 | 0 | 充值 | accepted | comment_posted_206470 |
2020-04-06 14:49:12 | 0 | 充值 | accepted | comment_posted_206478 |
2020-04-06 23:35:22 | 0 | 充值 | accepted | comment_posted_206481 |
2020-04-07 08:26:12 | 0 | 充值 | accepted | comment_posted_206484 |
2020-04-07 12:49:03 | 0 | 充值 | accepted | comment_posted_206487 |
2020-05-10 13:08:15 | 0 | 充值 | accepted | comment_posted_206644 |
2020-05-10 13:09:44 | 0 | 充值 | accepted | comment_posted_206645 |
2020-06-09 11:43:08 | 0 | 充值 | accepted | comment_posted_206828 |
2020-06-09 11:44:31 | 0 | 充值 | accepted | comment_posted_206829 |
2020-06-13 08:22:41 | 0 | 充值 | accepted | comment_posted_206837 |
2020-06-16 00:47:23 | 0 | 充值 | accepted | comment_posted_206847 |
2020-06-16 00:47:33 | 0 | 充值 | accepted | comment_posted_206848 |
2020-06-23 05:07:43 | 0 | 充值 | accepted | comment_posted_206879 |
2020-07-04 01:50:41 | 0 | 充值 | accepted | comment_posted_206952 |
2020-07-07 06:44:07 | 0 | 充值 | accepted | comment_posted_206958 |
2020-08-19 08:30:04 | 0 | 充值 | accepted | comment_posted_207101 |
2020-08-31 00:43:04 | 0 | 充值 | accepted | comment_posted_207136 |
2020-08-31 09:41:16 | 0 | 充值 | accepted | comment_posted_207139 |
2020-08-31 09:42:31 | 0 | 充值 | accepted | comment_posted_207140 |
2020-08-31 11:35:58 | 0 | 充值 | accepted | comment_posted_207141 |
2020-08-31 11:36:45 | 0 | 充值 | accepted | comment_posted_207142 |
2020-09-01 00:54:37 | 0 | 充值 | accepted | comment_posted_207144 |
2020-09-01 10:11:07 | 0 | 充值 | accepted | comment_posted_207149 |
2020-09-02 04:56:33 | 0 | 充值 | accepted | comment_posted_207155 |
2020-09-05 14:01:15 | 0 | 充值 | accepted | comment_posted_207175 |
2020-09-06 08:28:04 | 0 | 充值 | accepted | comment_posted_207182 |
2020-09-23 12:58:42 | 0 | 充值 | accepted | comment_posted_207286 |
2020-10-05 02:19:06 | 0 | 充值 | accepted | comment_posted_207368 |
2020-10-09 12:35:01 | 0 | 充值 | accepted | comment_posted_207391 |
2020-10-10 03:26:55 | 0 | 充值 | accepted | comment_posted_207401 |
2020-11-02 15:32:32 | 0 | 充值 | accepted | comment_posted_207572 |
2020-11-05 15:27:22 | 0 | 充值 | accepted | comment_posted_207598 |
2020-12-09 06:22:03 | 0 | 充值 | accepted | comment_posted_207967 |
2020-12-30 12:29:48 | 0 | 充值 | accepted | comment_posted_208271 |
2020-12-31 14:45:39 | 0 | 充值 | accepted | comment_posted_208290 |
2021-01-05 10:18:57 | 0 | 充值 | accepted | comment_posted_208356 |
2021-01-12 00:55:34 | 0 | 充值 | accepted | comment_posted_208438 |
2021-01-16 13:51:33 | 0 | 充值 | accepted | comment_posted_208477 |
2021-01-20 01:37:22 | 0 | 充值 | accepted | comment_posted_208509 |
2021-01-20 01:38:50 | 0 | 充值 | accepted | comment_posted_208510 |
2021-03-26 00:54:07 | 0 | 充值 | accepted | comment_posted_209175 |
2021-04-05 03:13:36 | 0 | 充值 | accepted | comment_posted_209276 |
2021-04-26 10:16:09 | 0 | 充值 | accepted | comment_posted_209465 |
2021-05-12 09:24:33 | 0 | 充值 | accepted | comment_posted_209591 |
2021-06-28 09:08:28 | 0 | 充值 | accepted | comment_posted_209985 |
2021-07-27 15:02:40 | 0 | 充值 | accepted | comment_posted_210233 |
2021-08-07 13:38:26 | 0 | 充值 | accepted | comment_posted_210318 |
2021-08-17 02:16:09 | 0 | 充值 | accepted | comment_posted_210380 |
2021-08-17 02:17:40 | 0 | 充值 | accepted | comment_posted_210381 |
2021-09-07 10:02:41 | 0 | 充值 | accepted | comment_posted_210603 |
2021-09-10 04:08:09 | 0 | 充值 | accepted | comment_posted_210638 |
2021-09-29 05:40:14 | 0 | 充值 | accepted | comment_posted_210839 |
2021-12-09 09:05:37 | 0 | 充值 | accepted | comment_posted_211485 |
2021-12-24 00:07:59 | 0 | 充值 | accepted | comment_posted_211628 |
2022-01-12 11:58:31 | 0 | 充值 | accepted | comment_posted_212125 |
2022-01-21 06:06:01 | 0 | 充值 | accepted | comment_posted_212332 |
2022-02-24 09:49:05 | 0 | 充值 | accepted | comment_posted_212739 |
2022-03-28 00:43:32 | 0 | 充值 | accepted | comment_posted_213145 |
2022-05-05 16:11:24 | 0 | 充值 | accepted | comment_posted_215064 |
2022-05-11 08:47:55 | 0 | 充值 | accepted | comment_posted_215344 |
2022-05-15 23:03:09 | 0 | 充值 | accepted | comment_posted_215611 |
2022-06-13 11:27:07 | 0 | 充值 | accepted | comment_posted_216678 |
2022-07-04 09:36:31 | 0 | 充值 | accepted | comment_posted_217173 |
社区版就有,需要开启开发者模式才能访问到文中的菜单
2022-07-04 17:36:31 发表在 Odoo 第三方邮件服务发送设置图片均存放在CDN上,不太应该看不了,是加载缓慢吗?另外本系列在公众号和 GitHub 上也都有发布
2022-06-13 19:27:05 发表在 第三章 Odoo 15开发之创建第一个 Odoo 应用Odoo 15的手册上周整理完第四章,按顺序约每周一章,此前受疫情影响暂停了几周。翻译这本书不是我的唯一计划,所以进度上请见谅。关于Odoo 14那套《指南》,难度上会略高于《手册》,并且一些章节是基于闭源的企业版的
2022-05-16 07:03:06 发表在 最好用的免费ERP系统Odoo 15开发手册会的,被上海的疫情打乱了计划,电量正在逐步恢复 :razz:
2022-05-11 16:47:53 发表在 Python进阶系列二:数组序列好的,安排!本章已加班更新完
2022-05-06 00:11:22 发表在 第二章 Odoo 15开发之开发环境准备抱歉,连续经历苏州和上海的两轮疫情确实有点躺平了,近日开始正常更新,公众号就叫"AlanHou",PC 端右侧边栏有二维码
2022-03-28 08:43:28 发表在 第二章 Odoo 15开发之开发环境准备英文版预计周末出版,中文翻译请关注我的博客或公众号
2022-02-24 17:49:03 发表在 最好用的免费ERP系统Odoo 15开发手册Odoo的主要用户是中小企业,并且很多是企业内部使用,基本不存在大并发的场景,Python 的开发效率在这里具有很大优势
2022-01-21 14:05:58 发表在 Django实现企业内部统一管理-多数据库操作你是批量发送邮件吗?批量的话建议使用 MailChimp, Amazon SES等服务,我自己使用并没有觉得邮件这块需要做什么优化,还有看看有没有携带附件以及 SMTP 服务本身是否分发就比较慢
2022-01-12 19:58:28 发表在 Odoo 14开发者指南第二十三章 在Odoo中管理email示意用于逻辑判断
2021-12-24 08:07:56 发表在 Odoo 14前端框架OWL之动画