未分類

StreamLinkのDockerイメージの使い方が分からなくてちょっと困ったのでメモしておきます。いろいろいじって二通りの使い方を見つけました。

標準出力を使う方法

$ docker run --rm -it rayou/streamlink "$URL" best -O > hoge.mp4

取得先を標準出力に指定し、ファイルにリダイレクトします。

シンプルに記載でき分かりやすい反面、取得に失敗した場合でも0byteのファイルが作られてしまったり、ファイルが存在していても強制的に上書きされてしまうデメリットがあります。気になる場合は次の方法を使うと良いでしょう。

ファイル名を指定する方法

$ docker run --rm -it -v "$PWD":/output rayou/streamlink "$URL" best -o /output/hoge.mp4

カレントパスをDockerコンテナ内にマウントして、そこに出力させます。

/output のところは何でもよいのですが、 /etc などDockerコンテナ内に実在するディレクトリは避ける必要があります。こだわりがなければオマジナイとして /output と書いておきましょう。

なお、Dockerの-vオプションの /output とstreamlinkの-oオプションの /output は一致していなければならないので気を付けてください。

未分類

Android Studio Bumblebee 2021.1.1 でDevice Managerが開けない現象が発生しました。
根本解決ではありませんが、以下のように「全てを検索ウィンドウ」を使うことで問題が回避できたので以下に手順を書きます。

・SHIFTキーを二回押下し、「全てを検索ウィンドウ」を開く(下図)
・Virtual Device Managerと入力
・エンター

最初はインストールしているSDKに不足があるのではないかと調べていたのですが、この方法で開けるのでSDKのインストールには問題がないことが分かりました。

不具合っぽいので、しばらくはこの方法で逃げておくことにします。

未分類

awkを使って集計します。

proc.awk

#!/bin/gawk -f

{
  sub(/?.*$/, "", $7);
  filepath[$7]++;
}
END{
  for (i in filepath) {
    print filepath[i], i;
  }
}

使い方

$ ./proc.awk access_log

解説

アクセスログをスペース区切りで見たときに7番目の項目がファイル名になるので、$7でアクセスすれば良いことがわかります。
$7 には?に続くGETクエリも入っているので、これを除去します(4行目)。
filepath 配列をファイル名ごとのカウンタとして使って数えていきます(5行目)。

出力結果はsort -nでアクセス回数順にソートできます。

未分類

インストール

Mac
$ brew install cabextract

Ubuntu
$ sudo apt install cabextract

CentOS
$ sudo yum install cabextract

Cabファイルを展開

$ cabextract hoge.cab

Cabファイルの中のファイルを確認

$ cabextract --list hoge.cab
または
$ cabextract -l hoge.cab

未分類

hello.c

#include <stdio.h>

int main(int argc, char *args[])
{
    printf("Hello, world!\n");
    return 0;
}