我在使用 go 时遇到了构建问题。我想知道这是编译器中的错误还是代码的问题。
// removed the error handling for sake of clarity
file, _ := c.FormFile("file")
openedFile, _ := file.Open()
buffer := make([]byte, 512)
n, _ := openedFile.Read(buffer)
contentType := http.DetectContentType(buffer[:n])
// doesn't work
if contentType != "image/jpeg" || contentType != "image/png" {
return
}
// works
if contentType != "image/jpeg" {
return
}
else if contentType != "image/png" {
return
}
Run Code Online (Sandbox Code Playgroud)
错误 suspect or: contentType != "image/jpeg" || contentType != "image/png"
仅供参考 " c.FormFile("file") " 是形式 Gin gonic。但这并不重要。
我正在尝试在 Postgres 中查找去年年底的日期。
这将给我上一年的第一天
SELECT date_trunc('year', now()- interval '1 year')
Run Code Online (Sandbox Code Playgroud)
返回正确的结果#=>2018-01-01 00:00:00
但是尝试从今年的第一天删除 1day 并不能得到上一年的最后一天:
SELECT date_trunc('year', now() - interval '1 day')
Run Code Online (Sandbox Code Playgroud)
返回#=>2018-01-01 00:00:00
当我期待的是 2018-12-31
仍然给我今年的第一天。即使我删除 100 天,它仍然返回相同的结果。
前几年的行为相同:
SELECT date_trunc('year', now()- interval '2 year');
Run Code Online (Sandbox Code Playgroud)
返回#=>2017-01-01 00:00:00 这是我所期望的。
但 :
SELECT date_trunc('year', now()- interval '1 year' - interval '1 day');
Run Code Online (Sandbox Code Playgroud)
2018-01-01 00:00:00 当我期待时返回#=>2017-12-31
-- 为了供将来参考,我将在 2019 年发布此内容。
我正在考虑使用带bitnami的数字海洋来托管我的新铁路应用程序。Heroku的功能昂贵,但是我不是服务器管理员,我不确定bitnami是否足够。
据说您可以在他们的广告上使用组合bitnami +数字海洋来运行生产应用程序。(https://bitnami.com/learn_more# 正在生产中运行应用程序)这是真的吗?
上一次我尝试在vps上运行应用程序时,我不得不安装fail2ban,防火墙,Logwatch之类的东西,而这是最复杂的事情。
是bitnami真正的即插即用功能,还是我仍然需要做所有服务器管理工作,它只是安装ruby堆栈(似乎正在做)。
人们真的按原样运行生产应用程序吗?没有任何与安全相关的东西?
谢谢