アーカイブ

‘未分類’ カテゴリーのアーカイブ

kanasan.coffee に参加しました

2011 年 5 月 10 日 件のコメント

kanasan.coffee に参加しました。

ハッシュタグは #kanasancoffe 最後に決まったので、実況はあまり上がってないかもしれません。 まとめは見つかるハズ。

私的には実は最後のサンプルコードレビューが一番参考になったと云う感じ。 まだまだ理解できてないと云う事です。でもほんとに RubyとかPythonっぽく書けるってのは嬉しい。 書こうと思うまでの敷居を下げる(拒絶反応を少なくする)って事だけでも、この功績はすでに大きいと思う。 まだどうなっていくのかわかりませんが、楽しみです。

CoffeeScriptの文法について by ujihisa

  • 文法は Ruby や Python ライク
  • CoffeeScriptの文法は実際難しい事はなくて、javascript理解してる人だったら数時間で使えるようになるよ
  • CoffeeScriptとjavascript は 1:1
  • http://jashkenas.github.com/coffee-script/ の TRY COFFEESCRIPT で実際に動かしての紹介

VimとCoffeeScriptの連携について by ujihisa

  • vim で shadow.vim 使うと便利だよと云うお話。
  • shadow.vim では たとえば a.js.sha ファイルがテンプレみたいな位置づけで頭の一行を実行して a.jsファイルとして保存できる仕組み(かな?) 。ユーザは .shaファイルを意識する必要なし。コミットする時は a.js をコミットすればいいと。
  • hootsuite でも絶賛広め中らしいw

Node.JS on Windows by cuzic

  • node.js を windows で使うための方法
  • node.js オススメパッケージ紹介 (coffee-script, underscore, zombie, meryl, connect)
  • no.de の紹介 node.js の開発元が提供するクラウドサービス (heroku みたいなもの)
  • 発表資料 Nodejs on windows http://slidesha.re/iH9Laf

CoffeeScriptを使ってTitaniumでiPhoneアプリを作る by deguchi

  • CoffeeScript を利用してつくったサービス http://www.caffein.tv/ の紹介
  • Caffein というサービス名なら CoffeeScript 使うしかないとw
    CoffeeScript 使うための確信犯的な根回しw
  • http://a-h.parfe.jp/einfach/archives/2011/0106235955.html

Node.JSのモジュールシステムについて by nanki

  • タイトル改め、「Node.jsは怖くない! 」
  • さっそく、 jasmine で BDD しよう!
  • prototype.js trancate関数のテストをjasmineで書いて、実装をCoffeeScript でやってみよう !! (hands on)

飛び入りでCaffeeScriptのサンプルコードをレビューしてみよう by yhara

  • http://jashkenas.github.com/coffee-script/ の overview をすべてレビュー
  • みんなで試しながら話し合いながら
  • これ最初にやるべきだった?w
  • 3項演算子がないのは残念。なんでだろう?
カテゴリー: 未分類 タグ:

Vim勉強会#7

2011 年 5 月 8 日 件のコメント

Vim勉強会#7 に行ってきました。

「vimはスポーツ!」と云う意味なのか cotocoto のキーワードに スポーツ系のキーワードが入っていた vim勉強会#7 みなさんユニークで楽しいですね。vim使いになってわずか数日の私にとって、どれも貴重なお話でした。

「おすすめVimプラギンをいくつか紹介」 by ujihisa

帰国中の @ujmによるプラギン紹介。

参加者のほとんどが Macユーザだったのですが、誰一人旧MBAir VGAケーブルを持っていないという事態に。@ujm がvimを操ってる姿見たかったなぁ。また次回が楽しみです !!

<li>
quickrun

