草庐IT

补丁程序

全部标签

go - 我正在尝试将 Cobra 集成到我的程序中

我指的是spf13/cobra.我使用gogetgithub.com/spf13/cobra/cobra下载了cobra包,并在我的程序中导入了"github.com/spf13/cobra"然后使用goinstallgithub.com/spf13/cobra/cobra安装它。这是我的程序-它是一个可以实现输入数量的计算器,但目前只有2个是从用户那里获取的。我想在这个程序中使用眼镜蛇。packagemainimport("fmt""github.com/spf13/cobra")funcadd(m...int)int{sum:=0for_,a:=rangem{sum+=a}retu

go - 我应该将缓存数据保存在 Web 应用程序的内存中吗?

我有一个保存产品的数据库。还有一个类别列表。每个产品都属于一个类别。当产品列表更新时,我运行函数updateProductsCategories()查询数据库,计算每个类别中的产品数量并返回如下列表:Food:20Drinks:74Jackets:15我在网页侧边栏中使用此列表将类别显示为其中包含产品数量的链接。我的假设是我应该像产品更改时那样运行updateProductsCategories(),虽然不是每次加载页面时都调用它,而是将其结果放入内存对象并获取数据从它显示在页面上。这样我就不会在每次显示页面时都进行不必要的数据库查询,而是会使用缓存的数据,并在产品更改时刷新它,使其始

go - Go Server无需重启的无缝补丁部署

我很好奇是否有任何解决方案可以部署go服务器而无需将其关闭并重新启动。我知道ASP.Net和PHP等流行的解决方案可以为用户session无缝执行此操作。无状态session会处理这个问题吗? 最佳答案 即使是最简单的应用程序服务器也可以通过引入请求路由器(例如nginx)来实现这种无缝部署。或haproxy.这两个路由器都允许您将请求转发到不同的服务(称为反向代理),并在不断开连接的情况下重新加载它们的配置。举个例子:将您的路由器配置为监听0.0.0.0.80并将这些请求转发到127.0.0.1:5001。在127.0.0.1:5

ubuntu - 在 Docker 容器 (Ubuntu) 中运行在 Windows 中创建的 Go 应用程序

我创建了一个非常简单的应用程序来输出一些文本。我的开发环境是Windows+DockerforWindows。我创建了ubuntu容器,并在Windows中为ubuntu构建了我的应用程序setGOARCH=amd64setGOOS=linuxgobuild-o"myapp"然后我将“myapp”文件复制到共享文件夹,并在我的容器的共享文件夹中看到它。在我尝试在容器中运行它但出现错误之后为什么我不能运行它?它是构建不正确还是我尝试以某种错误的方式执行它?在Windows中,当我运行我的exe文件时我有这个输出,我想要在Ubuntu中有相同的东西。更新按照建议,我尝试./myapp并且出

sql-server - 使用 ODBC 驱动程序调用 Microsoft SQL Server 上的存储过程

我有一个存储过程,名称为“vijaystoredprocedure”,如果它是mssql中的一些查询,那么我将在Go中查询,如l_query_str=fmt.Sprintf(`select*fromUserswhereFname='%s'`,l_firstanme)row,err:=DBC.Query(l_query_str)iferr!=nil{log.Fatal("Preparefailed:",err.Error())}_,rows,r_err:=DBScan_fn(row)ifr_err!=nil{fmt.Println("nodatafounderr")return}现在因为

go - 如何在 Go 应用程序中可靠地引用静态文件?

我正在编写一个基于模板生成一些文件的Go命令行工具。模板与命令行工具本身的代码一起位于Git存储库中。我想允许以下内容:无论从何处调用二进制文件,都应始终找到模板目录。如果需要,用户可以覆盖模板目录。因为这是一个Go应用程序,所以我使用了类似的东西:templateRoot:=filepath.Join(os.Getenv("GOPATH"),"src/github.com/myuser/myproject/templates",)但作为Go的新手,我想知道这种方法是否足够可靠:是否保证我的应用程序模板始终可以通过该路径访问?如果有人将我的应用程序出售到他们自己的项目中怎么办?这对命令

debugging - 如何在 goland 中调试 revel 应用程序?

我想使用Jetbrain的gogland内置调试​​器调试我的revel应用程序,但gogland运行配置允许设置包或文件运行场景,而不是revelrunmyapp启动的调试过程。 最佳答案 现在Gogland是Goland我找官方manual用于创建调试配置。如果您不介意,我会在这里发布...INTELLIJ调试(戈兰)创建你的项目,对于这个例子,我将使用规范的“revelnewgithub.com/myaccount/my-app”“revelrungithub.com/myaccount/my-app”生成tmp/main.g

go - 编写像 node.js 应用程序这样的 go 程序而无需 go 路径

在学习了go的基础知识后,我意识到我需要这个根gocode目录导出为GOPATH,我更愿意简单地拥有一个项目文件夹,我可以在其中安装包,并从中运行我的go代码,这真的是他们编程的方式吗……谁喜欢这个?我查看了vendor文件夹选项,但这仍然意味着需要一个gocodeGOPATH导出并且vendor目录需要位于该源文件夹结构中。我希望我的项目成为根,仅此而已。golang怎么可能做不到呢?或者是吗? 最佳答案 是的。你需要设置你的GOPATH,你所有的go-code、-binaries、-packages等都将放在这个文件夹中。您可以

go - FileServer 处理程序是否仅服务于您指定目录中的内容?

例如,用户可以将您的url与linux命令一起放在文件夹/目录中吗?假设我的服务器包括:bin/serverfile.go...public/index.htmlstyle.css“www.example.com/../bin/etc”与serverfile.go组成:pacakagemainimport"net/http"funcmain(){htttp.ListenAndServe(":8000",http.FileServer(http.Dir("public")))} 最佳答案 http.FileServer禁止突破您指定的

reactjs - 从具有 session token 的 oauth2 应用程序获取用户信息

我认为,我对与Oauth2协议(protocol)相关的概念存在误解。现在我有3个应用程序:使用React开发前端使用Golang开发的OAuth2服务器(未完成)另一个后端应用,我们称之为:业务逻辑应用首先,react的用户可以使用OAuth2服务器登录系统,OAuth2服务器发送token,一切都很完美。现在,当一些请求从React应用程序发送到业务逻辑应用程序时,token也会在header中发送。我的问题是:有了token,我是否应该能够从BussinessLogicApp获取用户向OAuth服务器发出请求的信息?OAuth协议(protocol)允许吗?问题是我需要在Buss