タグ

ブックマーク / hiratara.hatenadiary.jp (12)

  • 今日は「データベースは圏なんだよ!の会」の日です - Pixel Pedals of Tomakomai

    中原市民館に来ております。データベースは圏なんだそうです。SGL読書会の姉妹イベントです。 Databases are categories by Spivakさん / @bonotakeさん Spivakさんのスライドの解説です。 情報の世界の coherence の欠如を解決するためにフレームワークが必要 数学 → 強力な言語。関数型言語、λ計算、ツリーやグラフ、RDB 圏論で情報をモデル化できる 圏はデータベースのスキーマ。モデルは関手。 圏と計算機科学は近いもの 圏とは Ob、Arr、s(ource)、t(arget)、p(rimary = identity) 圏の例: Set、Hask、A monoid 関手の例: 恒等関手、潰す関手、Hask → Set、単純な例、Set→Cat M-Set : M → Set という関手。m : S → S をactionと呼ぶ 有限状態オー

    今日は「データベースは圏なんだよ!の会」の日です - Pixel Pedals of Tomakomai
  • 2012年にニートになったこと - 北海道苫小牧市出身の初老PGが書くブログ

    2012年のまとめとして、今年ニートになったことをまとめておく。 経緯 3月に転職して新しい職場に勤め始めたのだけど、業務内容が合わなくて適応障害を起こしてしまった。具体的には、マニュアルに従って進める大量の単純作業が合わなかったんだと思う。早朝覚醒が起き、通勤中呼吸ができなくなったり、勤務中突然涙が止まらなくなったりした。医師にも退職を勧められたので、親族とも相談して手遅れにならないうちにということで3ヶ月の試用期間で退職することにした。 ハローワーク関連 診断書が出たので、3ヶ月の給付制限なしで給付金を貰えることになった。と言っても、待機期間とかがあったりで実際にお金が手に入るのは1ヶ月以上後で、貰える額も少ない。貯金がなければどうにもならないだろう。 手続き的には基的にハローワークの人は親切なので指示に従うとよい。最初の1〜2ヶ月は、指示に従ってハローワークに何度か足を運びつつ受給

    2012年にニートになったこと - 北海道苫小牧市出身の初老PGが書くブログ
  • 任天堂の #codepuzzle がすばらしい出来だった - Pixel Pedals of Tomakomai

    任天堂のコードパズルを裏までクリアしたので感想を。 Let's take tea break. Code Puzzle / Nintendo これ、実は経緯を知らずにやってたのだけどPyconJP2012の配布物に入っていたものらしい*1。任天堂公式の配布物だけあって、クオリティが非常に高い。序盤は簡単な問題から始まり、通常のクリアまでは1時間半程度。前の問題を踏まえて徐々にレベルが上がる。サイトのセンスも良いし、ヒントも適度に充実していて、非常に楽しく遊べた。 その後、あることをすることで裏ルートが始まる。いわばこの裏ルートからが当のゲームの始まりで、ここからいきなりヒントがなくなって投げ出される。それでも、じっくり考えればわかるという絶妙な難易度調整。わかったときの「ああ、そうか」と思えるのも、きちんとした伏線がいろいろ貼られている賜物だろう。 最終問題ははっきり言ってこの手の*2問

    任天堂の #codepuzzle がすばらしい出来だった - Pixel Pedals of Tomakomai
  • 退職します - Pixel Pedals of Tomakomai

    今日が今勤めている会社の最終出社日となりました。 思えば6年前、次期システムをPHPで開発するつもりだと話していた当時のスタッフにPerlを使うよう誑かしたアドバイスしたのが始まりで、まさかここまで付き合いが長くなるとは思ってもいませんでした。 在職中は0からシステム構築をする機会を与えられた上、BTSやCIを始めとする開発ツール・フローの導入、書籍購入の自由化、20%ルールの実践、社内勉強会の開催、社外勉強会への参加の奨励など、エンジニアがやりたいと思ったことをどんどん実践できる権限を与えられ、大変刺激的に過ごすことができました。 お世話になった職場の皆様に、この場を借りて感謝致します。どうもありがとうございました。

    退職します - Pixel Pedals of Tomakomai
  • git rebaseとgit mergeはともだち こわくないよ - Pixel Pedals of Tomakomai

    例えば、以下のようなコミット履歴があるとします。 A---B---C---D masterここで git rebase -i HEAD~3 をして、 コミットB を E に書き換えたくなったとします。このとき、rebase -i によって履歴を書き換えてしまうと、以下のようにリポジトリからB〜Dのコミットは消滅してしまうと思っている人も居るのではないでしょうか。 A---E---C'---D' master確かに、Gitがこのような動作をするのであれば、rebase後に元の状態へ戻すことは到底困難であるように見えます。しかし、正確に書けば、実際のレポジトリの状態は以下のようになります。 E---C'---D' master / A---B---C---D実はコミットA〜Dの一連のコミットは手つかずで残っており、「master」というラベル*1が新たな枝に付け替えられただけなのです。よって、

    git rebaseとgit mergeはともだち こわくないよ - Pixel Pedals of Tomakomai
  • 「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ

    読み終わったので感想です。他の方々からも良書だ、良書だと勧められましたが、結論から言うとやはり買いです。 論理と計算のしくみ 萩谷 昌己 西崎 真也 前半は論理学から話を初めてゲーデルの不完全性定理までを論じます。後半はλ計算と型理論についての内容です。カリー・ハワード対応がわからなくてもいいのであれば、後半のλ計算の部分だけ読むこともできます。 読み切れば、例えば、物のプログラマはHaskellを使うの連載に出てくる次のような単語の意味は理解できるようになるでしょう。 reduction call-by-name call-by-value Weak Head Normal Form 型推論 依存型 多相型 他にも以下のような聞いたことあるけどなんだろこれって知識が補完されます。 命題論理、述語論理、様相論理、時相論理、直観論理 ゲーデルの不完全性定理 チューリングマシンの停止性問題

    「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ
  • 第16回FormalMethods勉強会に行ってきた - Pixel Pedals of Tomakomai

    「Monad攻略戦」と聞いたので、参加してきました。 Type Class in Coq / @tmiya_ さん On Understanding Types, Data Abstraction, and Polymorphism universal Polymorphism 個別実装なし parametric : ML系の多層型 inclusion : サブタイプ、継承 ad-hoc Polymorphism 個別に実装が必要 overloading 名前が同じだが無関係 coercion 期待される型に自動で変換 今日の話は、ad-hoc の方 Hask圏におけるモノイド対象 Coqでは、型クラスとして定義できる M:Type -> Type, 公理もモナド型に含められる left_unit, right_unit, assoc を公理とする >>=, と do は Notation

    第16回FormalMethods勉強会に行ってきた - Pixel Pedals of Tomakomai
  • 社内勉強会資料「Git早わかり」 - Pixel Pedals of Tomakomai

    YAPC前のことなのですが、id:perlcodesampleさんとちょっと縁があり、「Mojoliciousの話聞きたい」と無茶ぶりをしてみたら、なんと快諾して下さいました。そこで先日弊社にて社内勉強会を開催し、お招きしてトークをして頂きました。id:perlcodesampleさん、どうもありがとうございました! 話して頂くだけではなんなので、弊社からもトークを行いました。その際の発表資料を貼っておきます。早わかりってタイトルは嘘で、Gitリポジトリのモデルについて主に話しました。 Git入門View more presentations from hiratara.

    社内勉強会資料「Git早わかり」 - Pixel Pedals of Tomakomai
  • 勉強会をメモして公開するということ - Pixel Pedals of Tomakomai

    @yappoさんがとてもいいことを言っていたので、思うとこを書いておきます。 あのレポートのクオリティは相当なものだけど、あなたがYAPCに参加して何を思ったのかまではレポートされていない、なぜならそっれはあなたにしか表現できないから @yappo 勉強会のメモは、読むことより書くことに意義があります。勉強会の内容を写経すれば、ただ漠然と聞くよりも内容が頭に入りやすくなります。人が書いたメモを読むだけでは、この効果は得られません。このブログのエントリのようなただ書きなぐっただけの内容を読むのであれば、なおさらです:p セッション内でスライドに映されたモジュール名を自分の手でタイプすると、そのことによって記憶が助けられ、いざというときにモジュールの存在を思い出すことができるようになります。また、終わった後に感想文を書くだけでも、見てきた内容を改めて整理することで、知識として吸収しやすくなりま

    勉強会をメモして公開するということ - Pixel Pedals of Tomakomai
  • Shibuya.js beyond HTML5 に参加してきます - Pixel Pedals of Tomakomai

    hiratara : とりあえず確保。上司から許可が取れたら行きます Shibuya.js beyond HTML5 上司の許可がとれたので行ってきます! → 出席してます! おさらい(JavaScript歴史) ... → JavaScript → JScript → ECMAScript → HTML 4.01 コンセプト: Rediscover the JavaScript 2006年が第1回。2008年の京都が最後で、2年ぶり (実は渋谷ではやっていない) 最近やってなかったのは → jQueryとか便利だし、日常化した 復活したのは → HTML5の登場、JITの高速化、IE6の終了 LTの虎の予選も兼ねているらしい Rich UI with JS / @amachang jQueryの作者にも認められているShibuya.js HTML5とは? → 仕様にDOMとHTMLが両

    Shibuya.js beyond HTML5 に参加してきます - Pixel Pedals of Tomakomai
  • jQueryは本当にモナドだった - Pixel Pedals of Tomakomai

    タイトルはかなり釣りです:-) まあ、間違えているかもしれないので内容の判断は自己責任で。 さて、元ネタはこちらなのですが、独自のモナド節を唱えていて非常に怪しい。と言うことで、怪しくならないように真面目に解説してみます。 ちなみに、このエントリでは数学のモナドではなくHaskellのMonad、つまりKleisli Tripleとして説明します。 元記事のどこが怪しいのか 元記事では「流れるインタフェース」がbindであるかのように書いていますが、ここが怪しいと感じます。「流れるインタフェース」は単なる関数合成(haskelでいうg . f)であり、クライスリ結合ではないと思います。後述するように、bindが提供するクライスリ結合は、違う型同士をくっつけられるという奇妙な性質を持つ合成です。 元となる圏 DOMエレメントとjQueryオブジェクトのみを含む任意の集合を対象(Object)

    jQueryは本当にモナドだった - Pixel Pedals of Tomakomai
  • モナドで悟りをひらきたいのなら - 図でわかる(?)モナド - Pixel Pedals of Tomakomai

    圏論の最大の武器はダイアグラムなので、モナドで悟りをひらきたいのならダイアグラムを使えばいいんじゃないでしょうか。 ダイアグラムの書き方 例えば、「 f :: a -> b 」とか「length :: [a] -> Int」は以下のように書きます。型を点で、関数を矢印で書きます。 ダイアグラムの利点は、fやlengthの中身を忘れて簡略化することができることです。人間の脳ができることには限りがあるので、注目する情報が少ない方が理解しやすくなるってスンポーです。 なお、 合成 g . f は図示する時に順が逆になるので気をつけて下さい。これは、合成関数の適用が g ( f x ) と書けることに由来してます。まずfを適用し、次にgを適用するということです。 return と >>= の図示 今回のダイアグラムの約束として、元となる型(Bool, Char, Int 等)は最下段に書きます。そ

    モナドで悟りをひらきたいのなら - 図でわかる(?)モナド - Pixel Pedals of Tomakomai
  • 1