タグ

ブックマーク / codezine.jp (19)

  • サンプルアプリでおぼえる実践的Android入門

    はじめに Androidをはじめとするスマートフォンが盛り上がりをみせています。2011年上半期の携帯電話販売ランキングの上位はスマートフォンがほぼ独占、爆発的な増加となっています。 スマートフォンのシェアが急激に拡大する中、開発の現場にも変化が起こっています。スマートフォン案件の増加です。iPhone用のアプリをAndroidに対応する案件や、業務端末としてAndroidiPadを使いたいといった案件が増えてきました。スマートフォンへの開発ニーズの高まりを感じます。 稿はサンプルアプリの作成を通じてAndroid開発について解説していきます。 電卓アプリをサンプルとして使用しますが、よくある機能が限定されたようなサンプルではありません。実用に耐えうる電卓アプリの基盤を作成していきます。 稿を読み終えた後は、電卓アプリにさらに機能追加が可能となりあなただけのカスタマイズ電卓が作成でき

  • 仮想ネットワークの実装で学ぶTCP/IP一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    仮想ネットワークの実装で学ぶTCP/IP一覧
  • 大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~

    11月25日、「mobidec 2011」においてコナミデジタルエンタテインメントのスタジオITセンター長である正延光弘氏によるセッション「大ヒットSNSゲーム『ドラゴンコレクション』を支えるコナミのクラウド技術の活用」が行われました。 ドラゴンコレクションは、GREEで提供されている携帯電話向けのカードゲームタイプのRPG。プレイヤーは、エリアごとにある複数のクエストをクリアしていき、モンスターカードや「秘宝」を手に入れ、さらに「ドラゴンカード」を集めていきます。また、ほかのプレイヤーとバトルすることでも秘宝を入手できるというSNS要素も取り入れられていました。2010年9月のサービス開始後、順調にプレイヤー数を伸ばし、現在では登録人数が500万人を超えています。 サービス開始当初は社内でサーバを構築し、フロントエンドに6台のサーバ、バックエンドに3台のデータベースサーバ、そしてロードバ

    大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~
  • 正規表現エンジンを作ろう (1)

    はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表

    正規表現エンジンを作ろう (1)
  • 「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
  • Hadoop、hBaseで構築する大規模分散データ処理システム

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Hadoop、hBaseで構築する大規模分散データ処理システム
  • Ruby on Rails用 統合開発環境(IDE) 比較レポート:CodeZine

    1. はじめに1.1. 背景 近年、スクリプト言語「Ruby」と、Rubyで書かれたWebアプリケーションフレームワーク「Ruby on Rails(以下、RoR)」が注目を集めています。 Ruby/RoRの開発はテキストエディタとコマンドラインツールがあればすぐに始めることができます。一方、Ruby/RoRの普及に合わせてテキストエディタとしての機能の他にデバッガ、WebサーバやDBサーバとの連携、バージョン管理などの機能を備えた統合開発環境(以下、IDE)が複数登場しています。 Ruby/RoR対応のIDEはJavaなど他言語のIDEと比較すると機能面や安定性にやや物足りなさがありますが、各IDEは活発に開発が行われており、実際の開発をサポートするレベルまで着実にバージョンアップを重ねています。1.2. 稿の目的 Ruby/RoR対応のIDEを使用する場合、NetBeans、Ecli

    ttakezawa
    ttakezawa 2008/05/15
    他の環境知らないから参考になるけど、Emacsがemacs-railsを導入していない比較になってるみたい…。使えばもっと便利になるのに…、っていったら他の環境でもキリがないかもしれんけど…。 個人的にはNetBeansと3rdRailに注目
  • signalについて(前篇):CodeZine

    はじめに シグナルはUNIXなどのOSにおける非同期イベントを通知する仕組みですが、「最古のプロセス間通信」「SysV系とBSD系で動きが違う」「昔のシグナルを使うと汎用性が無くなってしまう」「スレッドと相性悪し」といった理由からか、私の経験上、業務系アプリケーションではあまり使われていません。たまに使っているものを見ると、誤った使い方をしているものが多かったりします。 ところがこのシグナル、いろいろ調べていくと意外と奥が深く、有用に使えるのに、以外と情報が少ないことがわかりました。 今さらな感もありますが、ここでは私が知っている事や、調べた結果、今までの経験から得た知識などをまとめてみたいと思います。 ただし、環境によって動作が違うことが想定され、また一部のプログラムは環境に対し重大な影響を与えてしまうものもあります。プログラム等の使用に際しては十分に注意して頂き、ご自身の責任の範囲で行

    ttakezawa
    ttakezawa 2008/02/11
    Signalについて
  • 米Yahoo!製、Webサイトパフォーマンスチェック用Firefox拡張機能「YSlow 0.9.2」公開:CodeZine

    Yahoo!デベロッパーチームは5日、Firefox拡張機能「YSlow 0.9.2」を公開した。Firefox Add-onsより入手できる。なお、実行にあたってはFirebugがインストールされている必要がある。 この拡張機能は、米Yahoo!「Chief Performance Yahoo!」のSteve Souders氏が提唱する「パフォーマンス改善のベストプラクティス(Best Practices for Speeding Up Your Web Site、日語訳はパフォーマンス・チューニングBlog: インターオフィスを参照)」を実践するために、その問題点を調査できるというもの。 YSlowをインストールしたのちWebサイトにアクセスし、ステータスバーに表示されているYSlowのアイコンをクリックすることで解析が開始される。解析終了後「Perfomance」タブにチェッ

  • SQLによる数独の解法:CodeZine

    はじめに SQLを使って数独(ナンプレ)を解く方法を紹介します。 データベースを操作するための言語であるSQLを別の用途に使おうとする理由は、SQLが宣言的な記述が可能な言語の中で最も普及していると思われるからです(宣言的言語と言えばPrologを思い浮かべる方も多いかもしれませんが、残念なことにPrologは、SQLほどには普及していません)。 まず、宣言的な記述について説明しましょう。タクシーに乗ることを想像してください。「渋谷に行ってください」というように、欲しい結果を書くのが宣言的な記述です。具体的な道筋は運転手が考えてくれます。それに対して「まずA通りを北に行って、B交差点を左折して・・・」というように、具体的な道筋を示すのは手続き的記述です。プログラミング言語の場合も同様です。SQLやPrologにおいては、欲しい結果をプログラマが書けば、具体的な実現方法はコンピュータが考えて

  • CodeZine:携帯シミュレータ入門(開発ツール, まとめ)

    はじめに 携帯サイトは、PCのWebブラウザではテストできません。携帯のWebブラウザにはさまざまな機種依存仕様があるからです。マークアップ言語の違い(HTML/HDML)絵文字表示可能な画像形式(gif/png/jpg、カラー/モノクロ、色数、サイズ)受信サイズアクセスキー  これらは携帯の実機でテストする必要がありますが、開発中に携帯の実機でテストをするのは大変です。実機ではソースを見ることもできませんし、経費もかかります。 そこで携帯シミュレータの出番です。すべての機種依存仕様を正確にシミュレートできるわけではありませんが、上記のうち、1. 、2. 、5. をテストすることができます。稿では、携帯サイトの開発に必須となる携帯シミュレータの紹介と、使用上のポイントを説明します。対象読者 携帯向けWebサイトの開発者必要な環境 Windows 2000/XP携帯シミュレータ一覧 携帯シ

  • プログラミングと開発者のためのCodeZine:Rubyで作るProlog処理系(Ruby, Prolog, 記号処理, 自動推論)

    はじめに 1970年代にヨーロッパを主な舞台として生まれ育ったプログラミング言語Prologprogramming in logic)は、事実とルールから一種の自動推論を行う点に特徴があります。その基的な動作は200行ほどのRubyプログラムで実現できます。ここでは、筆者がRubyで作成したProlog処理系を解説します。 Prologによる簡単なプログラム例を下記に示します。 これは「ソクラテスは人間(human)である」「プラトンは人間である」という事実と、「人間ならばいつか死ぬ(mortal)」というルールを書いたものです。mortal(X) :- human(X)は、変数Xが実際には何であったとしても、もしもhuman(X)が成り立つならば(つまりXが人間ならば)、mortal(X)が成り立つ(つまり、Xはいつか死ぬ)という意味です。 簡略化のため、処理系ではRubyの構文要

  • PrototypeでAJAX開発を効率化:CodeZine

    去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。

  • 外国人エンジニア、「日本人は残業多スギ」「友達を大事にシマショウ」:CodeZine

    Tech総研がエンジニア4088人を対象にアンケートを行ったところ、「外国人技術者と仕事の接点はある?」との問いに「現在、仕事上で接する機会がある」と答えたのは17%、「以前、一緒に仕事をする機会があった」が33%となり、これらを併せた50%のエンジニア仕事上で外国人と接する機会があったと答えている。外国人エンジニア技術力へのハングリー精神や、高い語学力に「刺激を受けた」という回答も多く、外国人エンジニアの存在は、日エンジニアにとってもメリットのあるものといえる。 一緒に働くことで、お互いのカルチャーの違いを認識することにもなる。外国人エンジニアは日エンジニアの働き方を見て、次のようなことを感じたそうだ。 残業が多い 日人は仕事の物量をマンパワーで乗り切ろうとすることが多い。仕事の効率を重視する外国人からは「日企業はインフラ投資をおろそかにして、安い給与で長時間働かせる

  • Google流プログラミングの真髄を筑波大学で見てきた:CodeZine

    開催概要 12月14日、「つくばコンピュータサイエンス産学オープンカレッジ 第4回」が筑波大学で開催された。同大学のシステム情報工学研究科コンピュータサイエンス専攻が主催するイベントで、各産業界の協力を得てIT技術の最新動向を解説というもの。 今回は「Google流プログラミング」と題し、Googleを代表するAPIのキーパーソンをエンジニアリングチームから招聘し、主要APIMaps、Desktop、Gadget)の紹介と、Google社の紹介が行われた。世話人の加藤和彦教授によると、今回の講演は聴衆の関心が特に高く、用意した110席は30~40倍の倍率で、直ちに満席となったという。 講演は次の流れで行われた。Google Maps APIGoogle Gadgets APIGoogle Desktop SDKGoogleの会社紹介 Google Map API まず、Chris A

  • CodeZine:JavaScriptでつくるSchemeインタプリタの基礎の基礎(lisp)

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。概要作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラムの入力お

  • CodeZine:CometとAjaxを利用したチャットサーバの実装()

    はじめに 『簡単なHTTPサーバの自作』第5回目の今回は、クライアントとの通信に、ブラウザ自身によるリクエスト/レスポンスに加えてAjaxとCometを利用した簡単なチャットアプリケーションを実装します。 Webアプリケーションでチャットを実装する場合に考えなければならないのは、他の発言者のメッセージをどうやってブラウザへ反映させるかです。自分が発言する場合は、サーバへ対してメッセージが送信されます。従って応答データに現時点の発言を返せば済みます。しかし、この方法だけでは他の参加者の発言を発言時に読むことはできません。 この問題を解決する手段は複数あります。 次の図は最も原始的ですが、確実な『F5連打法』を図示したものです。 F5連打法では、ユーザーは最新の発言がありそうだと感じた時に[F5]を叩きます。するとブラウザが最新の情報をサーバへ取りに行くため、もし発言が更新されていればその情報

  • CodeZine:Rubyで簡易POP3サーバを作る(POP3, Unix, メール, サーバ, Ruby)

    はじめに 稿ではRubyを使ってシンプルなPOP3サーバを作成します。 POP3は、いわゆる「メールの受信」のときに使われるプロトコル(通信規約)です。稿では、このPOP3でサービスを提供するサーバの作成を通じて、以下のことを学びます。ネットワークプログラミングの基礎POP3の仕組みRubyによるネットワークプログラミングRubyによるUNIXシステムプログラミング POPdの概要 稿で作成するPOP3サーバ(POPd)は、イントラネットなどの信頼できるネットワークを前提として作成します。そのため、セキュリティへの配慮は最低限にとどめ、できるだけシンプルな構造を心掛けます。ただし「最低限の配慮」として、パスワードが平文で流れないようにするため、POP3の中でも特にAPOPという認証方法を用います。 また、速度やメモリ容量に関してもあまり配慮しません。せいぜい数人から数十人が日常的に使

  • CodeZine:Selenium 0.7利用手順書(前編)(Selenium, Webアプリケーション, テスト)

    はじめに 稿は、Webアプリケーション用のテストツールSelenium(セレニウム)を利用するための手順を解説するものです。これから2回に分けて、Seleniumの概要および、インストール手順、実際のテストケースの実行について解説していきます(後編はこちら。また、Tipsも公開しました)。 今回は、Seleniumの概要および、Seleniumのダウンロード、インストール手順について解説します。読者対象 プロジェクトの試験担当者を想定しています。対象フェーズ ドキュメントでは、プロジェクトにおいて作成したWebアプリケーションに対して、ブラウザを用いた試験(結合試験・総合試験)を実施するフェーズを対象としています。Webアプリケーションの製造、単体試験フェーズや、外部のアプリケーションに対する試験については対象外です。使用したソフトウェア・環境 Seleniumを動作させるにあたり、以

    ttakezawa
    ttakezawa 2006/08/31
    Webアプリのテストができる 便利そう
  • 1