Electron 学习笔记
最近在学习桌面 App 开发,技术选中了 Electron + Vue3,因为我本身是 Web 开发,虽然是后台开发,但是对 HTML + JS + CSS 的技术栈有所了解,另外对 Web 的原理了解也比较多,算是有一定基础。
通过阅读 Vue 3 的文档,以及实战演练了一些简单代码,已经渐渐可以上手写一点简单的代码。但是我发现,要实现一款客户端应用,不得不掌握一些 Electron 的知识。好在 Electron 是一个很易学的解决方案或者说框架。
最近在学习桌面 App 开发,技术选中了 Electron + Vue3,因为我本身是 Web 开发,虽然是后台开发,但是对 HTML + JS + CSS 的技术栈有所了解,另外对 Web 的原理了解也比较多,算是有一定基础。
通过阅读 Vue 3 的文档,以及实战演练了一些简单代码,已经渐渐可以上手写一点简单的代码。但是我发现,要实现一款客户端应用,不得不掌握一些 Electron 的知识。好在 Electron 是一个很易学的解决方案或者说框架。
已经彻底想不起来这款软件是怎么进入我的视野的,但是,对于我这种迟钝的用户来说,仍能让我注意到,说明它至少在某个狭小的领域已经火到出圈了。
我决心认真学习一下如何使用此款软件,并把我的所得写成教程分享出来。
使用 Flutter 开发 App 都免不了要使用网络访问的类库,Dio 是其中最流行的,我之前调研的一些范例 App 代码,都引用了 Dio。Dio 是对 http 的一套封装,提供了很多友好的功能。
不过,要在项目里使用,一般还要进行一次封装,你如果搜索 Dio 封装,会找到一大堆的文章,专门讲怎么封装 Dio 的。
学习 UML 的历史可以追溯到 2003 年,即便在当年也不是什么新鲜技术。不过,我觉得,即便今天我也不敢说,我真的很懂 UML 了。
不过,如果想学习面相对象技术,比如 OOA——面向对象分析,OOD——面向对象设计,你就不可能绕开 UML 语言。除非你永远都是单打独斗,只编写规模很小的软件,而且从不依赖别人写的复杂软件库。要知道,在软件构建这个领域,这几乎是不可能的。
其实从我使用 PHP 5 开始,我就是知道有 PHPUnit 这样的包存在。简单看了看说明,以及对应的 API,说实在,我对单元测试是一点不理解的,我不明白这有什么用处。
学习 Vue 真是十分“困难”的一个过程,作为一个十年以上的老程序员,我这么说,肯定很多人觉得不公平。不过这就是我的真实体验。
网上确实是有很多很多的教程,以及,Vue 确实简单易学,我想说的是,如果你自己完全独立自学,到能做出一个真正完整的应用,中间似乎有一些难以跨越的坎。即便对我这个工作十年以上的老程序员来说都很难。
本文尽量不记录那些普遍能找到的文档视图交给你的东西,比如怎么写这个代码,怎么写那个代码等等,你几乎无法找到怎么实现一个具体东西的代码。我尽量写一些,各种入门文章中都没写的东西。
关于 VS Code 使用的日常,一些记录。
事情都是环环相扣的,决定了要用网站生成器来管理个人博客,就要使用 Markdown 来撰写内容,发现可以使用 Obsidian 作为 Markdown 编辑器和内容管理器,于是更高频率的使用 Obsidian。
于是需要一个更舒适友好的 Obsidian 环境。
在高度系统化驱动的业务中,查看业务报表已经是一个很常见的需求了。在分工非常明确的大型企业里,往往有专门的数据分析团队或者数据开发团队,他们能够胜任此类需求(但也未必是轻松的,或者说高效的)。
但是,在都是业务开发的中小团队中,业务报表需求,往往就是业务系统的程序员自己进行开发。我不知道这种情况有多普遍,至少在我自己的团队是这样的。业务系统的设计往往是为了实现更强一致性,更高效率,而设计数据库的数据结构,在这基础上进行报表开发,往往会写出非常复杂的 SQL。
而不同角色的管理者要求的不同分析视角,使得报表的复用性无法达到理想的程度。开发繁复的报表统计需求,成为了程序员一个无法避免的负担。而在一个“管理信息”集中的系统里,这种矛盾变得尤为凸显。不光是实现这样的需求变得困难和不堪重负,仅仅是保持实现的正确性和高效性,都变得极为困难。
引入大宽表,可以有效降低开发的难度,以及提升代码的复用性。
因为工作的关系,必须学习使用 Metabase,所以,开辟此文,记录一些我的学习笔记。