タグ

ブックマーク / zariganitosh.hatenablog.jp (19)

  • MacOSX 10.5 LeopardのファイアウォールでRailsアプリが許可されない時 - ザリガニが見ていた...。

    10.5 Leopardになって、ファイアウォールの仕組みが大きく変更された。これまでの10.4 Tigerまでのポートを指定する方式から、アプリケーションを指定する方式(Mac OS X 10.5 Leopard: アプリケーション・ファイアウォールについて)になったのだ。この変更で最初戸惑ってしまったことがある。 「それでは、ファイアウォールを有効にしつつ、Railsアプリケーションを許可するためにはどのように指定すべきなのか?」 まず最初にやってみたのが、アクティビティモニタで確認しながらRailsアプリを起動すると、Rubyプロセスとして表示されるので、「/usr/bin/ruby」を「+」ボタンで追加して、それからサーバーを起動してみた。この設定をしておいたのがOSX 10.5インストール直後。その後、ファイアウォールの動作確認をせず、現在のOSX 10.5.2までアップデート

    MacOSX 10.5 LeopardのファイアウォールでRailsアプリが許可されない時 - ザリガニが見ていた...。
  • Rubyで作る実験的Quicksilverのようなもの - ザリガニが見ていた...。

    前回探った、略語(Abbreviation)と関連するテキストを点数付けするアルゴリズムは、Quicksilverの使い勝手を左右する重要な要素の一つだ。とすると、このアルゴリズムを取り込めば、なんちゃってQuicksilverもどきが出来るかもしれない...。と思って、まったく実用的ではないのだけど、実験的なソフトウェアとして試してみた。 作業環境 MacBook OSX 10.6.2 ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9] 以下、コード中に半角¥が見える場合は、すべて半角\に置き換える必要があり。 Ruby版 scoreForAbbreviation Stringクラスを拡張して、to_scoreメソッドを追加した。 正規表現を利用して実装した。 マッチした部分とその前後の文字列が簡単に取得できるので、Objectiv

    Rubyで作る実験的Quicksilverのようなもの - ザリガニが見ていた...。
  • Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。

    最近、コマンドばかり作っていて、そんなにコマンド作ってどうするの?と思われそうだが、さらにどんどん作る。今度はRubyで作ってみる。 関連日記 シェルスクリプトでコマンドを作るまで - ザリガニが見ていた...。 C言語でコマンドを作るまで - ザリガニが見ていた...。 Objective-Cでコマンドの中身を作るまで - ザリガニが見ていた...。 作業環境 MacBook OSX 10.6.2 Developer Toolsをインストール済 ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] 基 シェルスクリプトと同じように、行頭に#!解釈してもらうRubyインタプリタのパスを指定する。 コマンド引数は、ARGVという変数に配列として渡される。(ARGV = $*) コマンド自体は、グローバル変数 $0 に渡され

    Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。
  • モニタを閉じてスリープ中のMacBookをリモート操作できる環境にする - ザリガニが見ていた...。

    MacBookのモニタを閉じると普通はスリープする。スリープしたMacBookは、Wake on LAN あるいは Wake on Demand の仕組みを利用して呼び覚ますことができるが、モニタを閉じた状態ではそれも不可能。 そんな不便を解消してくれるのがInsomnia。Insomniaが有効な状態であれば、OSX標準のスリープを無効にしてくれる。モニタを閉じてもスリープしない。 しかし、閉じた状態で稼働し続けるのも省エネに反するので、そんな時はInsomniaのシステムスリープを実行してからモニタを閉じれば、モニタを閉じた状態で Wake on LAN あるいは Wake on Demand に反応するMacBookになる。理想的な環境だ。 でも、いつもの習慣で、Insomniaのシステムスリープを忘れてモニタを閉じてしまうと、MacBookは永遠と稼働し続けることになってしまう..

    モニタを閉じてスリープ中のMacBookをリモート操作できる環境にする - ザリガニが見ていた...。
  • テストの実行環境の違いを意識する - ザリガニが見ていた...。

    integrationテストで二人のユーザーが操作するテストを書いていた時に、また問題に気付いてしまった。現状では、二人が同時に同じ伝票を開いて、その後「修正ボタン」を押した時に、最後に「修正ボタン」を押した人の内容で保存されてしまう。これでは、最後に修正した人は、直前に伝票が別の意図によって修正されたことを知らずに、修正することになる。先に修正した人は、有無を言わさず破棄される結果になる。 このような状況は避けたいので、楽観的ロックを使って制限することにした。実装は簡単。でも、懲りずにテストを先に書いてみる。そして、またしてもハマった...。 Railsが提供する楽観的ロック フィールド名「lock_version」を追加する。(:integer, :default => 0) フォームを編集する時には、「lock_version」も取得する。 フォームを送信する時には、上記で取得した「

    テストの実行環境の違いを意識する - ザリガニが見ていた...。
  • バイリンガルなsaykanjiにしておく - ザリガニが見ていた...。

    昨日定義したsaykanjiコマンド*1で漢字仮名混じり文を読み上げられるようになってひとまず満足したのも束の間、一つ気になり始めた。それは英単語が出てきた時、アルファベットの棒読みになってしまうこと。例えば、以下の文書を読み上げた時... えっ、イラストレーターやAppleWorks使えないって?その後、macを使い始めて思ったことです。 以下のようになってしまう...。 AppleWorks = "エイピーピーエルイーダブリューアールケイエス" mac = "エムエイシー" 当は次のような発音を期待している。 AppleWorks = "アップルワークス" mac = "マック" 特に話題がRailsMac中心の自分の日記の中では、頻繁に英単語が登場する。また、ちょっと自分のメールの受信箱も覗いてみたが、メールのタイトルや文にも英単語は溢れていた。もはや、日語だけしっかり読めて

    バイリンガルなsaykanjiにしておく - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/05/21
  • saykanjiコマンドを定義して漢字仮名混じり文を読み上げる - ザリガニが見ていた...。

    saykanaコマンドという素晴らしいコマンドが紹介されていた。コマンドに続けて入力した、ひらがな・かたかな・英数字を日語で読み上げてくれるのだ。こういうのを見つけると、とりあえず試してみたくなる。 $ saykana にほんごをはなそう $ saykana 123 $ saykana ABC 調子良く読み上げてくれた!面白い! ところが、意地悪く漢字混じりの文章を試すと... $ saykana 日語を話そう ERR:(105) invalid kana string. 日語を話そう コマンド名が sayかな なのだから当然の仕様だ。 環境 MacBook OSX 10.5.7 bash mecabの利用 ところで、自分のMacBookでは以前、mecabをインストールしたことを思い出した。 ベイジアンフィルターで日語を分類する。 - ザリガニが見ていた...。 もしインストール

    saykanjiコマンドを定義して漢字仮名混じり文を読み上げる - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/05/19
  • ベジェ曲線がわかった! - ザリガニが見ていた...。

    今までいろいろな説明を見てみたけど、頭では直感的に理解できていなかった。 制御点を動かした時、曲線がどのように変化するのか、イメージできなかった...。 そもそも、制御点と曲線の関係性が全く分かっていない...。 でも、てっく煮ブログさんid:nitoyonを一目見て、今までのモヤモヤが一瞬でクリアになってしまった!特に1と3の解説で使われている図やフラッシュを実際に操作してみると、難しい話は抜きにして、制御点を操作した時の曲線の心が分かってしまった気になる。 ベジエ曲線の仕組み (1) - 昔話 ベジエ曲線の仕組み (2) - 2次ベジエ曲線を詳しく ベジエ曲線の仕組み (3) - 3次ベジエ曲線 ベジエ曲線の仕組み (4) - ActionScript 3.0 でベジエ曲線を描く おおっー、感動!こんなにシンプルな方法で作図できるとは!(√2や円周率πを単純な数列から計算できることを知

    ベジェ曲線がわかった! - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/05/16
    これでやっと把握した
  • sortableでin_placeなツリー操作まとめ - ザリガニが見ていた...。

    最近悩んでいたツリー操作のサンプル。自分用のメモ。ツリー構造の展開には、render(:partial)を利用するように変更してみた。(以前はヘルパメソッドを定義して展開していた。erbの方がツリー全体のイメージが理解し易いかも。) 環境 MacBook OSX 10.5.6 Rails 2.1.2 関連リンク ツリー構造をマウスで並べ替える ツリー構造を自在に操作する(追加・修正・削除・並べ替え) ScriptaculousHelper等を利用する時の「"」「'」の悩み 自分好みなin_place_editor(on super_inplace_control)を目指して コマンドとコード 初めの一歩。scaffold&プラグインのインストール。 # ---------- ターミナルでコマンド操作 ---------- rails _2.1.2_ test_tree cd test_tr

    sortableでin_placeなツリー操作まとめ - ザリガニが見ていた...。
  • ツリー構造を自在に操作する(追加・修正・削除・並べ替え) - ザリガニが見ていた...。

    以前の日記 - ツリー構造をマウスで並べ替える - では、並べ替えは出来るようになったが、追加・修正・削除についてはちゃんと実装できていなかった...。今更なのだが、一通りの操作が出来るように機能を追加してみた。Railsのバージョンも違うことだし、過去を思い出しながら、もう一度やり直し。 ツリー構造をデスクトップアプリケーションのように完成されたレベルで実装するのは(自分としては)非常に手間のかかることなので、Ext JS等の洗練されたGUIを提供してくれるライブラリを利用する方が賢明かもしれない。 環境 MacBook OSX 10.5.6 Rails 2.1.2 基のscaffold rails _2.1.2_ test_tree cd test_tree script/generate scaffold tree name:string position:integer pare

    ツリー構造を自在に操作する(追加・修正・削除・並べ替え) - ザリガニが見ていた...。
  • cronからlaunchdへ(より効率的なジョブ管理を目指して) - ザリガニが見ていた...。

    前回、cronでジョブ(コマンドやスクリプト、単一のプログラムなど)を自動実行するために、crontabからその設定をする方法について調べていた。自分なりにかなり詳細に。 ところが、OSX 10.5ではcronを利用してジョブを自動実行する仕組みは一切、利用されていなかった...。ユーザーがcrontabで設定ファイルを作成しない限り、cronさえ起動していない状態だ。(crontabで設定ファイルを作成すれば、cronも起動するようになる。)cronに替わって、OSX 10.5ではlaunchdが活躍していた。launchdはcron以上に柔軟にジョブを管理する仕組みを持っている。 例えば、スティッキーズをspotlightで検索可能な状態にするために、cronを使ってStickiesDatabaseを1分ごとにコピーしていた。*1 最初は無差別にコピーしていたが、 * * * * *

    cronからlaunchdへ(より効率的なジョブ管理を目指して) - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/03/09
  • crontabの設定メモ - ザリガニが見ていた...。

    crontabの設定は簡単なのだが、ちゃんと理解しようとすると意外と多くの関連する知識が必要なのであった...。以下、crontabの設定しながら覚えたことメモ。 環境 MacBook OSX 10.5.6 zariユーザーでログイン中 ターミナルでbashを利用 関連する日記 Spotlight対応のスティッキーズにしておく コマンド書式 crontab -l # zariユーザーのcron設定を表示する crontab -e # zariユーザーのcron設定をviを起動して編集する sudo crontab -u Guest -l # ルート権限で認証して、Guestユーザーのcron設定を表示する 実行する時間の設定とコマンドから構成される。 * * * * * command | | | | | | | | | `--曜日(0:日 1:月 2:火 3:水 4:木 5:金 6:土

    crontabの設定メモ - ザリガニが見ていた...。
  • "プレビュー.app" の底力 - ザリガニが見ていた...。

    (Leopard Preview.app's potential) アプリケーションの名前こそ「プレビュー」だが、すでに機能は「レタッチ」レベルなのであった! The application's name is "Preview", but the function is "retouch" level! スクリーンショット(Screen capture) ウィンドウの影なし撮影ができる。(command-shift-4 & spaceの影あり撮影と使い分けると便利) "File >> Grab >> Window" is without shadow.(Properly, we can use that "command-shift-4 & space" is with shadow.) タイマー撮影ができる。 "File >> Grab >> Timed Screen" command

    "プレビュー.app" の底力 - ザリガニが見ていた...。
  • MacBookをより使い易くするための基本設定を探る - ザリガニが見ていた...。

    昨年の11月以降、新規購入したMacBook(アルミ削り出しではなく、従来のポリカーボネートの白モデル)の利用環境を見つめ直して以来、集中的にMacBookOSXの使い方を調べ続けてきた。 以下は、この2ヵ月間で自分のMacBookの利用環境はどのようになったのか、新規購入したMacBookにインストールしたApple以外のソフトウェアの状態をベースに*1、そこからの変化や新たに気付いた使い方のメモ。 OSXの使い勝手 OSXの利用環境を決定付ける要因としては、どんなソフトウェアをインストールしているかよりも、以下の要素が重要だと思う。 どんなソフトウェアが常時起動しているか(常時起動しているプロセスは何か) どんなソフトウェアが即利用できる状況にあるか ショートカットやマウス操作一発で呼び出せる機能は何か メニューバーアイテムには何を表示しているか Dockに何を登録して、どのように利

    MacBookをより使い易くするための基本設定を探る - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/01/09
  • MacBook Leopardで便利に利用している隠された設定 - ザリガニが見ていた...。

    Leopardが提供する標準の環境設定からは利用できないが、有効に機能する隠された設定というのが結構ある。それが意外と便利だったりする。自分が有効にしている設定は以下の通り。(非常に多くの隠された設定が存在するが、自分の使い方で実用的と感じて有効にしている設定は、それほど多くないかも。) Finderのウィンドウタイトルにディレクトリのフルパスを表示する。 アイコンと共に表示されるパスバーは、ちょっと階層が深くなるとすぐにフル表示できなくなってしまうところがNG。 シンプルにUNIX形式のフルパスが表示されるこっちの方が遥かに見易い。 スクリーンショットの保存先を ~/ScreenShots に設定する。(自分でScreenShotsフォルダを作成した。) デフォルトはデスクトップに保存されるので、自分の使い方ではあっという間に散らかり放題な状態になってしまう。 専用のフォルダに保存するよ

    MacBook Leopardで便利に利用している隠された設定 - ザリガニが見ていた...。
    Sixeight
    Sixeight 2009/01/09
  • MacBook Leopardのクリップボードを最もシンプルかつ自由に拡張してみる - ザリガニが見ていた...。

    クリップボードっていうのは、(おそらく)一日一回はお世話になるはずのコピー&ペーストをする時のコピーデータの一時的な保管場所のこと。にも関わらず、普段使っている分にはクリップボードは目に見えることもなく、コピー&ペーストの仲介人としてひっそりと、でも確実に処理をこなす縁の下の力持ち的な存在なのだ。 もしもクリップボードがない世界*1を考えてみると、それは相当使い難いOS環境になってしまうだろう。(はてな日記の下書きとしてスティッキーズに書いたとしても、さて、どうやってアップロードしようかと悩んでしまう...。) このとっても便利なクリップボードという仕組みは、OSX標準では常に一つのクリップボードだけが提供されてきた。そうすると、みんな考えることは同じで、複数のクリップボードを使い分け出来たら便利なんじゃないだろうかと。試しにgoogle:OSX クリップボード等で検索してみると、様々なク

    MacBook Leopardのクリップボードを最もシンプルかつ自由に拡張してみる - ザリガニが見ていた...。
    Sixeight
    Sixeight 2008/12/16
  • MacBookで知っていると便利なショートカット操作 - ザリガニが見ていた...。

    ことえりのキー操作を調べているうちに、ことえり以外のキー操作も気になったので。 まずはとても参考になるキーボードショートカットの紹介ページ Mac OS X のキーボードショートカット キーボードショートカット - [Mac OSの使い方]All About Mac OS 用のキーボードショートカット | Bridge 1 Software(膨大な量!!) Mac OS X Leopard: 200+ Productivity Booster Keyboard Shortcuts 『Best OS X 10.5 Hints』コンテストに入賞したMac OSX 10.5 LeopardのTips - sta la sta 隠された10の便利なショートカット | Macの手書き説明書 Macショートカット - まとめうぃき Mac OS X 備忘録 Dan Rodney - Mac OS X

    MacBookで知っていると便利なショートカット操作 - ザリガニが見ていた...。
    Sixeight
    Sixeight 2008/12/08
  • render :partialカウンター、オブジェクト - ザリガニが見ていた...。

    Railsでページを表示する時に必ずお世話になるrenderメソッド。そんな一番身近とも言えるrenderメソッドなのに、昨日初めて知った機能がある。小さな機能なのだが、今まで知らずに使っていて大分損をした気分だ...。 覚えたこと 以下のようなコード例で考えて... render :partialに:collectionオプションが設定されていると... パーシャルファイル(_list_item.rhtml)のファイル名*1のローカル変数(list_item)に@slipsの内容を代入して、描画処理を実行する。(知っていた。) さらにローカル変数list_item_counter*2には0から始まるインデックス値(0, 1, 2, 3...)*3が代入されている!(知らなかった...。) Rails 2.1.0では1から始まるインデックス値(1, 2, 3, 4...)に変更になった。

    render :partialカウンター、オブジェクト - ザリガニが見ていた...。
  • 画像ファイルをアップロードして自由に表示したい! - ザリガニが見ていた...。

    アイコンや操作画面のスクリーンショットなど、jpegやpngなどの画像ファイルをアップロードして、表示してみたくなった。画像ファイルはサイズが巨大になりがちなので、取り扱い方が、文字列や数値、日付とはちょっと異なる。いろいろな処理方法があるが、まずは、画像ファイルを直接データベースに登録する方法でやってみる。全体をシンプルに見渡したいので、新規プロジェクト名「file」を作成して以下のようにテストしてみた。 fileプロジェクトの新規作成 ターミナルで新規プロジェクトを作成(データベースにsqlite3を指定) cd ~/railsapp rails file -d sqlite3 上記プロジェクトをRadRailsで読み取るために、RadRailsでも新規プロジェクト名「file」を作成した。 ただし、「Railsアプリケーションのスケルトンを作成する。」のチェックは外した。 RadRa

    画像ファイルをアップロードして自由に表示したい! - ザリガニが見ていた...。
  • 1