macOSのPreviewでフレーズ検索をする

macOSでPDFを読むとき、skimというアプリを使っている。 今となってはmacOS標準のPreviewアプリでもわりと快適にPDFを読むことができるのでskimを使い続けている必然性は薄れているが、使い慣れているので惰性で使っている。 今日もskimを使っていたところ、…

pgModelerをm1 macでビルドしたメモ

pgModelerはPostgreSQLを対象とするモデリングツールで、ビルド済みのバイナリは有料で販売していてソースから自分でビルドするのはご自由にという形で提供されている。 ちょっと試してみたいという程度なので今回はソースからビルドしてみた。 多少の試行錯…

More Effective Agile

More Effective Agile “ソフトウェアリーダー”になるための28の道標作者:Steve McConnell発売日: 2020/06/11メディア: Kindle版 Code CompleteのSteve McConnellさんによるアジャイル開発についての本。 Code Completeは地味だけど実践可能で有益な良いコー…

Amazon Echoの感想

いわゆるスマートスピーカーのAmazon Echoを入手したので、試している。 とりあえず明日の天気とニュースを聞いた。 ニュースはNHKの○時のニュース一回分を流すようなものだった。 ニュースをダラダラ垂れ流すニュースチャンネルのようなものを期待していた…

サイロ・エフェクト

タイトルだけ見ると「縦割りあかんで」ぐらいの話かと思ったら、話は文化人類学者のものの見方から始まり、予想外に面白かった。 サイロ・エフェクト 高度専門化社会の罠作者: ジリアンテット,Gillian Tett,土方奈美出版社/メーカー: 文藝春秋発売日: 2016/0…

オペレーティングシステムの仕組み

オペレーティングシステムの仕組み (情報科学こんせぷつ)作者: 河野健二出版社/メーカー: 朝倉書店発売日: 2007/10メディア: 単行本購入: 2人 クリック: 19回この商品を含むブログ (6件) を見る 160ページぐらいしかなく、説明は平易で、しかしながらOSとい…

文字列の頭文字を、濁点・半濁点を取り除いて取得する

require 'active_support/core_ext' "ゔぃむ".mb_chars.normalize(:d).split('')[0].to_s # => "う"

macのターミナルの使用時にスクロールするとコマンド履歴が表示されるようになったら

ターミナルの環境設定を開き、「プロファイル」の「キーボード」タブにある「代替スクリーンをスクロール」という項目のチェックを外すと、ターミナルのバッファを遡る挙動に戻った。 そもそも代替スクリーンとは何なのか。 (追記) ターミナルの「表示」メ…

BOSE QuietComfort20i をいまさらながら購入した

ヨドバシをぶらついていてたまたま手にとって試したこれのノイズキャンセリングの効果がなかなかインパクトがあったので、頻度が増えた電車利用時間を有効活用するのに役立ちそうだと思い、購入した。 【国内正規流通品】BOSE QuietComfort20i ノイズキャン…

Vert.xで複数種類のverticleを動かす

1つのVert.xプロセス内で複数種類のverticleを起動するには、それらを起動する専用のverticleを作成し、 そのstartメソッド内で各verticleを起動する。 package com.mycompany.myproject; import org.vertx.java.platform.Verticle; public class EventVerti…

Vert.xアプリをEclipseからデバッグする

手順概略 アプリをデバッグモードで実行する Eclipseからプロセスにアタッチする アプリをデバッグモードで実行する JVMの起動オプションを変更する gradlewのDEFAULT_JVM_OPTSを修正する。 DEFAULT_JVM_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,addres…

EclipseでVert.xのプロジェクトを開始する

手順概略 Vert.x謹製のGradleプロジェクトのテンプレートを取得する Eclipseのプロジェクトファイルを生成する Eclipseのワークスペースにプロジェクトをインポートする Vert.x謹製のGradleプロジェクトのテンプレートを取得する $ git clone https://github…

即席Webサーバ

前提 ~/binディレクトリが存在して、パスが通っている スクリプトを作成 $ vim ~/bin/rhttpd スクリプトの中身 ruby -run -e httpd -- --port 8000 . 実行権限をつける $ chmod u+x ~/bin/rhttpd 起動する $ rhttpd 以上で、例えばhttp://localhost:8000/ind…

ChromeでデバッグしてるとjQuery内でいちいち停止する

という問題がいつの間にやら起きるようになり、地味につらさが募っていた。 Webで検索すると下記のページを見つけて原因を把握した。 http://stackoverflow.com/questions/8399567/chrome-developer-tools-pauses-the-initialization-of-jquery-1-7 要するに…

HTML要素の画面上の座標を取得する

