タグ

Programmingとprogrammingに関するkazoo_ooのブックマーク (158)

  • 正規表現の機能の覚書き

    はじめに「はじめての正規表現」がホッテントリ入りしていますが、 導入としては、何に使うのかがわかりやすくて良いのではないかと思います。 あれを見て、基機能をまとめてみたくなったので、正規表現の基的な機能について書いてみます。 (正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。) 例では「検索」か「置換」をするものとして話を進めていきます。 (「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます) 正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。 (表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります) メタ文字とリテラル文字正規表現には、メタ文字とリテラル文字というものがあります。 メ

    正規表現の機能の覚書き
  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • Google Test、Google C++テストフレームワーク登場 | エンタープライズ | マイコミジャーナル

    Google, Testing Technology Team, Zhanyong Wan氏は4日(米国時間)、Google Open Source BlogにおいてGoogle C++ Testing Frameworkを公開したことを発表した。Google C++ Testing Framework (以降、Google Test)は複数のOS (LinuxMac OS X、WindowsWindows CE、Symbian)でC++テストコードを作成するためのフレームワーク。xUnitアーキテクチャをベースに開発されている。 Google TestはもともとGoogleの社内で開発されたC++テストフレームワーク。今回FLOSSプロダクトとして公開されることになった。ライセンスにはThe BSD License (3条項版)が採用されており、組み込み用途でも採用しやすくなっている

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    kazoo_oo
    kazoo_oo 2008/07/04
    コメントw
  • 変電工 - Google C++スタイルガイド日本語訳

  • http://www.oklab.org/program/assembler/gas.html

  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • iPhone/iPod touchアプリケーション開発者になるための高速道路 建設予定地 - yanbe.diff - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    iPhone/iPod touchアプリケーション開発者になるための高速道路 建設予定地 - yanbe.diff - subtech
    kazoo_oo
    kazoo_oo 2008/06/23
    タイトル上手いなぁ、とちょっと悔しく思いつつブクマ。
  • Google Japan Blog: 日本のデベロッパーの要望に応え、多くの技術ドキュメントを日本語化しました

    Google が提供するさまざまなAPI やツールの詳細な技術情報は、すべて Google Code で公開されています。しかし、全ての技術情報は英語で記されていたため、多くの日のデベロッパーからは技術ドキュメントを日語化して欲しいとの要望をいただいていました。 そこで、 開発者ホーム と題して Google Code の日語版の運用を開始しました。4月より、2 つの技術、OpenSocial と YouTube Data API技術ドキュメントの日語版の提供を開始しました。そして、Google Developer Day 2008 Japan の開催にあわせ、さらに多くのドキュメントと映像を日語化しました。 日、日語版が公開されたドキュメントおよび映像は以下となります。 OpenSocial YouTube Data API Google Gadgets API Goo

    Google Japan Blog: 日本のデベロッパーの要望に応え、多くの技術ドキュメントを日本語化しました
  • Hadoop、hBaseで構築する大規模分散データ処理システム:CodeZine

    はじめに この連載では、大規模分散計算フレームワーク「Hadoop」と、その上につくられた大規模分散データベース「hBase」の仕組みと簡単なサンプルアプリケーションを紹介します。HadoopとhBaseは、Googleの基盤ソフトウェアのオープンソースクローンです。機能やコンセプトについては、Googleが発表している学術論文に依っています。 これらの学術論文によると、Googleでは大規模分散ファイルシステム「Google File System」、大規模分散計算フレームワーク「MapReduce」、大規模分散データベース「BigTable」、分散ロックサービス「Chubby」という4つのインフラソフトウェアが使われています。 図1にGoogleの基盤技術間の依存関係、そしてそれに対応するOSSの対応関係を示しました。まずは対応するGoogleの基盤技術それぞれの機能や特徴をざっくりと

  • Ajaxを勉強しよう

    このページはAjaxを勉強してみたい人向けの学習用ページです。サーバーを入れ替えたため一部CGIを使用したものが動作していません。時間のある時に修正します。また、書いてから、かなり時間が経過しているため内容的に古いものもあります。ご了承ください。 Ajaxで利用されるエフェクトに関しては別ページ(Ajax Effect)に移動しました。 Ajax関連書籍に関してはAjax関連書籍一覧ページを用意しました。 Prototype系ライブラリ サンプルプログラム【New !!】のページを用意しましたので、Prototype系のライブラリを利用している方は参考にしてみてください。 ミスや間違いなどがありましたらopenspc@po.shiojiri.ne.jpまでお願いします。 第一章 Ajaxって? AjaxとRIA AjaxとDHTML AjaxとFlash Ajaxに必要な知識と技術 Aja

  • Rubyの初心者にたいして「これは読むべき」だと思うコードを教えてください。 プログラムの勉強の際に良質なコードを読むをおすすめされたのですが、どのコードを読めばい.. - 人力検

    Rubyの初心者にたいして「これは読むべき」だと思うコードを教えてください。 プログラムの勉強の際に良質なコードを読むをおすすめされたのですが、どのコードを読めばいいのかわかりません。参考になるコードやライブラリがありましたら教えていただけるとうれしいです! 関連:http://q.hatena.ne.jp/1205797404

  • MacにRailsをゼロからインストールする一番簡単な方法:江島健太郎 / Kenn's Clairvoyance - CNET Japan

    唐突ですが、Macユーザ(Leopard or Tiger)がRuby on Railsの開発環境をゼロからセットアップしてHello Worldするまでの最短・最小の手順を書いてみたいと思います。 書いてある通りに実行するだけで超簡単なので、Macユーザは今すぐやってみましょう。Macを持ってない人は・・・Macを買うといいですよ。:) 1. MacPortsをインストール MacPortsとは、Macで開発をするなら欠かせないパッケージ管理システムです。 これさえ入っていれば、開発に必要な道具をインストールするのが圧倒的に楽になります。OSのバージョンに合わせてインストーラをダウンロードし、インストールが終わったら、ターミナルから

    MacにRailsをゼロからインストールする一番簡単な方法:江島健太郎 / Kenn's Clairvoyance - CNET Japan
  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • 言語別ゲームプログラミング制作講座一覧 - ネットサービス研究室

    プログラミング言語別にゲームプログラミングについて解説しているサイトをまとめてみました。ジャンル別ゲームの作り方とアルゴリズムまとめもあわせてお読みください。 Java Javaゲーム作りますが何か? ガメラボ Javaゲームはじめました。 JavaRPGを作ろう! Javaによるゲーム解説 JavaScript JavaScriptゲームの作り方 ゲームの作り方 by BFF (^==^)ドリームキャストでJavaScript JavaScript でテトリスみたいなゲームを作ろう! C++ 0からのゲームプログラミング DirectXでゲームを作ってみよう ゲームプログラミング講座 ゲームプログラミングWiki マルペケつくろーどっとコム http://www5b.biglobe.ne.jp/~u-hei/ サラリーマンの俺が無料ソフトだけで3Dゲームを作るスレ まとめ ゲームつく

    kazoo_oo
    kazoo_oo 2008/05/07
    まとめに感謝です。
  • サンプルコードによるPerl入門

    文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む

    kazoo_oo
    kazoo_oo 2008/04/25
    レシピ集。
  • スーパーマリオブラザーズをRubyで作ってみた - I am Cruby!

    Ruby2008/8/7にやんわり修正しました。 ソースコードsvnは svn co http://svn.coderepos.org/share/lang/ruby/nario Codereposにあげているので自由に触ってください。 環境設定Windowsであれば、ファイル内のrskit/game.exeで、フルスクリーンで動作します。linuxであればruby/sdlを動く環境を作成して、 ruby nario.rb で大丈夫です。 Ubuntuで動作確認していただきました。 SUPER NARIOをプレイしてみた(最速レビューをめざして) - きみのハートを8ビットキャスト 操作方法十字キー ←↑→↓Aボタン ABボタン B終了 ESC(フルスクリーンで動かすときは特に覚えておいたほうがいいです) Todoきのことか成長系、他のマップ、BGM、SEただ、1-1を作って非常に疲れたの

    kazoo_oo
    kazoo_oo 2008/04/24
    初心者に夢与えますね。
  • 【ハウツー】今こそ再考察! C言語ポインタ徹底解説 (1) ポインタと1次元配列の関係 | エンタープライズ | マイコミジャーナル

    C言語は、ポインタが使える言語です。ポインタを使えば、メモリの直接的な操作など、より柔軟なプログラミングが可能です。一方、そのためにはポインタがどのようなメモリ領域を指し示しているか、またポインタ自体が有効なアドレスを保持しているかなどについて十分な理解が必要です。 稿では、C言語のポインタについて、配列との対比に焦点を当てて解説を行います。 *** C言語では、ポインタを配列のように扱うことができます。また、配列名はポインタに変換可能で、別のポインタに代入できます。 まずは1次元の場合について、ポインタと配列の関係を考えてみましょう。 宣言文の記述 いま、ポインタと配列を次のように宣言したとします。 char *p; ← char型へのポインタpを宣言 char a[5]; ← char型を要素とする、要素数5の配列aを宣言 この宣言の結果を図にすると、図1、図2のようになります。 図

    kazoo_oo
    kazoo_oo 2008/04/19
    まさに「今こそ」だったんだろうな。
  • 駄文 - 株式会社 Dino の新人研修がすごい - IT戦記

    この前紹介した 駄文 - 4 月からプログラマになったあなたへ - IT戦記 スタートアップ研修記 Dino という会社の新人研修ですが、すごいです。 何がすごいか 講義を動画で公開しているのです。 zoome.jp そして、新人はプログラミング未経験者 新人の方はプログラミング経験のない方なので、当然以下のような質問が飛びます。 IP ってなんですか? インタフェースってなんですか? ディレクトリってなんですか? などです。 この質問に対して、なるべく正しく、そして、イメージが湧くような説明をするってすごく難しいと思うんです。 逆に、生半可な知識で説明すると誤解を与えてしまうことになります。 でも、この動画の講師はすごく丁寧な説明で言い切るところは言い切って的確に教えているなあと思いました。 すごいです。 講師、新人両方に良い さっきも言ったように、基的な説明ってすごく難しくて、すぐに

    駄文 - 株式会社 Dino の新人研修がすごい - IT戦記
  • Born to code

    大まかな設計図をあたまに浮かべ、おもむろにコードを書き始める 下回りの部品から順番に、丁寧に積み上げて行く それでも必ず後から下回りの設計に気にわない部分が出てくるので、 苦しくてもそこは躊躇せずに壊しては作り直す そうして行くうちに、だんだんと下の方から設計がしっかりしたものになってくる 踏み固められた地面が固くなるように、少しづつ強固なプラットフォームが作られて行く 「今日はここまで実現しよう」と決めたら死にものぐるいでそこまで走る でも頭が回らなくなってきたら早く寝る そうやって愛しい我が子を育てる様にコードを一行一行書いていく 何百万人、何千万人もの人に使ってもらえる日を夢見ながら プログラミングという楽しみがある時代に生まれて来ることができた幸せを噛み締めながら

    kazoo_oo
    kazoo_oo 2008/04/08
    シンプル。素敵。思い出すことがたくさんあります。