タグ

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

  • プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。

    プロセス置き換えとか、名前付きパイプとか、とても便利な機能なのだけど、その仕組みはどうなっているのだろう?断片的な知識ばかりでは、その核心にはなかなか辿り着けない。サンプルコードの真似はできるけど、それ以上の発想はできない...。もっと根的なところからちゃんと理解しておかないと、いつまでたってもコマンドの使い方の質が理解できないと感じた。プロセスとは何か?パイプとは何か?リダイレクションとは何か?ファイルディスクリプタとは何か?可能な限りその質を探ってみようと思う。 UNIXのプロセス UNIXでは、複数のユーザーがログインした状態で、同時に複数の処理を依頼される状況が多々ある。 ところが、どんなに高性能なCPUであっても、ある瞬間に処理できるのはたった1つの処理だけである。 そんな時OSは、それぞれの処理に必要なメモリ領域を割り当てて、CPUをタイミングよく切り替えながら同時並行的

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
  • ファイルの属性情報を探る 時刻編 - ザリガニが見ていた...。

    ファイルの属性情報とは、そのファイルの内容以外に、そのファイルに関連付けられた情報すべてである。例えば、「hello」と書いて保存すると(ファイル名は「sample.txt」で保存)、「hello」以外の関連付けられたすべての情報は、属性情報である。 $ echo -n hello > sample.txt アイコン ファイル名「sample.txt」 コメント 種類:標準テキスト書類 サイズ:5 バイト(ディスク上の 4 KB) 場所 作成日:今日 10:26 変更日:今日 10:26 ラベル ひな形の状態 ロックの状態 アクセス権限 以上、Finderの情報を見る(command-I)から確認しただけでも、少なくとも上記の情報は見える。たった5文字の「hello」にも、上記の情報が付加されるのだ。 さらに、属性情報はこれだけではない。Finderからは見えない、さらに多くの情報が付加さ

    ファイルの属性情報を探る 時刻編 - ザリガニが見ていた...。
    iwazer
    iwazer 2013/04/07
    すばらしいまとめ
  • iPhone4のディスプレイユニット交換 - ザリガニが見ていた...。

    形あるものは、みな壊れる。そして、ゴリラガラスと言えども、落とせば割れる。iPhone4のディスプレイが割れてしまった...。長らく放っておいたのだが、意を決して正月休み中にディスプレイユニットを交換してみた。 作業環境 iPhone4 ディスプレイユニット(表面のタッチパネルと液晶ディスプレイが一体化したもの)の交換 発注 iPhone 4 タッチパネル(フロントガラスデジタイザ) 液晶パネルセット iPhone4対応 iPhone/iPad/iPod分解修理工具セット(開封ツールキット) 交換修理用 分解 全面的に参考にさせて頂いたのは、以下の解説映像。(感謝です!) それにしてもディスプレイユニットを取り外すまでの道のりは長い...。 結局、ほとんどすべての部品を取り外す必要がある。 無闇やたらにネジとパーツを取り外してしまうと、あとで組み上げる時に悩むことになる。 そこで、上記参考

  • ファイルパスからファイル名や拡張子を自由に取り出す - ザリガニが見ていた...。

    いつも、いざ使う時になって、どうやるんだっけ?と探し回ってしまうので、忘れないようにメモ。(以前の日記でも、所々分散して書いているかもしれないが、ここで総括的に記録することにした) シェルスクリプト $ fpath='/a/b/c.d.e' # ファイル名を取り出す(拡張子あり) $ fname_ext="${fpath##*/}" $ echo $fname_ext c.d.e # ファイル名を取り出す(拡張子なし) $ fname="${fname_ext%.*}" $ echo $fname c.d # 拡張子を取り出す $ fext="${fpath##*.}" $ echo $fext e # ディレクトリを取り出す $ fdir="${fpath%/*}" $ echo $fdir /a/b なるほど! そして、仕組みとしては、以下のルールしたがって変換されているようだ。 ${

    ファイルパスからファイル名や拡張子を自由に取り出す - ザリガニが見ていた...。
  • Snow Leopardになって覚えた、ちょっとした便利な操作 - ザリガニが見ていた...。

    Snow Leopardを使い始めて2ヶ月が経過した。いろいろ気にしながら操作していると(OSX 10.5からの機能の含めて)今更ながら発見が多い。一つ一つはちょっとした便利さなのだけど、それがたくさん集まると、とっても便利になるはず。そう思って、メモしていたことを書き出してみた。 辞書 command-control-Dで、そのままcommand-controlを押し続けると...(Dは放す) マウスの移動に合わせて、ポップアップ辞書の表示も更新される!(OSX 10.5、OSX 10.6) ポップアップ辞書がうまく表示されない場合の参考に、コメントと徹底的に辞書で調べるもどうぞ。 クリッピングファイル クリッピングファイルが、選択可能なテキストになった。(OSX 10.5までは、選択できないテキストだった。) メニューバーのサウンドアイコン(音量調整) shift-クリックで、警告音の

    Snow Leopardになって覚えた、ちょっとした便利な操作 - ザリガニが見ていた...。
  • Snow Leopardを上書きインストールしてみた - ザリガニが見ていた...。

    OSをバージョンアップする時は、現在の作業環境はそのままに、OSの機能だけバージョンアップできるのが理想だと思う。具体的には、アップルメニューのソフトウェアアップデートのような気軽さでバージョンアップしたい。 しかし、OSの内部に大きな変更があると、それまで使ってきた環境がOSの動作に思わぬ悪影響を与えることが多かった。だから、トラブルを最小限にするため、新規インストールして、必要なファイルを手作業で地道にコピーするのが一番信頼性が高い。ところが、ここ数年のMacBookにインストールしてきたソフトウェアは(UNIX系のソフトウェアも含めて)半端なく多い。手作業で移行なんてもはや考えられず、従って、移行アシスタントや上書きアップデートを試みることになる。 60GBの外付けHDに、Snow Leopardを実験的に何回かインストールして、大きなトラブルがないことは確認できた。いよいよ、メイン

    Snow Leopardを上書きインストールしてみた - ザリガニが見ていた...。
  • Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。

    ハッシュとは 一般的に理解すると抽象的で分かり難くなってしまうが、ハッシュとは、あるデータから、一定の計算をして求めた、目的に沿った数値、と思っている。それでは、どのような目的に利用されるのか?自分の知識で考えてみた。 暗号化 webアプリケーション等で、パスワードをDBに保存する時、生のパスワードをハッシュに変換して保存する。 Digest::SHA1.hexdigest等で求めたハッシュから、元のデータを復元するのが非常に困難という特性を利用する。 保存しているパスワードハッシュが、たとえ漏洩したとしても、不正利用を防止できる。 パスワードを照合するときも、ハッシュに変換して、保存しているパスワードハッシュと一致するかどうかで判断する。 同等の確認 長い文字列データを比較する時、全ての文字が等しいかチェックするのは非常に時間がかかる。 しかし、長い文字列データをハッシュに変換しておき、

    Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。
  • "プレビュー.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をより使い易くするための基本設定を探る - ザリガニが見ていた...。
  • MacBook Leopardで便利に利用している隠された設定 - ザリガニが見ていた...。

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

    MacBook Leopardで便利に利用している隠された設定 - ザリガニが見ていた...。
  • タイムゾーンはどのように設定しておこうか... - ザリガニが見ていた...。

    最近、MacBookOSX 10.5 Leopardの使い方ばかり気になって調べていたが、久々にRails関連のこと。既に、最新バージョンは2.2だそうだが、自分の頭はまだ2.1なのであった。(すっかりObjectiveC&AppleScript脳になってしまった頭を、 RubyRails脳に戻すのにちょっと苦労してしまった...。)時間の取り扱いは最も基的なことなのだが、いろいろ悩むことが多い。 関連する以前の日記:よりシンプルに日付と時刻の表示書式を整えるには... - ザリガニが見ていた...。 実験環境 MacBook OSX 10.5.6 Rails 2.1.0 2008-08-15時点のrestful_authentication http://d.hatena.ne.jp/zariganitosh/20080815 2008-09-03時点のaasm http://d.

    タイムゾーンはどのように設定しておこうか... - ザリガニが見ていた...。
  • MacBookは富豪的にメモリを消費する? - ザリガニが見ていた...。

    MacBookを初代から最終モデルに買い替えたことによる、最大の恩恵はメモリが2GBから4GBに増設できるようになったことである。 初代モデル2GBの時はよくメモリ不足に陥って、スワップファイルが多数生成され動作が緩慢になっていた。その状況は最終モデル4GBにしたことで気持ち良く改善された、と言いたいところだが、暫く使っているうちにちょっと気になることに気が付いた。 4GBにしたことで、2GBの時のようなメモリ不足にはならないが、それなりにかなりのメモリを消費している。同じ複数のソフトウェアを起動していても、4GBの方が2GBの時よりも、より多くのメモリを消費するような気がする。 以下は、起動直後のメモリ使用量なのだが、4GBは2GBの時よりも2倍のメモリを使用している。これじゃ、せっかくメモリを2倍に増設しても意味がないじゃないか、という感じ...。 同じハードディスクを載せ替えたので、

    MacBookは富豪的にメモリを消費する? - ザリガニが見ていた...。
  • ポリカーボネート白MacBookでマルチタッチジェスチャーに対抗してみる(負け惜しみ) - ザリガニが見ていた...。

    既に、ポリカーボネート白MacBookの初代モデルから最終モデルに買い替えてしまった自分は、やっぱりアルミ削り出しMacBookのマルチタッチジェスチャーが羨ましいのであった...。何とかして、似たような、出来ればそれ以上の操作感をシングルタッチジェスチャーで実現できないかと、試行錯誤の日々なのであった...。 まずはお手のマルチタッチジェスチャーとは何かを学習してみる。 動画:新MacBookのガラストラックパッドでマルチタッチ・ジェスチャー - Engadget Japanese的にiPodTouchなのだけど、3指、4指の操作が新しい。 2指で拡大/縮小、回転の操作はどうやっても叶いそうも無いので諦めた。 3指と4指の操作について対抗してみる。 3指で左右に移動して、前へ/次へ or 戻る/進む 4指で下に移動して、Exposeのすべてのウィンドウ 4指で上に

    ポリカーボネート白MacBookでマルチタッチジェスチャーに対抗してみる(負け惜しみ) - ザリガニが見ていた...。
  • アリスとボブになりきってgitをちゃんと理解したい! - ザリガニが見ていた...。

    ここから始まるアリスとボブのGitシリーズがになりました! アリスとボブのGit入門レッスン gitの解説には素晴らしいページがある。 git チュートリアル (バージョン 1.5.1 以降用) Git ユーザマニュアル (バージョン 1.5.3 以降用) こんなに親切に説明されているのに、読んでいるだけではgitの仕組みが見えてこない...。(そうです。自分の理解が悪いのです。)ちゃんと理解したいので、チュートリアルに出てくるアリスとボブになりきって、実際に作業してみることにする。以下は淡々としたその作業記録と自分の理解のイメージ。 環境 MacBook OSX 10.5.4 Xcode3.0以上インストール済 インストール gitのページから最新版をダンロードしてみた。現在のバージョンは1.6.0.1のようだ。 cd ~/Downloads curl http://kernel.or

    アリスとボブになりきってgitをちゃんと理解したい! - ザリガニが見ていた...。
  • よりシンプルに日付と時刻の表示書式を整えるには... - ザリガニが見ていた...。

    Rails 2.1からの日付と時刻の表示はUTCが標準になり、そのままの環境では以下のように表示されてしまう...。 <%= user.updated_at %> 2008-08-08 04:52:49 UTC 以前に比べれば日人にとっては分かり易い表示だが、決定的に問題なのは日の時刻と9時間ずれていること。 タイムゾーン その環境を決めているのは、config/environment.rbの以下の部分。 その部分をコメントアウトしてみると... # ---------- config/environment.rb ---------- Rails::Initializer.run do |config| ...(中略)... config.time_zone = 'UTC' ...(中略)... <%= user.updated_at %> Fri Aug 08 04:52:49 +

    よりシンプルに日付と時刻の表示書式を整えるには... - ザリガニが見ていた...。
    iwazer
    iwazer 2008/08/10
  • restful_authenticationを利用してみる(An introduction log of restful_authentication) - ザリガニが見ていた...。

    以前は専らlogin_engine、user_engineのお世話になっていたのだが、Rails2.0以降は手軽に利用できる環境ではなくなってしまった...。ということで、restful_authenticationを利用したログイン管理を試してみることに。 todoプロジェクトの作成(The making of the ToDo project) いつもの手順で実験用にtodoプロジェクトをサクッと作る。 I made a ToDo project for experiments quickly. $ rails todo $ cd todo $ script/generate scaffold todo body:string due:date done:boolean $ rake db:migrate $ script/server これだけでちゃんと動いてしまうんだから、便利にな

    restful_authenticationを利用してみる(An introduction log of restful_authentication) - ザリガニが見ていた...。
  • Subversionでファイルのバージョン管理をしてみる。 - ザリガニが見ていた...。

    プラグインをSubversionを利用してインストールしたついでに、バージョン管理の方法も調べてみた。自分の場合はバージョン管理といってもファイルの更新履歴を管理するだけなのだが、過去のどの時点の状態にも戻ることが出来る、というのはすごく魅力を感じる。いちいちファイル名の後に数字を付けてバックアップする、なんていう煩わしさが無くなるのだ。 ローカルヒストリーの利用 Subversionでバージョン管理と書いたが、実はRadRailsを使っていればSubversionを利用するまでもなく、戻りたい過去にいつでも戻ることが可能だった...。一人で作業して更新履歴を保管しておく目的なら、既に環境は整っていたのだ。ただ今まで知らなかっただけ。素晴らしい機能があるのに、ずいぶん勿体無いことをしてきた...。(RadRailsを日語化していろいろ見ているうちに気付いた) ファイルの更新履歴を確認した

    Subversionでファイルのバージョン管理をしてみる。 - ザリガニが見ていた...。
    iwazer
    iwazer 2008/06/01
    MacでSubversionを使う際のセットアップ方法を解説。
  • 1