shonen.hateblo.jp

やったこと,しらべたことを書く.

複数の図形を独立して動かす

しょうもない所で詰まったので記事化しておく

概要

OpenGLで単純に平面を作ったり、物体を回転させたりする方法などは、こちら

developer.mozilla.org

しかし、複数の物体を動かす方法は記載されていない。まさか各平面の頂点をfor文で加減算する訳にはいかない

続きを読む

gstreamer 触りだけ

note: 本記事は 2019/10/06 に執筆されたまま下書きに眠っていました

gstreamerとは

GStreamer: a flexible, fast and multiplatform multimedia framework

gstreamer.freedesktop.org

パイプのようなストリームベースで動作を記述するCUIのツールが面白くて触ってみました。

確認環境

Ubuntu 19.04

インストール方法

ここに書いてあります

gstreamer.freedesktop.org

apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

RaspberryPi では一部のパッケージが入っていませんでした。gstreamer1.0-qt5等。

続きを読む

React + Next + typescript + tsnode + mocha で tsx なテストを行うために必要な設定

簡潔な記事です

概要

/home/fai/repo/maisandbox3/mocha/next/components/CodeEditorTest.tsx:29
        const codeEditor = (<CodeEditor_1.default ref={refEditor} lang='ruby'/>);
                            ^

SyntaxError: Unexpected token '<'

というエラーが出る。

原因

Nextのデフォルトのtsconfig.jsonが妙。jsxを無視する設定"jsx": "preserve"になっている。

解決策

TS_NODE_COMPILER_OPTIONS 環境変数を使えば、設定を上乗せ出来る。 {"module":"commonjs", "jsx": "react"} をオーバーライドする。

TS_NODE_COMPILER_OPTIONS='{\"module\":\"commonjs\", \"jsx\": \"react\"}' mocha --require ts-node/register  mocha/next/**/*Test.{ts,tsx}

お気持ち

jestの方が良さげ

Rubyで構造体のようなクラスを生成するメソッドを作成したら既にStructという名前で存在していた件

タイトルの通りです

Rubyで構造体のようなクラスを生成するメソッドを作ったのですが、 実は既にStructクラスというものがあり、作ったメソッドがほぼ無意味になってしまいました。

せっかくなので、供養。

def create_struct(props_name)
  k = Class.new()
  props = props_name.clone
  k.class_eval do
    define_method(:initialize) do |**args|
      props.each do |pr|
        instance_variable_set '@' + pr, args[pr.to_sym]
      end
    end
    attr_accessor *props
  end
  k
end
続きを読む