自5月底以来,我在网站站长工具/ Google搜索控制台的智能手机抓取错误页面中出现了很多新的404错误.所有这些都以/ m /或/ mobile /开头,其中没有一个是现有的,也没有链接到网站上的任何地方.
例如,我在http://www.example.com/mobile/foo-bar/和http://www.example.com/m/foo-bar页面上有404错误.根据Search Console,这些页面在现有页面http://www.example.com/foo-bar/中链接,但它们不是.
Googlebot是否决定自己寻找每个页面的移动版本?我可以禁用此行为吗?这是因为我的网站还不适合移动设备(我收到了Google的另一条警告信息).
我正在尝试使用Sequelize从本地nodejs应用程序连接到Heroku postgresql数据库.我按照这两个指南,一切都在heroky服务器端工作得很好,但是当我在Mac上本地运行时,我的节点应用程序将无法连接到heroku.
以下是我启动本地应用的方法:
DATABASE_URL=$(heroku config:get DATABASE_URL) nodemon
Run Code Online (Sandbox Code Playgroud)
得到我:
Sequelize: Unable to connect to the database:
Run Code Online (Sandbox Code Playgroud)
但是通过这样做我得到了正确的URL:
echo $(heroku config:get DATABASE_URL)
Run Code Online (Sandbox Code Playgroud)
这些命令工作正常:
heroku pg:psql
psql $(heroku config:get DATABASE_URL)
Run Code Online (Sandbox Code Playgroud)
这是我的nodejs代码:
var match = process.env.DATABASE_URL.match(/postgres:\/\/([^:]+):([^@]+)@([^:]+):(\d+)\/(.+)/)
sequelize = new Sequelize(match[5], match[1], match[2], {
dialect: 'postgres',
protocol: 'postgres',
port: match[4],
host: match[3],
logging: false
})
sequelize
.authenticate()
.complete(function(err) {
if (!!err) {
log('Sequelize: Unable to connect to the database:', err);
} else {
http.listen(process.env.PORT || config.server.port, function(){
log('Web server listening on port '+process.env.PORT …Run Code Online (Sandbox Code Playgroud) 这是我的视口元标记:
<meta name="viewport" content="user-scalable=no, initial-scale = 1, minimum-scale = 1, maximum-scale = 1, width=device-width">
Run Code Online (Sandbox Code Playgroud)
在Safari的iOS 8,window.innerHeight和$(window).height()在iPad 928:两者返回相同的值.
但是在Safari iOS 9上,window.innerHeight并且$(window).height()在运行iOS 9.0或1154的iPhone 6s和运行iOS 9.1的iPad mini上分别返回1461和559的不同值.
这是Safari中的错误还是打算?1461在我的iPhone上来自哪里?我应该使用$(window).height()(返回我想要的值)而不是window.innerHeight?
我正在尝试从Postgresql表(table1)中获取数据,该表由property另一个相关表(table2)的字段()过滤.
在纯SQL中,我会像这样编写查询:
SELECT * FROM table1 JOIN table2 USING(table2_id) WHERE table2.property LIKE 'query%'
Run Code Online (Sandbox Code Playgroud)
这很好用:
scope :my_scope, ->(query) { includes(:table2).where("table2.property": query) }
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是使用LIKE运算符进行过滤而不是严格的相等.但是这不起作用:
scope :my_scope, ->(query) { includes(:table2).where("table2.property LIKE ?", "#{query}%") }
Run Code Online (Sandbox Code Playgroud)
因为我收到这个错误:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "table2" LINE 1: ...ble2" WHERE "table1"."user_id" = $1 AND (tabl... ^ : SELECT "table1".* FROM "table1" WHERE "table1"."user_id" = $1 AND (table2.property LIKE 'query%') ORDER BY last_used_at DESC
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
ruby postgresql activerecord ruby-on-rails rails-activerecord
我在 Debian 7 上使用 Thin 作为开发 Web 服务器和 Rails。自从我将 Rails 更新到 4.2.7.1 后,我无法再启动 Thin,并且收到以下错误消息:
Using rack adapter
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted
Run Code Online (Sandbox Code Playgroud)
我的文件夹中有一个libgcc_s.so.1文件/lib/i386-linux-gnu/,但不知何故,thin 似乎无法在那里找到它。
我已经尝试了这个问题的所有答案,但没有帮助。
编辑:我认为问题与libv8gem 有关,这是对我的项目的依赖。5.3.332.38.1 x86-linux当使用 gem 的默认版本时会出现该错误。但如果我将其强制为 version 5.0.71.48.3 x86-linux,错误就会消失。
我正在使用Stripe允许我的客户保存信用卡并支付发票(具有唯一ID).在付款时,我使用表单将带有卡ID(由条带提供)的POST请求发送到我的服务器,然后控制器对其进行收费.然后我将发票标记为付款在我身边.
事实证明,如果我足够快地双击我的表单的提交按钮,我发送两个POST请求,并且卡最终被收取两次,因为当第二个POST请求到达我的服务器时,从我的服务器到Stripe API的POST请求(来自第一次点击)没有完成,因此发票尚未标记为付款.
我正在考虑在第一次点击后禁用表单提交按钮,但我觉得可能有一种更清洁的方式.
Stripe方面是否有防止重复收费(可能使用我的发票ID)?如果不是最好的后端方法在我身边做什么呢?
我有一个 Netlify 部署的应用程序,它带有一个 lambda 函数,它调用外部 API 来获取一些数据。外部API数据每天更新一次,我希望lambda响应在Netlify的CDN中缓存24小时,所以我不调用lambda函数,从而调用外部API,一天不止一次.
为了测试这一点,我编写了一个简单的 lambda 函数:
exports.handler = function(event, context, callback) {
callback(null, {
statusCode: 200,
body: new Date().toString(),
headers: {
'Cache-Control': 'public, s-maxage=86400',
},
});
};
Run Code Online (Sandbox Code Playgroud)
当 10 秒后第二次调用端点时,我确实在响应主体中获得了相同的时间,表明响应确实被缓存了。但是当从两个不同的设备(我的电脑和我的 4G 手机,所以不同的 IP 和 ISP)调用它时,我得到了不同的日期,好像每个设备都提供了不同的缓存响应,我可以在 Netlify 的仪表板中看到 lambda 是调用了两次。
关于 Netlify 的 CDN 是如何工作的,我有什么不明白的地方吗?有没有办法实现我正在尝试做的事情?
node.js ×2
postgresql ×2
activerecord ×1
debian ×1
googlebot ×1
heroku ×1
http ×1
ios ×1
ios9 ×1
javascript ×1
jquery ×1
libv8 ×1
mobile ×1
netlify ×1
ruby ×1
safari ×1
seo ×1
sequelize.js ×1
thin ×1