タグ

memoとprogrammingに関するjjzakのブックマーク (29)

  • Clojure関連メモ退避所 - Playground of ours

    Google Waveが。。ということでWaveにためていたClojure関連のリンクを退避。 チュートリアル系 Official Clojure reference & API http://clojure.org/Reference "Clojure - Functional Programming for the JVM" by R. Mark Volkmann http://java.ociweb.com/mark/clojure/ Moxley Stratton - "Clojure Tutorial For the Non-Lisp Programmer" http://www.moxleystratton.com/article/clojure/for-non-lisp-programmers Eric Rochester - "Clojure Series" (deals

    Clojure関連メモ退避所 - Playground of ours
  • Unix Magazine「インターフェイスの街角」

    Unix Magazine「インターフェイスの街角」関連資料 掲示板 2006年4月号 「写真の位置登録」 2006年3月号 「マイ認証」 2006年2月号 「索引ナビゲータ」 2006年1月号 「Greasemonkeyによるブラウザ機能の拡張」 2005年12月号 「棚演算」 2005年11月号 「Rindaで実世界指向プログラミング」 2005年10月号 「並べる! 技術」 2005年9月号 「TV番組の検索と録画予約システム」 2005年8月号 「位置情報からの検索」 2005年7月号 「逆リンクと兄弟リンク」 2005年6月号 「携帯から位置情報を活用」 2005年5月号 「Ajax」 2005年4月号 「Phidgetsシステム」 2005年3月号 「ファイルシステムによる階層型データの管理」 2005年2月号 「最近の画像認証」 2005年1月号 「位置コミュニケーション」

  • 回文や XML にマッチする鬼車の正規表現 - まめめも

    ref: 鬼車 正規表現 Version 5.9.1 ref: Ruby Freaks Lounge: 第6回 Ruby M17N 事始め:正規表現編 \g と \k について今までちゃんとわかってなかったけれど、少しわかったような気になったのでメモ。Ruby というより鬼車の話なので、PHP でも使えるかもしれない。試してないけど。 田中哲スペシャル \g の基 \g で参照される括弧の中身がそこにそのまま書かれたと思えばいい。 re = /\A(?<foo>abc...def)\g<foo>\z/ # \g<foo> を展開して考える # /\A(?<foo>abc...def)abc...def\z/ と同じ意味 p "abc123defabc123def".match(re) # マッチ p "abc123defabc456def".match(re) # マッチ p "abc1

    回文や XML にマッチする鬼車の正規表現 - まめめも
  • Erlang Tips

    Erlang に関する情報を,自分用メモを兼ねて作成しました. 間違い等見つけた方はブログのエントリまで連絡いただけるとうれしいです. 最終更新:2007/07/04 23:56 目次 Erlangの特性 Erlangは以下のような特徴があります. 簡単に言うと,ネットワークサーバを書くのに向いています. 得意なこと ・大量の並列処理 ・複数サーバでの分散処理(ただしEthernet経由で通信するので専用インターコネクトほどは速くないと思います) 苦手なこと ・純粋な計算処理(C言語の10倍程度遅いようです) ・GUIアプリケーション(WingsというErlangでかかれたGUIアプリはあるが,GUI周りの情報は少ないです) ありそうな勘違い ・マルチコア・SMP環境にすれば,コア数に比例して性能が向上する. →もちろん条件によるので,必ず比例するわけではありません. SMPサポートは条件

  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • 【コラム】そろそろきっちりJavaScript (7) prototype.jsを読む(1) | エンタープライズ | マイコミジャーナル

    ソース読みの準備 連載ではこれまで、JavaScriptの特徴的な記法をいくつか紹介してきた。そろそろ世に広まっているJavaScriptライブラリのソースコードを読み解いていくことができるはずだ。 今回からは、少し趣向を変えて、JavaScriptライブラリをいくつか挙げながら、ライブラリ利用方法と、その動作メカニズムについて紹介していこう。 今回は、prototype.jsにフォーカスする。現在のJavaScript人気の立役者といっても過言ではないprototype.jsだが、その中身はどうなっているのだろうか。ソースコードを読みながら、メカニズムはもちろん、JavaScript的なコードスタイルも学んでいきたい。 まずはソースコードを読むための環境を整備しよう。prototype.jsは、作者であるSam Stephenson氏が提供するサイトから取得できる。現在の安定最新バージ

  • インジェクション系攻撃への防御の鉄則

    前回までは,主にクロスサイト・スクリプティングのぜい弱性とその対策について解説してきた。最終回となる今回は,クロスサイト・スクリプティング以外の「インジェクション系」ぜい弱性について解説する。具体的には,SQLインジェクション,OSコマンド・インジェクション,HTTPヘッダー・インジェクション,そしてメールの第三者中継である。 SQLインジェクション対策にはバインド変数の利用が最適 まず,SQLインジェクションから見ていこう。対策には二つの方法がある。一つは,SQLの「バインド変数(注1)」を使う方法である。バインド変数の書式はプログラミング言語によって異なるが,一例として,Perlを使った場合に,パスワード認証のSQLをバインド変数で書き換えた例を示す(図1)。 (注1) 「準備された文(Prepared Statement)」というのがJIS SQLでの用語だがあまり普及していない。バ

    インジェクション系攻撃への防御の鉄則
  • http://www.sabamiso.net/yoggy/hiki/?2007%2F04%2F09+%A5%EA%A5%D0%A1%BC%A5%B9%A5%A8%A5%F3%A5%B8%A5%CB%A5%A2%A5%EA%A5%F3%A5%B0%A4%DE%A4%C4%A4%EA%A4%CE%A5%E1%A5%E2

    jjzak
    jjzak 2007/04/15
    リバースエンジニアリングまつりのメモ
  • 坊やがゆく - Railsでソーシャルブックマークを作ってみようか(第2回)

    エンジニア説明Railsアプリを作る「はじめの一歩」としての足がかりになればと思いまとめました。手順に沿ってコピペしていくといつのまにかアプリケーションが完成するというサンプルです。第1回のmasuidriveさんベースにRails勉強会@東京第11回での高橋征義さんバージョンとInternet Week 2006でのかずひこさんバージョンをミックスしました。環境やインストール、趣旨や概要につきましては第1回をご覧ください。 ■第1回との相違点Internet Week 2006のT24 : はじめよう Ruby on Rails 〜フレームワークで作るWebアプリケーション〜をベースに内容を変更しました。基的な流れは変わっていませんが、機能/モデルが変更されています。文字コードの設定を先に行うようにしました。モデルの定義を先に明示しました。モデルの作成にマイグレートを使用するようにしま

  • GDB

    GDBの使い方を調べてみた.将来的にはデバッガを使えるようになって効率的な開発をしていくのだ. 入門編 応用編 GDBじゃないけど…… 入門編 基的なGDBの使い方 とにかくちょっと使ってみる 2003-07-20T15:13+09:00 matsu gdbをとにかくちょっと使ってみた. breakポイント 2003-07-20T15:13+09:00 matsu おそらく多くのデバッグ作業はbreakポイントとステップ実行で足りるものではないだろうか.ここではbreakポイントの設定方法を中心に記述する.breakポイントはいろんな方法で指定できるようだ. watch 2003-07-20T15:13+09:00 matsu 変数値の変化を追跡できるとうれしいかもしれない. continueとステップ実行 2003-07-20T15:13+09:00 matsu breakした後処理を

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。

    jjzak
    jjzak 2006/11/06
  • task*pad.jp Imitation with Ruby on Rails

    何ですか ? 昨年末、待望の 1.0 がリリースされた Ruby on Rails。それを利用したウェブアプリケーション製作記であり、個人的な覚書。 各所のチュートリアルを済ませた後、何か簡単なものを作ろうと思っていたが、これがなかなかいい題材がない。そんな折、 perlRails とも言える Catalyst を使って、task*pad.jp を実装しているページを見つけ、これを参考にしつつ Rails で実装してみた、その経過である。 task*pad.jp の簡易版ということで、プロジェクトネームは Task とした。 各ソフトウェアのバージョン 今回使用した各ソフトウェアのバージョンは次の通り。 ruby 1.8.4 / rails 1.0 を install すれば、下記と同じになるはずだ。 [ys@humming]-[02:15 PM]-[~/tmp/rails/Task

  • C言語: UNIX最速ファイルコピー

    Created: Kazuki Ohta, 2006/06/14 Last Update: Kazuki Ohta, 2006/06/14 「write(2)の正しい使い方」と同じく、OS演習でやった事の延長線の記事を書いてみる。お題は「UNIX上で大規模ファイルを最速でコピーする方法」だ。一般的に、UNIXでファイルをcopyする際には以下のような方法が有る。 read -> write read -> write with posix_fadvice mmap -> mmap -> memcpy -> fsync mmap -> mmap -> memcpy -> fsync with madvise mmap -> write mmap -> write with madvise read, write, mmap辺りは良いとして、posix_fadviseというシステムコールが有

  • Ruby: hex dump (Japanese)

    オプション -s, -e, -S, -E を指定しない場合は、漢字の出力は行われません。 使い方は、いたって簡単です。 次の例では、Windows95 のファイルを、入力漢字コード SJIS、出力漢字コード EUC としてファイルの内容をダンプします。 $ hd.rb -S /mnt/dos/Windows/wininit.exe |less ■ ソースコード 最初に Ruby 1.9 系用。 次に RUby 1.8 系用です。 Web ブラウザでの表示上は Ruby のスクリプトですが、HTML の特殊文字をエスケープしています。 テキストとしてセーブしてご利用ください。 #! /usr/local/bin/ruby -Kn # /home/tetsu/src/ruby/toolbox/hd.rb # Created: February 22,1998 Sunday 18:39:06 #

  • シフトJIS / EUC-JPとUnicodeとの妥当な変換表: Netsphere Laboratories

    2004.10.17 新規作成。2004.12.19 加筆。2005.04.02加筆。 最近、コンピュータで扱う文字列の文字コードがUnicodeでなければならない場面が増えてきた。UnicodeとシフトJIS、EUC-JPを変換する機会が多い。この変換は変換表で行うが、変換表が実際的なものでなければ、文字化けが発生することになる。 おかしな変換表は、これまでは、特にLinuxなどの上で動作するオープンソースソフトウェアで多く見られた。おそらく規格原理主義者が多かったためだろう。そもそも、規格どおりに変換表を作ると、実用的な変換表にはならない。しかし、最近ではまともな変換表を実装しているものも増えてきて、うまく選ぶだけでいいようになってきている。 変換表の違いをまとめたページはよく見かけるが、実際にどのような条件を満たして変換するものを選べばいいか不明なので、まとめてみた。 変換表に求めら

  • Smalltalkでの継続の扱い Smalltalk Idioms, Chapter 4

    第4章 制御 遅延評価 継続 分岐 繰返し 巻き戻し 例外 フォーク プロミス プロセス セマフォ 参考文献 遅延評価 Smalltalkという言語にはプログラムの制御構造を表現するwhileやif〜then〜elseなどの制御構文が存在しません。第2章でSmalltalkの文法について概説しましたが,その際にリテラルや変数そしてメッセージ式などを説明しただけで,分岐や繰返しなどを行う方法を説明しませんでした。ただ,リテラルのところでブロッククロージャというSmalltalkプログラム自身を表すような奇妙なオブジェクトが出ていたことを記憶に留めていらっしゃいますか。この章ではブロッククロージャを中核にすえて,プログラムの制御構造について述べたいと思います。 ここで,トランスクリプトにRed,Green,Blueと書き出すという単純なプログラムを取り上げましょう。 Transcript cr

  • x86系CPUのネイティブコードを解析する:CodeZine

    はじめに 今回はPC市場で一般的に採用される、x86系のCPUの機械語に迫ります。最新技術が次々と現れる昨今ですが、実はx86の規格はあまり目新しいものではありません。クロック周波数は上がるものの、機械語の形態は昔から引き継がれています。x86 CPUの種類 x86ネイティブコードを解読できるCPUには、下記のようなものが挙げられます(※AMD64を除く)。もはや説明はいりませんね。Intel Pentium 4Intel Pentium 3Intel Pentium 2Intel MMX PentiumIntel PentiumIntel 486/386AMD AthronAMD DuronAMD K-6  ここからは、32ビット以降のx86系 CPUに関する話題を扱っていきます。8ビットCPU、16ビットCPUに関するテクニックは出てきませんので、ご了承ください。

  • 満足せる豚。眠たげなポチ。:もっとPathname。

    川o・-・)<2nd lifeさんで、Pathnameの話題が出てましたね。 ぼくもdaigoさんのRedHandedでの紹介を見てからすっかりPathnameの虜です。一度使うと離れられないです。 Pathnameファンとしては、このあたりもおすすめ。 mkpath find rmtree 使い方はこんなかんじ。 Pathname.mkpath Pathname.new('/tmp/foo').exist? # => false Pathname.new('/tmp/foo/bar/hoge').mkpath # => 上位のディレクトリも自動的に生成 Pathname.new('/tmp/foo/bar/hoge').exist? # => true Pathname.new('/tmp/foo').exist? # => true

  • Pathname - ファイル名のグッドラッパー - 2nd life (移転しました)

    http://www.ruby-lang.org/ja/man/?cmd=view;name=pathname 先日のRails勉強会でetoさんにPathnameというパスやファイル名のすごい便利なライブラリを教えて貰った。で、早速使ってみたところめっちゃ便利でいま書いてるアプリケーションじゃほとんどのファイル名の操作に使ってるという。 使い方はめっちゃ簡単でパスやファイル名を引数としてオブジェクトを作るだけ。 require 'pathname' file = '/tmp/foo' path = Pathname.new file で、これの何が便利っていうとリファレンスマニュアルのメソッドを眺めて貰うと解るんだけど、ファイル関係の操作が何でもできてしまう。通常だとFileオブジェクトを作るには実体が無いとダメなんだけど無くてももちろん作れるため str = IO.read(file)

    Pathname - ファイル名のグッドラッパー - 2nd life (移転しました)
  • http://www-ise.is.s.u-tokyo.ac.jp/~inagami/class/jikken1/ocaml/index.php