こんな光景が地球上のどこかに存在しているという事実だけでごはん3杯はいけそうな、瞬きするのも惜しくなるほど美しい、フランスの空模様の早回し映像。静かな湖畔の森の影からというあの歌がなぜか頭を走馬灯。
![【動画】瞬きする間も惜しいこの美しさ、フランスの湖に浮かぶ雲、そして色めく空の光景(高画質) : カラパイア](https://cdn-ak-scissors.b.st-hatena.com/image/square/b40c818c8a3a1de8b069490d2d54040db9fa26ea/height=288;version=1;width=512/https%3A%2F%2Flivedoor.blogimg.jp%2Fkarapaia_zaeega%2Fimgs%2F9%2Fd%2F9df6b4d5.jpg)
» 【ソニーからの挑戦状】この例題をキミは解けるか? 本題を解いた者はいち早くネットに公開せよ! 特集 ソニー(SONY)から私たちインターネットユーザーに、挑戦状が叩きつけられた。その挑戦状の内容とは「この問題を解けますか?」というもの。誰よりも早く問題を解き、そしてネットに公開してほしいという。しかもその問題、かなりの激ムズだ。 ソニーの公式サイトに『GO FOR IT ~コードで世界は変えられる~ ソフトウェアスペシャリスト認定コンテスト』というページが作られている。そこには例題が掲載されている。 そう、2011年12月現時点では例題だけが掲載されており、まだ本番用の問題は掲載されていない。どうやら、本番用の問題は2012年2月6日に公開されるらしい。つまり、「これくらいの問題が解けないなら、本番用の問題も無理ですよ」ということだと思われる。以下は、ソニーからの説明である。 ・ソニー
SI企業のビジネス構造に疑問を抱き、独立した倉貫義人氏。倉貫氏が描くビジネスモデルと、「これから求められる、価値あるプログラマ」とはどんな人材なのか。マイナビエージェントのキャリアコンサルタントとの対談。 2011年にソニックガーデンを立ち上げた倉貫義人さんは、もともとTISで働いていたプログラマである。そんな倉貫さんが独立を考えたきっかけとなった、「SI企業におけるビジネス構造の問題」とは? そして、同氏が考える「一生プログラマとして活躍できる」人に求められるものとは? マイナビグループの人材紹介会社 マイナビエージェントのキャリアコンサルタント 折尾大介さんを交えて、これからのIT業界、そしてエンジニアのキャリアをテーマに語ってもらった。
已通过安全加密检测 如果没有自动跳转,请点击下方按钮前往 欢迎爸爸光临8号购彩360安全卫士提供技术支持 Copyright © 1998 -2020. All Rights Reserved.
Identity, MA, MABで使う型クラスはほとんど書いたので、モナドを書いていこうと思います。 Writer 計算中の値とは別にもう1つログを作ります。 値とログはoverとwrittenで取り出せます。 Writers#writerで直接インスタンスを作ることも出来ます。 WriterT Writerのモナド変換子バージョン。 WriterTに定義してある型クラスのインスタンスは全て[α]WriterT[M, W, α]となっているので、BindやFunctorのインスタンスを利用するには、型の別名が必要みたいです。 put, putWithの他に、liftw, liftwWith, writerTがあります。 Writerは使えそうだけど使い方がわからないモナドの一つでしたが、モナド変換子の使い方もわかったし、これからはロジックの中に組み込んでいけそうです。
とりあえず使い方だけメモ package com.github.cooldaemon.scalaz_test import scalaz._ object TryIteratee { import Scalaz._ import IterV._ def run { implicit val ListEnum = new Enumerator[Seq] { def apply[E, A](e: Seq[E], i: IterV[E, A]): IterV[E, A] = { e match { case Seq() => i case x::xs => i.fold( done = (_, _) => i, cont = k => apply(xs, k(El(x))) ) } } } implicit val StreamEnum = new Enumerator[Stream] { de
Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 一段落ついたらまとめを作ろうと思ってたのですけど、先も長そうなので、ここいらで目次をつくっておきます。 Scalaでパーサーを作る基本 Scalaでパーサーを作ってみる〜1:構文定義 - きしだのはてな Scalaでパーサーを作ってみる〜2:構文木の作成 - きしだのはてな Scalaでパーサーを作ってみる〜3:式の評価 - きしだのはてな 言語要素を組み込んでいく Scalaでパーサーを作ってみる〜4:ブール値とif式 - きしだのはてな Scalaでパーサーを作ってみる〜5:文字列とprintln - きしだのはてな Scalaでパーサーを作ってみる〜6:コードブロック - きしだのはてな プログラム言語に Scalaでパーサーを作ってみる〜7:変数 - きしだのはてな Scalaでパーサーを作ってみる〜8:変
はじめに こんにちは、Python界の情弱です。なんか「WEB屋が知っておくべき」ってエントリが出てたんですが、まあ自分はエンジニアの端くれなのでこのへんは読んでますよ、ってのをメモっておきます。僕は情弱なので、もっと素敵なサイトがあったら教えて下さい。 「英語だから…」なんて拒否っちゃ駄目なWEB屋が知っておくべき厳選ブログ、WEBマガジン色々 | バンクーバーのうぇぶ屋 僕は主にPython系の記事を読んでますが、他のテーマ(言語、OS、仮想化、DBなどなど)はきっと著名な方々がテーマに沿って書いてくれてたりするんじゃなかろうか、と思っています。 こんなのを読んでいる 公式サイト 公式サイト なにはともあれ公式サイトとかを見ておくのはマナー。例としてPythonの公式。更新に関するRSSがあればそれを登録すると便利です。 パッケージ管理レポジトリ 今日日のプログラミング言語だとパッケー
http://d.hatena.ne.jp/h_sakurai/20111221 まず前提として、blogを書いた意図をなんとなく推測して適当に独自に3種類に分類 https://github.com/joshcough/Compilers の例があげられているので、とにかくこのソースコードについての文句(ソースコードの汚さ)を主張したい h_sakuraiさんが一般的にScalaのコードを読む場合に、(そこまでScala自体に詳しくないので) "こういう部分が読みづらく感じた" という主観的な感想(を書いてみたかっただけ) 一般的なScalaのコードを書くべきときの基準として、使うべきでない機能や、やるべきでないパターンを列挙して、(他の人にも)ここに書いたことを実行して欲しいという主張 おそらく2番目の、"読みづらいと感じた"という部分が大きいのだと思います。1番目もあるとは思うし、3
Scala Advent Calendar jp 2011の24日目です。 (@asami224さんの23日目は こちら) Scala Advent Calendar jp 2011 24日目を書きました。 kiyoshih.github.com/ScalaAdventCal… — kiyoshi hosodaさん (@kiyoshih) 12月 24, 2011 Hello World ここでは事前にsbtがインストールされているものとして進めます。 MacOS X 10.7、sbt0.11で実行しています。 JavaFXをインストールします。 インストーラを以下のページよりダウンロードし、インストールします。 JavaFX Downloads プロジェクト用のディレクトリにbin,libディレクトリを作成し、JavaFXのランタイムをコピーします。 $ cd /path/to/proj
ctags を使ってタグファイルを作成すると、 定義<->利用箇所とジャンプできて便利ですよね。 ↓こんなことがやりたい。 これを Scala を Vim で書いている状況でやりたいと思います。 まずは ctags の設定 ctags そのままでは Scala の書き方がわかりませんので、 ~/.ctags に正規表現で Scala の表記パターンを追加します。 もし上記ファイルがない場合はファイルを作成して内容を追加してください。 この方の gist で内容はほぼ OK なはずです。 ctags file ― Gist : https://gist.github.com/1277336 Scala の場合、定義パターンの前に lazy など色々つくので上の gist では用意してありますが 不要なものもありますので気になる方は修正してください。 なお、 ctags は新しいもの(-R の
この記事は、Haskell Advent Calendar 2011 25日目の記事として書かれました。 概要 Haskell、あるいはその他のプログラミング言語では 「部分関数(Partial Function)」 と呼ばれるものが標準ライブラリに存在したり、 定義したりすることができます。 今回はそれらが有害であるという考えと、 代替の紹介をしようと思います。 部分関数とは 部分関数(Partial Function)とは、 集合の言葉で言うと、 定義域(domain)の要素に対して、値域(range)の値が高々1つ対応付けられる ような対応付けのことです。 Haskellでは 「結果の値が引数によっては定義されないことがあり得る」 関数だと言えます。 例えば、整数の割り算を行う関数 div :: (Int, Int) -> Int は、 (1, 0) に対しては定義されません。 Ha
Scala Advent Calendar jp 2011 - PARTAKEの2日目の記事です。 Scala から RDB を使う必要があり、 ScalaQuery をいろいろ調べてみました。 DBオブジェクトの取得 Database.forURL とかを使います。 scala> import org.scalaquery.session.Database import org.scalaquery.session.Database scala> val db = Database.forURL("jdbc:postgresql:scala_query_example", driver="org.postgresql.Driver", user="user", password="password") db: org.scalaquery.session.Database = org.s
Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回は関数が導入されて、とうとう汎用処理がかけるプログラム言語になりました。 http://d.hatena.ne.jp/nowokay/20111114#1321244195 ここで前回の状態で次のようなコードを実行してみます。 val a = 3; def f(x) ={ a * x }; println(f(5)); def g() = { val a = 10; println(f(5)); }; g(); 関数fを5に適用という処理を、関数gの中と外で書いています。 この結果は次のようになります。 15 50 同じ引数での関数呼び出しが別の結果になっています。 関数fでは変数aという外部環境の変数を使ってい
まずは、Audrey さんが言った Haskell の殺し文句を思い出して頂きたい。 正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。 15分というのは誇張が入っていると思うが、正規表現が保守しにくく、Haskell の Parsec は強力で保守し易いのは事実だ。その理由を Perl と Haskell のコードを示しながら説明してみたいと思う。 Perl を愛する方に:この記事は Perl を攻撃するために書いたのではない。Perl を選んだのは、正規表現を広めた言語であり、僕がそれなりに Perl のコードを書けるためである。この記事の目的は、正規表現よりも関数型パーサー(Parsec)の方が優れていると示すことだ。 例題 この記事では例題として、IPv4 アドレスを解析する関数を書く
正規表現を超えるの補足として、CSVファイルを例に挙げて考えてみる。 CSVファイルの定義は、RFC4180にある。 file = record *(CRLF record) [CRLF] record = field *(COMMA field) field = (escaped / non-escaped) escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE non-escaped = *TEXTDATA TEXTDATA = %x20-21 / %x23-2B / %x2D-7E COMMA = %x2C CRLF = CR LF CR = %x0D LF = %x0A DQUOTE = %x22 これを Haskell の Parsec で書くと、ほとんどそのままの形で実装できる。 import Text.
Xcode 4.2 からなのか、Xcode 4 からなのか、Xcode 3のときからなのか、分かりませんが、触ってたら、コンソールに、NSDictionary の内容を確認したいことがあります。 [cc lang=”ObjC”] [dic description]; [/cc] で確認も出来るのですが、実行中に急遽確認したいときは面倒ですよね。 Xcode で、Print Description を出す方法 Dic の変数にマウスをおいていると、?ボタンが出てくるのですが、そこで、黄色の、オブジェクトの説明がでて来た時に、上矢印と下矢印が混ざったボタン を押すと、Descriptionが表示されます。 表示された Description したが通常の Description ちなみに、通常の Description より少し情報が多いです。 もう一つの方法は、デバッグの変数表示のところを右
はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs 本エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日本語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE
iterateeって良く聞くけど何が良いの、と思ってるHaskellユーザのためのメモ。iterateeについては既に日本語の紹介が複数あるが、この記事では実装の詳細に立ち入らず、何が嬉しくてあんな奇妙なインタフェースになっているかについてだけ説明する。具体的なライブラリは使わず、出てくるHaskell風のコードは全て疑似コード。 データ源と処理の分離 iterateeは何をするものかを一言で言うと、データを取得しながら回すループを簡単に書くためのものだ。典型的には、ファイルやソケットからデータを受け取り、それを加工して、画面に出力したり統計を取ったりする。これを素朴に書くと、readやrecvをして、EOFを判定し、加工し、最終的な処理をするまでを一つのループ内で行うことになる。ループが大きくなってくるとこれは嫌なので、ループを分解して、データの取得、加工、最終処理をそれぞれ別々に書いて
Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111101#1320102262 前回は、文字列とprintlnを導入しました。 http://d.hatena.ne.jp/nowokay/20111107#1320637899 そうすると、複数の式を実行したくなります。ということで、コードブロックを導入します。 コードブロックは、「{ 〜 }」の形で複数の式を記述します。式の区切りは「;(セミコロン)」です。 残念ながら、セミコロンは省略できません。残念ながら。 さて、まずブロック内の式をまとめる構文要素のLinesケースクラスを作ります。 case class Lines(exprs:List[AST]) extends AST 構文規則の定義です。セミコロン区切りです。repsepとoptを
2011年11月08日10:22 カテゴリ 自分の周りに居る凄腕プログラマーが実際に読んでいる本 こんにちわ、VOYAGE GROUPでエンジニアをしている伊織といいます。 RubyKaigi2010/2011でスタッフをさせて貰ったりしています。 他にも渋谷rbランチなどに顔を出させて貰っています。 弊社の先輩エンジニアは勿論の事、RubyKaigiのスタッフをやらせてもらったりShibuyarblunchやLispコミュニティでうろちょろしているお陰で僕の周りには凄いプログラマーが沢山います。そこで、周りの凄腕プログラマーが実際に読んで「良かった」と言っていた技術書を幾つか挙げてみたいと思います。自分で手を動かしてやった本は僕の感想も添えます。 計算機プログラムの構造と解釈 クチコミを見る 有名な魔術師本。MITで長年教科書として使われてきた本です。今はPythonなので違う筈。今やっ
昨日、日本ユニシス様にて技術交流会が開催されまして、 そこで講師として発表させて頂きました。 Haskellの話ということで、どういう話にするか悩みましたが、 プログラミングモデルからHaskellの面白さを語るという いつにもなく(あるいはいつもどおりの)無謀な内容になりました。 ぎりぎりまでどう言うシナリオにするか悩んだ末、これまたいつもどおりの 取り留めのない話になってしまいましたが、 面白かったといってくださる方がいてよかったです。 前半は私が最近面白いと思ったHaskellのライブラリ・アプリケーションの話を織りまぜつつ Haskellの魅力を紹介するパートで、 後半は最近の私のモナドに関する持論を展開するという謎パートです。 モナドというのは何者なのか なぜモナドなのか モナドには何が出来るのか なぜHaskellでモナドを扱うのか IOモナドとは何なのか これらを解き明かしつ
最新のplay2.0の状況 今年中のβリリースを目標に開発されているPlay framework 2.0ですが、最近も毎日のように新機能が追加されています。 playのgithub ※1上で更新履歴をみると、どのような機能が追加されているか詳細にわかるので、ぜひ確認してみてください。 先日のコミットではlessとCoffeeScriptが追加されたようです。 less ※2とはCSSを拡張するためのメタ言語です。 lessを使用すると、大規模になってくると複雑になりがちなCSSの構文において、 変数を使ったりネスト構造にできたりと、より簡潔に記述することができるようになります。 CoffeeScript ※3はruby/pythonライクな構文でjavascriptを記述できる中間言語です。 playの場合、Coffeescriptで記述したファイルを配置しておくと自動でjsファイルにコン
Play! Advent Calendar 2011 一日目ということで、軽めの話をします。 おさらい:Play!とは Play!はJavaで軽量に素早く開発できるフレームワークです。 Play!についてよく知らない人が圧倒的多数だと思いますので、ものすごく簡単に説明しますね。 Play!はJavaEEの仕様を捨ててWebとフォーリンラブすることに決めたフレームワークなので、Servlet特有の変なセッション仕様なんてないですし、えっと、セッションレプリケーションってなんですか? ってなノリのフレームワークです。 もちろん、warにパッケージングする必要もないです。 EclipseのECJを使って動的コンパイルを行うことで、ほんとうの意味でのホットデプロイを実現しています。というか、デプロイしないんですけど。。まあ、ほとんどスクリプト言語のようにJavaを使えるわけです。再起動無しで変更が
Some languages, like SML, Haskell, and Scala, have built-in support for pattern matching, which is a generic way of branching based on the structure of data. While not without its drawbacks, pattern matching can help eliminate a lot of boilerplate, and it's often cited as a reason why functional programming languages are so concise. In this talk, John A. De Goes talks about the differences between
この記事はPlay! framework Advent Calendar 2011 jp #play_ja の7日目です。 勢いで参加してみたものの、ネタが見つからず困っていたところ、@mumoshu さんのつぶやきが目にとまりました。 mumoshu この2日間のPlay 2.0は、Scala向けのJSON APIが変更されたり、Actionの合成方法がドキュメントにそった形になった。JSONの方は、使うライブラリがsjsonからJerksonへ変更。Jerksonをベースに、sjsonのようなAPIを実装している。 04 Dec 2011 from Twitter for Mac -- this quote was brought to you by quoteurl Jerksonというライブラリは全く知りませんでした。 調度良いのでこのJerksonについて調べたことを書こうと思い
ぐるーびーたんと本 by id:torazuka はじめに G* Advent Calendar 2011 12/12(12日目)に参戦ということで。 そろそろGroovyについて語っておくベキかなと思ったのであらためて書いてみます。私なりの、Groovyを気に入っている理由を9つほど述べてみたいと思います。この記事を読み終わったころ、皆さんもGroovyの魅力が伝わっていれば幸いです。それではどうぞ。 1.シンプル 非常に短いコードで多くのことを可能に Groovyはその簡潔さ故、非常に短いコードで様々な事が可能である。 たとえば、Groovyなら1行でできる97のことを見ていただければその強力さが伝わるでしょう。これはPerl使いが好むような、ワンライナーをGroovyで簡単に実現できる実例を示しています。 また、プログラミングGROOVY発売記念として行われたghelloなども140
2011年12月5日 at 9:54 午前 2件のコメント 先日、Java Developer Workshop #2 へご参加いただいた皆様、誠にありがとうございました。先日の発表で使用したスライドを公開いたします。下記は、Java SE 8, 9, 10, Java EE 7 に関する今後のロードマップ、新機能などをご紹介していますので是非ご覧ください。 当日発表していただいた方々の全てのスライドはこちら(OTN セミナー・オンデマンド・コンテンツ)から入手することができます。 ※ 櫻庭さんから P16 の説明箇所についてご指摘頂きました。(2011/12/07 追記) > p16の最大スコアの取得はコンカレントではなく、シーケンシャルです。 P16 にコンカレントと記載していますが、シーケンシャル実行の間違いでした。
yuroyoro/scalaz-playground · GitHub タイトルの通りで、このリポジトリをcloneして、"sbt console"と入力汁。 ozaki@mbp-4 $ git clone https://github.com/yuroyoro/scalaz-playground.git [~/sandbox/.../yuroyoro/work] Cloning into 'scalaz-playground'... remote: Counting objects: 7, done. remote: Compressing objects: 100% (6/6), done. remote: Total 7 (delta 0), reused 7 (delta 0) Unpacking objects: 100% (7/7), done. ozaki@mbp-4 $ c
2011-12-17 これは Scala Advent Calendar 2011 の 17日目の記事です。 specs2 の作者であり、@etorreborre としても活発に発言を続けるシドニーの強豪 Eric Torreborre さんが書いた “The Essence of the Iterator Pattern” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2011年6月24日 Eric Torreborre 著 2011年12月17日 e.e d3si9n 訳 去年読んだ論文で一番気に入ったのは “The Essence of the Iterator Pattern”(以下、EIP)だ。これを読んだ後で、今まで何年も使い続けてきたあるものに対する考えがガラリと変わった。それは、for ループだ。 この論文の中からいくつか
朝、親に電車代を交渉し忘れて rpscala にいけないという・・・・・ 今日はMonad。 Monad Monadが何たるかは モナドは象だ を読みましょう!(まるなげ モナドなんて高階関数を持ってて結合可能なコンテナぐらいの認識でいいのです!(ぼうろん ここではScalazでMonadに関連する関数を紹介します。 Monadのインスタンスを直接定義するか、BindとPureのインスタンスが定義されていればimplicit parameterにMonadのインスタンスが供給されます。 getOrElseM 値Mに包まれたOption[A]がSomeの場合、値を返し、Noneの場合呼び出し側を返します。 ifM trueの場合とfalseの場合で値を振り分けます。 replicateM 型パラメータを1つとる型と繰り返す回数を渡し、包まれた値を連結します。 foldLeftM, foldR
Scala Advent Calendar jp 2011の21日目の記事です。 最初に 『Scala実践プログラミング』に記載されていたCakeパターンの解説を読んで自分型の威力を思い知り、自分でも簡単な例で実践してみました。 お題となる分割前のコードはこんな感じ。黒い四角がjkhlキー押下で上下左右に動くだけのswingアプリです。 import scala.swing._ import scala.swing.event.KeyTyped import java.awt.Color object Main extends SimpleSwingApplication{ def top = new MainFrame{ val panel = new Panel() { object Block{ private var (px,py) = (0,0) def x = px def y
今やってる仕事の関係で、形態素解析アルゴリズムについてちょっと調べる必要があったので、ついでにRubyで形態素解析ライブラリを作ってみた。という内容の発表です(のはずだが、Rubyのコードが一文字も書いてないですね……)。 スタート形態素解析 View more presentations from todesking ちょっとプレゼンのクオリティがひどいので、近いうちにブログで補足記事を書こうと思っております。 ソースは https://github.com/todesking/okura にて公開中。 Pure Rubyでgem一発で入るような形態素解析ライブラリがあると、Windowsやherokuなどで形態素解析動かせてけっこうべんりなきがします。 直近(来週くらい)の開発では、 gem化 辞書もgem化 辞書のコンパイル Double Array Trieの採用 未知語処理対応
これはScala Advent Calendar jp 2011の20日目の記事です.今日は12月20日,企画も終盤.ここではScalaと機械学習について書きます.機械学習をあまり知らない人たちのために,そちらの解説も入れておきました. 機械学習について簡単に 詳しい説明は朱鷺の杜に譲るとして,簡単に言うと,私たち人が普通に行なっている「学習」というものを情報屋さん的に扱った学問領域のことです.「情報の中から,有益そうな知識を獲得していく過程」をコンピュータで実現させることを目指してます.実際には,数値・文字・画像・音声などのデータの中から,規則性とか知識とかを発見して役に立てよう〜としています. こういう領域でデータを扱うには,データをベクトルにして行列とか使ってどうたら…ってやるわけです.なぜかというと,数値はもちろん,画像とか音声というのは全部コンピュータの中ではベクトルで書けて
わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……
先日のHaskell忘年会にて、 最近私が作っているPeggyというパーザジェネレータの 紹介をさせて頂きました。 Peggy: 新しい時代のパーザジェネレータ ソースコードやチュートリアルなどの情報は以下から入手可能です。 ホームページ http://tanakh.github.com/Peggy/ http://tanakh.github.com/Peggy/ja/ (日本語) ソースレポジトリ https://github.com/tanakh/peggy Hackage http://hackage.haskell.org/package/peggy Haskell Platformをインストールすれば 次のコマンドで簡単にインストールできるので、 皆さん是非触ってみてください。 $ cabal update $ cabal install peggy 現状はHaskell向けのパ
なんでも食う派のウシガエルならいざしらず、巨大ムカデの対戦相手は緑色のぬめりが可愛いイエアメガエルだったりするのが驚きなのだが、モイエアメガエルの口にはすでに長さが半分以下となったであろう巨大ムカデが存在している。さあここからどのような展開になるのか、ヘビににらまれたカエルのように息を殺して見てみることにしよう。
README がキチッと書かれているプロジェクトって、どんなに小さくても立派に見えますよネ。 GitHub の場合、大抵はマークダウン記法で書かれた README.md とか README.markdown とかいう名前のファイルが、HTML に変換 (マークアップ) されて表示されていることはご存知でしょう。 マークダウン記法自体はとても簡単なのですが、GitHub では GitHub Flavored Markdown (略して GFM) という GitHub 用にアレンジされたマークダウン・エンジンが採用されていて、一般のマークダウン・エディタでチェックしてからコミットしても、意図通りの見た目にならないことが多々あります。私 (もちろん GitHub 初心者です!) の場合、README ファイルだけで10回以上もコミットしてしまいました。「マークアップ (レンダリング) を気にして
ようこそ! 始める sbt 1/14 ページ 次 原文: Getting Started Guide 誤訳の報告をする。 「始める sbt」で君も sbt を始めよう。 sbt は柔軟で強力なビルド定義 (build definition) を作ることができるけど、そこで使われている概念の数は多くはない。 多くはないけども、sbt は他のビルドシステムとは一味ちがうから、ドキュメントを読まなければ、いくつかの細かい点でハマっちゃうと思う。 この「始める sbt」で、ビルド定義 (build definition) の作成とメンテナンスに必要な概念を説明する。 「始める sbt」を読むことを強くお勧めしたい! どうしても忙しいという場合は、最も重要な概念は .sbt ビルド定義、 スコープ、と 他の種類のセッティング に書かれているけど、このガイドの他のページを読み飛ばしても大丈夫かは保障し
Google Developer Day 2011に参加しました。 参加したセッションのメモを書いときます。 (追記 2012/01/14) Googleから動画が公開されました。 http://www.youtube.com/watch?v=MY06xnSZyaw:moive ※このセッションで解説された内容に一部変更点があるとのことなので、こちらも合わせて参照下さい。 (追記ここまで) HTML5 のオフライン機能(Eiji Kitamura) @agektmr 東京 - Google Developer Day 2011 http://www.google.com/intl/ja/events/developerday/2011/tokyo/agenda/session_1001.html スライド 動的なデータの保存 Web Storage (localStorage / sess
sbt は 0.10 系から? build.sbt での設定と Build.scala での設定の両方が使えるようになりました。*1 使い分け方 基本的に build.sbt も Build.scala もできることに変わりはありません。 ただし build.sbt は記述が簡単な一方で制限があります。平たく言うと val や object が書けません。従って複数の箇所でコードを共有したり、ということをしようとすると辛くなります。 一応できるっちゃできますが... https://gist.github.com/1221210 Build.scala ならScala使い放題ですから*2、ちょっと長くなる代わりに見やすくなります。サブプロジェクトがあるなど、少し複雑になったら Build.scala を書くほうが良さそうです。 書いてみた unfiltered のサンプルプロジェクトが g
以前、Scala の Parser を試したんですがハマってしまったので、ハマり記念ということで記事にしておこうと思います。 ちなみに、Scala のパーサコンビネータについて知りたい人は僕のこの記事よりも @kmizu さんのスライドを読んだ方が良いように思います。 ■ Scala のパーサ概要 まず import しておきたいのは scala.util.parsing.combinator.Parsers です。 主な手順は次の通り。 1.Parsers オブジェクトを作る。 2.Parsers.Parser[ Result ] のオブジェクトを作る。ここで Result はパース結果の型。 3.2.で作ったオブジェクトにパース対象のシーケンスオブジェクトを渡す。 4.3.の結果得られるものがパース結果。 ■ 簡単なトコからいきましょ まず Char のシーケンスを読んで MyData
アイスランドの国土の一部は北極圏にかかっており、夏の間は日が長く、夏至の前後は太陽がほとんど沈まない。その為、夏の間は、「真夜中の太陽」が楽しめるという。太陽の昇り方も沈み方も、日本のそれとはかなり違うわけで、素敵にファンタスティック。そんなアイスランドの白夜の世界を撮影した映像がこれ。大画面で見ることをおすすめするよ。
天・空・地。あたりまえのように存在している母なる自然は、今日も我々地球ない生物をやさしく包みこみ、そして戒めてくれる。そんな自然にやさしくタッチされているような気分になれる美しい自然の情景写真が公開されていたので見てみることにしよう。 ソース: Really funny stuff - Amazing Mother Nature (50 pics) ■1. ■2. ■3. ■4. ■5. ■6. ■7. ■8. ■9. ■10. ■11. ■12. ■13. ■14. ■15. ■16. ■17. ■18. ■19. ■20. ■21. ■22. ■23. ■24. ■25. ■26. ■27. ■28. ■29. ■30. ■31. ■32.
この記事では、Facebook のあいさつ(Poke)機能への返信を題材に、沢山たまるとウザい嬉しいあいさつを自動で返すスクリプトを書くことで、Selenium2.x の使い方、特に Ajax アプリをテストする方法について学べるようにする。 Ajax がからんだWebアプリケーションのエンドツーエンドの最近のテスト手法についてのまとめにもなっていると思う。 最初の3節ぐらいは「Seleniumとは〜」とか「テストってのはさー」とかゴタクをごたごた書いているので、Seleniumの実際のコード見た方がはえぇよ。って言う人はコードが出てくるまで記事を飛ばすと良い。 こんな記事を気合入れて書いて公開した当日に…FacebookのUIが変わって…作ってたスクリプト動かなくなってしまった…orz。俺が何かやったり買うと事件が起きるんや・・「なにか買うとその直後に安くなったり、新機種がでたりするとい
アメリカのアマゾンでのお買い物は簡単です! アメリカに住んでいると、これアメリカだとめちゃくちゃ安いのに、日本ではすごく高く売ってる!!! って驚くことがしょっちゅうあります。 例えば、米海軍特殊部隊 SEALs や警察特殊部隊 SWAT などから依頼を受け、特殊時計を開発しているルミノックス(Luminox) の カーボン・シール 3801。 日本のアマゾンとアメリカのアマゾンで値段を比較してみるとこんな感じです。 日本のアマゾン: [ルミノックス]Luminox 腕時計 SEASERIES Luminox CARBON SEAL 3800SERIES 3801 ¥ 89,615 アメリカのアマゾン: Luminox Men's Master Carbon Seal Watch 3801 $ 487.99 価格は変動しますし、セラーによって送付オプションや送料が違いますが、例えば送料等で
日本のソーシャルゲームが儲かっている本当の理由は、納得できる意見でした。これに触発されて、私もかねて感じていたことをまとめてみます。 数年前から、SIer(独立系の受託開発会社および、親会社から独立した情報システム開発を担う子会社を含む)の第一線で活躍されていた技術者が SNS・ゲーム開発系へ移籍する傾向が続いています。今では若手プログラマーは最初から SIer への就職を検討していない人もいます。また IT ベンチャー系も業務アプリケーションではなくSNS・ゲームで名を馳せるのがブームになっています。 この原因について、いろいろ語られています。私が見聞した意見はおおむね次のようなものです。 SIer は古い技術で面白みがない。手続きも面倒。 業務アプリケーションで主流の Java(.NET も?)は、最先端の技術者には敬遠されてしまう。 デスマーチや 3K など、受託開発分野に悪いイメー
このブログ「Publickey」を始めた最大の理由は、ブログという小さなメディアの可能性を広げていくことであり、小さなメディアの運営が職業として成り立つのかどうかを確かめたい、ということにあります。 そうした実験の経過として毎月ページビューの報告をしてきましたが、今月で3回目の期末を迎えたので、そろそろ売り上げについても報告したいと思います。なぜ3回目の期末でようやく報告できるかといえば、1回目の期末はまだ立ち上げたばかりで何もなく、2回目の期末はクライアント数が少なすぎて、売り上げを報告するとクライアントがいくら支払ったのかが丸わかりになってしまう感じになってしまっていたのです。 僕の周りには、いつかブログの収入で食べて行けたらいいなと思っている人がたくさんいますし、僕の知らないところにもたくさんいるはずです。そういった方に、現実はこんな感じ、という一例を参考までに知っていただければと思
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く