タグ

ブックマーク / m-hiyama.hatenablog.com (17)

  • もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2014初頭に書いた「WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows」の最後の文: ブランチは、Gitのなかで最も重要でありながら最も分かりにくい概念でしょう。表面的な言葉に騙されず、先入観を持たず、SourceTreeの視覚的表示(樹形図)の力を借りながら学習するのが、理解への一番の近道です。 そんへんの詳しいことはまたの機会に述べるかも知れません。 1年半以上たってしまいましたが、「またの機会」がやって来ましたよ。ええ、Gitの説明をします、ブランチを中心に詳しく。 「基礎編」と「ブランチ編」で2回に分けようかと思ったけど、長大な記事として一挙公開。これからGitを使う人が対象ではありません。Gitが何をやっているのか、自分が何をやっているのかイマイチ自信が持てない方向けです。 ブランチやマージって、なん

    もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • プログラミング言語Makeの関数型フラグメント:まとめとサンプル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    一時Makefileに凝っていました。Makefileの記述構文のなかに、「Lispに似た小さな関数型言語が埋め込まれているんだ」とか言ってましたよね。あれはまー、遊び半分なんだけど、このテの知識は、実際にMakefileを読み書きするときにも役にたちます。 過去のMakefile関係エントリーを読み返そうと思ったら、けっこう量があるし、紆余曲折があるんで、ここに整理してまとめておこうと思います。 内容: 参考資料 概念と用語 データ型 変数 関数 制御構造 画面出力と強制終了 ●参考資料 Makefileに関しては、次のエントリー群でゴタゴタと説明しています。 Makefileの書き方、その勘どころ Makefileの書き方:プログラミング言語Make プログラミング言語Make 補遺:引数付きの関数 Make 補遺の補遺:遊んでいるだけ Make言語で算術演算 <-- バカ! もっとも

    プログラミング言語Makeの関数型フラグメント:まとめとサンプル - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 僕らが大好きだったWebはなくなるのかもしれない - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Webはなくなるのかもな、と思います。 この記事の続きは「ブラウザが消滅して: APIベースのWeb」 あの頃のWeb 「Webとは何か」を定義しなければ、なくなるか/存続するかなんて議論は意味をなしません -- それは承知ですが、ここでは曖昧な、あるいは感傷的なWebのイメージに基いて話します。 Webはブラウザで閲覧するものでした。ブラウザはHTML文書の表示装置です。ハイパーリンクをたどってインターネットを“サーフィング”できます。あるいは、検索エンジンを利用して目的のWebサイトを探します。たまにフォームを使ってWebに“書き込み”をします。それが、今までの(「かつての」かもしれない)Web体験です。 このようなスタイルのWebの盛り上がりのピークは2005年からのWeb 2.0ブームだったと思います。Web 2.0の提唱者だったティム・オライリーの真意はどうであれ、Web 2.0

    僕らが大好きだったWebはなくなるのかもしれない - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2014/01/28
    よく思う。
  • J言語の印象: その変態さと可能性 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    なんだか驚いた、というわけで、J言語を少し調べたり触ったりしました。このJ言語、2014年は絶対に … … 流行らないでしょう。 J言語のホームページは http://www.jsoftware.com/ です。必要なものはココに揃っています。J言語の入門的解説であるPrimerもあります。そのPrimerの冒頭に曰く: J is a very rich language. You could study and use it for years, and still consider yourself a beginner. J言語はとても奥深い言語です。何年もJ言語を勉強し使い続けても、それでも「自分はまだ初心者だ」と感じるかもしれません。 のっけから気力が萎えることを言ってくれますね。(人によっては挑戦意欲を刺激されるかもしれませんが。) 日語の資料は少ないですが、次がまとまってい

    J言語の印象: その変態さと可能性 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2014/01/11
    変態言語なんだが、覚える気がしないんだよなぁ・・・
  • 絵で分かる! 主キー/外部キーのアホらしさ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日と同じ話題を繰り返します。しかし今日は、誰にでもわかるように絵解きで説明します。 デイヴィッド・スピヴァックのデータベース理論の特徴を僕は「驚嘆すべき単純さだ」と言っていますが、圏論を使っているというだけの理由で、「関係データモデルのほうが分かりやすいんじゃないの?」と思っている人はいるでしょう。いいえっ、関係データモデルは複雑で難解です。いったんスピヴァック理論に慣れてしまえば、関係データモデルが無駄に晦渋だったことが分かるでしょう。この記事は、その無駄な晦渋さ=アホらしさを 絵を使って解き明かします。 若干あおり気味の口調なので、より理論的な背景は昨日の記事で確認してください。 内容 例題:勤務先の電話番号を知る スピヴァックのモデルでは 関係データモデルではどうなる 主キー/外部キーはハードウェアのメモリ番地のようなもの デイヴィッド・スピヴァックのこと 例題:勤務先の電話番号を

  • 論理的であるかのごとくに装って、根拠のないイチャモンをつける 13+2 の方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ちょっと挑発(コレの最後)してみたけど、どうせ反応はないだろな。しらけてしまわないうちに自分でテンション上げて解説を書いてみました。 内容: 前がき 編 定義の違いを真偽の議論にすり替える 言ってもない事を否定して印象操作をする 傾向や量に関する主張に、勝手に全称限量子を付けてしまう とある階層でなされた主張を、別な階層で否定する 権威や前例に訴える 権威や前例に訴える 別バージョン 論点ズラシ、意図・論点の曲解 論点ズラシ、意図・論点の曲解 感情バージョン 意味もなく自分の経験や知識を強調 問題点を他の事情により帳消しにする 意味不明でもいいから難しそうなことを言ってみる 普通とは異なる解釈を持ち出す 反論されたときは最小コストでごまかす 余計なお世話な悪口も辞さない 言い張る 後がき 前がき すぐあとに続く「編」では、ホントに「根拠のないイチャモンをつける方法」、もう少し正確に言う

    論理的であるかのごとくに装って、根拠のないイチャモンをつける 13+2 の方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2013/03/30
    素晴らしいまとめ。
  • 論理的言明を装った感情論は嫌い、という感情論 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ちょっと時間がたってしまったネタですが: プログラミングの出来る人と出来ない人の決定的な違い。 「プログラミングの出来る人と出来ない人の決定的な違い」? ワンヤグさんの「プログラミングの出来る人と出来ない人の決定的な違い。」は、たくさんのブックマークを集めた記事。それに対して、id:JavaBlackさんが随分と否定的な記事を書き、さらにワンヤグさんが当該記事への追記として反論(らしきこと)を書いています。内容的に、ドチラかが全面的に正しいとは思えないし、ドチラかに味方する気もありません。 ですが、僕のセンサー(どんなセンサーかは最後に述べます)が反応したので、思うところを書いておきます。 時間順が前後しますが、まずはJavaBlackさんの記事のほうから。僕は、元記事「プログラミングの出来る人と出来ない人の決定的な違い。」を読む前に、JavaBlackさんの記事のほうを先に読んだのです。

    論理的言明を装った感情論は嫌い、という感情論 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2013/03/30
    感情的になる気持ちもわかる。
  • スピヴァックの圏論教科書 Category theory for scientists - 檜山正幸のキマイラ飼育記 (はてなBlog)

    関手データモデルのデイヴィッド・スピヴァックが、圏論の教科書を書いたようです。商業出版ではなくて、Web上にPDFが公開されています。スピヴァックの大学での講義のテキストとして書かれたようです。 Title: Category theory for scientists Author: David I. Spivak Submitted: 27 Feb 2013 URL: http://arxiv.org/abs/1302.6946 This book attempts to show that category theory can be applied throughout the sciences as a framework for modeling observed phenomena and for communicating results. In order to targ

    スピヴァックの圏論教科書 Category theory for scientists - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 衝撃的なデータベース理論・関手的データモデル 入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    デイヴィッド・スピヴァックによる衝撃的なデータベース理論である関手的データモデル。どうしたらうまく説明できるか? と色々と悩んでしまいますが、まー、書けるところから書き始めてしまいましょう。 さー、いらっしゃい、いらっしゃい。関手的データモデルの世界へようこそ。圏論の言葉は出てきますが、圏論の予備知識はほぼゼロでOKですよ。 [追記 date="翌日"]取り急ぎ勢いで書きましたので、不注意と早とちりが混じっていました。追記と取り消し線の形で訂正と注記を足しました。字句レベルの表現の変更は直接編集しています。 あとそれと、圏論の基用語を知りたいときはコチラ、… って、……、ゴメン![/追記] 内容: はじめに の購入のサンプル スキーマのグラフ表現 キーとか計算カラムとか 圏としてのスキーマ 関手としてのデータベース状態 テーブルの変化 自然変換としてのデータ操作 データベースに圏論が使

    衝撃的なデータベース理論・関手的データモデル 入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)

    正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正

    この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記

    全体目次: 第1歩:しりとりの圏 (このエントリー) 第2歩:行列の圏 第3歩:極端な圏達 第4歩:部分圏 第5歩:変換キューの圏 第6歩:有限変換キューと半圏 第7歩:アミダの圏 第8歩:順序集合の埋め込み表現 第9歩:基に戻って、圏論感覚を養うハナシとか 付録/番外など: 中間付録A:絵を描いてみた 番外:同期/非同期の結合 中間付録B:アミダとブレイド 番外:米田の補題に向けてのオシャベリ 一部のプログラミング言語の背景として、圏論(カテゴリー論)が使われたりするせいか、以前に比べれば多少は圏論に興味を持つ人が増えたような気がしなくもないような。でも、安直な入門的文書はあまり見かけないですね。もちろん、シッカリした教科書や論説はあるんですが、どうもシッカリし過ぎているような。例えば、圏の例として「コンパクト・ハウスドルフ空間と連続写像の圏」とか言われてもねぇ(この例はいい例なんです

    はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記
    tanakaBox
    tanakaBox 2009/12/28
    わかりやすい!!
  • クロージャとラムダ式は同義だ、と主張してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    だいぶ前に、クロージャ(閉包)って言葉の意味がわからないと書いたことがあります(「クロージャ、それなに?」)。最近また「クロージャ」って言葉を聞いたのですが、やっぱり何を意味しているのかわかんなくて(詮索する余裕もなくて)落ち着かない気分になりました。これはどうも精神衛生上よくない。 「クロージャ」と「ラムダ式」はまったく同義に扱ってもいいんじゃないのかな。例えばラムダ式 λx.(a*x + b) があるとき、自由変数a, bを具体化するための環境(変数束縛)をラムダ式と一緒にした (λx.(a*x + b), {a : 2, b : 1}) が古典的な意味のクロージャでしょ、たぶん。letを使えば、(let a = 2 b = 1; λx.(a*x + b)) みたく書けるけど、これも結局 (λa.λb.(λx.(a*x + b)))(2)(1) だから1個のラムダ式ですよね。 「クロー

    クロージャとラムダ式は同義だ、と主張してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2009/12/23
    コメント欄が熱い。
  • 技術者/プログラマのための論理について、最近思うこと - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日話題にした型推論とかの関係で、最近また、ソフトウェアの設計・実装に論理をどう応用できるか、とか考えています。まー、応用できるのは当然、つうか、現在のコンピュータシステム自体が論理(数学基礎論)の応用みたいなもんですが、もう少し日常的な感覚で、「論理を現場的に使うにはどうしたらいいの?」みたいな問題意識です。 論理の教科書は、日語でもいいがたくさんあります。昔(僕が若い時分)から、竹内外史、前原昭二なんて世界的な泰斗がシッカリした教科書を著してくれていたので、(その道の専門家は別として)普通に勉強するには十分すぎるくらいのテキストがあります。 ただ、技術者/プログラマが実務上の知識を仕入れる目的には格的過ぎるきらいがあります。若くて時間がある方々には、格的な勉強をお勧めはしますが、誰でもがタクサン時間を持っているわけでもないですしね。もうちょっとお手軽なショートコースがないものか

    技術者/プログラマのための論理について、最近思うこと - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
    tanakaBox
    tanakaBox 2009/08/10
    途中まで読んだ。
  • CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    久々にThe n-Category Cafeを見たら、Mike Stayによる"The Continuation Passing Transform and the Yoneda Embedding"なんて記事がありました。 米田埋め込みは圏論ではお馴染み。継続渡しへの変換はコンピュータ・プログラミングではお馴染み。 この2つは、実は同じものなんだよ。なんで、誰もこのことを言わないんだろうね? The Yoneda embedding is familiar in category theory. The continuation passing transform is familiar in computer programming. They're the same thing! Why doesn't anyone ever say so? Mike Stayのこの記事、面白いのだ

    CPS(継続渡し方式)変換をJavaScriptで説明してみるべ、ナーニ、たいしたことねーべよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2008/04/12
    CPS変換について。
  • 非決定性プログラミングだって絵を描いてみれば一目瞭然 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    字を書くのがなんかメンドクサイので、今日は蒸し返しの参照と引用、それとお絵描き。*1 次の2つのエントリーで、プログラムを対象とした加減乗除のような計算を紹介しました。 プログラムの算術的計算法 プログラムの算術的計算法 (続き&完結) 同じことを計算ではなくてお絵描き(pictorial calculation)でやってみます。「続き&完結」の最後のところを引用しておくと: プログラムの構造と実行フローも[補注:正規表現の構文図と]同様に図示できるはずですね。昔なつかしの流れ図(フローチャート)がそれですが、もうちょっと洗練された流れ図2.0(つかっちまったよ 2.0)もあります。今風流れ図の例は次の論文を(読まなくてもいいから)眺めるとお目にかかれます。 http://citeseer.ist.psu.edu/hasegawa97recursion.html http://citese

    非決定性プログラミングだって絵を描いてみれば一目瞭然 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2008/04/12
    まだampまで進んでない・・・。
  • 絵を描いて学ぶ・プログラマのためのラムダ計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JavaScriptで学ぶ・プログラマのためのラムダ計算」は、1回では述べ切らなくて、一段落付いたところで区切りました。これはかえって良かったですね、ブックマークやトラックバックでフィードバックが得られたので。 そのフィードバックなどをかんがみて、「残り=次回の話題」として予告した内容とはい違ってしまうのだけど、今回は、文章では伝わりにくい(前回うまく伝わらなかったと思える)ラムダ計算の大事なツボを、なんとか表現してみようと思います。 [このエントリーの内容はだいぶ前にほぼ出来上がっていたのだけど、ココに書いてある事情で、“お絵描き”がなかなか出来なかったのです。] ※印刷のときはサイドバーが消えます。 内容: 知っていて損はない 計算は身体的に理解しよう ラムダ項のツリー表示:準備 ラムダ項のツリー表示:描く! β変換に対応するツリーの描き換え もっとβ変換をやってみよう 計算現象を

    絵を描いて学ぶ・プログラマのためのラムダ計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanakaBox
    tanakaBox 2008/04/10
    あぁ・・・前に苦労した覚えが・・・ラムダ演算はUnlambdaで覚えるのがいい。skki
  • 1