小编phi*_*ipp的帖子

PHP serialize() - 规范

我正在搜索有关PHP serialize()函数如何正常工作的规范或确切描述.我能找到的主题就是手册中的评论.

有没有关于php如何实现这一点的更详细的描述?

php serialization

6
推荐指数
1
解决办法
1110
查看次数

Ruby-Open3.popen3 /如何打印输出

我有一个小的ruby脚本,它在mysql导入方式:mysql -u <user> -p<pass> -h <host> <db> < file.sql但是利用Open3.popen3这样做.这就是我到目前为止:

mysqlimp = "mysql -u #{mysqllocal['user']} "
mysqlimp << "-h #{mysqllocal['host']} "
mysqlimp << "-p#{mysqllocal['pass']} "
mysqlimp << "#{mysqllocal['db']}"

Open3.popen3(mysqlimp) do |stdin, stdout, stderr, wthr|
  stdin.write "DROP DATABASE IF EXISTS #{mysqllocal['db']};\n"
  stdin.write "CREATE DATABASE #{mysqllocal['db']};\n"
  stdin.write "USE #{mysqllocal['db']};\n"

  stdin.write mysqldump #a string containing the database data
  stdin.close

  stdout.each_line { |line| puts line }
  stdout.close

  stderr.each_line { |line| puts line }
  stderr.close
end
Run Code Online (Sandbox Code Playgroud)

这实际上是在做这项工作,但是有一件事困扰着我,关心我希望看到的输出.

如果我将第一行更改为:

mysqlimp = …
Run Code Online (Sandbox Code Playgroud)

ruby popen3

6
推荐指数
1
解决办法
6076
查看次数

socket.io-restrict每个命名空间的最大连接数

我在node.js,express和socket.io上构建了一个小的webapp.在其中,我使用两个名称空间创建:

lists = io.of('/lists'),
views = io.of('/view'),
Run Code Online (Sandbox Code Playgroud)

我想做的是限制/views命名空间中的连接数.用socket.io有什么办法吗?我看过文档,但那里找不到任何东西.

任何想法如何做到这一点?

提前谢谢!

javascript node.js express socket.io

6
推荐指数
1
解决办法
937
查看次数

如果没有`&lt;slot /&gt;`,但是有影子根,子节点会发生什么

考虑这个代码:

//js
class FooBar extends HTMLElement {
  constructor(){
    super();
  }
}

customElements.define('foo-bar', FooBar);


<!-- html -->
<foo-bar>
  <h1>Test</h1>
</foo-bar>
Run Code Online (Sandbox Code Playgroud)

这将在浏览器中显示»Test«。

如果构造函数改为:

constructor () {
  super();
  this.shadow = this.attachShadow({ mode: 'open' }) 
}
Run Code Online (Sandbox Code Playgroud)

»Test« 消失了,因为现在有一个影子根。

如果构造函数进一步更改为

constructor () {
  super();
  this.shadow = this.attachShadow({ mode: 'open' });
  this.shadow.appendChild(document.createElement('slot')); 
}
Run Code Online (Sandbox Code Playgroud)

»Test« 再次出现,因为现在所有子节点都有一个默认插槽 <foo-bar>

但是如果<slot />影子根中没有子节点会发生什么。他们仍然出现在里面this.children并且它的style.display财产仍然存在""。所以他们在 dom 内,但没有被渲染,即使你 thr css 告诉相反?这里究竟发生了什么?

javascript web-component custom-element

6
推荐指数
1
解决办法
485
查看次数

应用所有变换矩阵

我正在寻找一种可能快速的方法来应用给定svg-graphic的所有变换矩阵.换句话说:算法应该删除所有"变换"属性,并将图形的所有坐标变换为绝对坐标.

他们的任何库可以做到这一点,还是他们的任何SVGDomInterface方法都可以做到这一点?

编辑::

如果我像这样调用整合方法:

$.each( svg.find( 'path' ), function( i ){
        this.transform.baseVal.consolidate();
});
Run Code Online (Sandbox Code Playgroud)

没有任何反应,如果我这样称呼它:

$.each( svg.find( 'path' ), function( i ){
        this.transform.animVal.consolidate();
});
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误

那么,我应该如何使用"合并"方法,我应该在哪个元素上调用它?

问候菲律宾

javascript svg transformation

5
推荐指数
3
解决办法
3965
查看次数

性能问题内联SVG与嵌入或iframe

我有两个SVG图像,它们一起有大约8000行,由几个带渐变的形状组成.没有图案,过滤器,文本,只有带笔划的基本图形元素,简单或渐变填充.