jQueryで選択した要素の画面上の座標を取得したいと思ったが、jQueryが提供しているoffset()関数が返すのはページ上の座標であって、画面に表示されている範囲での座標を返すものが見当たらなかった。 それで、自作した。 $.fn.extend({ viewportOffset: fun…

RubyMineの使用メモリを増やす

RubyMineが更新されるたびにググってる感じなので、備忘録として記しておく。 /Applications/RubyMine.app/bin/idea.vmoptions を ~/Library/Preferences/RubyMine50/ の下にコピーして、その中身を編集する。 例えばこんな感じ。 -Xms256m -Xmx1024m -XX:Ma…

Applicative Programming

Functional JavaScriptという本を読んでると、Applicative Programmingという言葉が出てきた。 定義の文章を読んでも何を指している言葉なのかよくわからなかったが、 _.map _.reduce _.filter などのunderscore.jsの関数ように、引数に関数を与え、内部でそ…

Macのファインダからターミナルを開く

ちょっと前に購入したMacをまだファインダからターミナルを開けるようにしてなかった。 これまでは「cdto(https://code.google.com/p/cdto/)」というアプリを使っていた。 今回もそれをインストールしようと検索したところ、別の手段を見つけた。 それは、「…

Rubyのコードを書く際のルール

引き続きコード改善系の記事 http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers クラスは100行まで メソッドの中身は5行以内 メソッドのパラメータは4つまで コントローラがインスタンス化するオブジェクトは1つだけ 4つ目の…

膨れ上がったモデルから機能を分離する切り口

Railsのモデルにちょびちょびと処理を追加していると、いつの間にかサイズが膨れ上がってしまっていたりする。 Railsでロジックを書く場所として与えられている場所はコントローラかモデルなので、「コントローラは単純にしなさい」という教えに従うと、必然…

京都インディーズゲームセミナー Unity入門講座に行ってきた

先日「第2回 京都インディーズゲームセミナー Unity入門講座」という催しに参加してきた。 ぼくはこれまでスーファミ、N64、GC、Wii、Wii U、GBA、NDS、3DS、PS2、PS3、PSP、PS Vitaを購入してきた程度にはゲームを嗜んでいるが、どちらかというとゲームより…

Railsのモデルの更新系メソッドをどう書くか

Railsでアプリを作っていて、モデルの更新系メソッドをどう定義するのが良いのだろうかと試行錯誤していたのだが、もうこれでいいんじゃないかな、というパターンが固まってきたのでメモっておく。 処理とエラーチェックの分離 メソッド定義内ではエラーチェ…

ActiveRecordでカウンター

呼ばれるたびに前回返した値から+1したものを返すカウンターのクラスを書いたものの、出番がなくなったが、今後同じようなものを書きそうなのでメモ。 動作はMySQLで試した。 テーブルの定義 class CreateCounters < ActiveRecord::Migration def change cre…

Railsでモデルデータのクラスをサブクラスに変更する

Single Table Inheritanceで親子関係にある二つのクラスHoge, Fugaがあるとする。 class Hoge < ActiveRecord::Base end class Fuga < Hoge end このときHogeクラスのオブジェクトaがあったとしてそれをFugaクラスに変換したいとする。 そもそもそういう状況…

Working with Unix Processes メモ

プロセスが持っているもの ID Process.pid 用途 シグナルを送る ログファイル内でプロセスを識別 親 Process.ppid ファイルディスクリプタ passwd = File.open('/etc/passwd') puts passwd.fileno 扱えるリソースの限度 Process.getrlimit(:NOFILE) # => [25…

経済的価値がある理由を考える切り口

The Personal MBAの中で、おなじみマズローの欲求段階のお話などとともに、Core Human Drivesというのを紹介している。 The Drive to Acquire The Drive to Bond The Drive to Learn The Drive to Defend The Drive to Feel 物が欲しい、愛されたい、知りた…

ビジネスが提供する価値の形

引き続きThe Personal MBAから。 この本の中で、ビジネスが提供する価値の典型的な形として12個挙げられている。 1. Product 車とかコンピュータなどの「モノ」を提供する。 複製(大量生産)可能な価値であることが良いところ。 2. Service お金をとって…

ビジネスについて学びはじめる

ちょっと前からThe Personal MBAという本をちょびちょびと読んでいる。 著者は大学のMBAコースを、大金払って現場では役に立たない知識を教えるところと批判し、自分で勉強したほうがいいという意見を持っている。 本の構成は、大きく「ビジネス」「人」「シ…

POP before SMTPで認証するメールサーバをAction Mailerで使う

Railsアプリからさくらのメールボックス経由でメールを送信しようとするとエラーメッセージが返された。 メールを送るにはまず受信しろ、という内容のものだった。 POP before SMTP これはさくらのサーバがPOP before SMTPという認証方式を採っているためで…

Vagrantを使ってみた

きっかけはChef-Solo サーバのセットアップの手間を削減すべく、伊藤直也さん著のChef-Soloの本http://tatsu-zine.com/books/chef-soloを読み始めた。 Chef-Soloは以前少し使ったことがあるので、どういう道具なのかはなんとなく把握しているのだが、試行錯…