There's a whole world of language features that we sometimes miss out on as Rubyists, such as pattern matching, S-expressions, and external domain-specific languages. But the good news is that we can have them, too, as long as we're not afraid to steal a few things first. Theft #1: Pattern Matching Pattern matching is a relatively rare language feature found in Standard ML, OCaml0, Haskell, Common
by Dan Yoder on Jun 16, 2008 I was supposed be to working on our rewrite of the request lambda mapping code in Waves. Somehow instead, I ended up with functor. It actually started because I was thinking it would be cool to have a Resource class with overloaded methods for get, put, et al. I discarded that idea (I think … here we go again), but we also have numerous places where we have overloaded
今後のキャリアを模索中の、すべてのITエンジニアへ。この連載では各回に1人の人物が登場し、これまでのキャリアを積むに当たって心掛けてきた戦略、ターニングポイントになった出来事を語る。 今回ターニングポイントを語ってくれたのは、サイボウズ 開発本部 プロダクト開発グループに所属する、理学博士の丹羽純平氏。丹羽氏のこれまでの最大のターニングポイントは、同じIT分野とはいえ研究者から開発者へキャリアチェンジをしたことでしょう。 学術機関で理論を扱ったり、論文を作成したりする日々から、企業でパッケージ開発をする日々へ。大きく方向を変えた丹羽氏のターニングポイントを見てみましょう。 ■現在はグループウェアの機能を開発する日々 丹羽氏が、現在所属するサイボウズへ入社したのは2006年。研究開発グループに配属され、秋ごろからサイボウズ製品へのリモートアクセスを提供するツール「サイボウズ リモートサービス
Two intensively studied intermediate representations in compiler theory are Static Single Assignment form (SSA) and CPS translations, and Richard Kelsey's 1995 paper, A Correspondence Between Continuation Passing Style and Static Single Assignment Form (.ps.gz) shows a nearly complete, exact equivalence between the two IRs. The correspondence shows how the imperatively expressed SSA can be regarde
Musings on the world of software from the sharp end of the long tail [also read part 2] At JavaOne in May, 2006, Sun Microsystems announced they were going to release Java as free software under the terms of the GPL. The size of the task (6.5 million lines of code) was only eclipsed by the size of the opportunity for Java as a free and open technology. At JavaOne in May 2007, Sun announced that th
これすごいわ。 wildoptions=autoとcomplete=lが凄い件 - Dis Communication - 符号無し vimperator1.2pre 2008-06-19以降で実装されてるwildoptions=autoとcomplete=lがlifechangingだったので紹介しておきますね。 何が凄いって :set complete=l が凄い。「たかがtab押さなくても良くなっただけだよね」と思うでしょうが、使ってみたら無茶苦茶便利。 vimperator使いだと、おそらくURLを開くのに :open http://... とか「<c-l>」してアドレスバーにフォーカス合わしたりしてるかと思いますが、firefox3で登場したアドレスバーの便利機能(おせっかい機能とも言われてるらしい)、「AweSomeBar」 が :open で使えるのです。例えば :open
6/23から現役会社員向けのねんきん特別便が順次発送されるそうです。ブラックな事業者様にお勤めの方々は注意すべき点がいくつかございます。 (1)加入年数に誤りが無いか この確認は基本でございます。ねんきん特別便が届きましたら、この確認を必ず行って下さい。と申しますか、代議士の方々によるブラックな事業者様への格段のご配慮により、ねんきん特別便にはこれしか記されません。安倍前首相は大変良い仕事をなさってからおやめになられたものですね。この確認を行う理由はいくつかございます。 まず本問題の発端となりました「年金記録の統合ミス」がないかの確認でございます。統合ミスがあれば途中が歯抜けになっていたり途切れていたりいたします。これは役人の方々の事務的ミスとされておりますが、役人が「そのくらいのミスは誰でもやるだろう」くらいのミスでも問題が発生するような悪意に満ちた素晴らしい制度とシステムでございますの
http://home.swipnet.se/redz/roman/papers/FI2008.pdf To appear in Fundamenta Informaticae. Preliminary version appeared in Proceedings of the CS&P'2007 Workshop, 594-605. らしい。著者の名前に見覚えがあるなと思ったら、以前読んだ、 Parsing Expression Grammar as a primitive recursive-descent parser with backtracking, Roman Redziejowski, Fundamenta Informaticae 79, 3-4 (2007) 513-524. http://home.swipnet.se/redz/roman/papers/Parsi
MailBoxは、複数スレッド間での同期制御とメッセージの送受信をさくっとできるようにするユーティリティクラスです。 要は、Javaにおけるjava.util.concurrent.BlockingQueueです。メッセージ送付側はブロックしないようなので、容量制限のないjava.util.concurrent.LinkedBlockingQueueがたぶん近い。 RubyだとQueueですな。 使い方は次のような感じ。 import scala.concurrent._ import scala.concurrent.ops._ object MailBoxSample { // メッセージとしてやりとりするクラス private case class Value(i:Int) private case class End def main(args: Array[String]) {
vim, 特にvim7のundoに関して復習したのでメモ。undo/redo で安心快適 happy viming. undo の基礎 vimではデフォルで無限undoが使えます。何も考えなくても以下のコマンドで自由自在に編集履歴を行き来することができます。 u アンドゥ(undo) Ctrl+r リドゥ(redao) 挿入モードに入ってから抜けるまでが一つの更新と見なされるため、長い文章を打ったりする場合にはきりのいいところで一旦編集モード(ノーマルモード)に抜けおくと履歴が管理しやすいかもしれません。 undo branch 通常の無限undoだけで問題ないようにも思いますが、たまに困ることもあります。例えば、ある文章やコードを書いていて途中undoでいくつか履歴を戻り修正していたものの、よく考えるとさっきまで書いていたもののほうが良かったのでそっちに戻りたい、みたいな場合です。 vi
CodeZineさんで記事を書きました。自分のプログラムからコーデック使って動画読み書きしてみたい方はご覧下さい。 オープンソースの動画録画・変換・配信ソフトウェアとしてFFmpegが有名となりつつありますが、そのAPIに関してはあまり解説されていません。本稿ではFFmpeg APIについて説明し、自分のプログラムから様々なコーデックを使って動画を扱う方法を説明します。 FFmpeg APIで、さまざまな動画を操る - 前編 サンプルのソースコードはこちら*1。 これとOpenCVを組み合わせると、動画のビジョン処理ができて楽しいのかなーと思いつつ、まだそっちは試してません。 *1:CodeRepos++
2008年06月19日21:45 カテゴリLightweight Languages perl - use warnings; # -w でなくて 最近は、さすがにuse strict;されていない実践コードを目にすることもほとんどなくなってきたのだけど、まだ残っているのがuse warnings;利用。以下と併せて読んでいただけると幸いだ。 404 Blog Not Found:perl - use strict; # and be happy -w って何? warnings って何? まず、以下のプログラムを見てみよう。 #!/usr/local/bin/perl use strict; sub distance { my ( $a, $b ) = @_; return sqrt( $a**2 + $b**2 ); } print distance(@ARGV), "\n"; % p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く