タグ

プログラミングに関するKukriのブックマーク (11)

  • 正規表現を解析して可視化してくれるサイトが凄すぎる件

    ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の

    正規表現を解析して可視化してくれるサイトが凄すぎる件
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • プログラミング出来ない奴ちょっと来い

    プログラミング出来る方法教える。 世の中「プログラミング言語」を説くはごまんとあれど「プログラミング」を説くやブログはあまりない。 いや実際に "ない" というのはかなり語弊があるかもしれない。 しかし、通常この種の説明しているに辿り着くまでには多くの時間が必要だ。 普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要な概念を獲得するのだと思う。 例えば、「計算機プログラムの構造と解釈」や「実用 Common Lisp」、「コンピュータプログラミングの概念・技法・モデル」などの書籍は現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。 しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。 そして、"普通のプログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と

    プログラミング出来ない奴ちょっと来い
  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面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な記録
    Kukri
    Kukri 2009/07/06
    まさに1ビットを搾りつくす呪文
  • Javaでコンパイラの基礎を理解する

    そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です

  • ブロックを組み立てるようにプログラミングを簡単に学べる『Scratch』がすごいかもしれません | POP*POP

    MITのメディアラボで開発されている開発ツール「Scratch」が話題になっています。 小さなお子さんでもプログラミングに親しんでもらおう、という目的で作られたツールです。 この時代、誰でもプログラミングを学びたいものですよね。この「Scratch」、どれほど簡単なのでしょうか。 以下に詳しく見ていきましょう。 ↑ 起動直後の画面。左側からアクションを選んで組み立てていきます。 ↑ まずはを動かしましょう。左側から「Move 10 Steps」を選び、横のエリアにドラッグします。それをダブルクリックするとが横に動きます。もちろん「10」の値は好きに変えられます。 ↑ 次にさっきのブロックの下に「Say Hello for 2 seconds」をくっつけます。これでこのブロックをダブルクリックすると「横に動いてHelloと2秒間言う」というアクションがつくれました。 ↑ こうしてできたア

    ブロックを組み立てるようにプログラミングを簡単に学べる『Scratch』がすごいかもしれません | POP*POP
  • 【ハウツー】このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる (1) Googleが開発したDI - Guiceとは (MYCOMジャーナル)

    Googleは3月8日(米国時間)、Guiceの初のメジャーリリースとなるGuice 1.0を公開した。GuiceはJavaで開発されたDI(Dependency Injection)フレームワーク。シンプルなアーキテクチャになっており、アノテーションやジェネリックを活用した開発が特徴。 Guiceが依存性注入できるのはコンストラクタ、フィールド、メソッドなど。セッターメソッドにかぎらず、複数の引数をとるメソッドに対しても適用できる。そのほかの特徴としてカスタムスコープ、環状依存への対応、スタティックメンバーのインジェクション対応、Spring Frameworkとの統合、AOP Allianceメソッドインターセプションなどがある。 Guiceはすでに数カ月にわたり、Googleにおけるミッションクリティカルアプリケーションにおいて採用されている。Google最大のアプリケーションである

  • ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)

    三日前から Flex2 SDK で ActionScript3 を始めました secondlife です。こんにちわ。AS3 は言語仕様的には ECMAScript と Java をあわせた感じで普通な書き方で OOP できるのでうーん、と頭をひねることはあまりないのですが、他のところでいろいろはまりまくってます。 で、原始的な解決方法として trace() を使ったプリントデバッグを行っているのですが、スクリプト言語に慣れきった体ではコンパイル時間が遅くて死にそうです。たとえばこんな HelloWorld.as package { import flash.display.Sprite; public class HelloWorld extends Sprite { public function HelloWorld() { trace("Hello World!"); } } }を

    ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)
  • プログラミング用のフォントを探してたら一日が終わってた

    1. 遠視なのでフォントサイズは大きめ 2. エディタの関係で等幅TrueType限定 3. ClearType有効 4. 字は1Il| ,.;: (){} oO0 とmの潰れ具合ぐらいしか見てない 5. フリー 以上の条件でフォントをセレクト Bitstream Vera定評もあり、今回の基準をほぼ完全に満たすフォント。 イタリック・ボールド、セリフ・サンセリフ全てバランスがいい。 ただ小文字のLの自己主張がちょっと激しくて、ゼロがdotted zeroなのが気に入らない。 http://www.gnome.org/fonts/ Andale MonoVeraフォントと似たような感じのフォント。 というよりこの条件と自分の好みで選んだ結果全部似たようなフォントになってしまったが。 http://sourceforge.net/project/showfiles.php?group_id=

    プログラミング用のフォントを探してたら一日が終わってた
  • プログラミング言語の速度比較:Geekなぺーじ

    Gentoo : Intel Pentium 4 Computer Language Shootout」というプログラミング言語のベンチマークをしているサイトがあります。 このサイトでは、Linux入りPentium 4マシンを使って様々な言語で書いたプログラムのベンチマークを公開しています。 今回はC言語とC++,C#,Javaを比べてみました。 あと、その他言語もそれぞれ比べてみました。 グラフの白い棒がCPU時間を表しています。 白い棒が延びている側の方が実行速度が速い事を現しています。 黒い棒はメモリ利用量を表しています。 黒い棒が延びている側の方が省メモリです。 なお、以下のグラフは特定のベンチマークの結果だけであり、言語自体の優劣ではないので、念のため。。。 その他の言語の組み合わせも色々できるので興味のある方は試してみてください。 C言語 (gcc) vs C++ (g++

    Kukri
    Kukri 2006/11/30
    なんだこりゃ。C#がCを名乗るのは詐欺じゃね?
  • 今からでも遅くない!アルゴリズム入門---目次

    高速なハードウエア,至れり尽くせりのユーザー支援機能を備えた開発ツール,高機能なクラスライブラリやフレームワークなどなど,近ごろのプログラムを書くためのお膳立ては,とても充実しています。しかし,どんなに環境が整っても,ソフトウエアを作るには何らかのアルゴリズムに従って問題を解きほぐし,プログラムにするという作業が相変わらず必要です。 そこで特集では,まずPart1で身近な例からアルゴリズムというものに迫ってみます。皆さんが普段接している便利なソフトやサービスがどのような仕組みで動いているのか,その仕組みをのぞいてみましょう。教科書で勉強するようなアルゴリズムの話とはちょっと違うものも出てきます。中には,サービスの重要な要素をプログラムで処理せず,手作業に頼って実現しているものもあります。実用ソフトの世界で当に使いやすいものを作るには,アルゴリズムだけわかっていてもダメなことが少なくない

    今からでも遅くない!アルゴリズム入門---目次
  • 1