タグ

ブックマーク / blog.tmtms.net (10)

  • xremap の代わりに xkeysnail を使ってみる - tmtms のメモ

    前にこんな記事を書きましたが、 tmtms.hatenablog.com たしかにCtrl-Nで新しいウィンドウが開くことはなくなったんですけど、Webページによっては Ctrl-N を押しても何も反応がないことがあります。原因は調べてません。まあウィンドウが開くことがないだけでもいいかと思ってたんですけど、xkeysnail というのがあると教えてもらいました。 qiita.com Python製のツールみたいです。Pythonは全然わかんないんですけど、書かれてる通りにインストールしました。 pip3 は Ruby の gem コマンドみたいなもんなのかしら。 % sudo apt install python3-pip % sudo pip3 install xkeysnail example/config.py はたくさん設定されててなんかこわいので Ctrl-N と Ctrl-K

    xremap の代わりに xkeysnail を使ってみる - tmtms のメモ
  • Gemの作り方 - tmtms のメモ

    RightCSVで久々にGemを作ったので、最近のGemの作り方をメモっときます。 GitHub上にリポジトリを作って git clone 別に最初にやらなくてもいいですけど、どうせ GitHub で公開するのなら最初にやっといた方が楽です。READMEやLICENSEファイルも作ってくれますし。 % git clone git@github.com:tmtm/rightcsv.git bundle gem で雛形を作る % bundle gem rightcsv --test Creating gem 'rightcsv'... create rightcsv/Gemfile create rightcsv/lib/rightcsv.rb create rightcsv/lib/rightcsv/version.rb create rightcsv/rightcsv.gemspec cr

    Gemの作り方 - tmtms のメモ
    kitokitoki
    kitokitoki 2017/08/23
    「Gemの作り方」
  • VM 上の Linux で ThinkPad USB トラックポイントキーボードを使う - tmtms のメモ

    この前半額キャンペーンがあったので ThinkPad USB トラックポイントキーボード(日語配列)を買いました。 レノボ・ジャパン ThinkPad トラックポイント・キーボード - 日語 0B47208 出版社/メーカー: Lenovo発売日: 2013/06/25メディア: Personal Computersこの商品を含むブログ (1件) を見る 最近会社のPCWindowsなんぞになってしまったので、VMware を入れてその上で Linux Mint を動かしています(もっさり)。 Windows でもつなげるだけで普通に使えました。トラックポイントもそれなりに使えます。 が、トラックポイントの速度をカスタマイズするにはドライバが必要です。 tpusbkybdwtrackpoint_110.exe をインストールしました。 キーマップは例によって Linux英語配列に

    VM 上の Linux で ThinkPad USB トラックポイントキーボードを使う - tmtms のメモ
  • Rubyでシェルもどきを作る - tmtms のメモ

    Ruby でシェルのようなものを作ってみると、Ruby とシェルやシステムコールの理解ができて、研修の課題とかにいいんじゃないかと10年くらい前に思ってたのを、ふと思い出したので書いてみます。 基 シェルの動作を簡単に説明すると次のような感じです。 プロンプトを出力 標準入力からコマンドラインを読み込む 読み込んだコマンドを実行する コマンドの終了を待つ 1 に戻る これをそのまま Ruby で書いてみます。 while true print '-> ' # プロンプト表示 cmd = gets or break # コマンド入力 cmd.chomp! # 末尾の改行削除 pid = Process.fork do # 子プロセス生成 Process.exec [cmd, cmd] # コマンド実行 end Process.waitall # 子プロセスの終了待ち end Process

    Rubyでシェルもどきを作る - tmtms のメモ
  • Rubyのエンコーディングその2 - tmtms のメモ

    この前「Rubyのエンコーディング」という記事を書いたのですが、それをネタに 8/25 の NSEG で発表しました。 Rubyのエンコーディング from Masahiro Tomita この中で、エンコーディングが原因で予期しないところで落ちてしまうことが結構あるという話もしたんですが、今回はプログラムが落ちないようにするにはどうすればいいかを考えてみます。 エンコーディングが原因で落ちてしまうのは大体次のパターンのようです。 文字列や正規表現のエンコーディングが異なる 文字列中に不正な文字が含まれている 文字列や正規表現のエンコーディングが異なる 正規表現をリテラルで生成していれば、エンコーディングは敢えて指定しない限りは普通はスクリプトエンコーディングになってると思うので、問題は文字列の方です。 特にファイルから読み込んだ文字列のエンコーディングが何になっているかに注意しましょう。

    Rubyのエンコーディングその2 - tmtms のメモ
    kitokitoki
    kitokitoki 2012/09/02
    エンコーディング
  • Postfixのパラメータ - tmtms のメモ

    Postfix をちゃんと調べたのは「Postfix辞典」を執筆した頃なので、2.2 が主流で 2.3 が出たばっかりの頃でした。もう6年くらい前のことです。 Postfix 辞典 (DESKTOP REFERENCE) 作者: とみたまさひろ出版社/メーカー: 翔泳社発売日: 2006/06/21メディア: 単行 クリック: 13回この商品を含むブログ (7件) を見る 最近はあまりちゃんと調べずに使うだけになってたのですが、Postfix 2.9.0 が出たのをきっかけに久しぶりにパラメータの追加/削除/変更について調べてみました。 2.2 では 411個だったパラメータが 2.9 ではなんと 700個に! 増えているとは思ってましたが、こんなに増えていたとは…。 最新バージョンで「Postfix辞典」のような内容のドキュメントをまた書いてみたいです。書籍はむずかしいだろう(多分売れ

    Postfixのパラメータ - tmtms のメモ
  • Unity の設定など - tmtms のメモ

    Ubuntu 11.10 のデフォルトのデスクトップ環境の Unity に挫折して GNOME Shell、Kubuntu、LinuxMint を転々として、ぐるっと一周して結局 Unity にまた戻って来ました。 しばらく Unity を使ってみて色々と設定をいじくってなんとか使えるようになってきたので、メモとして残しておきます。 フォントの設定 なんということでしょう。デスクトップのフォントを設定するツールが Ubuntu 11.10 では標準では用意されてません。 gnome-tweak-tool をインストールして、起動するとフォントが設定できます。 GTK アプリのキーバインドを Emacs 風にする GTK アプリのテキスト入力のキーバインドを Emacs 風にするには、以前は設定エディタ(gconf-editor)で desktop → gnome → interface の

    Unity の設定など - tmtms のメモ
  • OptConfig - tmtms のメモ

    OptConfig は高機能なオプションパーサです。UNIX のコマンドライン引数で与えられたオプションをパースしたり、設定ファイルからパラメータを取得できます。 使用例: o = OptConfig.new o.option "p", "port", :format=>1..65535, :default=>12345, :description=>"port number (%s)" o.option "n", "dry-run", :description=>"do not execute" argv = ["--port", "999", "other", "args"] o.parse! argv o["port"] # => 999 o["dry-run"] # => nil argv # => ["other", "args"] オプション定義 option メソッドでオプシ

    OptConfig - tmtms のメモ
  • RSpec で autotest - tmtms のメモ

    自分は Ruby コードの単体テストに RSpec を使ってるんですが、プログラムコードやテストコードを更新する度にいちいち手動でテストを実行していました。 autotest というのを使えば自動でテストが実行されるという話は聞いていたので、ちょっと調べてみました。 使用しているバージョンは RSpec 2.3.0, ZenTest 4.4.2 です。 インストール autotest は ZenTest という gem に入っているのでそれをインストールします。 # gem install ZenTest 実行 プロジェクトのトップディレクトリからのツリーが次のようになっている場合、 ./lib/hoge.rb ./lib/fuga.rb ./spec/hoge_spec.rb ./spec/fuga_spec.rb次のように実行します。 % autotest --style rspec2

    RSpec で autotest - tmtms のメモ
  • クラスメソッドのprivate化 - tmtms のメモ

    クラスメソッドの定義 Rubyでクラスメソッド(=クラスオブジェクトの特異メソッド)を定義するには、いくつかの方法があります。 たとえば、Hoge クラスオブジェクトに hoge() メソッドを定義する場合、 1. クラス定義内でクラスオブジェクトに特異メソッドを定義 class Hoge def self.hoge() end end 2. クラス定義内で特異クラスに対してメソッドを定義 class Hoge class << self def hoge() end end end 3. クラス定義外でクラスオブジェクトに特異メソッドを定義 class Hoge end def Hoge.hoge() end 4. クラス定義外で特異クラスに対してメソッドを定義 class Hoge end class << Hoge def hoge() end end いずれも外部から Hoge.h

    クラスメソッドのprivate化 - tmtms のメモ
  • 1