タグ

Programmingとprogramに関するsyo-yuのブックマーク (15)

  • deoxy.org | E=±mc²=Thé Ðëòxÿríßøñµçlëìç HÿÞêrdïmèñsîøñ

    The Deoxyribonucleic Hyperdimension Since 1993 The most effective thing that psychedelics did was they triggered great ideas in highly creative self-actualized individuals who were very stable and produced new memes, new visions...The people who had the most effect were the people who were most creative and could transmit that energy.—Bruce Eisner, LSD & Aldous Huxley's Island A L T E R N A T I V

  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • アルゴリズムの紹介

     ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意して

  • inforno :: 個人的Go雑感&メモ

    GoogleGoという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言

  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
  • https://shoooes.net/

  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • 音声認識テキスト入力Javascriptライブラリ w3voiceIM.js

    たった一行追加するだけで、あなたのサイトに音声認識機能を付けられます! w3voiceIM.jsは、Webページの上のテキスト入力フォームに音声認識機能を追加するJavascriptライブラリです。 手軽に音声認識を利用できることが特徴になっています。 また、http://w3voice.jp/でサービスする共有型音声認識エンジンを利用するために、利用者やWeb開発者は、音声認識プログラムのインストールや設定作業を必要としません。 JavaおよびJavascriptが動作するPC及びWebブラウザからの利用をサポートしています。 現在のバージョン 最新のw3voiceIM.jsのバージョンは0.02です。 とりあえず動くようになった開発途上バージョンです。 使い方 音声入力を開始するには、テキストの入力欄をマウスでダブルクリックします。 音声入力パネルが出現したら、「Push here」と

  • Perl入門

    これは,私が所属する研究室内で行なっているperl講習会用に書いたもの Perlの特徴 インタプリタ言語である. 作成やデバッグが容易. 制御構造などが C に類似したプログラミング言語 パターンマッチ(文字列検索)や置換など, 文字列処理が得意. 正規表現が使える 連想配列(ハッシュ)が使える 豊富な外部モジュール 自然言語処理では、大量のテキストから必要な情報を取り出さなければ ならない機会も多い. C 言語で高度なテキスト処理をするプログラムを書くのは面倒なことが多いが, Perlなら手軽に書くことができる. 実行速度は C より遅い(変数扱いの自由度のためなど). しかし開発効率は圧倒的によいので、プログラム がどの程度の期間使われるかで選択する. PerlによるCGIは遅いと言われるが, 確かにCで書かれたCGIよりは遅いが, PHPと比べると,Apacheのモジュールmod_p

  • twitterブームの陰で注目を集める“Erlang” - @IT

    2007/04/27 “twitter”がブームだ。140バイト以内の短いメッセージで“現在進行形”の自分のステータスをほかのユーザーとシェアするだけのオンラインサービスだが、国の米国はもとより、日でも非常な人気を集めている。Alexaでアクセス数の推移を調べると、今年に入ってから格的にブレークしている様子が分かる。4月22日にはニューヨークタイムズもtwitterと、サンフランシスコ在住の創業者2人を記事で取り上げている。 twitterのコミュニケーションツールとしての新しさ twitterに参加してみると、チャットやメール、SNSといった、既存のコミュニケーションツールのいずれとも異なる、不思議なつながり方が新鮮で楽しい。熱心にメッセージを更新するユーザーを見ていると、CUSeeMe、ICQ、mixiなどが登場したときに人々が示した熱狂に近いものを感じる。 twitterでは、

  • いかにしてプログラムを書くか - Inemuri nezumi diary(2007-04-03)

    _ 論理的思考の復興 諸君 私はオープンソースが好きだ 諸君 私はプログラミングが好きだ 諸君 私は論理的思考が大好きだ 「KISS*1! PFP*2!! D&C*3!!!」 よろしい、ならば論理的思考の復興を果たそう。 プログラミングに論理的な思考が必須なのではない、我々は 論理的な思考を愛し、その手段によって問題が解決される故に、 論理的な思考に基づいてプログラムを書くのである。 いかにしてプログラムを書くか、我々の持つ手段は直感あるいは論理的思考である。インスピレーションに基づいてプログラムを書いたときの気持ちよさはすばらしい。しかし、人に与えられたインスピレーションの回数は有限である、それは神がお決めになったことであり、自分自身が持っているインスピレーションがあと何回残っているか、それを知る術は残念ながら無い。いつでもいくらでも直感が湧くと考えておられるなら、あなたは傲慢である。歴

  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)

    春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。 ノートPC1台で開発する 題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしてお

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)
  • kajidaiの日記 - 新しいプログラミング言語を習得するための15の方法

    ↓で紹介されてた新しいプログラミング言語を習得するための15の方法についてhttp://forums.programming-designs.com/viewtopic.php?pid=3482I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time. Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep p

  • 1