小编klo*_*oma的帖子

将html5动画录制到视频 - 无需人工干预

我有一个大问题:如何在没有人工干预的情况下录制HTML5动画到视频? 我们正在寻找开放/源代码甚至是专有解决方案.

用例:

我们想要开始一个我们将创建Html5动画的项目.动画将是一个简短的技术演示(2-5分钟),将包括所有类型的动画:线条,图表,区域.它还将有一个音轨.

要生成动画,我们将使用不同的JS库:

我们需要能够录制这个动画并将其保存为mp4视频或同等视频.

最大的问题是:如何做到?

我看到两个选项:

  1. 用PhantomJs记录下来

根据我的研究,FPS几乎无法控制.我跑了几次测试,效果不是很好.Greensock时间表可能有所帮助,但我们需要灵活使用我们使用的JS库.

  1. 在浏览器中播放并使用某些工具进行录制

如果我们能够实现自动化,这将是非常棒的.

提前致谢!

我的研究中使用的参考文献

javascript html5 animation video-capture html5-video

7
推荐指数
2
解决办法
6348
查看次数

Symfony 3或4自定义翻译加载程序

我对symfony翻译模块感到非常困惑。如何在配置文件中配置自定义翻译加载程序?

我有一个自定义加载程序,它可以工作,根据以下示例:https : //symfony.com/doc/current/components/translation/custom_formats.html

如果我将其放在控制器中,它将起作用

        $translator = new Translator( 'de' );
        $translator->addLoader( 'my_format', new MyCsvLoader() );
        $translator->addResource( 'my_format', $root . '/translations/translations.csv', 'de' );

        var_dump( $translator->trans( 'LB_ABOUT' ) );
Run Code Online (Sandbox Code Playgroud)

但是我无法弄清楚如何将其注册为我的“默认”翻译加载器;因为默认情况下应使用。

https://symfony.com/doc/current/reference/dic_tags.html#dic-tags-translation-loader

translation.yaml

framework:
    default_locale: 'en'
    translator:
        paths:
            - '%kernel.project_dir%/translations/'
        fallbacks:
            - '%locale%'
Run Code Online (Sandbox Code Playgroud)

services.yaml:

App\Translate\MyCsvLoader:
    tags:
        - { name: translation.loader, alias: csv }
Run Code Online (Sandbox Code Playgroud)

symfony symfony4

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

Symfony + Doctrine onFlush - 如何跳过实体的插入和更新

我有以下用例:我读取了具有集合(项目)的多个实体(项目)。

为了实现特定功能,我确实更改了项目实体并将内容添加到项目集合中,但我不希望保存这些更改!

还有涉及其他几个实体,当我保存这些实体时,所有更改都会被保存(项目更新和项目插入)。

我试图用原则中的 onFlush 事件来解决这个问题,但它并不总是有效:

  • 我不知道如何从更新中删除实体(我使用分离),但这已被弃用
  • 在某些情况下,我会收到如下错误:

    通过关系“App\Entity\Item#project”发现了一个新实体,该实体未配置为级联实体的持久操作:Proxies__CG__\App\Entity\Project@00000 00042a2548f0000000067efb063。要解决此问题: 对此未知实体显式调用 EntityManager#persist() 或配置级联以在映射中保留此关联,例如 @ManyToOne(..,cascade={"persist"})。如果您无法找出导致问题的实体,请执行“App\Entity\Project#__toString()”来获取线索。

应用\EventListener\DoctrineFlushListener.php

namespace App\EventListener;

use Doctrine\ORM\Event\OnFlushEventArgs;

