タグ

ブックマーク / hakobe932.hatenablog.com (15)

  • プログラミング言語の基礎概念を学んでる - はこべにっき ♨

    プログラミング言語の基礎概念 (ライブラリ情報学コア・テキスト) 作者: 五十嵐淳出版社/メーカー: サイエンス社発売日: 2011/07メディア: 単行購入: 6人 クリック: 60回この商品を含むブログ (12件) を見る このを読んで学んでる。まだ半分くらいで関数の定義とかについて勉強してる。 プログラミング言語の動作を数学的に厳密に記述する方法を順番に教えてくれるという内容で、記述には導出システムが用いられてる。基的な算術式からはじまって、変数の定義や関数の定義、パターンマッチや型システムなど、様々な言語の機能を推論規則によって定義する方法を教えてくれる。与えられた規則が意味的に意図したものを表しているかの証明だけでなく、証明のやり方もくわしく説明されていて丁寧でたすかる。 おもしろいのはこののためのオンラインの演習システムというのがあって、の中で与えられた導出システムに

    プログラミング言語の基礎概念を学んでる - はこべにっき ♨
    joan9
    joan9 2015/06/09
  • リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨

    古き良きインターネットアプリケーションであるマウスストーカー*1をリアクティブプログラミングの技術を活用して実装してみるという取り組みをしましたのでご紹介します。リアクティブプログラミングというと主語が大きめですが、ここではbacon.jsを使ってるくらいの意味です。 できたもの まずは完成したマウスストーカーを紹介します。チェーンのように連なった星がマウスカーソルの軌跡を辿ってついてきます。工夫してうごかすとなかなか綺麗です。下のボタンを押すと実際にこの画面でマウスストーカーを有効にすることができます(requestAnimationFrameに対応したPCブラウザのみ)。いろいろ動かして遊んでみてください。 このページでマウスストーカーを有効にする 実装 このマウスストーカーがどのように実装されているか紹介します。ソースコードはGitHubに公開していますので、適宜ご参照ください。手元

    リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨
  • ドメイン駆動設計読んだ - はこべにっき ♨

    エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型購入: 19人 クリック: 1,360回この商品を含むブログ (130件) を見る ドメイン駆動設計読み終った。ドメインを中心に据えてソフトウェアを設計するための方法を教えてくれるだった。設計の話なので、抽象度が高く、なかなか読み辛いけど、良い話がたくさんでてくる。こので例にでてくるソフトウェアが経理システムだとか貨物の配送システムなどのエンタープライズよりだったので、はじめは自分のようなWebエンジニアとっては参考にしにくいかと思っていたのだけど、まったくそういうことはなく、たいへん参考になった。 ドメイン駆動設計でいうドメインとはソフトウェアが

    ドメイン駆動設計読んだ - はこべにっき ♨
  • ピープルウェアを読んだ - はこべにっき ♨

    この前id:hitode909くんからピープルウェアを貰ったので読んだ。非常に面白くて、興味深い話が多かった。 ピープルウエア 第3版 作者: トム・デマルコ,ティモシー・リスター,松原友夫,山浦恒央出版社/メーカー: 日経BP社発売日: 2013/12/18メディア: 単行(ソフトカバー)この商品を含むブログ (6件) を見る このは、作者のトム・デマルコさんとティモシー・リスターさんが10年に及んだ調査と、自身のソフトウェア開発の経験をもとに、ソフトウェア開発における人に関する問題をたくさんのコラムを通じて教えてくれる。冒頭には以下のようにある。 実際のところ、ソフトウェア開発上の問題の多くは、技術的というより社会学的なものである。 いろんなレイヤにおける人の問題についてそれぞれ章がわかれていて、個人からオフィスやチーム、さらには会社組織のはなしへと続く。結構マネージャー視点ぽいコ

    ピープルウェアを読んだ - はこべにっき ♨
    joan9
    joan9 2014/05/13
  • unite.vim の source をお好きなスクリプト言語で書ける unite-script - はこべにっき ♨

    2014/2/20 追記 unite-scriptがUnite.vim体に取り込まれました - はこべブログ ♨ にあるようにUnite.vimに取り込まれました。 紹介 11月20日に開催されたKansai.pmのLTでunite-scriptについて発表しました。 unite-scriptはunite.vim の sourceをお好きなスクリプト言語で書くためのsourceです。リポジトリはこちら。 https://github.com/hakobe/unite-script Kansai.pmのLTで発表した資料も公開しておきます。 Unite with scriptView more presentations from hakobe. 以下ちょっとくわしく。 unite.vim unite.vim は最近もりあがりを見せてきた vim のプラグインです。候補の一覧からアイテムを

    unite.vim の source をお好きなスクリプト言語で書ける unite-script - はこべにっき ♨
  • Android上でScalaうごいたよメモ - はこべにっき ♨

    Eclipseをつかって,Scalaで書いたプログラムをAndroid上で動作させたよ,メモ.というか,以下のポイントに気をつけておけばOKそうです. ポイント EclipseのScalaプラグインのバージョンに合ったandroid用のscalaライブラリを使う EclipseのBuilderの順番を適切に設定する Eclipseのライブラリの読み込み優先度を適切に設定する Developing for Android | Scala IDE for Eclipse Project | Assembla をだいぶ参考にしました. とりあえずやってみよー 0. Eclipseをインストールする 省略.普通にいれる 1. Android開発環境をととのえる Android SDKとEclipse用のAndroid開発プラグイン(ADT)をインストール. SDK http://developer

    Android上でScalaうごいたよメモ - はこべにっき ♨
  • MacPortsでステキなUNIXツールをインストール - はこべにっき#

    2011/5/22追記: 最近のオススメは、homebrewです。ぼくもいまはhomebrew使ってます。 先日、研究室にあたらしいMac Book Pro 17"が届いた。各種操作がいちいちキビキビ動いて快適すぎる。 このMacにも、うち的最重要MacアプリケーションのひとつであるMacPortsをインストールした。 MacPortsはFreeBSDのportsというパッケージ管理システムと似たようなことを、Mac OS Xでも行うためのソフトウェアだ。有名なコマンドラインツールはほとんどこれを使えば揃えることができる*1。うちが普段使っている、perlvimもzshもscreenも全部MacPortsでインストールしたもの。 Macでライブラリやツールがなくて困ったときはとりあえず、MacPortsに聞いておけばなんとかなることも多い(例: pygameってMac OS Xで動くんだ

    MacPortsでステキなUNIXツールをインストール - はこべにっき#
    joan9
    joan9 2009/10/11
  • Kansai.pmでコルーチンについて発表してきた - はこべにっき ♨

    Kansai.pm#11にて「Perlで学ぶコルーチン」という発表をしてきました. だいぶ前のRuby勉強会でRuby 1.9のFiberをみてPerlでもいろいろやってみていたので,その時しらべたことを中心にぐだぐだとしゃべりました. Perlで学ぶコルーチンView more presentations from hakobe. コルーンは継続や並行処理などいろいろな概念がからんでいて調査がたいへんでした.PerlでのCoroの実装がどうなっているのかもう少し詳細に調査/発表できたらよかったです. スライドにも書いてますが,Ruby 1.9のFiberとまったく同じインターフェースをもったFiber.pmをつくってみました.githubで 公開しています. http://github.com/hakobe/perl-fiber/tree 以下のように簡単にFiber(=コルーチン)をつ

    Kansai.pmでコルーチンについて発表してきた - はこべにっき ♨
  • autoboxがかっこいい件 - はこべにっき ♨

    ActiveSupport equivalent to Perlで知ったautoboxがかっこいい。上のmiyagawaさんのコードを引用させてもらうと、DateTimeオブジェクトの生成が use autobox; use autobox::DateTime::Duration; print 1->day->ago, "\n"; # 2008-01-14T23:25:53 print 2->minutes->from_now, "\n"; # 2008-01-15T23:28:20 というようにActiveSupportっぽく書けたりする。autoboxを使ったモジュールは結構簡単にかけるので、以下のように使える、autobox::URI::Fetchを書いてみた。 my $res = 'http://d.hatena.ne.jp'->fetch; # URI::Fetch::Respo

    autoboxがかっこいい件 - はこべにっき ♨
  • より自然にRubyっぽくリストを書けるモジュールを書いた - はこべにっき ♨

    PerlのARRAYをRubyのArrayっぽく扱うためのモジュールがすでに三個くらいあって大人気ですね. List::RubyLike List::Rubyish List::Enumerator こういったモジュールを使うと, my @elems = map { $_ ** 2 } grep { $_ % 2 == 0 } (0..100); my $sum = 0; for my $n (@elems) { $sum += $n; } とか書いていたコードが, # List::Rubyishの場合 my $sum = List::Rubyish->new([0..100]) ->grep(sub{ $_ % 2 == 0}) ->map (sub{ $_ ** 2 }) ->reduce(sub { $_[0] + $_[1] }); みたいな感じのメソッドチェーンで書けるようになっ

    より自然にRubyっぽくリストを書けるモジュールを書いた - はこべにっき ♨
  • はてなインターンおわりー - はこべにっき ♨

    ついぞ,先週末にはてなインターンの期間を終了しました.ほんとに充実した一月でした.一緒に参加したインターンのみんな,ちょーいろいろとお世話していただいた社員のみなさん,ほんとうにありがとうございました. インターン中,しきりに研究がどうとか泣き叫んでいたんですが,日一応のりこえ,ちょっと落ち着ました.なんで,今,忘れないうちに,インターンの感想などなどをつらつら書くことにしますよ. *以下発散気味注意>< インターン前半 インターン前半は社員の方が講師の授業を受け,それに関する課題をこなすのが,主な内容でした.実は,少しは聞いたことがあるような内容が多かったので,まぁ,そんなに苦労せずにこなせるんじゃないかなーと思ってたのですが,そんなことはまったくなくて,かなりたいへんでしたよ. ひとつひとつのトピックはそれほど難しくはないんですが,実際に課題にチャレンジしてみると,思っても見なかった

    はてなインターンおわりー - はこべにっき ♨
    joan9
    joan9 2008/09/03
  • Plaggerをインストールしてみてわかったこと - はこべにっき ♨

    やっとこPlaggerを使えるところまでたどり着けた。livedoor Readerの更新FeedがGmailにどさっと届いたよ。おもしろい。 さて、Plaggerにたどり着くまでには、いくつものモジュールインストールとそのテストの失敗、たくさんの妥協、汗、涙、睡眠不足などの困難が伴ったわけだ*1。そのおかげでCPANやPerlについてわかったことをあげてみることにした。 CPANは便利でおもしろい WWW::YouTubeとかHatena::FormatterとかMac::Glueとか。もっとセンセーショナルなモジュールもたくさんあるよね。CPAN漁ったりPlaggerの依存で入るモジュールを眺めていると、こんなのもモジュール化されてるのか!っておどろくことが多い。もうほんと自分でコード書く必要あるのかというほどの充実ぶり。 CPAN漁りにはモジュールに関するいろんな情報があつまったCP

    Plaggerをインストールしてみてわかったこと - はこべにっき ♨
    joan9
    joan9 2008/02/10
  • LiveCoding #5に行ってきました - はこべにっき ♨

    昨日、大阪で開催されたLiveCoding#5に行ってきました。 まず、ひと大杉ワロタ。50人ほど。こんなマニアックなイベントにこれだけ人が集まるというのはすごい。これもujihisaの求心力のなせる技か。さらに、忘れてはならないのはポイントは小飼弾さんがゲストとして参加していたこと。まじかで感じたの弾節は、壮絶でありました。言語のキワイ話やライフゲームのお話など盛り上がれたりして、楽しかった。ぜひ、またお会いしたいところです。 今回僕は、Coderとしては参加せず、基的に、プロジェクタの横でustream配信のお手伝いをしていました。カメラの性能が悪くてディスプレイがあまり見えなかったのと、マイクの方向がいまいちだったため、伝わりにくかったかもしれません。雰囲気だけでも伝わったかな? 見ていた方で、次回の参考のために指摘があればおねがいします。 このLiveCodingのCoderは5

    LiveCoding #5に行ってきました - はこべにっき ♨
  • 未踏ユースに採択されました - はこべにっき ♨

    おかげさまで、「ブロガーのためのソースコード管理システム」というネタで、2006年度下期未踏ユースに採択していただきました。 ブログにコードを貼付けてもいまいち使い勝手悪いよなー、と普段から気になっていたことを解決するためのシステムを提案してみました。ブログ上*1でソースコードを扱うためのフレームワークというかインフラみたいなものを目指します。というか、実はまだ、自分でもシステムの全体像が掴めていなかったりするので、早く構想を固めないと…。 ここにも、ちょくちょく作業内容を書いていくことになると思います。なまあたたかい目で見守ってやってください。 *1:Wikiとかブログ以外でも使えそうな気もしてきました

    未踏ユースに採択されました - はこべにっき ♨
    joan9
    joan9 2007/02/06
  • はこべにっき# - 自分が使えるサービスを一カ所で管理したい

    最近、いろんなとこのアカウントが増えてきて、自分がいったいどのサービスを使えるのかがわかんなくなってきた。 どうにか、一つのところで管理するとかしないといけないと思ったので、普段使っているサービスのリストをAtomフィードに落としこんでみた。次のような感じのやつ。 <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://purl.org/atom/ns#"> <title xmlns="http://purl.org/atom/ns#">My tools</title> <entry xmlns="http://purl.org/atom/ns#"> <title xmlns="http://purl.org/atom/ns#">Gmail</title> <link xmlns="http://purl.org/atom/ns

    はこべにっき# - 自分が使えるサービスを一カ所で管理したい
    joan9
    joan9 2006/11/27
  • 1