タグ

ブックマーク / mzp.hatenadiary.org (21)

  • JSXよりHaxeがイケてる3つの理由 - みずぴー日記

    Javascriptを生成できる言語『JSX』がリリースされました。めでたいですねー。 ただ同じくJavascriptを生成きるHaXeのことが忘れられている気がするので、宣伝します。 ステマじゃないよ! 型推論がイケてる 現時点でJSXには型推論が実装されてないので、関数を定義するには全ての型を書く必要があります。 // JSXだよ! function add(x : number, y : number) : number { return x + y; } これだけなら特に問題ないように見えますが、これが高階関数を定義しようとするとどんどん複雑になっていきます。 // JSXだよ! function f(g: function(:number):number): function(:number):number { return function(x: number): number

    JSXよりHaxeがイケてる3つの理由 - みずぴー日記
    yuiseki
    yuiseki 2012/06/05
  • 開発者向けリアルタイムチャットアプリケーション『AsakusaSatellite』 0.7をリリースしました - みずぴー日記

    前回のバージョンアップからだいぶ時間が空いてしまいましたが、AsakusaSatelliteの新バージョンのリリースを行ないました。 前回まではSkypeで相談しながら開発するというスタイルでした。しかし、今回のバージョンアップで機能が多数追加されたことによりAsakusaSatelliteで相談しながらAsakusaSatelliteを開発するというドッグフードスタイルによる開発が可能となりました。 AsakusaSatelliteの特徴 AsakusaSatelliteは以下のような機能をもった開発者向けチャットアプリケーションです。 WebSocketを用いたリアルタイムチャット シンタックスハイライト・Redmineチケットリンクなど開発者に特化した機能 全文検索 プラグインによる自由な拡張 今回のバージョンアップにより追加された機能 v0.7 のバージョンアップのキーワードは「A

    開発者向けリアルタイムチャットアプリケーション『AsakusaSatellite』 0.7をリリースしました - みずぴー日記
    yuiseki
    yuiseki 2012/01/04
  • Webサービスの埋め込み用HTMLを手軽に取得するためのWebAPI『QuoteIt』を作りました - みずぴー日記

    # この記事は名古屋クリスマスハッカソン2011で書いてます。メリークリスマス! GistとかTwitterとかの最近のWebサービスは他のページに埋め込めるようになっていますね。ただ、サービスごとに埋め込むためのHTMLコードが違うので、いちいち調べるのが面倒ですよね。 そこで各種Webサービスの埋め込み用HTMLを統一的に取得できるWebAPI『QuoteIt』を作りました。しかも、誰でも引用元を簡単に追加することができます。 http://quoteit.heroku.com/ 使い方 URLを指定すると、埋め込み用のHTMLを取得できます。 例えば、 http://twitpic.com/73wiodを埋め込みたい場合は、 http://quoteit.heroku.com/clip.html?u=http%3A%2F%2Ftwitpic.com%2F73wiod にアクセスするこ

    Webサービスの埋め込み用HTMLを手軽に取得するためのWebAPI『QuoteIt』を作りました - みずぴー日記
    yuiseki
    yuiseki 2011/12/24
  • addEventListener('load') - みずぴー日記

    JavaScriptでロードが終了したときのイベントハンドラを書きたいとする。 document.addEventListener('load',function()alert('hoge'):,false);これだと、SafariとOperaではうごくけど、Firefoxでは動かない。(IEは知んない。) これを解決するにはdocumentのかわりにwindowを使えばいい。 window.addEventListener('load',function()alert('hoge'):,false);

    addEventListener('load') - みずぴー日記
    yuiseki
    yuiseki 2011/11/21
  • ProofSummit 2011 で『CoqによるMsgPackシリアライザの証明と実装』という話をしました。 - みずぴー日記

    ProofSummit2011でMsgPackを証明したときの話をしてきました。内容は名古屋Reject会議で話したことを膨らませた感じになっています。 話の趣旨としては「バグって怖いじゃん → じゃあ証明しようぜ → やってみた」みたいな感じです。 スライド CoqによるMsgPackの証明 View more presentations from Hiroki Mizuno ustream http://www.ustream.tv/recorded/17493318 感想 新宿ダンジョンこわい [twitter:@ikegami__]さんと[twitter:@masahiro_sakai]さんにAgdaを教えてもらえたので、とてもよかった Software Foundationsの和訳プロジェクト、気になります

    ProofSummit 2011 で『CoqによるMsgPackシリアライザの証明と実装』という話をしました。 - みずぴー日記
    yuiseki
    yuiseki 2011/09/28
  • Jenkinsのビルド結果をリアルタイム通知するプラグイン『Jenkins Websocket Notifier』を作りました - みずぴー日記

    追記: 公式プラグインになりました。Websocket Plugin - Jenkins - Jenkins Wiki 「pollingが許されるのは小学生までだよねー キモーイ キャハハハハハハ」というわけでビルド結果をpush通知するJenkinsプラグインを書きました。 特徴 Jenkinsのビルド結果をWebsocketを使って通知します。 モダンなブラウザはWebsocketに対応しているので、Javascriptで簡単に通知を受け取れます。 Websocketはプラットフォームに依存しないプロトコルなので、Javascript以外でも通知を受け取れます。 インストール方法 https://github.com/mzp/unageel/archives/master からwsnotifier.hpiをダウンロードする。 wsnotifier.hpiをJenkins の管理 > プ

    Jenkinsのビルド結果をリアルタイム通知するプラグイン『Jenkins Websocket Notifier』を作りました - みずぴー日記
  • 名古屋Ruby会議で「Coq to Rubyで初める証明駆動開発」というタイトルで発表してきました - みずぴー日記

    Coq to Rubyによる証明駆動開発@名古屋ruby会議02 View more presentations from Hiroki Mizuno

    名古屋Ruby会議で「Coq to Rubyで初める証明駆動開発」というタイトルで発表してきました - みずぴー日記
    yuiseki
    yuiseki 2011/03/09
  • 開発者用Webチャットシステム『AsakusaSatellite』をリリースしました - みずぴー日記

    最近、[twitter:@suer]、[twitter:@mallowlabs]、[twitter:@shimomura1004]と夜な夜なSkypeでチャットしながらソフトウェア開発をしてるんですが、だんだんとSkypeチャットの機能に対する不満が溜ってきました。 というわけで、SkypeチャットをリプレースすべくWebチャットシステムを作ってみました。 開発者にとってハッピーな機能満載なので、是非使ってみてください。 →公開サイト Skypeの不満点 全文検索ができないので、過去の発言を探すのが面倒 コードがハイライトされない #42と書いてもRedmineのチケットにリンクしてくれない← AsakusaSatelliteの特徴1: 普通につかえる 最近のChromeはけっこう凄くて リアルタイムな発言更新 デスクトップ通知 D&Dによるファイルアップロード が平気でできてしまいます。

    開発者用Webチャットシステム『AsakusaSatellite』をリリースしました - みずぴー日記
    yuiseki
    yuiseki 2011/02/28
  • サーバを作りながら学ぶWebSocketプロトコル - みずぴー日記

    WebSocketって何? WebSocketは、Javascriptでサーバとリアルタイム双方向通信をする仕組みです。概要は第1回 WebSocket登場までの歴史:Jettyで始めるWebSocket超入門|gihyo.jp … 技術評論社によくまとまっています。 この記事ではWebSocketサーバを実装しながら、どういうプロトコルかを解説します。サンプルコードはWebSocket Draft 76でechoサーバーを作ってみた - いろいろな何かのものを参考にさせていただいています。ありがとうございます。 ※WebSocketプロトコルは現在ドラフトの段階なので、そのうち仕様が変わる可能性があります。この記事は20111/23時点の情報です。 プロトコル概要 WebSocketで通信を行なうおおまかな流れは次のようになります。 クライアントとサーバの間でハンドシェイクを行ない、接続

    サーバを作りながら学ぶWebSocketプロトコル - みずぴー日記
    yuiseki
    yuiseki 2011/01/24
  • RubyのMochaはメタボ気味だった件について - みずぴー日記

    id:suerさんとRubyのスタブ/モックフレームワークのMochaを追いかけてみたら、わりとメタボ(メタプログラミング)気味だった件について。 まとめ Mochaはテストフレームワークのメソッドを書き換えて、魔術的なことを実現してるよ! 挙動 Mochaを使うとこんなことができるよ! def test_f o = SomeClass.new # bar(4)が呼ばれることを期待するモック o.expects(:bar).with(4) o.foo(2) # o#bar(4)が呼ばれてないと、ここでエラーが発生する(!) end なんだかメタボっぽいので、おっかけてみました。 expectsの登録 expectsが呼ばれると、その情報がexpectationsに登録されます。 # lib/mocha/mock.rb def expects(method_name_or_hash, bac

    RubyのMochaはメタボ気味だった件について - みずぴー日記
    yuiseki
    yuiseki 2010/10/06
  • 30分プログラムリスト - みずぴー日記

    Perl 30分プログラムをYAMLに - みずぴー日記 逆ポーランド計算機 - みずぴー日記 fortune - みずぴー日記 lcs.pl - みずぴー日記 CGI.pl - みずぴー日記 oop.pl - みずぴー日記 busybox.pl - みずぴー日記 db.pl - みずぴー日記 xmlrpc.pl - みずぴー日記 kaibun.pl - みずぴー日記 対話式Perl - みずぴー日記 flist.pl - みずぴー日記 foldrとfoldl - みずぴー日記 Perlで継続 - みずぴー日記 3n+1問題 - みずぴー日記 Tie::String - みずぴー日記 はてなユーザ確認スクリプト - みずぴー日記 携帯メッセージ - みずぴー日記 howm-to-はてな - みずぴー日記 30分プログラム日記ジェレネータ - みずぴー日記 howm->はてな(その2)

    30分プログラムリスト - みずぴー日記
    yuiseki
    yuiseki 2010/07/18
  • ID3Tagの文字コード変換 - みずぴー日記

    30分プログラム、その207。iTunesでの文字化けを解消するために、ID3Tagの文字コード変換プログラムを作ってみた。 結局はこれでは解決せずに、http://ipod-life.org/archives/2004/12/itunes_aaaaeaa_1.phpに書いてある方法で解決した。もしかして文字コードが原因じゃないんだろうか? 使い方 $ ./id3tag.rb foo.mp3 bar.mp3 ソースコード #! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- # # id3tag.rb - # # Copyright(C) 2007 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Time

    ID3Tagの文字コード変換 - みずぴー日記
    yuiseki
    yuiseki 2010/07/18
  • atig.rb - Another Twitter Irc Gatewayをつくってみたよ - みずぴー日記

    特徴 TwitterIRCクライアントで見れるようにするGatewayです。 IRCクライアントさえあればいいので、CUIでもGUIでも使えます。 Rubyで書いたので、大抵のOSで動くと思います。 Listごとにチャンネルが分かれます。 OAuth使っています。 API制限が緩和されて、一時間あたり350回のAPIが使えます。 id:cho45さんのGitHub - cho45/net-irc: Ruby IRC library (Client, Server and many IRC gateways to webservice)のコードを流用しています。あざっす。 ただし、各機能をクラス単位で整理しました。一部の機能の無効化が簡単にできます。http://mzp.github.com/atig/config.html 過去の発言をメモリ上でなくSQLiteで保持するようにしました。

    atig.rb - Another Twitter Irc Gatewayをつくってみたよ - みずぴー日記
    yuiseki
    yuiseki 2010/04/09
  • Google API から天気の取得 - みずぴー日記

    30分プログラム、その740。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_263にインスパイアされました。 Pythonなら、Webからの取得もXMLのパースも楽チンです。 使い方 $ python tenki.py Cloudy 5 Humidity: 72% Wind: NW at 10 mph ソースコード #! /usr/bin/python # -*- mode:python; coding:utf-8 -*- from urllib2 import urlopen from xml.dom.minidom import parseString from xml.etree.ElementTree import * io = urlopen("http://www.google.com/ig/api?weather

    Google API から天気の取得 - みずぴー日記
    yuiseki
    yuiseki 2010/03/11
  • 修論のためのLaTeX設定 - みずぴー日記

    そろそろ修論を書こうかと思ったら、いつのまにかLaTeXEmacsの設定をしてました。こういう日もあっていいよね。 要約 hyperrefパッケージを使うと、目次をクリックできるようになるよ colorパッケージを使うと修正点を分かりやすくできるよ anything.el + imenuを使うと、特定の節への移動が楽だよ hyperrefパッケージによるハイパーリンク機能 目次から、その項目まで移動するのが面倒です。 ですので、hyperrefパッケージを使って、目次にハイパーリンクを貼りました。目次をクリックすると、その項目まで移動できます。 % プリアンブルに追加する \usepackage[dvipdfm, colorlinks=false, bookmarks=true, bookmarksnumbered=false, pdfborder={0 0 0}, bookmarkst

    修論のためのLaTeX設定 - みずぴー日記
    yuiseki
    yuiseki 2009/12/09
  • WikiHubがすごい! - みずぴー日記

    すてきなWikiクローンはないものかと探していたら、http://wikihub.org/wiki/wikihub-wikiというのを見つけました。 Gitレポジトリに、テキストファイルをコミットするだけで、Wikiページを作れちゃいます。 素敵なポイント レポジトリにGitHubが使える Gitにテキストをコミットしさえすればいいので、Emacsでページが編集できる バージョン管理されているので、安心感がある オフラインでも編集できる はてな記法が使える デザインが格好いい というわけで ボクもWikiを作ってみました。 http://wikihub.org/wiki/happyabc みんなもマニュアルとかをここに置いたらいいんじゃないかな。

    WikiHubがすごい! - みずぴー日記
    yuiseki
    yuiseki 2009/10/18
  • URLの抽出(ワンライナー) - みずぴー日記

    ファイルからURLというかドメイン名だけを抽出するワンライナー。 ruby -ruri -e 'puts $<.read.scan(URI.regexp("http")).map{|x| x[3]}' $<を使っているので、ファイル名を引数で与えてもいいし、パイプで繋いでもいい。 $ echo 'http://howdyworld.org' | ruby -ruri -e '...' $ ruby -ruri -e '...' index.html

    URLの抽出(ワンライナー) - みずぴー日記
    yuiseki
    yuiseki 2009/01/27
  • URLエスケープ - みずぴー日記

    30分プログラム、その174。URLエスケープをするコマンド。 MacのOperaやSafariでWikipediaなどを見るとURLが「http://ja.wikipedia.org/wiki/素数」のようになる。わかりやすいけれども、日記からリンクを貼るときはURLエスケープする必要がある。 今までは、わざわざFirefoxでページを開いてエスケープされたURLを確認してた。これは面倒なので、コマンドをさくっと書いてみる。 最初、CGI.escapeを使ったら「/」などもエスケープされて困ったけど、URI.escapeを使えば一瞬だった。というわけで実質一行。 当はこういうのグリースモンキーでやるのが格好いいんだろうな。 使い方 $ urlescape 'http://ja.wikipedia.org/wiki/素数' http://ja.wikipedia.org/wiki/%E7

    URLエスケープ - みずぴー日記
    yuiseki
    yuiseki 2008/10/22
  • 『Rubyスクリプティングテクニック』読み終わったよ - みずぴー日記

    Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術 作者: Brian Marick,菅野良二出版社/メーカー: オライリー・ジャパン発売日: 2008/02/23メディア: 単行購入: 9人 クリック: 214回この商品を含むブログ (39件) を見る 最近は、積読の消化をがんばっている。サブタイトル通りの内容。日々の業務をRubyプログラムを書いて楽にしようぜ、テスト駆動で。 テスト駆動で、ってあたりが実にいい。『テスト駆動によって、深い満足感を得ることが出来ます』というのに、すごく同意できる。単体テストが成功したときのあの快感は独特のものがある。 ただ、ときおりよく分からない文がでてくる。前後の文脈ともづれてる気がするし、訳が悪いのかもしれない。 ところで、Pragmatic Bookshelfのがオライリーから出版されるってどういう状況?

    『Rubyスクリプティングテクニック』読み終わったよ - みずぴー日記
    yuiseki
    yuiseki 2008/10/18
  • mixi APIを使う - みずぴー日記

    30分プログラム、その98。mixi APIを使ってみよう。 mixiツールバーが新着日記を表示していたので、パケットキャプチャをしてみた。そしたら、新着日記をAtomAPIっぽいやつで取得していたので、Rubyで取得できるようにしてみた。 使い方 $ ruby mixi.rb ユーザ名 パスワード [メンバーID] # マイミク日記 .... .... # お知らせ 運営者からのお知らせ # あしあと .... # マイミク .... ....メンバーIDは省略できます。その場合、自動で取得されます。 また、短時間にたくさんアクセスすると、しばらくログインできなくなります。(10分程度?) ソースコード mixiツールバーはクッキーで認証していたけれど、WSSEでも認証できる。 #! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8

    mixi APIを使う - みずぴー日記
    yuiseki
    yuiseki 2008/10/15