2014年、あけましておめでとうございます。今年もよろしくお願いします。

2013年を振り返ってみると、本当にあっという間に過ぎた1年でした。

しかし、手を動かして何かを作って発表するということを実践できた年だったと思います。

2014年は、決断の年になると思います。

ぱっと思いつくだけでも、研究室配属、就職活動、卒業研究など、 人生に大きな影響を与えるようなイベントがたくさんあります。

後悔のないような決断をしていき、良い年にしていきたいです。

Read more


Ruby 2.1.0 がリリース

Ruby 2.1.0 がついにリリースされましたね!!!

なんと嬉しいクリスマスプレゼントなんでしょう!

Read more


gem関連に関してメモを残します。 .gem ファイルを展開してパッケージの中身を見る .gem ファイルを展開してパッケージの中身を見る方法を紹介します。 gem unpackはgemをインストールしたくないけど、単に中身を見たいときなどに役に立ちます。 gem unpack xxx.gem のように使います。 [~/Downloads]$ gem unpack unicode_math-1.2.0.gem Unpacked gem: ‘/Users/gam0022/Downloads/unicode_math-1.2.0’ [~/Downloads]$ [~/Downloads]$ tree unicode_math-1.2.0 unicode_math-1.2.0 ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── lib │ ├── unicode_math │ │ ├── constants.rb │ │ ├── division.rb │ │ ├── exponents.rb │ │ ├── fractions.rb │ │ ├── multiplication.rb │ │ ├── roots.rb │ │ ├── set.rb │ │ ├── sigma.rb │ │ └── trigonometry.

Read more


アカリク主催の学生のためのアプリ開発コンテストの最終選考プレゼンに参加してきました。

集合写真

Read more


はじめに

COJTのエントリーの締め切りが今月の20日らしいので、 COJTのソフトウェアコースを受講しようと考えている人へ向けて何か書いてみようと思います。

Read more


Yahoo Inter Hack U 2013 という開発イベントに参加してきました。

「カメラで商品検索」という画像によって商品の横断検索ができるiOSアプリを開発しました。

Read more


10/25に大五郎botがTwitter上で凍結されました。

Read more


いろんな言語で Trick or Treat してみました。

Java

if(!treat) trick();

C#

if(!Treat) Trick();

Python

if not treat:
    self.trick();

Ruby

trick unless treat?

結論: Ruby が一番シンプル

Read more


ImmutableList gem とは

Immutable な LinkedList を Ruby で使うためのライブラリです。

C-Extension なので、Rubyで実装したものに比べて動作が高速です。

Ruby の Array は 配列で実装されているため、 長いリストでの先頭への要素を追加(cons)や連結(append)が とても遅いという問題を解決しようと思って作りました。

用途としては、Rubyで再帰を使って関数型言語風にプログラムを組むことを想定しています。

Immutable List Gem (KLab ALM版) from Sho Hosoda

導入方法

RubyGems で公開したので、次のようにターミナルで入力するだけで導入できます。

$ gem install immutable_list

Read more


はじめに

先日、immutable_list というgemを公開したのですが、 思っていたよりも簡単に rubygems.org に登録することができて感動しました。

gemを作るには、色々な方法があるようですが、最近だとBundler を使う方法が一番シンプルで良さそうです。

RubyGems に gem を登録するためには、gitのリモートリポジトリが必要ですが、ここでは GitHub を利用します。

あと、よく質問されるのですが、RubyGems に登録するために審査は一切ありません。

Tips: gemの命名方法

本題とはズレますが、gemの命名にはルールがあるので軽く紹介します。

gemname には、小文字のアルファベット、数字、ハイフン、アンダースコア、ドットが使用可能のようです。

ハイフンとアンダースコアは次のように使い分けることが推奨されています。

  • - (ハイフン) : パスの区切り
  • _ (アンダースコア) : 単語の区切り

Read more