本文を読み飛ばす

Nim: transpilerとして使う(2) 〜一通り終了〜

ここ1年ぐらいjavascript書くのにpythonを使ってきました。:

python -> mypy -> transcrypt -> javascript

世の中はtypescriptとか言われてますすが、 そのへんは調べてません。

javascriptよりもpythonで記述できるのはよかったのですが、 \ あまり良くないこと気がついてきました。

  • mypyとtranscryptが非常に遅い

  • そもそも動的なpythonだと、mypyでもタイプチェックが弱い

そこで静的型付けで、javascriptに変換できそうな言語を 使ってみました

  • genie: もともと使い始めてた

  • nim: genie→javascriptが難しそうだったのでこちら

  • C#: ソフトのインストールとか面倒だったのでやめ

nimですが、いろいろな機能を使わなければ シンプルでとっつきは良かったです。

自分が手持ちのjavascriptはだいたい変換終わりました。

変換したときのポイント等を書いておきます。

続きを読む…

mercurialのpush(ssh)で複数のコマンドを実行する

更新 19/02/22 今日も sudoerは後で書いているルールが優先 にハマりました

特定ファイルのコピーを含めたpushを実施しているのですが、 パスワード入力が大変なので、工夫してみました。

From:

scp file host://path/to/deploy/file
hg push
ssh host "sudo systemctl restart my.service"

To:

tar cf - file | ssh -t -M host "tar xvf - -C /path/to/deploy"
hg push -e "ssh -t -S host"
ssh -t -S host host "sudo /bin/systemctl restart my.service"

続きを読む…

Genie: maja - transpiler -> 使用断念

[github: maja](https://github.com/lethalman/maja)

Ubuntu 18.04 ではコンパイル通らず

以下のエラーが出て、コンパイルが止まってしまう:

glib-2.0.vapi:4827.2-4827.33: error: The type-parameter `T' is missing
        public delegate uint HashFunc<K> (K key);
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
glib-2.0.vapi:4829.2-4829.34: error: The type-parameter `T' is missing
        public delegate bool EqualFunc<G> (G a, G b);
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
glib-2.0.vapi:4829.2-4829.34: error: The type-parameter `T' is missing
        public delegate bool EqualFunc<G> (G a, G b);
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

HashFuncなどは使用していないし、 \ 同じような空のソースファイルを作ってコンパイルしても \ ちゃんと通るので、valaの不具合かな...と思います。

自分では直せそうになかったので、 使うのはやめておこうかな...

続きを読む…

transcrypt+mypy+jQueryMobile+jQueryでのアプリ作成

jQueryMobileで作ったアプリがあったのですが、 javascriptを書くのが面倒でした

transcryptとmypyを導入して少し開発が楽になったので 使い方等を紹介します。:

python -- pyramid -- PageTemplate --+--> browser
                                    |
jQuery(transcrypt) -----------------+

いまだ解決していないのはテストです。 趣味プログラムでは「テストまで作るのは...」と思いますが GUIのデバッグが毎回大変なので、そろそろ作ってもいいかな...と考えています。

続きを読む…

宣伝: