カテゴリ: Software の記事一覧

Page 1 / 8 « 最初 < 前 1 2 3 4 5 6 7 8 次 > 最後 »

  1. GNU Screenのウィンドウタイトルを自動設定する際に日本語の文字化けを回避する

    GNU Screenで複数のウィンドウを開くと,どのウィンドウで何の作業をしているか分かりづらい。これを区別する手段がウィンドウタイトルであり,GNU screenのウィンドウタイトルを自動設定 - 貳佰伍拾陸夜日記 の設定に従うとウィンドウタイトルに実行中のコマンド名か,カレントディレクトリの名称を自動設定できる。

    一方,(少なくともaptで入る version 4.06.02の) Screenではウィンドウタイトルに日本語を使えない。文字化けするとレイアウトが崩れてしまう。この問題はカレントディレクトリに日本語を含むときに特に問題になる。今回はScreenにパッチを当てるのではなく,日本語をローマ字に変換してからScreenにわたすことで文字化けを回避する。

    » read more

    comments

  2. スポンサード リンク
  3. VimをJupyterノートブックの開発環境に仕上げる

    データサイエンス界隈では何かとJupyterのノートブックを開発する機会がある。そのたびにJupyterを立ち上げてブラウザで接続して...という操作も面倒であるし,JupyterのGUIでは開発効率があまり良くない。やはり,慣れ親しんだVimとターミナルのうえにJupyterと同じような開発環境を整備したいところだ。VSCodeならノートブックを編集したり,セルごとに実行できるのだから,同じことがVimにできないはずはないだろう。

    ということで,本記事ではVimのプラグインを駆使してノートブックを

    1. 編集可能にする
    2. セルごとに実行可能にする
    3. リモートサーバに接続してノートブックを実行可能にする

    ための手順を大きく3つに分けて説明する。ポイントはJupyterのように「セルごとにコード片を実行し,結果を確認できる」ことであり,これは REPL (Read-Eval-Print Loop) と呼ばれる作業だ。本記事の目的は「VimでノートブックのREPL環境を作る」ことと言える。

    Vimにノートブック開発環境を整える方法は一通りではないので本記事ではそれぞれの方法を示すが,おすすめは goerz/jupytext.vimjupyter-vim/jupyter-vim を組み合わせて利用する構成だ。

    » read more

    comments

  4. ターミナル上で画像を表示するlibsixelを試してみた

    ssh接続先で数値計算結果を確認するため,matplotlibでグラフ画像を生成することはよくある。今までは画像ファイルをscpでローカルに転送し,表示していたがいちいちコピーするのは面倒だ。ssh先のcatコマンドで画像も表示できたらいいのになーとはよく思っていた。

    ところでw3mやemacsでは,ターミナルに画像を表示する機能があったはず。 ということで調べてみると,どうやらsixelという規格を使えばターミナルに画像を表示できるようだ。

    libsixel はsixelとして表示するためのプログラム。 libsixelと sixelに対応したターミナル を組み合わせれば,画像を表示できるはずだ。

    » read more

    comments

  5. スポンサード リンク
  6. 機械学習のデータセットをGitライクにバージョン管理するDataVersionControlを試す

    機械学習でモデルを作成する場合,満足できる結果を得るまで条件を変えながら,データセット準備とモデル作成を繰り返す。 各条件において結果の再現性を保つには,プログラムに加えてデータのバージョン管理が必要だ。

    そこで,コードとデータをセットでバージョン管理するツールの dvc (DataVersionControl)チュートリアル を試しに実行してみた [1]

    試した結論としては,今のところはgit-lfsとMakefileの組み合わせのほうが良い。dvcは絶賛開発中なので今後に期待。

    » read more

    comments

  7. Docker buildを高速化するためにsquidで透過型プロキシを立ててみた

    先日,docker buildを高速化したくて Dockerfile内部でapt-cacher-ngを自動検出する | 電脳手帳 という記事を書いた。aptのキャッシュを使うためにプロキシを通したいが,プロキシがない環境でもそのままbuildできるDockerfileを書くのが目的だった。

    ならば,透過型プロキシをsquidで立てるべきだということで立ててみた。 やってみると意外と簡単だったので,apt-cacher-ngは廃止してsquidを採用することにした。squidならhttp接続のすべてをキャッシュできる,つまりyumやwgetも高速化できるという利点がある。

    » read more

    comments

  8. Dockerfile内部でapt-cacher-ngを自動検出する

    Dockerfileを作っていると,何度もbuildしてはテストを繰り返す。 何度も何度も apt-get install していると時間がかかるので apt-cacher-ngを使うと便利だ。

    しかし,DockerfileにproxyのURLを決め打ちしてしまうと 可搬性が損なわれる。特にDocker Hubでbuildするときはapt-cacher-ng を使えないので致命的だ。

    そこでproxyを自動検出する,つまり指定のURLへ到達できない場合は apt-cacher-ngを使わないようにDockerfileを記述してみた。 これによりローカルで開発したDockerfileをそのままDocker Hubで公開できる。

    2017-08-21追記

    記録として本記事を残しておくが,本方式は推奨しない。

    squid を使ってhttpの透過型プロキシを立てれば, Dockerfileに何も書かなくていいし,apt以外のyumやwget等も 高速化するからだ。

    squidの構築に関しては Docker buildを高速化するためにsquidで透過型プロキシを立ててみた | 電脳手帳 を参照のこと。

    » read more

    comments

Page 1 / 8 « 最初 < 前 1 2 3 4 5 6 7 8 次 > 最後 »

social