タグ

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

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

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

    プロセス・パイプ・リダイレクション・ファイルディスクリプタの実体を見に行く - ザリガニが見ていた...。
    komlow
    komlow 2017/03/06
  • UTF-8にもいろいろある - ザリガニが見ていた...。

    前回からの続き。 改行コードの違いを体感してみる - ザリガニが見ていた...。 文字エンコードとロケールを体感する - ザリガニが見ていた...。 改行コードの違いも知った。文字コードとロケール、ターミナルの言語環境との関係も知った。これで文字にまつわる悩みとはおさらばできると思ったら、まだダメだった...。 実験環境 OSX 10.8 Mountain Lion以前((OSX 10.9 Mavericksでは、Mac仕様なNFDのUTF-8を表示しようとするとエラーになってしまったため、10.8以前の環境で実験した。Assertion failed: (width > 0), function conv_c, file /SourceCache/shell_cmds/shell_cmds-175/hexdump/conv.c, line 137. ** ** Abort trap: 6

    UTF-8にもいろいろある - ザリガニが見ていた...。
  • USキーボードを選択してMacBookのキー入力環境をより快適に!- ザリガニが見ていた...。

    二年前にMacBookを使い始めた時から、すっかりUSキーボードが気に入ってしまった。USキーボードを選択したきっかけは、実際に店舗で触ってみて以下の理由から。 MacBookになってから、トラックパッドがとってもでっかくなった! これだと、入力中に手のひらが触れてしまい、誤入力になるかもしれない。(慣れの問題もあるが) さらに、日語キーボードだとホームポジション(FとJの位置)が左寄りになる。(Jの位置がほとんど中央) Windowsマシンのトラックパッドが左寄りになる理由はここにあるが、デザイン性を重視するAppleはそんな対応は絶対にやらなそう。 日語キーボード USキーボード USキーボードの魅力 そこで、USキーボードを実際に使ってみると、思いのほか快適。 USキーボードだとホームポジション(FとJの配置)がより中央寄りになる。(完全に中央じゃないけど許せる範囲) 入力姿勢も

    USキーボードを選択してMacBookのキー入力環境をより快適に!- ザリガニが見ていた...。
    komlow
    komlow 2013/11/08
  • rubyのワンライナーに見る驚きの省略記法 - ザリガニが見ていた...。

    rubyには、省略されたコードが隠されていることがある。その省略されたコードをちゃんと理解しておかないと、rubyの中で何が起こっているのか?見失ってしまう...。調べてみた。 一般的なソースコードの中では、可能な限り省略せずに書いた方が良いと思われる。 きっと、他人を悩ますか、1カ月後の別人の自分が悩む。 しかし、直接タイプすることが多いワンライナーでは、素早く、簡潔に入力できる省略表現は便利である。 無駄に$や!を入力しないので、エスケープの問題で悩むことも少なくなると思われる。 作業環境 OSX 10.9 Mavericksである。 GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin

    rubyのワンライナーに見る驚きの省略記法 - ザリガニが見ていた...。
    komlow
    komlow 2013/11/07
  • Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。

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

    Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。
  • マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。

    そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ

    マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。
  • 1