我在App Engine灵活的env教程上关注了Nodejs:http://psoud.google.com/nodejs/getting-started/hello-world
成功部署并测试了本教程之后,我将代码更改为稍微进行了实验并成功部署了它......然后让它继续运行,因为这是一个测试环境(不是公共的).
一个月后,我收到谷歌超过370美元的账单!
在交易细节中,我看到以下内容:
2017年10月1日 - 31日App Engine Flex实例RAM:5948.774吉比特小时([MYPROJECT])$ 42.24
2017年10月1日 - 31日App Engine Flex实例核心时间:5948.774小时([MYPROJECT])$ 312.91
这个具有近0个请求的测试环境如何需要大约6,000小时的资源?在最糟糕的情况下,我会假设720小时全天运行一个月@ 0.05美元/小时将花费我~40美元. https://cloud.google.com/appengine/pricing
有人可以帮助阐明这一点吗?我无法找出为什么需要这么多资源?
谢谢您的帮助!
更新:请注意,我确实对package.json进行了一次修改:我将nodemon添加为依赖项,并将其添加为"nmp start"脚本的一部分.虽然我怀疑这解释了6000小时的资源:
"scripts": {
"deploy": "gcloud app deploy",
"start": "nodemon app.js",
"dev": "nodemon app js",
"lint": "samples lint",
"pretest": "npm run lint",
"system-test": "samples test app",
"test": "npm run system-test",
"e2e-test": "samples test deploy"
},
Run Code Online (Sandbox Code Playgroud)
App.yaml(默认 - 教程没有变化)
runtime: nodejs
env: flex
Run Code Online (Sandbox Code Playgroud) 我想从2个表的LEFT JOIN创建一个MATERIALIZED VIEW.但是以下给出了一个错误:
SELECT field1
FROM table_1 a
LEFT JOIN table_2 b
ON a.field1=b.field2
Run Code Online (Sandbox Code Playgroud)
ORA-12054:无法为实例化视图设置ON COMMIT刷新属性
但是以下工作:
SELECT field1
FROM table_1 a, table_2 b
WHERE a.field1=b.field2
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法为什么会这样.
谢谢你的帮助
如何解决以下错误?我不知道从哪里开始......当我尝试为iOS构建我的Ionic项目时,我收到以下错误:
$ ionic cordova build ios
....
/Plugins/cordova-plugin-googleplus/GooglePlus.h:2:9: fatal error: 'GoogleSignIn/GoogleSignIn.h' file not found
#import <GoogleSignIn/GoogleSignIn.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Run Code Online (Sandbox Code Playgroud)
它适用于Android!但我不知道如何处理这个iOS构建错误.我目前的插件版本是:5.3.0"Google SignIn"
有以下信息:
cli包:
Run Code Online (Sandbox Code Playgroud)@ionic/cli-utils : 1.19.2 ionic (Ionic CLI) : 3.20.0全球套餐:
Run Code Online (Sandbox Code Playgroud)cordova (Cordova CLI) : 8.0.0本地包裹:
Run Code Online (Sandbox Code Playgroud)@ionic/app-scripts : 3.1.9 Cordova Platforms : android 7.0.0 browser 5.0.3 ios 4.1.1 Ionic Framework : ionic-angular 3.9.2系统:
Run Code Online (Sandbox Code Playgroud)Android SDK Tools : 26.1.1 ios-deploy : 1.9.0 ios-sim : 5.0.11 Node : v8.11.1 npm : 6.0.0 OS : macOS Sierra Xcode : …
我使用以下代码创建了一个Materialized视图:
CREATE MATERIALIZED VIEW M_USER_HIERARCHY
BUILD IMMEDIATE
REFRESH COMPLETE
START WITH TO_DATE('25-Aug-2009 10:34:24','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE + 1
WITH PRIMARY KEY
AS
SELECT * FROM V_USER_HIERARCHY;
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够在执行此代码后更改START WITH日期.我一直在查看ALL_MVIEW_*表,但找不到START_DATE的设置.
有谁知道如何更改物化视图的START_WITH日期?
嗨,我正在尝试将名称存储到Oracle数据库中,并使用PHP和oci8将其获取回来.
但是,如果我é直接插入Oracle数据库并使用oci8来获取它我只是收到一个e
在插入数据库之前,我是否必须将所有特殊字符(包括é)编码为html实体(即:):é或者我错过了什么?
谢谢
更新:3月1日18:40
发现这个功能:http: //www.php.net/manual/en/function.utf8-decode.php#85034
function charset_decode_utf_8($string) {
if(@!ereg("[\200-\237]",$string) && @!ereg("[\241-\377]",$string)) {
return $string;
}
$string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e","'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",$string);
$string = preg_replace("/([\300-\337])([\200-\277])/e","'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",$string);
return $string;
}
Run Code Online (Sandbox Code Playgroud)
似乎工作,虽然不确定它是否是最佳解决方案
更新:3月8日15:45
Oracle的字符集是ISO-8859-1.
在PHP中我添加了:
putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1");
Run Code Online (Sandbox Code Playgroud)
强制oci8连接使用该字符集.é从PHP中检索使用oci8现在工作了!(因为varchars,但不是CLOBs必须utf8_encode提取它)
所以然后我尝试将数据从PHP保存到Oracle ...它不起作用..从PHP到Oracle的过程中的é某个地方变成了?
更新时间:3月9日14:47
所以越来越近了.添加NLS_LANG变量后,执行带有é工作的直接oci8插入.
问题实际上是在PHP方面.通过使用ExtJs框架,在提交表单时,使用它对其进行编码encodeURIComponent.
因此é被发送%C3%A9,然后重新编码成é.
但它的长度现在是2 (strlen($my_sent_value) = 2)而不是1.如果在PHP中我尝试:$ my_sent_value == …
我有以下表格:
<form name="dealerLocatorForm"method="post"action="result.php">...</form>
我已将Omniture SiteCatalyst formAnalyis插件附加到它,它应该仅在表单未提交时发回信息.
预期的行为:当使用提交按钮提交表单时,应该触发任何信标(因为事情按预期进行).
问题:
表单需要一些验证,因此开发人员决定使用以下方法以编程方式提交表单:document.form.dealerLocatorForm.submit()或
document.dealerLocatorForm.submit()
但是,当表单以这种方式提交时,插件会触发一个信标,告知我表单未提交,但事实并非如此.
另一方面,如果我使用jQuery提交如下:jQuery('form[name=dealerLocatorForm]').submit()
表单是正确提交的,并且信标不会触发!
简而言之,jQuery成功地复制了表单提交的所有功能,就好像它是由提交按钮提交的,而document.form提交则不是.
所以我的问题是:
document.form.dealerLocatorForm.submit()
document.dealerLocatorForm.submit()
和之间有什么区别?
jQuery('form[name=dealerLocatorForm]').submit()
似乎jQuery正在做一些更准确的事情.
我在Solaris服务器上运行GIT.
从Windows机器上我安装了cygwin来尝试克隆服务器上托管的存储库.
我做以下事情:
$ git clone username@server:project.git ksh: git-upload-pack: not found
所以我试试
$ ssh username@server echo \$PATH /usr/bin
似乎git不在/ usr/bin /中,而是在/ usr/local/bin /中.我尝试在服务器上的主目录中更改.bashrc中的PATH以添加/ usr/local/bin/...但它似乎不起作用.
我究竟做错了什么 ?
GA:«访问者的浏览器与特定网站之间的互动时段,在浏览器关闭或关闭时结束,或者当用户在该网站上停留指定的时间段时.»
Omniture:«访问是指访问者访问网站的术语.当一个人第一次在您公司的网站上查看页面时,访问就开始了.它将持续到该人停止在该网站上的所有活动30分钟.例如,如果您登录www.omniture.com,则会有一个访问实例,该实例将持续到您没有30分钟不活动,即您已关闭浏览器或离开计算机.如果您处于非活动状态超过30分钟,然后再次登录,则会被视为新访问.SiteCatalyst也会在连续12小时的活动后终止访问.»
在以下场景中:用户查看页面然后关闭其浏览器一分钟,然后重新打开并返回到同一页面.
这是正确的解释吗?
我在IE6,IE7和IE8中测试了以下代码,结果相同:
<a name="cd"/>a</a>
<script>
try {
cd = new Date;
} catch(e) {
alert(e);
}
</script>
在所有情况下都会引发错误.然而使用
var cd = new Date;
似乎解决了这个问题.
有谁知道那是为什么?
这是一个例子:http://jsbin.com/ahuhu4/2