目前,它们在生成时被内联注入HTML,因此源代码变得安静.这是否会降低动画的性能,因此最好不同地嵌入svg?

嵌入svg时是否有一般的经验法则?

问候菲律宾

html svg

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

Doctrine——选择所有字段并按其中一个分组

我正在尝试创建一个带有学说的查询,它在 SQL 中基本上应该是这样的:

SELECT p.* FROM some_tabel AS p GROUP BY p.type;
Run Code Online (Sandbox Code Playgroud)

所以我结束了这个,因为这是我发现记录的最接近的:

private function getAll()
{
    //$this->em => Entity Manager
    return $this->em->createQueryBuilder()
        ->select('p')
        ->from('AppBundle:Robots', 'p')
        ->groupBy('p.type')
        ->getQuery()
        ->getResult(Query::HYDRATE_ARRAY);
}
Run Code Online (Sandbox Code Playgroud)

该错误告诉我未选择“p.type”。

我怎样才能让它工作?

更新

正如@Felippe Duarte接受的答案中提到的,Mysql 的分组似乎是一种有线。即使我运行:

SELECT p.*, max(p.id) FROM some_tabel AS p GROUP BY p.type;
Run Code Online (Sandbox Code Playgroud)

正如许多答案所建议的那样,结果不是我所期望的,因为只包含每种类型的第一项,并且没有发生真正的分组。

订购而不是分组的选项很好,但仍然会给我留下一些处理,所以在这种情况下它是多余的。

最后这段代码做了我需要的:

private function groupByType(array $robots)
{
    return array_reduce($robots, 
        function($list, $robot)
        {
            $list[$robot->getType()][] = $robot;
            return $list;
        }, []);
}
Run Code Online (Sandbox Code Playgroud)

由于这不是太多代码,而且不会有太多»机器人«,我决定 - 遵循 KISS 范式 - 这是首选的解决方案。

php symfony doctrine-orm

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

React HOC——给封装的组件添加事件监听器

我正在尝试创建一个 HOC,它使常规功能组件 »Touchable«。

所以我有一个这样的 HOC:

const Touchable = (Component, handler) => {
  const T = ({props, children}) => {
    const Instance = React.createElement(
      Component, 
      {
        ...props,
        onTouchStart: (e) => handler.touchStart(e),
        /*more listeners*/
      }, children);
  }

  return T;
}
Run Code Online (Sandbox Code Playgroud)

另一个像这样的组件:

const Button = ({props, children}) => <div>…</div>;

export default Touchable(Button, {touchStart: () => {}});
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

<Button>Hallo</Button>
Run Code Online (Sandbox Code Playgroud)

结果(反应开发人员面板):

<Button onTouchStart={…}>
  <div>…</div>
</Button>
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是:

<Button>
  <div onTouchStart={…}>…</div>
</Button>
Run Code Online (Sandbox Code Playgroud)

我试图克隆实例,但不知何故我没有运气。我怎样才能做到这一点?

reactjs higher-order-components

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

docker-compose——仅在开发中绑定挂载卷

我有一个docker-compose.yml这样的:

\n\n
version: '2'\nservices:\n  backend:\n    build:\n      context: .\n    volumes:\n      - .:/home/ll/stuff\n    ports:\n      - '8000:80'\n
Run Code Online (Sandbox Code Playgroud)\n\n

这总是会增加数量,这对开发有利,但对生产不利。有没有办法让 \xc2\xbbtell\xc2\xabdocker-compose仅在开发中挂载该卷,或者换句话说,如果APP_ENV为空或==development

\n\n

我需要为此创建另一个撰写文件吗?如果是这样,我可以使用生产文件中的配置,而不重复不改变的内容吗?

\n

docker-compose

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

-0不等于0

我有一个计算值的函数,它是一个浮点值:

function crunch (float $a, float $b):float
{
  //do stuff
  return $result;
}

function testSomething (float $a, float $b):bool
{
  //if $result is -0 that returns false
  $result = crunch($a, $b);
  return $result === 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么-0不等于0,如果能够安全地检查该数字是否为零,假设它0应该是相同的-0

UPDATE

因为有更多细节的问题.我有一个Vec2有getter x()y()getter 的类,以及一个叫做的方法cross,看起来像这样:

public function cross(Vec2 $vec2):float
{
  return ($this->_x * $vec2->_y) - ($vec2->_x * $this->_y);
}
Run Code Online (Sandbox Code Playgroud)

运行此代码:

$cross = $this->cross($d);
Run Code Online (Sandbox Code Playgroud)

导致调试器输出

在此输入图像描述

$cross === 0评估false;

php floating-point

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