id:stanaka / @stanakaです。Mackerelをいつもご利用いただきありがとうございます。 ベータユーザーの皆さまへの感謝を込めて、Mackerel初となるMeetupを開催します。場所ははてな東京オフィス(表参道)です。ピザとビール、そして検討中ですが、サバ料理やおみやげなども用意して皆さまをお待ちする予定です。 会場の都合上、小規模での開催となりますが、開発状況やMackerelの今後に興味をお持ちの方はぜひご参加ください。 (なお、より大規模のイベントも7月に実施できるよう企画中です。東京以外での開催も検討しています。楽しみにお待ちください!) 開催概要 開催日:2014年6月19日(木) 19:00受付開始、19:30スタート 場所:株式会社はてな 東京オフィス(東京メトロ表参道駅より徒歩6分) http://hatenacorp.jp/information/o
Socket.IO 1.0がリリースアウトされました。Socket.IO v1.0が出るといわれてから一年半以上経過しましたが、やっと出ました。Node.jsに関わる方であれば一度はお世話になっていると思います。今回はSocket.IO 1.0の紹介を作者であるGuillermo Rauchがしているので、それを日本語で翻訳して紹介します。 TL;DR 翻訳していたらすごく面白かったのですが、文字だらけですごく長くなってしまったので、最初と最後にまとめを載せました。興味があれば全部目を通してみてください。 モジュール分割が進み、新しくEngine.IOが作られています。これはSocket.IOのトランスポート層のプロトコルを調律する役割を担っているライブラリです。 Engine.IOが行っている処理の一つで、最初に接続できる可能性が高いXHRやJSONPで確立し、websocketにupg
のら犬1号:PVはすごくいい……。 PV観た上で1話を観ると、作品世界観の奥行きと繋がりがすごく感じられてイイですよね! のら犬2号:あのPVのおかげで海外が売れましたから。 佐藤卓哉監督(以下:佐藤):へえー、海外で。 のら犬2号:海外の反応が、すごく良かったんです。 佐藤:反応がいいと聞くと素直に嬉しいです。 のら犬2号:あの1本のPVで! のら犬1号:素直に観ると、すごく伝わるものがあると思うんですよね。で、1話を観て、もう一回PVに立ち返ってくると、またそれはそれで新たな発見があるわけですよ。当然だけど、ちゃんとそこは繋がって作ってるじゃん、みたいな。 佐藤:PVと言えば、製作発表会の時、壇上に上がってPVの感想を訊かれたキャスト陣が、みんな「怖い、怖い」言うんで、「そこまで怖くないんじゃないの?」って思ったんだけど、まあ初見で感想を訊かれれば「怖い」としか言えないか。 のら犬1号
GyazoGIFがnotaに譲渡される前のGifzoWinからあった隠しスイッチがあるんです。これをオンにすると隠しメニューが出るんですね。 GyazoGIFの設定ファイル 「%USERPROFILE%\AppData\Roaming\Gyazo」にGyazoGIFの設定ファイルがあります。 [Windowsキー] + [R]でファイル名を指定して実行を呼び出して、「%USERPROFILE%\AppData\Roaming\Gyazo」をペースト。 [OK]で以下のディレクトリへ。 GyazoGIF.exe.xml。これです。 DoShowExternalMenuをtrueに GyazoGIF.exe.xmlをメモ帳などのテキストエディタで開いて、DoShowExternalMenuアイテムを「false」から「true」に書き換えます。 GyazoGIFを起動後、全画面灰色の時に右クリ
本日、Mackerel のアップデートを行い、ユーザ定義メトリックのグラフのカスタマイズ機能を追加しました。また、グラフの表示期間変更を簡単にできるようにしました。その他、いくつかの不具合を修正しています。フィードバックを下さったみなさま、ありがとうございました。 feature より簡単なグラフの表示期間変更 サービス画面やホスト画面でグラフの表示期間変更が簡単にできるようになりました。サービス画面、ホスト画面のそれぞれ上部に以下のようなボタンが表示されます。 表示期間の書かれたボタンを押すことで、画面内のグラフを一度に拡大したり縮小したりすることができます。 feature ユーザ定義メトリックグラフのカスタマイズ機能 ユーザ定義メトリックグラフをカスタマイズできる機能を追加しました。グラフ定義画面から設定していただけます。(ユーザ定義メトリックについて) 名前でまとめられたグラフごと
概要 かつてはfor文初期化句で宣言された変数は、for文の直前で宣言されたように振舞っていたが、各ループでスコープを引きづらないように仕様が変更され、V8も追従した。 例 for (let i = 0; i < 5; i++) { ~~~ } これは今までは次のコードと等価だった。 { let i = 0 for (; i < 5; i++) { ~~~ } } つまりfor文中で関数を定義するとこうなっていた。 let funs = [] for (let i = 0; i < 5; i++) { funs.push(function () { return i }) } funs.map(function (fun) { return fun() }) // [5,5,5,5,5] この結果が[0,1,2,3,4]になるのが今回の変更である。 つまり一番最初のコードはこれと等価になる
Parsec の勉強もやっと式のパースを行えるところまでやってきた。Parsec で式を定義するのには便利な関数 buildExpressionParser がある。この関数は、Text.ParserCombinators.Parsec.Expr モジュールに定義されている。式の定義を考える前に、まず一般的な EBNF 記法による式の文法の定義を見てみよう。 expr ::= expr '+' term | term term ::= term '*' factor | factor factor ::= '(' expre ') | digit+ digit ::= '0' | '1' | ... | '9' これを見ると、*の演算は+の演算より優先度が高く、またこの演算が左結合型であることを左再帰で表している。この EBNF 記法をそのまま Parsec のコンビネータで表現するのは面
This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. The book is intended to be a source of practical labwork material, to help make functional-language implementations `come alive’, by helping the reader to develop, modify and experiment with some non-trivial compilers. The unusual aspect of the book is that it is mea
The document describes how to build a parser for Backus-Naur Form (BNF) grammars in Haskell using the attoparsec parsing library. It defines types and parsers to represent BNF syntax, rules, expressions, lists and terms. The parsers use functions like spaces, string, text from attoparsec to parse individual components and combine them using operators like <*>, <|> to build up the full BNF grammar
Haskell で parser を書くには (初心者編) 勝手に Haskell Advent Calendar 2011 Haskell Advent Calendar 2011 にはエントリーできませんでしたけど、一人寂しく「勝手に Haskell Advent Calendar 2011」を開催して、わくわくクリスマスを待ちたいと思います。 目的: Parsec3 と attoparsec の基本的使用法, Applicative スタイルを習得する 前置き: Haskell で parser を書くにはどうすればいいのでしょうか? 私は、これを勉強すべく情報源を探しましたが、一体どこからどう始めればいいのか分からず、非常に混乱しました。「この記事を読めば大体概要が全部分かる」という情報源が日本語でも英語でも見つけられなかったからです。なので自分でまとめてみることにしました。 (私
Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch
この記事の目的は、Applicative 信者による Applicative スタイルの布教です。 簡潔に結論を述べると、 foo = do a <- m1 b <- m2 return (f a b) のようなコードを書きたくなったら foo = f <$> m1 <*> m2 と書きましょうということ。 合い言葉は、「do と return をなくせ!」です。 FunctorとMonadの間 Functor を特殊化した型クラスがMonadで、Monadの方が強力です。なぜなら、メソッドが増えるからです。 Functorのメソッドはfmapです。fmapの別名を (<$>) といいます。(この記事では、(<$>) と liftM を同一視します。) そして、Monadのメソッドは、ご存知の通り (>>=) と return です。 FunctorとMonadの間にApplicative
Welcome, recruit! Cross-site scripting (XSS) bugs are one of the most common and dangerous types of vulnerabilities in Web applications. These nasty buggers can allow your enemies to steal or modify user data in your apps and you must learn to dispatch them, pronto! At Google, we know very well how important these bugs are. In fact, Google is so serious about finding and fixing XSS issues that we
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く