草庐IT

builder-pattern

全部标签

protobuf 的bug:ImportError_ cannot import name ‘builder‘ from ‘google.protobuf.internal‘

0前言今天了解到有一个很强大的数据分析工具streamlit,下载安装完发现启动不了……没错就是本文的bug.什么是protobuf?ProtocolBuffers是Google开发的一种数据交换格式,采用了一种类似于XML的简单的语法,用于定义数据结构,并且可以将这些结构序列化为二进制文件,以便在不同的编程语言之间进行数据交换。它是一种和语言无关、平台无关、可扩展的序列化结构数据的方法。它比XML更快地进行编码解码,可以用更小的文件大小来储存数据。相关环境:Windows64位Python3.9Steamlit1.16.0protobuf3.19.11场景还原安装streamlitpipin

electron+vite+vue3.0+forge或electron builder最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目vue-vite的打包单页面应用vue-vite的打包多页面应用多平台打包mac、win、lunix等forge配置项electron-builder配置项简介文章更新与2023年2月12日。【打包需要连接外网的资源,需要翻墙。翻不了墙的可以自己查找一下解决方案】electron官网:https://www.electronjs.orgelectronforge官网:https://www.electronforge.ioelectronbuilder官网:https://www.electron.build/环境要求:git、node@1

electron+vite+vue3.0+forge或electron builder最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目vue-vite的打包单页面应用vue-vite的打包多页面应用多平台打包mac、win、lunix等forge配置项electron-builder配置项简介文章更新与2023年2月12日。【打包需要连接外网的资源,需要翻墙。翻不了墙的可以自己查找一下解决方案】electron官网:https://www.electronjs.orgelectronforge官网:https://www.electronforge.ioelectronbuilder官网:https://www.electron.build/环境要求:git、node@1

【Unity3D】使用UI Builder和GraphView创建节点编辑器,可用于状态机和对话编辑器(一)

1.前言在使用Unity过程中,你会发现Unity提供了很多好用的图形编辑窗口,在动画机Animator和ShaderGraph中只需要“连连看”就能得到效果。 但对于一些其他需求,例如状态机,对话编辑器,Unity则并没有提供官方工具。虽然我们可以通过一些成熟插件,例如NodeCanvas、BehaviorDesigner等也可以实现相同效果,但却不能深入理解,学习这类大型插件也有一定的学习成本,因此对于一些简单需求,我们完全可以自己打造一个节点编辑器,恰好Unity官方也提供了我们工具来实现该需求,那我们就以一个例子开始从零开始吧。2.从零打造状态机推荐Unity版本:2021以上2.1利

【Unity3D】使用UI Builder和GraphView创建节点编辑器,可用于状态机和对话编辑器(一)

1.前言在使用Unity过程中,你会发现Unity提供了很多好用的图形编辑窗口,在动画机Animator和ShaderGraph中只需要“连连看”就能得到效果。 但对于一些其他需求,例如状态机,对话编辑器,Unity则并没有提供官方工具。虽然我们可以通过一些成熟插件,例如NodeCanvas、BehaviorDesigner等也可以实现相同效果,但却不能深入理解,学习这类大型插件也有一定的学习成本,因此对于一些简单需求,我们完全可以自己打造一个节点编辑器,恰好Unity官方也提供了我们工具来实现该需求,那我们就以一个例子开始从零开始吧。2.从零打造状态机推荐Unity版本:2021以上2.1利

electron-builder打包配置说明

发现问题通过vue建立的项目使用electron-builder打包(不会eletron打包vue项目的看这里)出exe后发现名字就直接是项目文件夹的名字,但此时想自定义汉字名称,通过尝试直接修改package.json中的name后发现此法仅限于修改为英文名称,汉字会报错无法打包。踩坑过程在网上翻阅后发现有人直接在package.json中这样添加build:"scripts":{//...},"build":{"productName":"xxx","appId":"xxx",//...},这其实是个大坑,我尝试后发现会报错无效配置:InvalidConfigurationError:'b

electron-builder打包配置说明

发现问题通过vue建立的项目使用electron-builder打包(不会eletron打包vue项目的看这里)出exe后发现名字就直接是项目文件夹的名字,但此时想自定义汉字名称,通过尝试直接修改package.json中的name后发现此法仅限于修改为英文名称,汉字会报错无法打包。踩坑过程在网上翻阅后发现有人直接在package.json中这样添加build:"scripts":{//...},"build":{"productName":"xxx","appId":"xxx",//...},这其实是个大坑,我尝试后发现会报错无效配置:InvalidConfigurationError:'b

01.Singleton Pattern 单例模式

SingletonPattern单例模式,作为创建型模式的一种,其保证了类的实例对象只有一个,并对外提供此唯一实例的访问接口概述对于单例模式而言,其最核心的目的就是为了保证该类的实例对象是唯一的。为此一方面,需要将该类的构造函数设为private,另一方面,该类需要在内部完成实例的构造并对外提供访问接口。单例模式的好处显而易见,可以避免频繁创建、销毁实例所带来的性能开销;但其缺点也同样明显,此类不仅需要描述业务逻辑,同时还需要构造出该类的唯一对象并对外提供访问接口,其显然违背了单一职责原则实现单例模式的思想虽然简单易懂,但实现起来却可谓是花样繁多、妙不可言。这里来介绍几种常见的单例模式的实现饿

01.Singleton Pattern 单例模式

SingletonPattern单例模式,作为创建型模式的一种,其保证了类的实例对象只有一个,并对外提供此唯一实例的访问接口概述对于单例模式而言,其最核心的目的就是为了保证该类的实例对象是唯一的。为此一方面,需要将该类的构造函数设为private,另一方面,该类需要在内部完成实例的构造并对外提供访问接口。单例模式的好处显而易见,可以避免频繁创建、销毁实例所带来的性能开销;但其缺点也同样明显,此类不仅需要描述业务逻辑,同时还需要构造出该类的唯一对象并对外提供访问接口,其显然违背了单一职责原则实现单例模式的思想虽然简单易懂,但实现起来却可谓是花样繁多、妙不可言。这里来介绍几种常见的单例模式的实现饿

Go语言实践模式 - 函数选项模式(Functional Options Pattern)

什么是函数选项模式大家好,我是小白,有点黑的那个白。最近遇到一个问题,因为业务需求,需要对接三方平台.而三方平台提供的一些HTTP(S)接口都有统一的密钥生成规则要求.为此我们封装了一个独立的包xxx-go-sdk以便维护和对接使用.其中核心的部分是自定义HTTPClient,如下:typeClientstruct{}func(c*Client)do(){//实现统一的加密和签名逻辑//统一调用net/http}//订单列表接口func(c*Client)OrderList(){c.do()}//订单发货接口func(c*Client)OrderDelivery(){c.do()}//...其