2021-01-01から1年間の記事一覧

av_rescale

av_rescale. int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const; オーバーフローを防いだa * b / cを行う

parallelとcurlでjsonをPOSTする

APIを複数処理する必要が出てきて、parallelやxargsを使う方法が思いついた. ただcurlでjsonをpostする場合、-dオプションをつけてbodyを指定する。 そのbody中のjsonを表現する',"の扱いが分からなかったため備忘録として残す. $ cat id_list 123 456 789 c…

Cのポインター型のサイズをgolangで取得する

TL;DR 0をuintptrにキャストして使用する unsafe.Sizeof(uintptr(0)) mallocに渡す ptr := (**C.char)(C.malloc(C.size_t(unsafe.Sizeof(uintptr(0))))) モチベーション cgoでコードを書いていて、ポインターのサイズ分、マロックしたい。 公式 cgoによると…

cgoでvoid **(ダブルポインター)を使う

TL;DR; void **はどうやって表現する? *unsafe.Pointer . void *は? unsafe.Pointer . example var u8v **C.uint8_t var doubleVoidPointer *unsafe.Pointer u8v = (**C.uint8_t)(C.malloc(size)) doubleVoidPointer = (*unsafe.Pointer)(unsafe.Pointer(u8v…

unsafe 翻訳

pkg.go.dev Ver1.17 概要 unsafeパッケージには、Goプログラムの型安全性を回避する操作が含まれています。 unsafeをインポートしたパッケージは移植不可能な場合があり、Go 1の互換性ガイドラインでは保護されません。 関数 型 type Pointer type Pointer *…

内部でasync を呼ぶ関数はなぜasync defと宣言する必要があるのか?

pythonでasync/awaitを使ってコードを書くと、 async def はコルーチンの定義と書いてある。 コルーチンは作りすぎると分岐予測に失敗しパフォーマンスが落ちるため、コルーチンを作るのは最小に抑えた方がいいよね、と考えた。 その結果まず以下の様なコー…

Low-Latency HLSを有効化する

以下の翻訳 developer.apple.com 概要 HTTP Live Streaming (HLS) プロトコルは、ライブおよびオンデマンドのコンテンツストリームを世界中の視聴者に配信します。HLSはこれまで、レイテンシーよりもストリームの信頼性を重視してきました。低遅延HLSは、プ…

cmd/cgoの翻訳

pkg.go.dev go1.17時点 Goの参照からC Go ファイル内では、Go のキーワードである C の構造体のフィールド名にアンダースコアを前置することでアクセスできます。x が type という名前のフィールドを持つ C 構造体を指している場合、x._type はそのフィール…

AACについて調べたリンク集

AAC概要 まずはwikipedia ja.wikipedia.org AACの特徴 bb.watch.impress.co.jp 機能面の改善がとてもわかりやすい 単なる2chのステレオに留まらず、最大48chまでに対応(MP3はMPEG-2モードでも最大5.1ch) 8kHz~96kHzまでのサンプリングレートに対応(MP3は…

gRPC Authenticationの翻訳

grpc.io のdeepl翻訳 私がわかっていなかった点としてgRPCのTLSを使用した認証により、クライアントをどうやって認証するのだ?という点。 ただこれは私の認識違いで、gRPCのTLSを使用した認証は、クライアント側でサーバーの認証を行うもの。 言われてみれば…

pythonのdatetimeのtimezone

pythonのdatetimeモジュールはタイムゾーンがない文字列から生成した場合、ローカルタイムとして扱われる from datetime import datetime, timezone print(datetime.now()) dt_rfc3339 = datetime.fromisoformat("2021-03-19T11:30:00+00:00") print("dt_rfc…

mac vscode F11を押すとデスクトップが表示されてしまう

Mac catalinaではF11がmission controlにより「デスクトップを表示」に割り当てられている そのためvscodeでステップイン実行を行おうとすると、デスクトップが表示されてしまう 対策 「設定」「キーボード」「ショートカット」「Mission Control」「デスク…

Setting up Netatalk 3.1

Chapter 3. Setting up Netatalk翻訳(deepl) netatalk.sourceforge.net AFPファイルサーバーのセットアップ AFP(Apple Filing Protocol)は、Apple Macintoshがファイルサービスに使用するプロトコルです。このプロトコルは長年にわたって進化してきました…

hls.jsのログ解析

v0.14.7にて説明します。適時最新版にするなり、所望のバージョンで確認をお願いします。 hls.jsのデバッグログを出力する Hlsオブジェクトを生成する際に引数にconfigを渡す。そのconfigのdebug変数にtrueを代入すれば良い。 config.debug = true; そうする…

tmux.confの意味

今まで、俺が考えた最強のtmux.confであったり、おすすめtmux.confを使ってきたが、なんとなくしか意味がわかっておらず、メンテナンスするには限界がきた。 そこで理解が曖昧な物に関して備忘録的にまとめる。 ただ以下のmanを読むのが好ましい。 man7.org …