1. Makeを消極的にタスクランナーとして使う

    タイトルについて誤解のないよう初めに書きますが、makeは良いビルドツールです。

    私は最近、開発環境をLXCに移行してAnsibleを使ってプロビジョニングをしています(カタカナでプロビジョニングと書いたのは初めてです。違和感がすごいです)。そのため、頻繁に長い複数のコマンドを入力しています。

    $ sudo lxc-create -t ubuntu container_name
    $ sudo lxc-start container_name
    $ ansible-playbook -v -i provision/hosts/development/inventory provision/dev.yaml
    

    これを楽にするためにタスクランナーが欲しかったのです。

    続きを読む


  2. VirtualBoxでビデオが異常に遅い

    VirtualBoxを以下の環境で使うとビデオが異常に遅くなるという問題に遭遇しました。

    • ホストWindows 10、ゲストUbuntu 18.04
    • ホスト:Ubuntu 18.04、ゲスト: Ubuntu 18.04

    これらの環境でGuest Additionsをインストールし、3Dビデオアクセラレーションを有効にすると問題が発生します。

    解決策は、3Dアクセラレーションを無効にすることです。3Dアクセラレーションを無効にすると、遅くなってしまいそうですが、有効の状態よりもはるかによく動作します。私の感覚ではGnomeデスクトップを使う分には十分な速度が出ています。

    続きを読む

  3. 開発機をWindowsをホストに、Ubuntuをゲストにしようかと検討中

    現在メインの開発機ではWindowsとUbuntuをデュアルブートにしています。開発はもっぱらUbuntu上で行っており、Windowsはゲームのためにインストールしてあります。

    Ubuntuで開発しているのは主にWebアプリケーションであるため、高いグラフィックス性能は必要ありません。そのため デュアルブートを止めWindows上で仮想マシンとしてUbuntuを動かし開発することができないかと考え始めました。

    続きを読む

  4. 新しいラップトップを購入しようと検討したけど止めた

    IntelのCPUが二世代変わるとメインのラップトップを購入してきました。狙っていたのではなく、たまたまですが。今使っているのは6000番台(Skylake)のCPU、その前は4000番台(Haswell)、その前は2000番台(Sandy Bridge)でした。そうすると、すでに現行は8000番台(Kaby Lake R)ですので、買い替えの時期です。

    というわけで買い替えを検討しました。そして買い替えを止めました。次に買い換えを考える時のためにも記録を残します。

    続きを読む

  5. TypeScriptを約5年ぶりにやってみたら、ほとんど何も覚えていないし、色々変わっていたので再挑戦

    正確な時期を覚えていないのですが、2012年から2013年ごろにTypeScriptを書いていました。TypeScriptがまだ正式リリースされていなくて、アップデートの度にコンパイルできなくなったり、警告が出たり、そういうことをしていた記憶があります。ずっとフロントエンドからは離れてPythonばかり書いていました。久しぶりにTypeScriptをしっかりと書いてみようと思ったら、TypeScriptのバージョンが2.6.1になっていました。

    曖昧な記憶ですが、当時はGruntを使ってMochaやJasmineを使ってテストをPhantomJS上で走らせていました。JavaScriptの世界は新しいツールの登場のサイクルがとても早いので、一からやり直そうと思い挑戦しました。ステップバイステップなので、同じファイルを何度も編集したり、一度で済ませられるコンテナの操作を何度も行って非効率ですが、私と同じ立場の人、未来の自分には、なぜそうしたのかが分かりやすいのではないかと考えて、そのように書いています。

    Vagrant上のUbuntu 16.04.3でやりました。 docker.iodocker-compose をapt経由で仮想マシンにインストールしてあります。

    今回のプロジェクトの名前は hellotsagain です。

    続きを読む



  6. Pythonのオブジェクトの継承関係

    isinstance(object, classinfo) を使ってPythonの object について確認します。isinstance のドキュメントはこれです。

    isinstance(object, classinfo)
    object 引数が classinfo 引数のインスタンスであるか、 (直接、間接、または 仮想) サブクラスのインスタンスの場合に真を返します。 object が与えられた型のオブジェクトでない場合、この関数は常に偽を返します。 classinfo が型オブジェクトのタプル (あるいは再帰的に複数のタプル) の場合、 object がそれらのいずれかのインスタンスであれば真を返します。
    

    Python 3.5.2です。

    続きを読む

  7. Spacemacs環境で起動直後のバッファを変更する

    Emacsでは通常、このようにすると起動時に node.org を自動で開いてくれます。これでToDoなどが書かれているファイルを開いていました。 起動時に視界にToDoなどが入ってくるので大変便利です。

    (initial-buffer-choice "~/Dropbox/Documents/note.org")
    

    しかし、それはSpacemacs環境では使用できませんでしたので、代わりに自分でファイルを開いて、自分でそのバッファに移るようにしました。

    dotspacemacs/user-config 内に以下を加えます。

    (switch-to-buffer (buffer-name (find-file-noselect "~/Dropbox/Documents/note.org")))
    

    以上です。

    続きを読む

2015 - 2017 (c) 成瀬基樹