小编Chr*_*ris的帖子

最大MySQL用户密码长度

MySQL用户密码的最大长度是多少?

MySQL用于PASSWORD(str)加密明文密码str.此散列密码字符串存储在mysql.user具有CHAR(41)数据类型的授权表中.

但是,我无法找到明文密码的最大长度str(如果有的话).有人可以帮忙吗?

mysql passwords

28
推荐指数
1
解决办法
2万
查看次数

分析App Engine上的内存使用情况

如何在App Engine应用程序中分析内存(RAM)的使用情况?我正在尝试解决与超出实例内存限制相关的错误.我尝试过这些东西,到目前为止,它们不起作用或者不提供我需要的东西.

  • 将Appstats.这不提供内存使用详细信息.
  • Apptrace.它自2012年以来未更新,并取决于SDK的弃用版本.不开箱即用.
  • Appengine-profiler.不提供内存统计信息.
  • Gae-mini-profiler,使用cProfile.不提供内存统计信息.
  • 孔雀鱼.在我的应用程序文件夹中下载并安装库代码后,运行guppy.hpy()失败ImportError: No module named heapyc
  • 资源.不是SDK的python版本的一部分,所以我不能使用它.

我对以上任何一个都错了吗?在这个问题上得分最高的答案(不是公认的答案)说,没有办法监控App Engine上的内存使用情况.这不可能是真的.它可以?

编辑

我可以确认GAE mini profiler可以完成这项工作.安装后,我可以将UI中的设置更改为"带内存采样",然后查看此读数:

示例UI显示内存使用情况

感谢所有贡献者!

python memory google-app-engine

12
推荐指数
2
解决办法
2564
查看次数

如何在谷歌应用程序脚本中使用SSL连接数据库?

我正在尝试通过Google Apps脚本中的SSL连接到数据库,引用这些文档.错误是:

Execution failed: Failed to establish a database connection. Check connection string, username and password.
Run Code Online (Sandbox Code Playgroud)

我可以从另一个数据库客户端(Sequel Pro)使用这些完全相同的参数,它工作正常.我有db接受来自任何IP地址的连接(0.0.0.0/0).

我相信我已经消除了所有其他变量(用户名,密码等等),只有当我尝试在Apps脚本中使用SSL时才会失败.

任何人都可以提供在Google Apps脚本中使用SSL连接MySQL数据库的工作示例吗?

我的应用脚本:

function connectDb() {
  var address = 'x.x.x.x';  // no, I'm not literally using x's in my ip address

  var instanceUrl = 'jdbc:mysql://' + address + ':3306/';

  var clientSslKey = '-----BEGIN RSA PRIVATE KEY-----\n' +
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n' +
    /* snip */
    '-----END RSA PRIVATE KEY-----';

  var clientSslCertificate = '-----BEGIN CERTIFICATE-----\n' +
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n' +
    /* snip */ …
Run Code Online (Sandbox Code Playgroud)

ssl jdbc google-apps-script

12
推荐指数
1
解决办法
1443
查看次数

Javascript中继承建模的优缺点?

我意识到Javascript没有类,并且没有构建为具有经典的OOP继承.但是我发现这样的模式非常有用,我想构建一种简单的方法来模拟这种行为,理想的是利用Javascript灵活性的最佳部分.以下方法的优缺点是什么?

我的自定义库中有以下功能:

function inherit(superClass, args, instance) {
    var subClass = inherit.caller;
    var o = new superClass(args);
    for(p in o) {
        if(o.hasOwnProperty(p)) init(instance, p, o[p]);
        else init(subClass.prototype, p, o[p]);
    }
}

function isUndefined(x) {var u; return x === u;}

// sets p to value only if o[p] is undefined
function init(o, p, value) {if(isUndefined(o[p])) o[p] = value;}
Run Code Online (Sandbox Code Playgroud)

此设置需要两个约定:

  1. 建模类的函数必须使用一个参数:具有命名属性的对象
  2. 希望从另一个"继承"的函数必须调用inherit函数.

以下是您获得的结果的示例(粘贴到Firebug命令行以及库函数,以查看它的运行情况):

function SuperClass(args) {
  this.x = args.x;
}

SuperClass.prototype.p = 'SuperClass prototype property p';

function SubClass(args) {
  inherit(SuperClass, args, this);
  this.y …
Run Code Online (Sandbox Code Playgroud)

javascript oop inheritance prototype-programming

9
推荐指数
1
解决办法
1992
查看次数

在PHP中处理格式错误的JSON

我正在尝试编写一个php脚本来处理来自web服务的数据,该服务将"json"作为字符串传递.问题是字符串不是真正的json; 这是javascript.具体来说,虽然变量是,但不引用键.示例(实际数据更长,更复杂):

{desc:'User defined payload'}
Run Code Online (Sandbox Code Playgroud)

正如php手册所述,json_decode()正确无法解释此字符串.

我的问题是,如何在php中成功解释这样的字符串?

我能想到的唯一解决方案是编写一些修复语法的正则表达式,但后来我遇到了两个问题.

编辑

Hadvig建议使用Services_JSON pear模块,并且看起来像是一个通用的解决方案.安装模块后,我的代码如下所示:

require_once 'PEAR.php';
require_once 'Services/JSON.php';

$Services_JSON = new Services_JSON();
$data = $Services_JSON->decode($malformed_json);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是缓慢的.要解释整个字符串(约400,000个字符)需要> 36秒!使用正则表达式修复引号然后使用json_decode花了~0.04秒.这是我用过的东西:

// fix single quotes
$s = str_replace("'", '"', $malformed_json);

// fix unquoted keys
$valid_json = preg_replace('/([{\[,])\s*([a-zA-Z0-9_]+?):/', '$1"$2":', $s);

$data = json_decode($valid_json);
Run Code Online (Sandbox Code Playgroud)

当然,如果数据包含任何引号,括号或逗号,这将会中断.

php json

9
推荐指数
1
解决办法
6047
查看次数

查看包含POST数据的cURL请求标头

如何在php中使用libcurl 查看完整的请求标头,包括发布数据

我正在尝试模拟页面的帖子,当从浏览器完成并在Live HTTP Headers中查看时,它看起来像这样:

https://###.com
POST /###/### HTTP/1.1
Host: ###.###.com
...snipped normal looking headers...
Content-Type: multipart/form-data; boundary=---------------------------28001808731060
Content-Length: 697
-----------------------------28001808731060
Content-Disposition: form-data; name="file_data"; filename="stats.csv"
Content-Type: text/csv
id,stats_id,scope_id,stat_begin,stat_end,value
61281,1,4,2011-01-01 00:00:00,2011-12-31 23:59:59,0
-----------------------------28001808731060
Content-Disposition: form-data; name="-save"
Submit
-----------------------------28001808731060--
Run Code Online (Sandbox Code Playgroud)

所以我们很好地看到我正在上传的文件,它的内容,一切都在那里.但是当我尝试从php(使用CURLOPT_VERBOSE或者CURLINFO_HEADER_OUT)发出相同的帖子时,我尝试从cURL中获取数据的所有尝试都显示缺少post数据的请求标头,如下所示:

POST /###/### HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Host: ###.###.com
...snipped normal-looking headers...
Content-Length: 697
Content-Type: multipart/form-data; boundary=----------------------------e90de36c15f5
Run Code Online (Sandbox Code Playgroud)

基于Content-Length,看起来事情进展顺利,但它确实有助于我的调试工作能够看到完整的请求.我也觉得很困难,我应该能够看到整件事; 我知道我一定错过了什么.

---编辑---

我正在寻找的是相当于这个:

curl --trace-ascii debugdump.txt http://www.example.com/
Run Code Online (Sandbox Code Playgroud)

这似乎可以在libcurl中使用CURLOPT_DEBUGFUNCTION选项,但是没有在php中实现.嘘.

php curl libcurl

8
推荐指数
2
解决办法
6739
查看次数

将数据URL上传到Django服务器

我试图在Django中执行此操作(异步上传画布作为图像文件).我正在使用(稍微修改过的版本)在演示中找到的javascript,它推出了自己的XHRHttpRequest,但是我没有在服务器端找到任何上传的证据.

画布数据的提取方式如下:

img_data = canvas.toDataURL('image/jpeg').replace("data:image/jpeg;base64,", "");
Run Code Online (Sandbox Code Playgroud)

这是xhr标题:

xhr.setRequestHeader('content-type', 'multipart/form-data; boundary=multipartformboundary1352769538973');
Run Code Online (Sandbox Code Playgroud)

这是POST内容:

--multipartformboundary1352769538973
Content-Disposition: form-data; name="user_file"; filename="test.jpeg"
Content-Type: application/octet-stream

/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAUDAwUHD...snipping image data...
AJRRRQAUtJS018gA/9k=
--multipartformboundary1352769538973
Content-Disposition: form-data; name="username"


--multipartformboundary1352769538973
Content-Disposition: form-data; name="challenge"


--multipartformboundary1352769538973
Content-Disposition: form-data; name="galleryPath"


--multipartformboundary1352769538973--
Run Code Online (Sandbox Code Playgroud)

当我让Django向我展示它看到的请求对象时,这就是我得到的:

<WSGIRequest
path:/samlite/save_frame,
GET:<QueryDict: {}>,
POST:<QueryDict: {u'username': [u''], u'challenge': [u''], u'galleryPath': [u'']}>,
COOKIES:{},
META:{'ARCHFLAGS': '-arch i386',
 'Apple_PubSub_Socket_Render': '/tmp/launch-wL0OpX/Render',
 'Apple_Ubiquity_Message': '/tmp/launch-ox20mG/Apple_Ubiquity_Message',
 'COMMAND_MODE': 'unix2003',
 'CONTENT_LENGTH': '34323',
 'CONTENT_TYPE': 'multipart/form-data; boundary=multipartformboundary1352769538973',
 'DISPLAY': '/tmp/launch-KzsfWx/org.x:0',
 'DJANGO_SETTINGS_MODULE': 'simsam.settings',
 'DYLD_LIBRARY_PATH': '/Applications/bitnami-djangostack/apps/django/lib/python2.7/site-packages:/Applications/bitnami-djangostack/apps/django/lib/python2.7/site-packages:/Applications/bitnami-djangostack/python/lib:/Applications/bitnami-djangostack/mysql/lib:/Applications/bitnami-djangostack/sqlite/lib:/Applications/bitnami-djangostack/apache2/lib:/Applications/bitnami-djangostack/common/lib:',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HOME': '/Users/chris',
 'HTTP_ACCEPT': 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, …
Run Code Online (Sandbox Code Playgroud)

django image-uploading data-url html5-canvas

5
推荐指数
2
解决办法
3260
查看次数

为什么函数声明在不同的浏览器中处理不同?

虽然我在google中找不到对此的引用,但我很熟悉这样一个事实,即在javascript中,全局函数声明在任何代码执行之前都会得到解释.换句话说,这很好用:

f();
function f() {}
Run Code Online (Sandbox Code Playgroud)

但是,我注意到chrome和firefox对全局函数声明的解释有不同的解释.特别是,chrome很高兴在第一遍中读取一个if块内的函数声明,但firefox却没有.

try {document.write(f);}               // works in chrome
catch(e) {document.write(e.message);}  // throws an error in firefox

try {document.write(g);}               // works in chrome and firefox
catch(e) {document.write(e.message);}

if(true) function f() {}
function g() {}
Run Code Online (Sandbox Code Playgroud)

你可以用这个小提琴自己尝试这个例子.我使用的是Chrome 16.0.912.75和Firefox 9.0.1.

这种行为的ECMA标准是什么?这个"提升"函数声明的过程是否有一个术语高于其他代码?什么代码被"解除"对解释是开放的(两种浏览器都是正确的)?或者是其中一个中的错误?

javascript firefox google-chrome

4
推荐指数
1
解决办法
5096
查看次数

为什么fabric.ster()之后fabricjs canvas没有正确更新?

  1. 将对象添加到结构画布
  2. 调用object.center()
  3. 错误:http://jsfiddle.net/tBnfL/

看来这个对象现在分为两个地方.它在中心可视化渲染,但鼠标光标将其视为原始位置.如果单击原始位置,画布将正确更新,并且操作正常.

canvas.calcOffset()不解决它(就像它在这里做的那样).

javascript html5-canvas fabricjs

3
推荐指数
1
解决办法
8633
查看次数

为什么读取属性有时会在javascript中引发错误?

假设我有一些变量:

var s = 's', i = 0, o = {}, a = [], n = null, nan = NaN, u;
Run Code Online (Sandbox Code Playgroud)

我怎么能理解读取什么时候x.p会返回undefined,什么时候会抛出TypeError

s.p;  // undefined
i.p;  // undefined
o.p;  // undefined
a.p;  // undefined
n.p;  // TypeError!
nan.p;  // undefined
u.p;  // TypeError!
Run Code Online (Sandbox Code Playgroud)

PS是nullundefined这种方式唯一奇怪的价值观?还有其他人吗?

编辑

我知道通过像我一样声明变量,我的几个值已被对象自动包装(例如Number),尽管是基元.因此,我可以像对待"正确"的对象(例如{},[]),并试图读取它们的属性.但我找不到太多的解释是什么和不是这样包裹.

javascript

3
推荐指数
1
解决办法
254
查看次数

此App Engine Ndb语法如何工作?

Guido van Rossum的NdbGoogle App Engine库有一个我觉得好奇的查询语法.假设您想要找到所有满意的用户,您可以编写此查询:

User.query(User.happy == True)
Run Code Online (Sandbox Code Playgroud)

我读到:

  • 类的query方法的函数调用User,继承自ndb.Model.好到目前为止.
  • 函数调用的一个参数是一个表达式,它在类属性User.happy和值之间进行布尔比较True.

我希望表达式能够评估False(就像那样dict.keys == True),所以上面应该等同于:

User.query(False)
Run Code Online (Sandbox Code Playgroud)

Ndb如何通过它做任何聪明的事情?我错过了什么蟒蛇魔法?

python google-app-engine app-engine-ndb google-cloud-datastore

3
推荐指数
1
解决办法
133
查看次数