class DoctrineFlushListener
{
    /**
     * @param OnFlushEventArgs  $args
     */
    public function onFlush(OnFlushEventArgs  $args)
    {
        $em = $args->getEntityManager();
        $uow = $em->getUnitOfWork();

        foreach ($uow->getScheduledEntityInsertions() as $entity) {
            if (method_exists($entity, 'isOrmSkipInsert')) {
                if ($entity->isOrmSkipInsert()) {
                    $uow->remove($entity);
                }
            }
        }

        foreach ($uow->getScheduledEntityUpdates() as $entity) {
            if (method_exists($entity, 'isOrmSkipSave')) {
                if ($entity->isOrmSkipSave()) {
//                    $uow->refresh($entity);
                    //$uow->markReadOnly($entity);
//                    $uow->detach($entity);
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 …

doctrine symfony

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

Nuxt.Js 在 Azure 上部署而不使用 node_modules 文件夹

我有 nuxt.js APP 和 SSR,正在部署在 Azure 上。一切都很好,一切正常,只是由于node_modules文件夹的原因,部署过程需要大约 10 分钟。

在服务器端,有一个“标准”的 Node js 服务器设置。正在部署的工件结构如屏幕截图所示。

在此输入图像描述

由于node_modules文件夹的原因,部署大约需要 10 分钟。如果我从工件中删除该应用程序将停止工作。node_modules

我环顾四周,但找不到任何好的参考资料,说明如何使用 SSR 部署 nuxt.js 应用程序,而无需node_modules服务器上的文件夹。

据我从下面的链接了解,该.nuxt文件夹在服务器上应该足够了,但我不知道如何让它运行。也许它与服务器设置有关?

https://nuxtjs.org/docs/2.x/get-started/commands/#生产部署

欢迎任何提示。

nuxt.js

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

“无法为 javascript 创建 javax 脚本引擎”extjs

在“默认”安装 extjs 后,我无法让它在任何 Java > 版本 14 上运行。

对于 Java 14,主要警告是:

[ERR] Warning: Nashorn engine is planned to be removed from a future JDK release
Run Code Online (Sandbox Code Playgroud)

使用 Java 15ant构建失败:

Exception information:
=======================
/home/ubuntu/my-ext-gen-app/node_modules/@sencha/cmd/dist/plugin.xml:378: The following error occurred while executing this line:
/home/ubuntu/my-ext-gen-app/build.xml:15: Unable to create javax script engine for javascript
     at com.sencha.ant.AntScript.execute(AntScript.java:121)
     at com.sencha.command.plugin.PluginManager.execute(PluginManager.java:104)
     at com.sencha.command.plugin.PluginManager.executeReverseFirst(PluginManager.java:145)
     at com.sencha.command.environment.BuildEnvironment.execute(BuildEnvironment.java:309)
     at com.sencha.command.environment.AppOrPackageEnvironment.execute(AppOrPackageEnvironment.java:729)
     at com.sencha.command.BasePluginCommands$BasePluginCommand.doExecute(BasePluginCommands.java:125)
     at com.sencha.command.app.AppCommands$BuildCommand.execute(AppCommands.java:470)
     at com.sencha.command.app.AppCommands$WatchCommand.execute(AppCommands.java:909)
     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
     at java.base/java.lang.reflect.Method.invoke(Method.java:577)
     at com.sencha.util.MethodInvoker$Arguments.invoke(MethodInvoker.java:175)
     at com.sencha.cli.Command.dispatch(Command.java:43)
     at com.sencha.command.BasePluginCommands$BasePluginCommand.dispatch(BasePluginCommands.java:289)
     at com.sencha.cli.Commands.dispatch(Commands.java:64)
     at …
Run Code Online (Sandbox Code Playgroud)

java extjs

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

Symfony 功能测试 - 如何使用请求模拟控制器注入的服务(提交)

如何在发出“请求”(表单/提交)的功能测试用例中模拟服务。发出请求后,我对容器所做的所有更改和模拟都丢失了。

我正在使用 Symfony 4 或 5。这里发布的代码也可以在这里找到:https : //github.com/klodoma/symfony-demo

我有以下场景:

  • SomeActions服务被注入到控制器构造函数中
  • 在功能单元测试中,我尝试模拟SomeActions函数以检查它们是否已执行(它发送电子邮件或类似的东西)

我模拟服务并在单元测试中覆盖它:

$container->set('App\Model\SomeActions', $someActions);
Run Code Online (Sandbox Code Playgroud)

现在在测试中我做了一个$client->submit($form); 我知道它终止了内核。

我的问题是:我怎样才能在容器中注入我模拟$someActions$client->submit($form);

下面是我添加到 symfony 演示应用程序的示例代码 https://github.com/symfony/demo

在此处输入图片说明

在 services.yaml 中

App\Model\SomeActions:
    public: true
Run Code Online (Sandbox Code Playgroud)

一些控制器.php

<?php

namespace App\Controller;

use App\Model\SomeActions;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

/**
 * Controller used to send some emails
 *
 * @Route("/some")
 */
class SomeController extends AbstractController
{
    private $someActions;

    public function __construct(SomeActions $someActions)
    {
        //just dump the injected …
Run Code Online (Sandbox Code Playgroud)

php unit-testing symfony

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