KLab の社内勉強会 ALM で LT をしました。

Immutable List Gem (KLab ALM版) from Sho Hosoda

内容としては、もう2回くらいLTをしている、immutable list gem についての話をしました。

前回からの違いとしては、クイックソートのベンチマーク結果を盛り込んで、実用性をアピールした内容にしました。

Read more


coinsLT #0 で three.js についてのLTをしました。

three.js の紹介 from Sho Hosoda

Read more


はじめに

卒研で three.js という3DCGのライブラリを使って何か開発することしたので、JavaScript について勉強しました。

また、CoffeeScript という、コンパイルするとJavaScriptのコードに変換される言語についても使ってみることにしたので、 これについても勉強しました。

忘れてしまうと勿体無く思うので、備忘録です。

この記事では、

  1. JavaScriptを勉強する上で重要だと思われる概念
  2. CoffeScript の学び方
  3. Rails で CoffeeScript を使う時のメモ

を紹介します。

Read more


はじめに Ruby 2.0では、Enumerable#lazy というメソッドと、その返り値である Enumerator::Lazy が導入されました。 この記事では、Enumerable#lazy と Enumerator::Lazy によって無限リストをmapできることを紹介します。 また、Enumerator と Enumerator::Lazy の本質的な違いを説明します。 遅延リストとは 遅延リストですが、Haskell などの一部の関数型言語では一般的に使われているもので、 遅延評価といって、値が必要になるまで計算しないことによって、無限に続くリストも扱うことができるというものです。 無限リストをmapする 普通にやってみるとダメ 次のような無限リスト(無限の長さを持つ Range オブジェクト )を map する式[1]を考えてみます。 この式は実行が終わりません。 [1] pry(main)> (1..Float::INFINITY).map{|n| n*2}.first(5) # => (実行が終わらない…) [1]の式のmap では、Enumerable#map が呼ばれます。 Enumerable#map は配列Arrayを返り値とするメソッドなので、無限の長さの配列を作ろうとして、処理が終わらなくなります。 lazy を付けてみると動く Enumerable#lazy を使って、次の式[2]ように無限リストを map によって処理することができます。 [2] pry(main)> (1..Float::INFINITY).lazy.map{|n| n*2}.first(5) # => [2, 4, 6, 8, 10] [2]の式のmap では、Enumerator::Lazy#map が呼ばれます。 Enumerable#lazy は リスト(Array,Rangeなど)を 遅延リスト Enumerator::Lazy に変換するメソッドです。 Enumerator::Lazy#map も Enumerator::Lazy を返すメソッドです。

Read more


研究室が始まって、輪講用のスライドをヒイヒイ言いながら作っていた時のことです。

Keynote には、PowerPointの数式エディタ的な機能が無いらしいのです。

どうにかして数式を埋め込みたかったので、方法を調べました。

600 keynoteに数式

Read more


COJTとは

1/31に、筑波大学キャンパスOJT(以下COJT)という大学の産学連携の授業の成果発表をしてきました。

COJTには、ソフトウェアコースとハードウェアコースがあり、私はソフトウェアコースの方を受講しました。

ソフトウェアコースでは、アクセル社のAG4というグラッフィクスLSIで動作するゲームの開発と発表を行いました。

ハードウェアコースは、FPGAを使って各自好きな回路を作成したようです。

Read more


近状報告

早いもので大学3年の授業が終わってCOJTを残すのみとなってしまいました。

一昨日成績開示があったのですが、卒業に必要な単位のうち取り切っていないのは、 卒業研究と技術英語と体育だけなので、実質的に大学の授業は取り終わったに等しいです。

3年の秋学期のABモジュールに開講された、インタラクティブCGという授業を履修したのですが、 今学期で一番楽しい授業だったと思うので、振り返ってみます。

ちなみに、去年にも似たような記事を書いていました。

Read more


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