小编Yah*_*din的帖子

解析TCP数据包数据

我试图解析一个TCP包,然后分配给指向有效负载开始的指针.

我正在使用C,这是我的代码到目前为止:

void dump(const unsigned char *data, int length) { //*data contains the raw packet data
    unsigned int i;
    static unsigned long pcount = 0;

    // Decode Packet Header
    struct ether_header *eth_header = (struct ether_header *) data;

    printf("\n\n === PACKET %ld HEADER ===\n", pcount);

    printf("\nSource MAC: ");
    for (i = 0; i < 6; ++i) {
        printf("%02x", eth_header->ether_shost[i]); //? Why don't i use nthos here?
        if (i < 5) printf(":");
    }

    unsigned short ethernet_type = ntohs(eth_header->ether_type);
    printf("\nType: %hu\n", ethernet_type);

    if …
Run Code Online (Sandbox Code Playgroud)

c tcp packet-capture packet packet-sniffers

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

在 XQuery 中创建地图

我正在尝试在 xquery 中创建类似哈希映射/键值对的结构。我知道 xquery 中存在类似地图的结构:http://www.w3.org/2005/xpath-functions/map/

甚至在撒克逊语中找到了文档:http://www.saxonica.com/html/documentation/functions/map/

但是我不确定如何创建或使用地图。

到目前为止,这是我的代码:

declare namespace map="http://www.w3.org/2005/xpath-functions/map";
let $a := map:map()
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

Cannot find a matching 1-argument function named
  {http://www.w3.org/2005/xpath-functions/map}map()
Run Code Online (Sandbox Code Playgroud)

那么我到底如何在 xquery 中使用映射呢?

xml xquery saxon xquery-3.0

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

phpunit xml配置颜色指令不起作用

我为我的单元测试定义了一个phpunit.xml配置文件.在这个文件中,我指示在单元测试结果中显示颜色如下:

<phpunit
   ... 
   colors="true"
   ... 
</phpunit>
Run Code Online (Sandbox Code Playgroud)

当我在命令行中运行测试时,一切正常,除了我在结果中没有绿色和红色.

如果我删除配置文件并--color=always在命令行中使用该参数,那么我将获得带有颜色的结果.

在配置文件中,我已经尝试更改colors="true"colors="always"没有结果.

我的配置文件有问题吗?

这是我的phpunit.xml配置文件:

<phpunit
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.1/phpunit.xsd"
  backupGlobals="true"
  backupStaticAttributes="false"
  cacheTokens="false"
  colors="true"
  convertErrorsToExceptions="true"
  convertNoticesToExceptions="true"
  convertWarningsToExceptions="true"
  forceCoversAnnotation="false"
  mapTestClassNameToCoveredClassName="false"
  printerClass="PHPUnit_TextUI_ResultPrinter"
  processIsolation="false"
  stopOnError="false"
  stopOnFailure="false"
  stopOnIncomplete="false"
  stopOnSkipped="false"
  stopOnRisky="false"
  testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
  timeoutForSmallTests="1"
  timeoutForMediumTests="10"
  timeoutForLargeTests="60"
  verbose="false">
 <testsuites>
   <testsuite name="examples">
     <directory>/home/miguelbgouveia/Documents/projects/joomla/tests</directory>
     <file>test_example.php</file>
   </testsuite>
 </testsuites>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

phpunit的版本是5.1.2

php phpunit unit-testing

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

如何在课堂上访问Laravel Singletons?

我在服务提供商中注册了一个单身人士,如下所示:

$this->app->singleton(MyClass::class);
Run Code Online (Sandbox Code Playgroud)

通常只需在参数中声明它就可以访问它:

class FooController extends Controller
{
    public function index(MyClass $myClass)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我似乎无法在其他自定义类(即非控制器类)中访问此单例.(https://laravel.com/docs/5.2/container#resolving)

比如像这里:

class Bar {
   private $myClass;
   private $a;
   private $b;

   public function __construct($a, $b) {
      $this->a = $a;
      $this->b = $b;
      $this->myClass = ... // TODO: get singleton
   }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

请注意,我将创建多个实例Bar.

php service-provider laravel laravel-5

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

使用PageSpeed消除jQuery的渲染阻止JavaScript

我在页面底部添加了jQuery.但是,当我在pagespeed见解(移动)上运行我的网站时,我收到错误:

在上层内容中消除渲染阻止JavaScript和CSS您的页面有2个阻止脚本资源和1个阻止CSS资源.

这会导致呈现页面的延迟.在不等待加载以下资源的情况下,无法呈现页面上的上述内容.

尝试推迟或异步加载阻止资源,或直接在HTML中内联这些资源的关键部分.

请参阅:http://learnyourbubble.comhttps://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Flearnyourbubble.com&tab=mobile

但是,jQuery添加在页面底部.所以它应该低于一点.

如何删除此错误?

javascript jquery pagespeed

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

检查是否有任何东西正在侦听PHP中的端口

我想使用PHP来检查是否有任何内容正在侦听localhost:81,以确保可以运行PHP内置服务器.

即我想检查以下是否正常运行php -S localhost:81.

现在如果某些东西已经在端口81上监听(例如Apache),这当然会引起问题.

我读了以下内容:如何检查端口465和587是否使用PHP打开?并且解决方案似乎不起作用.

即:

$fp = fsockopen('localhost', '81', $errno, $errstr, 5);
var_dump($fp); // returns false
if (!$fp) {
    // port is closed or blocked
    echo "CLOSED!";
    return false;
} else {
    // port is open and available
    echo "OPEN!";
    fclose($fp);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面不断回归"关闭!" 即使它没有.

我还收到以下错误消息:

PHP Warning:  fsockopen(): unable to connect to localhost:81 (Connection refused)
Run Code Online (Sandbox Code Playgroud)

我该如何解决我的问题?

还有其他选择吗?

php port

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

Git LFS 要求每个跟踪文件的密码

我在使用 OSX 的 Bitbucket 中使用 Git LFS(尽管我在 Ubuntu 上发现了同样的问题)。

我的 repo 包含许多使用 Git LFS 存储的文件

当我执行 git clone 时,它​​会要求我为每个使用 Git LFS 跟踪的文件输入密码。这是一个大问题,因为我可以使用 Git LFS 存储数百个文件。

请注意,未使用 Git LFS 跟踪的文件没有问题。

我该如何解决这个问题?

git git-lfs

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

`CREATE ALGORITHM=UNDEFINED DEFINER` 需要超级权限

我正在尝试将我的旧数据库之一导入到我的新数据库中。

为此,我创建了一个与以前具有相同权限的用户:

除了以下命令外,几乎每个命令似乎都有效:

CREATE ALGORITHM=UNDEFINED DEFINER=`foo`@`localhost` SQL SECURITY DEFINER VIEW `wp_affiliate_wp_campaigns` AS select `wp_affiliate_wp_visits`.`affiliate_id` AS `affiliate_id`,`wp_affiliate_wp_visits`.`campaign` AS `campaign`,count(`wp_affiliate_wp_visits`.`url`) AS `visits`,count(distinct `wp_affiliate_wp_visits`.`url`) AS `unique_visits`,sum(if((`wp_affiliate_wp_visits`.`referral_id` <> 0),1,0)) AS `referrals`,round(((sum(if((`wp_affiliate_wp_visits`.`referral_id` <> 0),1,0)) / count(`wp_affiliate_wp_visits`.`url`)) * 100),2) AS `conversion_rate` from `wp_affiliate_wp_visits` group by `wp_affiliate_wp_visits`.`affiliate_id`,`wp_affiliate_wp_visits`.`campaign`;
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为此表是由与我的旧数据库具有相同权限(即 table 的所有权限foo)的用户创建的。

所以我的问题是:

  • 这个命令到底是做什么的?
  • 当我的旧数据库从未执行过时,为什么我突然需要超级权限才能执行它?

mysql

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

Laravel:将模型/行从一个连接复制到另一个连接

我想将一个雄辩的模型从一个连接复制到另一个连接。

到目前为止,我这样做的方式是这样的:

$users = User::on('connection1')->where('tenant', 'foo')->get();
User::on('connection2')->insert($users->toArray());
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都有效。但在某些情况下这不起作用。例如:

  • 当模型具有$hidden属性时
  • toArray模型的方法被覆盖时

简单地将某些行复制到另一个连接的可靠方法是什么?

laravel eloquent laravel-5 laravel-5.7

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

使用 Google Play Developer API 创建新的应用程序列表

使用 Google Play Developer API,似乎有很多方法可以对现有应用程序进行编辑。

https://developers.google.com/android-publisher/api-ref

通过查看 API,似乎所有 API 请求都使用“packageName”。

例如

POST https://www.googleapis.com/androidpublisher/v3/applications/packageName/edits
Run Code Online (Sandbox Code Playgroud)

这表明您已经需要一个可用的应用程序,并且至少已上传 1 个 APK。

这非常适合编辑现有应用程序。但是,如何使用 API 创建新应用程序而不添加现有列表或 APK?

google-play google-play-developer-api google-play-console

5
推荐指数
0
解决办法
261
查看次数