小编Gaj*_*jus的帖子

MySQL/PDO截断数据

$book是一个7kb的字符串.如果使用PHP PDO执行此查询exec,则monograph列(LONGTEXT)数据将被截断为6765个字符:

echo strlen($book); // output 7157

$db->exec("UPDATE `chemicals` SET `monograph` = {$db->quote($book)} WHERE `id` = {$db->quote($c['id'])};");
Run Code Online (Sandbox Code Playgroud)

但是,如果我打印查询并使用SQL客户端(绕过PHP)执行它,它会将所有数据插入数据库.这让我觉得PHP设置我还不熟悉.

请注意,如果我使用预准备语句(包括PDO :: PARAM_LOB),则会发生同样的情况.

$bookexec https://gist.github.com/79d5fe1050bbb0e2fac8(7157)之前转储价值.最终在数据库中的实际数据https://gist.github.com/df49d4a9707660b8b60b(6765).我不明白这样的数据截断在技术上是如何可能的,因为整个查询被传递给MySQL(否则会弹出SQL语法错误).

echo "UPDATE `chemicals` SET `monograph` = {$db->quote($book)} WHERE `id` = {$db->quote($c['id'])};";
Run Code Online (Sandbox Code Playgroud)

如果我使用SQL客户端执行输出(https://gist.github.com/a05fe4c033e74897b82b),这是最终在数据库中的数据https://gist.github.com/88870fe26a3ae40e991e(7157,预期).

PDO使用UTF8连接启动.

new PDO('mysql:dbname=[..];host=localhost;charset=utf8', 'root', '[..]', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';"));
Run Code Online (Sandbox Code Playgroud)

更新2012年07月25日04:11美国东部时间

现在我知道这是编码问题.

$db->exec("UPDATE `chemicals` SET `monograph` = {$db->quote(utf8_decode($book))} WHERE `id` = {$db->quote($c['id'])};");
Run Code Online (Sandbox Code Playgroud)

但是,我不知道该怎么办.我与MySQL的连接已经是unicode了.

/etc/my.cnf 配置为在服务器范围内使用以下设置.

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
Run Code Online (Sandbox Code Playgroud)

mysql pdo mysqlnd

5
推荐指数
1
解决办法
2096
查看次数

如何使用d3.js和crossfilter数据创建直方图?

这是我的演示(永久链接;可能需要一秒钟加载).

我遇到了一些问题:

  1. 交叉滤波器键不反映上边界.因此,x轴缺少一步.

    在此输入图像描述

    我设法通过获得一个组步长(group.all()[1] - group.all()[0]),然后将其添加到d3.extent(group.all())[1].因为它是一个脏修复,我没有将它包含在演示中(可能存在数据差距).获得组步长/固定x轴的不那么脏的方法是什么?

  2. 条之间存在不均匀的间隙.我无法弄清楚如何修复x.scale与不同数据集的不一致.

    在此输入图像描述

    我希望条宽自动适应可用的图形宽度.因此,我计算最佳条宽,然后(如果需要)调整图形本身的大小:

    bar_width = math.round(graph_width/data_length);
    graph_width = bar_width*data_length;
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下,无法x.scale为任何键值返回不均匀的数据,但确实如此.没有魔力; 我只是忽略了一些东西.但它是什么?

    x.scale 弄乱,然后减去bar_widthgraph_width设置之前x.scale范围内解决问题.虽然,我无法弄清楚当x.scale没有按预期运行时检测的条件.

d3.js crossfilter

5
推荐指数
1
解决办法
2206
查看次数

如何获得用户兴趣?

这不是重复我如何通过facebook api获得我朋友的兴趣?.user_interests权限(访问/me/interests)是无用的(如果没有弃用)Facebook功能几乎不会返回任何数据.

相反,我指的是Facebook在此页面汇总的数据:

在此输入图像描述

这些都是用户喜欢分类为"音乐","书籍","电视节目"等类别.通常,用户喜欢可以通过检索/me/likes.但是,后一种查询会返回一组相当生动的类别.

有没有办法让用户喜欢分类到像Facebook这样的通用类别?

facebook-fql facebook-graph-api

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

如何将加载的图像读入blob?

可能重复:
如何将图像对象转换为二进制blob

加载远程图像时,我面临同源策略限制.但是DOM 0 Image对象可用于加载远程资源(这与创建<img />标记基本相同).

var fr = new FileReader(),
    img = new Image();

img.src = 'http://distilleryimage8.s3.amazonaws.com/6cf25568491a11e2af8422000a9e28e9_7.jpg';

img.onload = function () {
    // how to get this image as a Blob object?
};
Run Code Online (Sandbox Code Playgroud)

有没有办法将此资源读入Blob/arraybuffer对象?这不是如何将图像对象转换为二进制blob的重复,因为后者不会出现同源问题.

javascript html5

5
推荐指数
1
解决办法
2363
查看次数

如何在页面加载时阻止CSS动画?

我有一个动画,它负责按钮悬停状态下的淡入和淡出过渡.

问题是默认的animation(-webkit-animation: off-state 1s;)在页面加载时触发.如何在第一个悬停状态后才使其处于活动状态?

我知道如何使用CSS转换实现这一目标.我正在寻找使用动画/关键帧的解决方案.

HTML

<div class="button"></div>
Run Code Online (Sandbox Code Playgroud)

CSS

.button { background: #000; width: 20px; height: 20px; -webkit-animation: off-state 1s; }
.button:hover { -webkit-animation: on-state 1s; }

@-webkit-keyframes on-state {
  0% { height: 20px; }
  100% { height: 100px; }
}

@-webkit-keyframes off-state {
  0% { height: 100px; }
  100% { height: 20px; }
}
Run Code Online (Sandbox Code Playgroud)

演示

css css3 css-animations

5
推荐指数
1
解决办法
1511
查看次数

如何以编程方式将箭头功能与常规功能区分开?

箭头函数常规函数之间没有明显区别。

({}).toString.call(function () {})
"[object Function]"
({}).toString.call(() => {})
"[object Function]"
Run Code Online (Sandbox Code Playgroud)

要么

console.dir( (function () {}) )
Run Code Online (Sandbox Code Playgroud)
function anonymous()
    arguments: null
    caller: null
    length: 0
    name: ""
    prototype: Object
    __proto__: ()
    <function scope>
Run Code Online (Sandbox Code Playgroud)
console.dir( (() => {}) )
Run Code Online (Sandbox Code Playgroud)
function anonymous()
    arguments: (...)
    caller: (...)
    length: 0
    name: ""
    __proto__: ()
    <function scope>
Run Code Online (Sandbox Code Playgroud)

两者的行为不同,并且有一个有效的用例可以区分两者。

如何以编程方式将箭头功能与常规功能区分开?

javascript

5
推荐指数
1
解决办法
172
查看次数

How to automatically push tag to git after npm version command?

npm version:

Run this in a package directory to bump the version and write the new data back to package.json [..] If run in a git repo, it will also create a version commit and tag.

How do I configure npm/ wrap npm version command to automatically push tag to git?, i.e. an equivalent of:

npm version patch
+ foo@3.0.1
git push origin v3.0.1
Run Code Online (Sandbox Code Playgroud)

NPM documentation recommends adding a postversion script to the prackage.json, e.g.

"scripts": {
    "postversion": …
Run Code Online (Sandbox Code Playgroud)

shell npm

5
推荐指数
1
解决办法
2088
查看次数

如何仅发布特定文件夹的内容?

npm release当我只想包含特定路径时如何简化?

我的存储库中有./src./dist文件。我只想有效地发布./dist+的内容./package.json

使用.npmignoreto ignore./src只会忽略该./src文件夹。我只想包括 的内容./dist,即现在用户需要做的require('my-package/dist/something')。我想成功require('my-package/something')./something包含在./dist.

npm

5
推荐指数
1
解决办法
2109
查看次数

如何将参数附加到容器命令?

我有使用该定义构建的应用程序Dockerfile

CMD node dist/bin/index.js
Run Code Online (Sandbox Code Playgroud)

我想在命令中“附加”一个参数,因为它是在 Dockerfile 中定义的,即我想将程序作为node dist/bin/index.js foo.

land 中,我可以通过以下方式实现:

docker build --tag test .
docker run test foo 
Run Code Online (Sandbox Code Playgroud)

我无法使用,command因为这会覆盖ENTRYPOINT. 我不能使用args,因为这将覆盖cmd在定义的Dockerfile。看来我唯一的选择是:

cmd: ["node", "dist/bin/index.js", "foo"]
Run Code Online (Sandbox Code Playgroud)

有没有办法在不重新定义整个 DockerCMD定义的情况下将参数附加到容器命令?

docker kubernetes

5
推荐指数
1
解决办法
2738
查看次数

如何将 BigInt 与 float 相乘?

我一开始以为是一个简单的问题,结果却是一个脑筋急转弯。

我试图解决的问题是:

  • 我有两个以文本形式提供的输入
  • 它们都可以是 bigint 或带有许多小数点的 float
  • 我需要将这些数字相乘并以文本形式生成结果(这似乎是唯一安全的选择)

输入示例为:

8958492893478927347298532876489239230849283
0.00000000000023432787489723234848392840923
327984234.4389057390485483859083482390849028390493037
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方法是什么?

javascript

5
推荐指数
1
解决办法
8138
查看次数