小编Mis*_*r M的帖子

在PHP7 Apache/2.4.7(Ubuntu)上安装phpmyadmin时遇到问题

我今天安装了PHP7

sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm
Run Code Online (Sandbox Code Playgroud)

在此之后,当我尝试访问phpmyadmin时,我收到403禁止错误.然后我尝试重新安装phpmyadmin

apt-get install phpmyadmin
Run Code Online (Sandbox Code Playgroud)

但它仍然寻找不再存在的php5依赖项:

图片描述

我该怎么做才能解决这个问题?

php phpmyadmin php-7

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

InjectRepository 在 NestJS 内部如何工作?

在nestjs中,我明白

imports: [
    TypeOrmModule.forFeature([TaskRepository]),
],
Run Code Online (Sandbox Code Playgroud)

创建某种类型的提供者令牌,这样我就可以使用此令牌将存储库注入我的服务(在同一模块中)。

我不明白的是@InjectRepository()内部是如何工作的,例如:

constructor(
    @InjectRepository(TaskRepository)
    private taskRepository: TaskRepository,
  ) {}
Run Code Online (Sandbox Code Playgroud)

InjectRepository自定义装饰器(应该使用 创建的)如何createParamDecorator能够注入在模块中注册的提供者?我研究了一下,发现createParamDecorator没有能力使用DI。如果createParamDecorator只是创建一个新TaskRepository实例并返回它,那么为什么我需要TypeOrmModule.forFeature在模块中导入?有人可以解释一下这在内部是如何工作的吗?谢谢!

dependency-injection node.js typeorm nestjs

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

无法使 socket.io 在 HTTPS 上工作

我正在使用简单的 socket.io 2.0.3 服务器,没有 express 或任何类似的东西来在我的 Laravel 应用程序中运行简单的聊天功能。

一切都运行良好,直到我决定将网站切换到 HTTPS。现在 socket.io 拒绝连接(ERR_CONNECTION_CLOSED)。

这是我最简单的设置:

服务器.js:

var io = require('socket.io')(8080, {
    origins : //some stuff
});
Run Code Online (Sandbox Code Playgroud)

HTML文件

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>

var socket = io(':8080');
//more stuff
Run Code Online (Sandbox Code Playgroud)

我在服务器文件夹、intermediate.crt、domain.com.crt 和 domain.com.key 中有所有需要的证书文件

有人可以用最简单的例子来帮助如何在 https 上进行这项工作吗?提前致谢!

编辑:需要不使用 Express 的可能解决方案。

javascript sockets node.js socket.io

7
推荐指数
1
解决办法
6684
查看次数

Android媒体播放器 - 正在更新的MPEG-TS文件上回放

我有一个Android TV应用程序,可以使用MPEG-TS文件(在Amlogic盒子上).

我们有1小时长度的文件,比如文件13.mpeg,14.mpeg ... 24.mpeg等(每小时一个文件).

我在倒带当前小时的文件时遇到问题,就像12:50现在一样,文件12.mpeg正在不断更新新数据,但如果我从12:50倒回到12:48,玩家只会去直到12:50然后它会认为文件已经完成并转到OnCompletionListener,当实际文件已经更新到12:52.因此,播放器不会检测更新的数据,只会记录在我请求的点之前记录的数据.

我怀疑Content-Length HTTP标头,但它正在针对每个响应进行更新,因此技术人员应该了解新内容.它要么忽略信息,只能根据第一反应或其他我无法理解的方式工作.

这是我用于简单回放的片段:

MainActivity.mediaPlayer.reset();
MainActivity.mediaPlayer.setDataSource(newPlayUrl);
MainActivity.mediaPlayer.prepareAsync();

MainActivity.mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        MainActivity.mediaPlayer.start();
        MainActivity.mediaPlayer.seekTo(ts * 1000);
        paused = false;
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法告诉玩家在后台请求更新的文件,这样倒带可以正常工作?

android android-mediaplayer

6
推荐指数
0
解决办法
449
查看次数

这个 DeepPartial 类型如何在 Typescript 中工作?

我在这里查看这个问题:

TypeScript:深度部分?

最上面的答案的 DeepPartial 类型定义如下:

type DeepPartial<T> = {
    [P in keyof T]?: DeepPartial<T[P]>;
};
Run Code Online (Sandbox Code Playgroud)

我测试过,这种类型按预期工作,但我无法完全理解它的内部工作原理。

让我们以同一问题的界面为例:

interface Foobar {
  foo: number;
  bar: {
    baz: boolean;
    qux: string;
  };
}
Run Code Online (Sandbox Code Playgroud)

当P=bar时,很容易理解,递归地会进入

DeepPartial<{
    baz: boolean;
    qux: string;
  }>
Run Code Online (Sandbox Code Playgroud)

并使“baz”和“qux”键可选。

但我不明白的是,递归如何适用于原始类型?就像fookey 一样,如何与DeepPartial<number>相同number?当T=数字时,

[P in keyof number]?: DeepPartial<number[P]>;
Run Code Online (Sandbox Code Playgroud)

对我来说没有意义。

在我看来,DeepPartial 的实现应该是这样的:

type DeepPartial<T> = {
    [P in keyof T]?: isPrimitive(T[P]) ? T[P] : DeepPartial<T[P]>;
};
Run Code Online (Sandbox Code Playgroud)

但最初的实现也有效,但我不明白如何。

我希望我能很好地解释我的问题。这是游乐场示例:

https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgGIHt0CM5WQbwChlkZMAuZEAVwFstoBuY5HKSokknAL0q0wAbCHBDMuyAI7UAHpQDOYKKADm45AF9mGwoTABPAA4oAIhAiGACrjDA4ggDwAVAHzIAvARYka2peSgyADWEProMMhOALoA -JRmFtZQtvbOflEu2syECOggiqSYbPHmVjZ2jhjYuG6enIXolACMADQsxQSscHzIStQoOlq6uflgvRCKAJLgJYnlqTT00LXIAKzMQA

编辑: 我进一步调查发现

type DeepPartial<T> = {
    [P in …
Run Code Online (Sandbox Code Playgroud)

typescript

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

ExoPlayer 切换媒体源无黑屏

我在我的项目中使用 exoplayer,在切换媒体源时我只是使用

player.stop();
player.prepare(mediaSource);
Run Code Online (Sandbox Code Playgroud)

这导致大约。0.5 秒黑屏,直到它切换视频。

有没有办法告诉 exoplayer 保留上一视频的最后一帧(而不是 0.5 秒黑屏),直到开始新视频?

java android exoplayer

4
推荐指数
2
解决办法
5223
查看次数

请帮助这个C++代码(可修改的左值)

这段代码有问题,

#include <iostream>
#include <conio.h>
using namespace std;

class Circle {
        double x, y, r;
public:
        Circle (double a=1.0, double b=1.0, double c=1.0) { x=a; y=b; r=c; }
        ~Circle() {}
        double Area();
        double getRadius();


};

class Conus {
                double height;
                Circle C;
        public:
                Conus (double , double , double , double );
                ~Conus() {};
                double Volume();
                void setRadius(double );
        };

Conus::Conus(double h, double a, double b, double c)
        : C (a, b, c)
{
        height=h;
}
double Circle::Area() { return …
Run Code Online (Sandbox Code Playgroud)

c++

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