草庐IT

模型优化

全部标签

go - 如何优化向 API 发出请求的 for 循环?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的Go代码中有一个for循环。每次迭代都会向某个API发出请求,然后将其结果保存在map中。如何优化性能以便异步调用迭代?我目前正在研究goroutines和channel等等,但我仍然无法在野外应用它:)results:=map[string]ResultforID,person:=rangepeople{result:=someApiCall(person)results[ID]=result}//

go - 视频流优化

我正在构建一个视频监控应用程序,用于学习目的。目前我有一个非常基本的原型(prototype)在工作。我正在捕获网络摄像头帧并将其通过websocket发送到浏览器。只是为了了解实现的基本程度,在客户端我有:我正在通过javascript附加框架。应用程序和服务器是用Golang编写的虽然我的方法有效,但我知道如果我想从我的家庭网络外部查看流,将单个帧发送到浏览器永远不会削减它。我必须优化流程。到目前为止,我只是想在将凸轮帧发送给客户之前对其进行压缩。还将帧编码为视频并在客户端实现视频播放器。还能做什么?我知道这个问题很宽泛,但我认为必须有一个针对视频流的标准优化模式。

go - 如何并发优化大型递归任务

我有一个chron任务要在Golang中以最佳方式执行。我需要在sellers中以JSON格式存储来自Web服务的大数据将这些sellers保存到数据库后,我需要浏览另一个带有sellersID参数的大型JSON网络服务,以保存到另一个名为customers的表.每个customer都有一个初始状态,如果这个状态已经从web服务的数据改变(n°2)我需要将差异存储在另一个表中changes以获取更改历史记录。最后,如果变化等于我们的条件,我将执行另一项任务。我目前的操作varwgsync.WaitGroupaction.FetchSellers()//fetchlargeJSONand

testing - 如何在测试中将模型与 Controller 分开?

所以我想在测试中将Controller与模型隔离开来,这样我就可以在出现问题时轻松解决问题。之前,我只是用模拟数据访问端点,但很难排除故障,因为测试从路由器一直运行到数据存储。所以我想也许我会为每个Controller(和模型)创建两个版本(MockController与Controller),并根据模式变量的值使用一个。简而言之,这就是我计划实现它的方式。constmodestring="test"//UserModelInterfaceistheInterfaceforUserModeltypeUserModelInterfaceinterface{Get()}//UserCont

GORM Golang 如何优化这段代码

我在我的项目中使用GORM,我想创建类似数据库管理页面的东西。要加载记录,我发送带有参数的GET:category:"name",//databasetablename在服务器上我有下一个代码:funcLoadItems(db*gorm.DB,categorystring)interface{}{varitemsinterface{}loadItems:=func(iinterface{}){err:=db.Find(i).Erroriferr!=nil{panic(err)}items=i}switchcategory{case"groups":varrecords[]*models

安卓性能优化之内存优化

Java对象生命周期:创建:为对象分配内存空间,构造对象应用:此时对象至少被一个强引用持有不可见:未被任何强引用持有,进行可达性分析不可达:可达性分析为不可达,进入下一阶段收集:当垃圾回收器发现该对象已经处于“不可达阶段”并且垃圾回收器已经对该对象的内存空间重新分配做好准备时,则对象进入了“收集阶段”。如果该对象已经重写了finalize()方法,则会去执行该方法的终端操作。终结:当对象执行完finalize()方法后仍然处于不可达状态时(可达性分析垃圾回收算法被回收前,会有两次标记过程,判断是否执行lfinalize()方法,执行完之后判断是否GCROOT可达,如果仍不可达,则准备回收),则

go - 在golang中嵌入具有相同属性名称的模型结构

使用go1.5和gorm。假设我想创建一个events表,其中包含一个created_by_id和一个updated_by_id列。我这样写我的模型typeBystruct{ByIDsql.NullInt64By*User}typeCreatedBystruct{By}typeUpdatedBystruct{By}typeEventstruct{CreatedByUpdatedBy}当我尝试保存event对象时,将尝试保存by_id列的值,而不是created_by_id的值和updated_by_id。我需要做什么来确保ByID属性的列名称对于CreatedBy和UpdatedBy是

mysql - 尝试从模型创建表时出错

我今天开始玩gorm,但不幸的是遇到了一些愚蠢的错误,并坚持了一段时间。起初我在Windows上运行MySQL5(5.0.51b)和最新版本的go。我确实获得了gorm和mysql驱动程序并且它编译没有错误并且能够连接(可能),但是每当我尝试根据声明的类型创建一个表时它会抛出一个没有信息的错误(因为错误是由MySQL抛出)。这是我的代码:mport("fmt"_"github.com/go-sql-driver/mysql""github.com/jinzhu/gorm")typeUserstruct{idint}funcmain(){db,err:=gorm.Open("mysql"

go - 如何切换数据库连接并将其共享到 Golang 中的模型? (Revel + Gorm)

我想像https://github.com/thiagopradi/octopus这样设置数据库分片在Revel+Gorm(或Golang中的任何其他ORM)中。我将在securityfilter中获取数据库连接字符串(这是一个自定义过滤器,添加在revel的参数过滤器之后)。现在我需要在下一个名为dbfilter的自定义过滤器中切换数据库连接并且还需要在revel应用程序启动时实现数据库连接池。 最佳答案 首先是在初始化时准备好数据库连接(只调用一次):db1,err:=gorm.Open(dbdriver,dboption)//

go - 扫描到 gorm 模型的结构

我正在尝试将查询结果扫描到由gorm模型组成的结果结构中。代码构建且查询通过,但结果数组由如下默认值组成:{{0000000001-01-0100:00:00+0000UTC0001-01-0100:00:00+0000UTC00001-01-0100:00:00+0000UTC{假}}{0000{0假}{0假}{0假}0001-01-0100:00:00+0000UTC假{0假}{0假}{假}{错误的}}}此外,结果数组的长度与查询结果的长度完全相同(当我通过pgadmin手动尝试时),但它们没有正确映射。这是可能的还是一个gorm错误。代码:主要包import("fmt""test