矢田 晋 Abstract: libbzip2 は bzip2 で採用されている圧縮アルゴリズムのライブラリです.Burrows-Wheeler Transform (BWT) を用いることが特徴の一つであり,gzip と比較すると,圧縮・伸長には時間がかかるものの,優れた圧縮率を示すことが多くなります.本記事は,C 言語から libbzip2 を利用する方法の解説になっています. はじめに libbzip2 のマニュアルは公式サイトで提供されています. http://www.bzip.org/(bzip2 : Home) bzip2, libbzip2 の公式サイトです.ソースコードとマニュアルがあります. libbzip2 では,bz_stream という構造体を用いる低水準インタフェースと,BZFILE という型を用いる高水準インタフェースが用意されています.低水準インタフェースはメ
On this page, you can see results and code from past rounds of Code Jam and related spin-offs.
After specifying the event mask, the WaitCommEvent function detects the occurrence of the events. If the port is open for nonoverlapped operation, then the WaitCommEvent function does not contain an OVERLAPPED structure. The function blocks the calling thread until the occurrence of one of the events. If an event never occurs, the thread may block indefinitely. Here is a code snippet that shows ho
最近の投稿 Qt Labs Japan 一周年と URL の変更のお知らせ Qt Quick 入門 第8回: QML の描画処理 今後の QtWebKit のリリースについて import QtQuick 1.1 Qt Quick 1.0 と今後について(別名: リンクだらけの記事) オープンソースカンファレンス 2011 Tokyo/Spring 御礼 Qt Quick のリリース、コミュニティによる Android や RTOS への Qt の移植とエキサイティングな Qt ロードマップ Qt SDK 1.1 ベータ版のリリース Qt Creator 2.1.0 リリース Qt 4.7.2 リリース 最近のコメントQt をはじめよう! 第6回: 簡単なブラウザを作ってみよう! に サイトウ よりQt をはじめよう! 第6回: 簡単なブラウザを作ってみよう! に 鈴木 佑 よりQt を
フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動
ソフトウエア開発にはバグがつきものだ。ただし、バグの発生を最小限に食い止める方法がある。コーディング規則を適用してコードを記述することだ。バグが発生してからそれを発見し、修正するという通常の開発手順に比べて、簡単に、しかもコストをかけずにバグをつぶせる。 ここでは、ZigBeeを利用したセキュリティ・システムから医療機器にわたる筆者の組み込みソフトウエア開発の経験から得た、バグをなるべく発生させないコーディング規則を紹介する。 なぜコーディング規則が必要か コーディング規則は、ソフトウエア開発者に対して、コードを記述する上での規則をまとめたものである。英語のライティング教本として著名な「The Elements of Style」(William Strunk Jr.、E. B. White著)の、プログラミング言語版のようなものだ。 組み込みソフトウエアにも、きれいで、正しく、簡潔に書く
HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli
複数のSNSサイトで共通に使える開発プラットフォームを提供する「OpenSocial」。本連載では、OpenSocialをサポートしているmixi上で実際にアプリケーションを作成しながら、OpenSocialのさまざまな機能に触れていきます。第1回は、OpenSocialの概要を紹介します。 OpenSocialとは SNS(Social Networking Service:ソーシャル・ネットワーキング・サービス)は、その名の通りソーシャルな(≒人間関係の)ネットワークを、インターネット上で構築するサービスです。2005年頃から着実に普及を続け、今や膨大な会員数と、さらに膨大な数の会員同士のネットワーク情報を抱えるようになっています。SNSの基本的な機能としては、次のようなものがあります。 人を検索し、自分の友人として登録する機能 他の人とメッセージをやり取りする機能 自分のプロフィール
サイト更新情報 2006/12/06 よく使われているページを検索窓から簡単に辿れるようにしました。(検索窓に「prototype」と入力) 2006/11/27 JavaScript入門/応用サイトJavaScriptistオープン! 2006/11/23 試して確認できるJavaScriptオンラインエディタを公開 2006/11/20 JavaScriptリファレンス、逆引きサンプル集を公開 2006/11/19 JavaScriptライブラリ活用ページ公開 2006/11/15 JavaScriptistベース機能の構築完了 過去のサイト更新情報
グーグルが新プログラミング言語「Noop」を公開しました。Noopは新旧のプログラミング言語からいいとこ取りをした、JavaVMで動作するプログラミング言語と説明されています。 Noopは、サン・マイクロシステムズで開催中の「JVM Language Summit」で、グーグルの2人のエンジニア、Alex Eagle氏とJérémie Lenfant-Engelmann氏によって発表されました。 すでにJVM Language Summitでの発表資料がPDFとして公開されており、その資料には、Noopのミッションが次のように説明されています。 Noop's mission Help teams develop software that is easier to understand and maintain. Noopのミッション 分かりやすくメンテナンスしやすいソフトウェアのチーム開
JSON (JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。 JavaScriptプログラミング言語 (ECMA-262標準第3版 1999年12月)の一部をベースに作られています。 JSONは完全に言語から独立したテキスト形式ですが、C、C++、C#、Java、JavaScript、Perl、Python、その他多くのCファミリーの言語を使用するプログラマにとっては、馴染み深い規約が使われています。これらの性質が、 JSONを理想的なデータ交換言語にしています。 JSONは2つの構造を基にしています。 名前/値のペアの集まり。様々な言語で、これはオブジェクト、レコード、構造体、ディクショナリ、ハッシュテーブル、キーのあるリスト、連想配列として実現されています。
OpenSocial API デベロッパー ガイド (OpenSocial API v0.8.1) このガイドでは、OpenSocial アプリケーションの構築について解説します。このガイドを十分に活用するには、Gadgets API および JavaScript に関するある程度の知識が必要です。より詳しい情報を参照できるよう、他のドキュメントへのリンクも設定されています。 このガイドには、OpenSocial API の 0.7 更新時の変更点が反映されています。New!や Updated のマークは、コーディング方法が前のバージョンから変更されたことを示します。 目次 ソーシャル アプリケーションの記述 OpenSocial ライブラリのインポート 人やプロファイルへのアクセス 基本情報の取得 友だちを一覧表示するサンプル コード 永続データの操作 アクティビティの登録 許可のコ
Javaで書かれたソースコードの理解と機能追加の妥当性の判断をするもの。ここ(我々の研究グループのWeb)からオンラインでソースコードを読み、無料で参加できる。結果は個人情報を削除した上で、3, 4か月程度でWebで公開する予定。ご自身のスキルの位置づけに使ってもらえればと思う。同時に、その結果から得られた知見を論文化することを目指している。 今回診断できる読解力は、次のとおり。 与えられたソースコード全体の理解 機能追加(機能改善)のためのソースコード(1との差分)の理解とその差分により不具合が起きないかどうかの判断 1のソースコード理解は、必ずしもプログラマだけの仕事ではない。コーディングを誰か他のメンバが担当していた場合でもそのソースコードを大まかに把握しておくことは必要になる。また、パートナー等へ外部委託する際には、納品・検収時に納品物を大まかに把握しておく必要がある。ソースコード
FlashDevelop(フラッシュ・デベロップ)というActionScriptのエディターが非常に優秀で、これとAdobeがオープンソースで提供しているFlex SDKがあれば、お手軽かつ無料でFlashを作ることができます。 FlashDevelopはソフトの軽さと強力なコードヒント機能によってプロのFlasherから熱烈な支持を受けているエディターです。まずはコードヒント機能がどのくらい優れているか分かる90秒のライブコーディングビデオを用意しました。 FlashDevelop Code Hint Movie from clockmaker on Vimeo. コードの補間によってキータイプの量を劇的に減らせ、自動的に整形されるため見通しの良いコードが仕上がるのがおわかりになるかと思います。 では、そんな便利で高機能なFlashDevelopのインストール方法を紹介します。できる限り
Basic認証の仕組み WebのBasic認証は、予め認証が必要と設定されているURLに対するアクセス要求をWebサーバが受け取ったときに、Webサーバから認証要求の応答を返し、それに対してブラウザがログインのダイアログボックスを表示する、という手順で行われる。さらに具体的に説明すると、以下のような動作となる: ユーザがブラウザ上で、URL:http://server/hoge/を入力するか、リンクをクリックする。 ブラウザが認証が必要なURL、http://server/hoge/に対するリクエストをサーバに送る。このときのヘッダ情報は GET /hoge/ HTTP/1.0 : サーバがリクエストを受けた/hoge/というURIは、.htaccessなどにより、Basic認証を要求するように設定されており、サーバをこの情報を元にブラウザに以下の応答を返す。 HTTP/1.0 401 U
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く