タグ

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

  • WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows - 檜山正幸のキマイラ飼育記 (はてなBlog)

    分散バージョン管理システムの利用は拡大しています。そのなかでも最も人気のあるツールはGitでしょう。しかし、GitWindowsで使うのはなかなか困難でした。 Windows向けのGitであるmsysGitは、bashのコンソールを出して、最小限のUnix風コマンドライン環境を提供するものです。これは使いやすくありません。もう一つの選択肢であるTortoise Gitは、Windowsのエクスプローラー(ファイルマネージャ)に統合されたGUIツールですが、僕は「なんか違うな」と感じてました -- これは個人の感性の問題ですが、ファイルマネージャに横付けすることが、分散バージョン管理システムへの良いUIを提供するようには思えないのです。 ところが、最近は事情が大きく変わっています。使いやすいGUIツールとして、2013年6月に正式公開されたSourceTree for Windowsが存在

    WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 型推論に関わる論理の概念と用語 その1 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    寒いのがホントに苦手。寒いと活動レベルが下がって、なんもやる気が出ないわ。 これ、一回のエントリーで書こうとした内容なんだけど、途中までなので「その1」を付けました。中途半端なところでブチッと終りますが、続きをたぶん書きます。 [追記 date="2012-01-27"]「論理式の構成法」と「型の論理式」はこのエントリー内に続きを書きました。さらに続きは別なエントリーになるでしょう。[/追記] [追記 date="2012-01-30"]後に続く記事とツジツマをあわせるため、文言をわずかに修正。[/追記] 型推論を備えるプログラミング言語が増えてきましたね。そのうちに、型推論はプログラミング言語の「普通の機能」になるのかもしれません。 型推論と一口にいっても、型システムとか計算モデルによって色々と違いが出るでしょうし、そもそも「型推論」て言葉が何を意味するかもそれほど明らかじゃないです。人

    型推論に関わる論理の概念と用語 その1 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • WebアプリケーションフレームワークCatyの現状と今後 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近どんな感じで、何を目指してやっているのかを簡単に紹介します。目指していることはイッパイあるのですが、特に「インスタントモックアップ」と我々(僕とKuwataさん)が呼んでいる機能にフォーカスします。インスタントモックアップは、最近着手したばかりで何も出来てないのが実状ですが、できたらけっこう便利そう。すごく便利かもしれません。 インスタントモックアップの目標は「Webサイト/Webアプリケーションのプロトタイプ作成の労力を、百分の一にする」ことです。効率を二桁上げたいわけね。なんかホラ話みたいでしょ。実際、誇張表現なんですが、まったく根拠がないわけでもないんですよ。 内容: 例題「ユーザー管理業務」 Catyの用語を少しだけ モジュールの構造 定義が書いてないモジュール 何をすべきかはナントナク予想できる どんなに中途半端・不完全な設計でも動かす 例題「ユーザー管理業務」 「1年たって

    WebアプリケーションフレームワークCatyの現状と今後 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • ツリーパターン入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    正規表現は文字列とのマッチングのためのパターンであり、マッチする文字列の集合を定義します。文字列ではなくてツリーに対しても「パターン」を考えてみます。ツリーのパターンも、それとマッチするツリーの集合を定義します。 参考1: お絵描きで学ぶ・無限正規ツリーとBNF(バッカス/ナウア形式) 参考2: この機会にマスターしようぜ、正規表現、構文図、オートマトン ツリーパターンの概要 ツリーは有向グラフの一種で、ノードと辺からなります。ノードは小さい黒丸、辺は単なる実線(特に矢印は付けません)で描くことにします。ルートが上、リーフ(葉)は下に描きます。ノードや辺に対して名前や値を付けることはしません。したがって、同じ形状のツリーは同じとみなします。以下にツリーの例をいくつか挙げます*1。 正規表現に'*'や'|'のようなメタ文字があるのと同じように、ツリーパターンもメタノード/メタ辺を含みます。そ

    ツリーパターン入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • tarのmanページ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    アーカイブを作るツールtarのマニュアルページを探そうとしたら、バタリアンのタールマン(tarman)が引っかかってしまった。 (オリジナル画像は http://zacpac.ne.jp/pic-labo/amok-batarian2.jpg)

    tarのmanページ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • アンチ防衛コード派の立場は弱い - 檜山正幸のキマイラ飼育記 (はてなBlog)

    僕は、ずっと(いつからかは覚えてない)「防衛コードを書くな」と言い続けているのですが、これは受け入れられないことが多いですね。 まず言われることは「それじゃまったくセキュアなシステムにならない」とか「ユーザー(人間)は無謀な操作をするから」とか。そういう事とは関係ないのだけどね。 次に、しばしば責務の放棄と誤解されます。例えば、構文解析で期待してないトークンに出会うとイキナリ例外を投げて終了してしまうプログラムが実際にあったので問い質すと「檜山さんがエラーリカバリーするなと言ったから」と。ここらへんの事は、Erlangに絡めて少し話したことがあります。「Erlang実験室:武士道と云ふは死ぬ事と見付けたり」の「潔さと無責任は違う」のあたり。 実は、僕が推奨したいことは、「××を書くな」よりは「○○を書け」のほうなんです。○○の部分は、ホーア論理に基づくアサーションとか契約(コントラクト)で

    アンチ防衛コード派の立場は弱い - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2010/02/03
    『防衛コードを書く労力を、アサーション/契約のほうに振り向けてね、っと。』『プログラマは事前条件は書きたがるけど、事後条件は書きたがらない』
  • そろそろ決着、HTTPメソッド、URL、そして標準化された動詞 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ([追記 date="翌日"]文言を少し改善し、注意を付け足したりしました。[/追記]) HTTPメソッド、URL、動詞(verb)に関して次の記事を書きました。 HTTPメソッドの正統的使い方と現実的対処法 HTTPメソッド、URL、そして標準化された動詞 訂正補足:HTTPメソッド、URL、そして標準化された動詞 問題点がほぼ明らかになり、全体の状況も見えてきたので、総括したいと思います。これで決定版にしたいのですが、実のところ、まだ考えが変わる可能性は否定できません。現時点では、以下に記述する案が最善だと思っていますがね。 内容: 用語の注意 事の発端,事の成り行き URLの意味と用途を分類する リソース種別ごとに動詞を考える さらにリソース種別ごとに動詞を考える GETに乗せるか、POSTに乗せるか インターフェースとしてのリソース種別と動詞 リソースとクラス 用語の注意 HTTP

    そろそろ決着、HTTPメソッド、URL、そして標準化された動詞 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • RESTfulなWebサイトと拡張子を含むURLについて - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2009年12月16日「チュートリアルを少し変更、おバカな設定例」 Catyでは、ファイル名拡張子の意味付けや扱い方がデスクトップと同じなんだけど、「クールなURIは、拡張子がねーんだぞ」とか言われそうだから、そのうちラショネールを書かなきゃ。 「ラショネール」なんて奇妙な言葉が出てきてますが、目論見や主張が正当であることを示す根拠、てな意味ですかね>ラショネール。 僕とKuwataさんが開発しているWebフレームワークCatyは、URLに、.html, .cgi などの拡張子を必ず要求します。クエリパラメータも遠慮なしに使います。「拡張子とかクエリパラメータなんて、RESTfulじゃないなー、クールじゃないなー」とか言う人がいますが、なにゆえに「拡張子やクエリパラメータがダメなのか?」 -- その根拠を示して欲しいもんです。僕らが積極的に拡張子やクエリパラメータを使う事情と根拠は、このエ

    RESTfulなWebサイトと拡張子を含むURLについて - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2010/01/24
    『拡張子.jspは、使用されているテクノロジを示すものです。リソースの本性には何の関係もなく〜この例は批判されて当然な理由があります。〜「拡張子やクエリパラメータを誤用しているから」です。』
  • Catyスクリプト:リリースしたからチュートリアル - 檜山正幸のキマイラ飼育記 (はてなBlog)

    あっ、と忘れていたよ。 「Catyスクリプト:まだ出来てないけどチュートリアル」: ソフトウェアを公開してない今の段階で解説を書いても、実感がなくてツマンナイでしょうが、後でまとめて書くことも負担なので、書けることは書いておくことにします。 一応ソフトウェアを公開したので、動く実物を引用して説明できるのだった。 Caty/Python Prototype-1 version 0.1.1 をインストールして、caty.py を実行してください。caty.pyはCatyスクリプトのコマンドライン・インタプリタを起動します。以下では、実際の操作例で説明します。基的概念は「Catyスクリプト:まだ出来てないけどチュートリアル」を参照してください。 内容: JSONデータはそのまま使えるよ コマンドを実行してみよう コマンドをパイプラインでつないでみる コマンドを作ってみよう こんなコマンドもあり

    Catyスクリプト:リリースしたからチュートリアル - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 浅海さんによるCatyの感想記事 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    BPStudy#26から1週間たってしまったのですが、今ごろになって浅海智晴さんによる記事を見つけました。 JSON静的型付純粋関数型Webコンポーネント糊言語 - 浅海智晴プログラマ日記 浅海さん、いらっしゃっていたのなら声かけてくれれば/せめてトラックバックいただければ、と思いましたが … 以下に少しだけ反応を: 流通するデータ構造をXMLではなくJSONにしている [...] 正確にはJSONの上位互換の独自アイデアのプロパティ付きJSONであり、意味論的にはXMLに近くなっている。 概念と表層構文は確かにJSON上位互換です。けど、シンタックスシュガーを剥ぎ取れば、通常のJSONにマーシャリング可能です。マーシャルした結果は、人間には読みにくいですが、任意のJSONツールで扱えます -- このために互換性を維持したのですよね。 「意味論的にはXMLに近くなっている」はまったくそのと

    浅海さんによるCatyの感想記事 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2009/11/06
    『Catyにおけるポイントは、モナドの知識を一切持たないプログラマに、結果としてモナドを書いてもらうようにすること』
  • BPStudy#26 お疲れさまでした、あと、感想/補足/反省とか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日10月30日(金曜)の夜、BPStudy#26にて、Kuwataさんと一緒にCatyについて発表しました。みなさん、お疲れさまでした。 けっこう空席があるなー、と思ったのですが、もともと80席用意されていたので、60人ほど集まったとのことです。かなりヘンテコリンでまだ出来上がっていないソフトウェアの話を聞きたいという酔狂な方が、そんなにいるとはちょっとビックリしました。 以下に、感想とか補足とか反省とかをダラダラと: [追記]Kuwataさんも補足説明を書いてます:http://return0.dyndns.org/log/2009/10/31#s_1 資料(スライド)は、http://return0.dyndns.org/doc/bpstudy/bpstudy26.odp[/追記] ロールとワークフロー まず感じたことは、水曜のリハーサル「やっぱりパスタの会」がすごく役に立ったなー、

    BPStudy#26 お疲れさまでした、あと、感想/補足/反省とか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Catyプロジェクト/ソフトウェアについて - 檜山正幸のキマイラ飼育記 (はてなBlog)

    http://return0.dyndns.org/log/2009/08/08#s_1 : ところで既に何度か書いている通り、今の俺の仕事は檜山さんの配下で世界を転覆させるソフトウェアを開発することなのだが、ここ数日はそこで使うための対話シェルとスクリプト言語の開発をやっていた。 “世界を転覆させる”ことができるかどうか、あんまり自信がないのだけど、Kuwataさんの実装力のおかげで、当初の目論見通りに進捗はしてます。 それらの詳細はまあここではどうでもいい。 と、Kuwataさんは具体的な内容を書かないので、僕が書きます。まー、僕のほうが広報担当だから ^^; 「新ユニット結成のお知らせ + GAE上でファイルシステムの模倣」で次のように述べました。 僕もKuwataさんも「おぼしき事言わぬは腹ふくるるわざ」な人なので、やろうとしていること/やっていることを特に機密扱いしたりはしません

    Catyプロジェクト/ソフトウェアについて - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2009/08/12
    『最終的な利用者にとっての「簡単さ/わかりやさ」を実現するための背景理論、設計原理、実装方式が簡単容易であるなんてことはないことです』
  • JSONスキーマ属性とその適用対象の一覧 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    http://json-schema.org/ を読んで表にしてみました。疑問符「?」が付いている項目は、いまいちハッキリとしないところです。 スキーマ属性名 プロパティ number string array object optional ○ - - - - additionalProperties - - - - ○ requires ○ - - - - identity ○ - - - - minimum - ○ - - - maximum - ○ - - - minItems - - - ○ - maxItems - - - ○ - pattern - - ○ - - minLength - - ○ - - maxLength - - ○ - - enum - ○ ○ - - options ○? - - - - unconstrained ○? - - - - readonly

    JSONスキーマ属性とその適用対象の一覧 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • HTTPメソッドの正統的使い方と現実的対処法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「最小抽象ファイルシステムの仕様案 その2」 に書いたように、ファイルシステムAPIとHTTPを関係付けようとしてます。そこで、id:yoheiさん監訳の『RESTful Webサービス』を拾い読みしてみました*1。 RESTful Webサービス 作者: Leonard Richardson,Sam Ruby,山陽平,株式会社クイープ出版社/メーカー: オライリー・ジャパン発売日: 2007/12/21メディア: 単行購入: 25人 クリック: 842回この商品を含むブログ (168件) を見る それで知ったり考えたりしたことを以下に書きます。 HTTPクライアントとしてブラウザを使うときの問題点 HTTPメソッドの来の意味/使い方は次のようらしいです。 HTTPメソッド 意味/使い方 GET リソース(の表現)を取得する PUT 新しいリソースを作る/既存リリースを上書き変更する

    HTTPメソッドの正統的使い方と現実的対処法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • JSONスキーマの功罪を、印象や感情じゃなくて考えてみようか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「JSONの可能性がグンと拡がるぞ! JSONスキーマ」に対して、がくぞーさんからトラックバックをいただきました。その冒頭を引用すると: この記事のブコメを見てみると XML Schema が在るんだし軽さがウリの JSON にそんなの必要なくね?的なコメントが散見されます。 なるほど、「なんだか複雑になりそうでヤダなー」とか「そんなもん要らねーよ」という印象や感情を持たれた方もいるんでしょうね。僕は、JSONスキーマをプロモートする気はないので、「ヤダ」とか「要らねー」の人を説得する動機はないのですが、「印象や感情だけじゃ主張や議論にはなりませんよ」って趣旨でちょっと書いてみます。 内容: 僕の感情と事情 妥当性の検証はたいてい必要 JSONにスキーマはそぐわない? JSONスキーマの弊害 バリデータ実装の負担 僕の感情と事情 「印象や感情じゃ、ラチあかんよ」と言いましたが、まずは僕の感

    JSONスキーマの功罪を、印象や感情じゃなくて考えてみようか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JSON(http://www.json.org/)データはけっこうよく使うので、何度か話題にしたことがあります(例えば「もう一度、ちゃんとJSON入門」)。でも、JSONには型情報/メタ情報が付けられないのがとても不満で、JSON改なんてもんを考えたこともありました。(後でXIONに改名) JSONデータに対するスキーマ定義の仕様がかたまりつつあることを、ごく最近になって知りました。 http://json-schema.org/ JSON体はRFC 4627になっていますが、JSONスキーマの標準化のステータスは、あまりハッキリとは分かりません(僕には)。http://groups.google.com/group/json-schema?pli=1 を覗き見した感じでは、現状ワーキングドラフトという位置付けらしいです。 なかなか面白いし役に立ちそうなので紹介します。ただし、僕にとっ

    JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • セミナー第3回(シリーズ最終回)の紹介:カリー/ハワード対応 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    次回でシリーズ完結です。首尾よくマトマリが付かなくても、このタイトルはオシマイ*1。さて次回=最終回ですが、2/3程度は以前の知識を要求しない内容なので、第3回だけ参加も可能ですし、歓迎します。以下に、予定している内容を記します*2。ただし、予定とかなり変わってしまう可能性があることはご承知おきください。 もともと僕が「技術者/プログラマのためのラムダ計算、論理、圏」セミナー・3回シリーズ*3を企画した主たる動機は、カリー/ハワード対応を紹介したかったことです。カリー/ハワード対応は、命題論理と型付きラムダ計算のあいだに対応関係があり、その対応により「命題論理とラムダ計算は事実上同じものだとみなせる」ことを主張します。 カリー/ハワード対応というと、なにか小難しくて近付きがたいような印象がありますが、ラムダ計算を“お絵描きで行う”手法(pictorial calculation)を使えば、

    セミナー第3回(シリーズ最終回)の紹介:カリー/ハワード対応 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2009/03/09
    面白そうだけど3/19はBPStudyと被って参加できないんだよなー
  • セミナー補足:報告記事とか後悔とか独り言とか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    return0のKuwataさんがまとめを書いてくださいました。→ http://return0.dyndns.org/log/2009/01/24 勘違いしてる部分がないとは言えないので、あんまり鵜呑みにしないように。 いえいえ、極めて正確な報告です。ここまでチャンと理解してくれる人が一人でも(もっとイッパイいるならなおさら)僕としては満足。成功だった、と判断してもいいかも*1。 僕は、LispとJavaScript(ほんのチョビット)のコード例しか出さなかったのですけど、それには理由が2つあって(面倒だというのを入れると3つか); ひとつは特定のプログラミング言語の話だと受け取られるのがイヤだ、という事情。セミナー冒頭で引用した中島先生の言葉にも: 特定のプログラム言語、慣用の計算機システム、ルーティン化したプログラム作成の手順などによって規定される閉じた世界から解き放ち、 とあります

    セミナー補足:報告記事とか後悔とか独り言とか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 告知:「技術者/プログラマのためのラムダ計算、論理、圏」セミナー - 檜山正幸のキマイラ飼育記 (はてなBlog)

    企画を公表したエントリー「『技術者/プログラマのためのラムダ計算、論理、圏』ならどう?」が随分と下に沈んでしまったので、告知は新しいエントリーとします。同じことを重複して記述していますがご容赦ください。 日時:2009年1月24日(土曜日) 15:00 より 時間:150分程度を予定 + 自由質疑応答の時間を適宜 場所:(株)シンメトリック(安達ビジネスパークビル)3F 最寄り駅:小田急線・代々木八幡駅、千代田線・代々木公園駅 地図:Googleマップ 定員:20人 必要なもの:絵を描くためのスケッチブック/ノートなど + 2色以上の筆記用具 結果的に、「Erlang 30% + JavaScript 60% + 未知成分 10%」セミナーとほとんど同じ仕様です。あのときの経験やフィードバックにより、多少は手際よくできるといいのですが、、、 subjectに「参加します」とか「参加希望」と

    告知:「技術者/プログラマのためのラムダ計算、論理、圏」セミナー - 檜山正幸のキマイラ飼育記 (はてなBlog)
    monjudoh
    monjudoh 2009/01/09
    2009年1月24日(土曜日) 15:00 より
  • 「… + 未知成分 10%」セミナーの報告 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「Erlang 30% + JavaScript 60% + 未知成分 10%」セミナーの報告です。 フーッ、まとめんの大変だった。この総括で一段落。 参加者 まず、ご参加くださった方々。順番は申し込み順です。氏名/ニックネームの公開に関してはご了承をいただいています(縁故参加者は檜山の判断)。 浜地 慎一郎 さん 高田 敦史 さん 荻野 淳也 (id:ogijun) さん id:publichtml さん 村岡 友介 さん tmiya さん 野中 哲 さん 杉浦 達樹 さん id:monjudoh さん 石井 大輔 さん(縁故参加) 太田 裕樹 さん(縁故参加) 他 5名 の皆さん 資料 次のURLからアクセスできます。パッとしないし、トッ散らかってますが。 http://www.chimaira.org/archive/20081220.html 問題点 アンケートから拾った問題点を記

    「… + 未知成分 10%」セミナーの報告 - 檜山正幸のキマイラ飼育記 (はてなBlog)