ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす
Smashing Magazine - WE SMASH YOU WITH THE INFORMATION THAT WILL MAKE YOUR LIFE EASIER, REALLY. 文字列を処理するにあたって正規表現は欠かせない機能といえる。任意の文字列やテキストファイル、HTML/XMLから特定のキーワードを検索したり取り出し、置換をおこなうにあたって、正規表現が使えると使えないのとでは、プログラミングの手間やツールの活用度合いが変わってくる。 正規表現は便利で強力な機能だが、その独特の表記方法はプログラマ初心者には敷居の高いものでもある。Glen Stansberry氏による正規表現に関するチュートリアルや資料、ツールなどのまとめがSmashing MagazineにEssential Guide To Regular Expressions: Tools and Tutori
Android Developer Challenge ã§ã¯ãAndroid ç¨ã«æãåªããã¢ããªã±ã¼ã·ã§ã³ãä½æãããããããã¼ã«ãç·é¡ 1,000 ä¸ãã«ã®è³éãæä¾ãã¾ãã詳細 ããããã®ãã㪠Google Developer Day 2008 Japan ã»ãã·ã§ã³ãAndroid ã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ ï¼åºç¤ç·¨ï¼ã
編集元:ニュース速報板より「必ず役立つフリーソフト 36本を厳選」 1 スミレ(愛知県) :2009/05/21(木) 15:30:49.14 ID:BOkS+1DD ?PLT(12000) ポイント特典 株優プチ 無料でも機能・操作性は抜群! 必ず役立つフリーソフト ---総論 36本の秀逸ツールを厳選 2009年5月21日 page:1/1 パソコンを、もっと便利に使いたい──。 そんな欲求を“無料”でかなえてくれるのが、インターネットで公開されているさまざまなフリーソフトだ。 今まで「できない」「わからない」とあきらめていたことが、1本のフリーソフトで簡単にできることもある。 ただ、そんな値千金の1本に巡り会うためには、インターネット中を探し回る労力と、探し当てる土地勘が必要になる。 そこで今回は、PC21読者になり代わり、編集部がネットを探索。 日ごろのアンケート
プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ
ハッカー能力を高めるのに優れた方法は、実際にコードを書くことと、ほかの人が書いた優れたソースコードを読むことです。今回は、わたしの過去の経験からソースコード読解の秘訣を考えてみます。 ハッカー能力を向上させる方法 『Code Reading*』という書籍があります。わたしが監訳をしているから言うわけではないのですが、結構良い本です。今回の「ハッカーズライフ」は、この本を読んだ人には当たり前のことかもしれません。 ハッカーとしての能力を身に着けるのに優れた方法は、実際にコードを書くことと、ほかの人の書いた優れたソースコードを読むことだと思います。特にコードを読むことは普段あまり強調されませんが、他人のソースコードはいろんな意味で知恵と知識の源です。考えてみれば、わたし自身も他人のソースコードをたくさん読んで学んだように思います。 「コードを読むのは勉強になる」ということで、世の中には「Lin
$Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第
The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.
pthread_createしたらjoinを忘れない 概要 pthread_createで作ったスレッドはdetachしない限りはjoinしないとスタックなどのリソースが 解放されない。従ってjoinするのを忘れるとメモリリークを起こす。 pthread_createでスレッドを作ったらdetachするか必ずjoinすること ソースと実行結果 はじめにjoinを使用した場合の仮想メモリの状態をみる。この場合のソースは次の通り pthread.c コンパイルの方法は gcc -o pthread -pthread pthread.c #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <pthread.h> void* thread_main( void* args ) { fprintf( stder
CellプログラミングではSPEプログラミングでの最適化テクニックが重要となる。CellにおけるDMA転送はLSとメインメモリの間をCPUを介さずに通信する仕組みである。今回は、DMA転送を最適化するダブルバッファリングというテクニックを試してみた。 DMA転送を最適化するテクニックとしてダブルバッファリングがある。 ダブルバッファリングでは、二つのバッファとタググループを使用し、DMA転送と計算を同時に行うことで処理時間を短縮することができる。 DMA転送に使用するバッファを2つ宣言する。 2^20という巨大なサイズを持つ配列に0~2^20-1間で初期値を代入する。PPE側で8つのSPEで処理を並列処理するようにデータを準備する。PPEの処理は次のようにする。 DMA転送に使用するため128byte境界にアラインした領域をヒープにメモリを確保する。配列の値を初期化する。配列を16個のチャ
芸術の秋にProcessingでスケッチプログラミングを始めてみよう:絵心がなくても簡単に絵が描けるProcessing(1)(1/3 ページ) アートやデザインのための“プログラミング” 読者の皆さんは「プログラミング」という用語や、それをすることに、どんなイメージを持っているでしょうか。仕事に使われるアプリケーションやWebサービスの開発の世界の「プログラミング」を考えてみると、多くの場合「実用性や効率が重んじられ、専門的な知識を持ったエンジニア/プログラマーが慎重に正確に行うもの」といったイメージではないかと思います。 しかし一方で、実用性ではなくスクリーンに表されるイメージや動きの美しさ、見るものを引き込むインタラクションのアイデアをプレゼンテーションする「プログラミング」の世界も存在します。エンジニアではなくアーティストやデザイナーが、驚きやインスピレーションを求めて大胆に「プロ
Flashで3D? 数年前まで、Flashと言えばデザイナが絵やアニメーションを作り、そこにちょっとしたインタラクティビティを持たせるためのツールという見方が一般的でした。しかし、昨年あたりから急激に「えっ!?こんなことがFlashでできるの?」というようなコンテンツが増えてきています。このようなコンテンツが現れはじめた原因は、言語仕様が一新されたActionScript 3による高いパフォーマンスにあります。 本連載では、ActionScript 3のパフォーマンスを活かした一例として、Web上での3D表現を取り上げます。Webで3Dというと、VRMLやJava3Dなどの方法が存在はしたものの、なかなか広まることがありませんでした。これは実行環境の普及率が原因していると言えるのではないでしょうか。その点について、Flashは恵まれた環境にあると言えます。Adobeの資料によれば、日本国内
Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く