タグ

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

  • 2の補数は分かりにくい、こう考えれば分かる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    現代のコンピュータでは、負の数の表現に「2の補数」を使っています。「2の補数」って何だよ? 改めて調べてみると、説明(例えばWikipedia)が分かりにくいですね。だいたい分かっても、「それが何なの?」という感じ。 「2の補数」はコンピュータと2進数の文脈で語られるけど(実際、それはそうなんだけど)、ことの質はそこじゃない、「ビットを反転して1を足す」とか呪文ように覚えても全くショーモナイ。むしろ、「コンピュータ」や「2進数」から離れたほうがいいんじゃないか、とさえ思えます。 時計や角度とのアナロジーや循環(ラップアラウンド)を含んだ説明がないかと探していたら、2008年の自分の記事がひっかかりました。 循環を巡る話:螺旋、時計、2の補数表現、角度算、リング こんなこと書いたの、もうすっかり忘れていたわ。まー、いいこと書いてあるんだけど :-) 「2の補数」が幾つかのトピックのひとつに

    2の補数は分かりにくい、こう考えれば分かる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

    もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてな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)
  • bitbucketはもう信用する気になれない - 檜山正幸のキマイラ飼育記 (はてなBlog)

    bitbucketは、分散バージョン管理システムのリポジトリと関連機能をホスティングしているサービス。Catyの開発にはずっとbitbucketを使ってきた。細かい不満はあるものの、「これはダメだ」というほどの問題点は感じていなかった。だが、最近の変更は酷い。それについては、既にKuwataさんが書いている。 http://return0.info/note/2012-10.html#id2012-10-10 http://return0.info/note/2012-10.html#id2012-10-19 Wikiの記法が、WikiCreoleからMarkdownに変わったのだが、互換性への配慮が一切されてない。ユーザーが今まで貯めこんできたデータが壊れる事態もヤムナシという判断らしいが、ヒド過ぎる。具体的に言うと、過去にWikiCreole記法で書いた(イシュートラッカーの)イシュー

    bitbucketはもう信用する気になれない - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Webベースの分散アプリケーション - 檜山正幸のキマイラ飼育記 (はてなBlog)

    今現にポピュラーに使われているWeb技術、つまりHTTPとHTMLだけで分散アプリケーションは作れます。もっとも、「分散アプリケーション」(あるいは「分散コンピューティング」)という言葉の定義によりけりですが; ここでは、「インターネット上に散らばったデータリソースや計算リソースを協調させて何かをするアプリケーション」くらいの意味。いたって雑駁でライトウェイトな定義です。 「Webアプリケーションの入出力と状態遷移」において、Webアプリケーションの基動作は代入文と同じだと言いました。随分とひどい単純化をしたものです。が、単純化しておけばその後の説明が楽だと思ったのです。単純化した定式化=代入文に基づいてライトウェイトな分散アプリケーションの説明をします。 内容: リモート実行とローカル代入 長い距離を表す矢印 Catyにロングパイプを ロングパイプを隠蔽せよ Web空間上にグローバルな

    Webベースの分散アプリケーション - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「横道にそれすぎ」に書いた事情で、EmacsでJavaScriptソースコードを読む環境を少し整えようかと。 次の2つのツールを導入してみよう、っと。 js2-mode: http://code.google.com/p/js2-mode/ エグズーベラント(EXUBERANT)Ctags: http://ctags.sourceforge.net/ 内容: より良いEmacs JavaScriptモード -- js2-mode 強烈なタグファイル作成ツール -- エグズーベラントCtags エグズーベラントCtagsを調べてみる EmacsでJavaScriptソースを読む ●より良いEmacs JavaScriptモード -- js2-mode 以前(2006年7月)、ひげぽんさんの記事で、「ecmascript-mode.el < javascript.el みたいだ」と書いてあった

    EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • ブラウザでミニマムXML (0) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    XMLネタで続き物を書こうかと思います。 「プログラミング言語:JavaScript + 実行環境:ブラウザ」という組み合わせは、もっとも普及したプログラミング環境だと言えるでしょう。テキストエディタさえあれば、いますぐ、だれでもプログラミングをはじめられます。さらにブラウザには、いちおうDOM APIも備わっているので、もっとも普及したXMLプログラミング環境とも言えます。 そこで、この“今そこにあるXMLプラットフォーム”上で、今すぐ何かちょっとしたことをやってみよう、ってことです。 プログラミング言語としてのJavaScriptについては、「プログラマのためのJavaScript」というシリーズで解説しています。それと、しばらく間が空いてしまっているけど、「micro*」というシリーズでは、「今そこにあるもので、今すぐ何か」というコンセプトを展開しようとしています(まだ、micro*

    ブラウザでミニマムXML (0) - 檜山正幸のキマイラ飼育記 (はてなBlog)
    satojkovic
    satojkovic 2005/09/26
    今そこにあるXMLプラットフォーム
  • 檜山正幸のキマイラ飼育記 - プログラマのためのJavaScript (0)

    ジジイの手習いで、JavaScriptを勉強中でございます。その動機は「結局、ブラウザベースRIAかよ」のようなこと。非ブラウザベースのリッチクライアントへの期待を失ってしまったんですね。短期的・現実的な策としては、Ajax的な手法によるRIAなのかなぁ、という気分。ただし、「短期的」が“1年”と“5年”ではえらい違いです。今のところ僕には、「短期的」の実際の期間はわかりません。 僕のJavaScript調査の結果は、「初心者でも使えてプログラマでも困惑するJavaScript 」などに書きました。これらの続きとして、「プログラマのためのJavaScript (*)」というタイトルで書こうかと予定してます。あくまで予定、気まぐれでモノグサな僕のことだから、…… “プログラマのための”というのは、C, C++, Java, C#など“普通の”プログラミング言語にある程度慣れていることを前提に

    檜山正幸のキマイラ飼育記 - プログラマのためのJavaScript (0)
  • 初心者でも使えてプログラマでも困惑するJavaScript - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日に続いてJavaScriptネタ。 JavaScriptは誰でもすぐ使えるように工夫されている -- これは嘘ではないでしょうが、最初の敷居が低いから「やさしい」とは言えないようです。僕自身と少数の事例からは、C、C++Javaなどの“普通の”言語に慣れていても、JavaScriptには違和感・抵抗感を感じて、わず嫌いで手を出さないとか、かじったが放り投げるとか、… どうも「むずかしい」みたい。 実行環境が主にブラウザというのがまず異質ですが、この点は置いといて、言語仕様と言語処理系の観点から、JavaScriptの「むずかしさ」(と魅力)を述べたいと思います。 ●徹底的にオブジェクト的 JavaScritは、クラス、継承、情報隠蔽機構などを持たないので、まがい物の、あるいは中途半端なオブジェクト指向言語と思われているようです。そもそも、「何がオブジェクト指向か」って議論が不毛だか

    初心者でも使えてプログラマでも困惑するJavaScript - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 邪悪マークアップは先進的マークアップか? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    7月22日のエントリー「Microformatsと多重マークアップ」と、少し前の「邪悪なマークアップも抱擁する」には関連があります。 「邪悪なマークアップも抱擁する」では、トンデモマークアップの事例をいくつか出しまたが、非難したり排除したりするのが目的ではありません。むしろ、それらも許容すべきではないか、ということです。だから見出しも「抱擁する」なんです。 トンデモ・マークアップのなかで、次の例を取り上げて考えてみましょう。 <寄せ書き> <田中>元気で行ってこい。</田中> <ミヨ子>おみやげ、忘れないでねぇ</ミヨ子> <!-- ... --> </寄せ書き> これがまずい理由は、<田中>元気で行ってこい。</田中>や<ミヨ子>おみやげ、忘れないでねぇ</ミヨ子>のあいだに共通性があるのに、その共通性がマークアップにより表現されてないことです。確かに明示的なマークアップはされてません。

    邪悪マークアップは先進的マークアップか? - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 1