表示中のコードを実行して出力結果をバッファに表示できます。 thincaさん ujihisaさん作のプラギン。

  • vimshell

    Vimからシェルを起動するVimScript :! コマンドとは違って非同期実行可能

  • unite.vim

    候補一覧からアイテムを選択しアクションを実行するプラギン unite-outline, unite-grep と併用するとさらにgood! 対応するファイルの見出し行を抽出して一覧化、選択してJump ができる。(ruby なら def定義一覧になるよね) –auto-preview オプションも紹介されたのですが、これは便利 !! 一覧カーソル移動中にプレビューが見られる。

  • smartchr

    
    inoremap  = smartchr#one_of(' = ', ' == ', ' === ', '=')
    
    
    と.vimrcに書くと、=を1回押すと、’ = ‘ 、さらに続けて =をタイプすると ‘ == ‘ 、さらに続けて =をタイプすると ‘ === ‘、さらに続けて =をタイプすると ‘=’になると言うもの。
  • neocomplcache

    オムニ補完する為のプラギンかな。 ファイル名補完とかバッファ名補完ができるらしい。

  • neco-look

    look コマンドが使える環境で使えるプラギン 英単語など補完できるのでスペルミスが激減しそう !!

    「lingr.vimとその中身」 by tsukkee

    lingr をしている時であれなんであれ、片時もvimから離れたくないという @tsukkeeさんの思いから生まれたプラギン。 これを使えば 10room以上同時閲覧可能だとか。ほかにもlingr.vim を使うべきいくつかの理由の紹介や、lingr.vim の仕組みが紹介されました。スレッドセーフな仕組みを作るのが難しかったようです。こういうの作れちゃうのスゴイと思います。ホントに。

    「Vundleでゔんどる」 by kozo-ni

    プラギンマネージャー vundle の紹介。@kozo-ni さんによると、色々なプラギンマネージャーを試した中ではこれがオススメだとか。

    実はvim初級者の私も使ってます。:BundleInstall , :BundleSearch などとても便利ですヨ。 lingr や 後々 ujihisaさんとも話した内容ですが、.vimrc での記述やコマンドも vundle という記法であって欲しかったなぁと。

    「僕がいかにして unite を使わなくなったのか」 by Sixeight

    uniteは便利だけれど、実際に開発してると列挙して選択ってのは煩わしいと。そんな時 rails.vim を使えば簡単に model や controller に移動できたりするそうです。model の追加とかrails の機能はほとんどvimから実行できるみたいです。

    rails開発者のデモが見れて良かったです。 unite の否定という事だったんですが、ujihisaさんによる補完でuniteの紹介にもなっていたような場面もありライブ感ある発表でした

    「気鋭の新機構vitalの全て」 by ujihisa

    プラギン作者にとっては嬉しい新機構vital の紹介。vital作者による発表名前の vital もタイプが気持ちいいものを選んだらしいです。確かにタイプが気持ちいい。 プラギン作者には関係ない話しなので、はやくLv4以上になろうねと云う話なのかw Vim-users.jp – Vim使いのレベル10

    プラギン作成時に似たような処理をライブラリ化するものらしいです。 プラギンを横断的にサポートするような仕組みなので普通のプラギンよりも コアな仕組み提供という事になるのかな?

    初心者として初参加だったのですが、和気あいあいとして楽しい会でした。 また戦闘力を上げて参加したいです。
    参加者の皆様、お疲れさまでした。

    カテゴリー: 未分類 タグ:

    TDD テスト駆動開発 in 第4回勉強会@minami.rb

    2011 年 2 月 3 日 件のコメント

    第4回勉強会@minami.rb に参加してきた。 http://qwik.jp/minamirb/57.html

    その中での1セッション 『TDD テスト駆動開発入門』(by yalabさん)での課題が時間内に終わらなかったので復習をかねて最後までやり遂げる事に。ruby はそんなに書きなれていない事もあり、なかなか手間取ったがやっと課題の要件はみたす事ができたので、ここに晒しておく。 ruby ではそうじゃないよとか、普通はこうだよね。的なツッコミを入れていただけると有難いです。

    時間がかかったポイントとしては ruby の実装不足。慣れてないのが大きいのかなと。 ただコーディングするだけならすぐかもしれないが、いかにrubyっぽく綺麗に書けるのだろうかと考えながらだったからのような気がします。実際このコードが rubyの暗黙の美的センスに乗っ取っているかどうかはわからないのですが、極力そうしたつもり。 for とか while とかでぐるぐるまわして if で条件分岐してどうたらとかいうのは、なるべくしたくないですし。

    こういう積み重ねが大切ですね。 まぁ、とりあえずこんな感じで一旦アップしておきます。 ちょっと思うところがあるので、これに手を入れてすぐに第2版をアップしたいと思います。

    課題 http://www.slideshare.net/yalab/ss-6749458 ・月末を返す last_day メソッドを作ってください。 ・第一週の日曜日 (先月の最後の日曜日かもしれない)を返すメソッドを作ってください。 ・最終週の土曜日(次月の最初の土曜日かもしれない)を返すメソッドを作ってください。 ・各週と各日を操作するeach_weekとeach_dayを作ってください。 ・月曜始まりと日曜始まりの両方を使えるようにしてください。

    calendar.rb カレンダー

    calendarTest.rb カレンダーのテストクラス これが重要。これのおかげで一旦完成した後も躊躇なくリファクタリングを進める事ができる。 常々思っている事なのだが、テストコードは人の為と云うよりも自分の安心の為に書くものだと思う。

    実行結果

    
    $ ruby calendarTest.rb 
    Loaded suite calendarTest
    Started
    ................
    Finished in 0.02391 seconds.

    16 tests, 16 assertions, 0 failures, 0 errors

    Calendar.rb

    class Calendar
      attr_reader :first_day
      attr_reader :last_day
      attr_reader :base_cwday</p>
    
    <p>def initialize(year, month, base_cwday = "Sun")
        @first_day = Date.new(year, month, 1)</p>
    
    <h1>@last_day = (Date.new(year, month, 1) >> 1) - 1</h1>
    
    <pre><code>@last_day = (Date.new(year, month, -1))
    @base_cwday = Date::ABBR_DAYNAMES.index(base_cwday)
    </code></pre>
    
    <p>end</p>
    
    <p># カレンダー表示上の最初の日を返す
      def display_first_day
        return @first_day - @first_day.cwday + @base_cwday
      end</p>
    
    <p># カレンダー表示上の最後の日を返す
      def display_last_day
        return @last_day + (6 - @last_day.cwday + @base_cwday)
      end</p>
    
    <p># 当月すべての日を週ごとに配列にして返す
      def each_week
        weeks = Array.new()
        display_first_day.step(display_last_day, 7) {|wd|
          week = Array.new()
          wd.step(wd + 6, 1) {|d|
            week &lt; &lt; d if first_day.month == d.month
          }
          weeks &lt;&lt; week
        }
        return weeks
      end</p>
    
    <p># 当月すべての日を配列にして返す
      def each_day
        days = Array.new()
        @first_day.step(@last_day, 1) {|date|
          days &lt;&lt; date
        }
        return days
      end
    end
    

    CalendarTest

    require 'test/unit'
    require 'date'
    require './calendar'</p>
    
    <p>class CalendarTest  &lt; Test::Unit::TestCase</p>
    
    <p># 基本パターン
      def test_first_day_201101
        actual = Calendar.new(2011, 1)
        assert_equal Date.new(2011, 1, 1), actual.first_day
      end</p>
    
    <p># 固定値で返してないか別の月で確認
      def test_first_day_201102
        actual = Calendar.new(2011, 2)
        assert_equal Date.new(2011, 2, 1), actual.first_day
      end</p>
    
    <p># 日数 31日
      def test_last_day_201101
        actual = Calendar.new(2011, 1)
        assert_equal Date.new(2011, 1, 31), actual.last_day<br />
      end</p>
    
    <p># 日数 28日
      def test_last_day_201102
        actual = Calendar.new(2011, 2)
        assert_equal Date.new(2011, 2, 28), actual.last_day<br />
      end</p>
    
    <p># 日数 29日
      def test_last_day_201002
        actual = Calendar.new(2012, 2)
        assert_equal Date.new(2012, 2, 29), actual.last_day<br />
      end</p>
    
    <p># 日数 30日
      def test_last_day_201004
        actual = Calendar.new(2010, 4)
        assert_equal Date.new(2010, 4, 30), actual.last_day
      end</p>
    
    <p>## display_first_sunday
      # カレンダー上の最初日曜が前月にあるパターン
      def test_display_first_day_feb
        feb = Calendar.new(2011, 2)
        assert_equal Date.new(2011, 1, 30), feb.display_first_day
      end</p>
    
    <p># カレンダー上の最初日曜が前月にあるパターン(月曜始まり)
      def test_display_first_day_feb_Mon
        feb = Calendar.new(2011, 2, "Mon")
        assert_equal Date.new(2011, 1, 31), feb.display_first_day
        puts feb.base_cwday
      end</p>
    
    <p># カレンダー上の最初日曜が前年前月にあるパターン
      def test_display_first_day_jan
        feb = Calendar.new(2011, 1)
        assert_equal Date.new(2010, 12, 26), feb.display_first_day
      end</p>
    
    <p>## display_last_saturday
      # カレンダー上の最終土曜が翌月にあるパターン2
      def test_display_last_day_201101
        actual = Calendar.new(2011, 1)
        assert_equal Date.new(2011, 2, 5), actual.display_last_day
      end</p>
    
    <p># カレンダー上の最終土曜が翌年翌月にあるパターン
      def test_display_last_day_201012
        actual = Calendar.new(2010, 12)
        assert_equal Date.new(2011, 1, 1), actual.display_last_day
      end</p>
    
    <p># カレンダー上の最終土曜が翌年翌月にあるパターン(月曜始まり)
      def test_display_last_day_201012_mon
        actual = Calendar.new(2010, 12, "Mon")
        assert_equal Date.new(2011, 1, 2), actual.display_last_day
      end</p>
    
    <p># カレンダー上の最終日が当月にあるパターン
      def test_display_last_day_201104
        actual = Calendar.new(2011, 4)
        assert_equal Date.new(2011, 4, 30), actual.display_last_day
      end</p>
    
    <p># カレンダー上の最終日が当月にあるパターン(月曜始まり)
      def test_display_last_day_201107_mon
        actual = Calendar.new(2011, 7, "Mon")
        assert_equal Date.new(2011, 7, 31), actual.display_last_day
      end</p>
    
    <p>def test_each_week
        actual = Calendar.new(2011, 1)
        expect = [
            Array.new(1) { |i| i+1 },
            Array.new(7) { |i| i+2 },
            Array.new(7) { |i| i+9 },
            Array.new(7) { |i| i+16 },
            Array.new(7) { |i| i+23 },
            Array.new(2) { |i| i+30 },
            ]
        weeks = Array.new()
        expect.each { |e|
          week = Array.new()
          e.each { |d| 
            week &lt;&lt; Date.new(2011,1,d)
          }
          weeks &lt;&lt; week
        }
        assert actual.each_week == weeks
      end</p>
    
    <p>def test_each_day
        actual = Calendar.new(2011, 1)</p>
    
    <pre><code>array = Array.new([])
    (1..31).each { |day|
      array &lt;&lt; Date.new(2011,1,day)
    }
    assert actual.each_day == array
    </code></pre>
    
    <p>end</p>
    
    <p>end
    

    カテゴリー: 未分類 タグ: , ,

    JDOM

    2010 年 5 月 13 日 件のコメント

    JDOM(Java Document Object Model)はJavaでXMLを容易に扱うため、DOMより使いやすいAPIを提供することを目指して設計された軽量XMLライブラリ

    JDOMでXMLプログラミングを単純化する

    java: JDOM入門 ~XMLファイルを 読み込む・書き出す~

    JDOM – JavaでXMLを容易に扱える軽量XMLライブラリ – オープンソースコラム

    カテゴリー: 未分類 タグ:

    Selenium がイロイロとバージョンアップしてた。

    2010 年 4 月 20 日 件のコメント

    Selenium バージョン1.0 が 2009/6/20 にリリースされた。 Firefox 3.0, 3.5 IE 8 などへの対応を含めているようだ。 また、自動テストツール Selenium の派生プロジェクトが随分と追加されている。

    http://seleniumhq.org/projects/

    ■Selenium Grid グリッド環境。複数の環境で同時テストを行う

    ■Selenium Ruby Ruby テスト用

    ■Selenium on Rails

    ■Cubic Test Eclipse 上でテスト対象の画面遷移がグラフィカルに参照できる。 これは欲しかった。わかりやすい。

    カテゴリー: 未分類 タグ:

    word press プラグインの追加

    2010 年 4 月 18 日 件のコメント

    ■404 Notifier movable type からの移行に合わせて、可能か限りパーマリンクは一致させたハズなのですが、万が一存在しない URL にアクセスされた場合に登録していたメールアドレスに通知メールを送ってくれる。

    WPtouch iPhone Theme iPodTouch iPhone からのアクセスがあった場合にはそれぞれに最適化した状態で表示してくれる。これは便利 !!

    カテゴリー: 未分類 タグ: , ,

    CMS の移行

    2010 年 4 月 18 日 件のコメント

    Movable Type 3.33 から Word Press 2.9.2 に移行してみた。 テーマとかプラグインが管理ツール上でインストールできるのがいいですね。

    もしかしたら MT5 にも標準で備わっている機能なのかもしれませんし、MT3 の頃にも style catcher っていうプラグインがありましたが、しばらく Word Press を使ってみようと思います。(本当は MT5 を使ってみないと比較にはならないのですが。。。)

    皆様にはご迷惑をおかけします。ご了承ください。 なるべくパーマリンクはそのまま引き継ぐ設定に変更したつもりなのですが、問題があったら教えていただけるとありがたいです。

    参考にしたサイト

    カテゴリー: 未分類 タグ:

    Hello world!

    2010 年 4 月 17 日 件のコメント

    WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !

    カテゴリー: 未分類 タグ:

    2010 年 2 月 14 日 件のコメント

    『Everyday Rails – RSpecによるRailsテスト入門』のベータ版を公開しました。

    『西脇.rb & 東灘.rb ペアプログラミング In Action』を開催しました #nshgrb #ruby

    西脇.rb & 東灘.rb 合同もくもく会 3rd を開催しました ! #nshgrb

    ダミー

    http://spring-aki.com/archives/2923#1

    http://spring-aki.com/archives/2923#postnavi

    http://spring-aki.com/archives/2923?q=1

    http://spring-aki.com/archives/2923?q=2

    カテゴリー: 未分類 タグ: