タグ

ブックマーク / atmarkit.itmedia.co.jp (41)

  • Androidアプリ開発でテストを始めるための基礎知識

    Androidアプリのテストに関する課題 Android端末の普及は世界規模で増加の一途をたどっています。2011年秋冬モデルが発表され、発売予定のものを含むと日で発売中のAndroidの携帯端末は100機種に迫ろうとしています。読者の皆さんの周囲を見渡しても、電車や街角でAndroidを採用したスマートフォンなど携帯端末を使用する人をよく見かけるのではないでしょうか。 そして、スマートフォンに留まらずタブレットやミュージックプレイヤー、電子ブックリーダー、POSレジ、テレビなど、さまざまなデバイスがAndroidを搭載し始めています。Androidの採用が増えるにつれ、Androidアプリの種類が増えるので、アプリの開発案件も増えることになります。実際、稿を読んでいる開発者の方の中にも、すでにAndroidアプリの開発に取り組んでいる方も多いのではないでしょうか。 筆者も普段の業務の

    Androidアプリ開発でテストを始めるための基礎知識
    ita-wasa
    ita-wasa 2011/11/22
    本連載では、テスト部で培った下記のような項目のノウハウを実際のテストコード例とともに紹介していきます。 ビジネスロジックのテスト UIのテスト データベース(SQLite)のテスト モックを使ったテスト
  • iptablesでできるDoS/DDoS対策

    サーバとして ・受信パケットは破棄。ただしステートフル性を確認しサーバから送信されたパケットに関連するものは許可 ・送信パケットは基的にすべて許可 ・ループバックアドレスに関してはすべて許可 ・サーバからのDNS問い合わせ(UDP 53)を許可 ・pingリクエストを許可 ・ssh接続を許可 DoS/DDoS対策のため ・同一ホストからのpingリクエストに対し、1分間に10回までしか応答しない ・同一ホストからのssh接続リクエストに対し、1分間に1接続に限定 テンプレート13の表示(別ウィンドウで開く) テンプレート13の解説 limitモジュールを使った制限では、正常なリクエストも不正アクセスに紛れてしまいます。ブルートフォース攻撃を受けている間は、管理者でさえもSSHログインできません。 そこでhashlimitモジュールを使用します。hashlimitモジュールならクライアント

    iptablesでできるDoS/DDoS対策
    ita-wasa
    ita-wasa 2011/06/22
    limitモジュールを使った制限では、正常なリクエストも不正アクセスに紛れてしまいます。ブルートフォース攻撃を受けている間は、管理者でさえもSSHログインできません。  そこでhashlimitモジュールを使用します。hashlimit
  • テンプレート13(行番号付き)

    1    #! /bin/sh 1    #! /bin/sh 2 3    ############## 4    #Flush & Reset 5    ############## 6    /sbin/iptables -F 7    /sbin/iptables -Z 8    /sbin/iptables -X 9 10    ############## 11    #Deafult Rule 12    ############## 13    /sbin/iptables -P INPUT DROP 14    /sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 15 16    /sbin/iptables -P OUTPUT ACCEPT 17 18    /sbi

    ita-wasa
    ita-wasa 2011/06/22
    25 ####################### 26 #ICMP Ping 27 ####################### 28 /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -m hashlimit --hashlimit-name t_icmp --hashlimit 1/m --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-htable-expire 120000 -j ACCEPT 29 #/sbin/iptable
  • iptablesでできるDoS/DDoS対策

    はじめに 今回はDoS/DDoS対策を紹介します。今回はiptablesを使った方法とともに、Linuxのカーネルパラメータを使った方法も紹介します。 関連リンク: →Linuxで作るファイアウォール[パケットフィルタリング設定編] http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html →連載記事 「習うより慣れろ! iptablesテンプレート集」 http://www.atmarkit.co.jp/flinux/index/indexfiles/iptablesindex.html →連載記事 「習うより慣れろ! iptablesテンプレート集 改訂版」 http://www.atmarkit.co.jp/flinux/index/indexfiles/newiptablesindex.html DoS/

    iptablesでできるDoS/DDoS対策
    ita-wasa
    ita-wasa 2011/06/22
    テンプレート12ではICMP Pingエコーの応答回数を、最大10回(10回リクエストに応答した後は1分に1回)に制限しています。「--limit-burst 10」で最大応答回数を10回としています。10回までは無条件に応答し、11回目の応答は破棄さ
  • bashで始めるシェルスクリプト基礎の基礎(1/2)

    GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

    bashで始めるシェルスクリプト基礎の基礎(1/2)
    ita-wasa
    ita-wasa 2011/03/29
    ■変数に対するパターンマッチ  前回、ファイルの拡張子を書き換える例を示したと思います。そこに使ったパターンマッチは4種類あり、非常に汎用性の高いものです。 * ${変数#パターン} 変数の内容について、最
  • Oracle OpenWorldの「裏メニュー」アンカンファレンスとは - @IT

    派手な演出のキーノート、ビッグネームがそろうセミナー、そして広大な展示会場……大規模なイベントは多くの人がそれに注目をしている。しかし、このOracle OpenWorldではひときわ地味なセッションが用意されている。それが「アンカンファレンス」だ。 Oracle OpenWorldのアンカンファレンスは今回で3度目の開催で、セッションやワークショップを開催したいという人がテーマを決め、メインのカンファレンスでは語られないようなテーマを、自分たちで作るというものだ。その内容は多岐にわたっており、実用的なものからタイトルだけでは何か分からないものまである。さらに、当日まで何をやるか分からない(当日、アンカンファレンスを実施したいという人向けの)部屋も用意されており、会場入り口には小さな付せん紙で作られたスケジュール表が用意されている。 2009年のアンカンファレンスでは3つの部屋が割り当てら

    ita-wasa
    ita-wasa 2011/02/19
    Oracle OpenWorldのアンカンファレンスは今回で3度目の開催で、セッションやワークショップを開催したいという人がテーマを決め、メインのカンファレンスでは語られないようなテーマを、自分たちで作るというものだ。その
  • 4月版 遅れの原因はどこ? LatencyTOPで解析可能に(1/2) - @IT

    上川純一 日ヒューレット・パッカード株式会社 コンサルティング・インテグレーション統括部 2008/4/30 linux-kernelメーリングリスト(以下LKML)かいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。2008年3月のLKMLでどんなことが起きたのか見てみましょう。 2.6.25リリース、timerfdも有効に 3月25日に2.6.25-rc7がリリースされました。その後、rc8、rc9を経て、最終的に4月16日に2.6.25がリリースされています。 Linusは前回の2.6.24のリリース時に、リリースの間隔が長くなってしまったことを嘆いていました。しかし今回のリリースでは、前回に比べリリース間隔が短くなり、83日になっています。これは2.6.21や2.6.22の水準に戻ったことになります。 カーネル2.6.25におけるシステムコールでの変

    ita-wasa
    ita-wasa 2011/01/20
    latencytop機能が有効になったカーネル(CONFIG_LATENCYTOPを有効)上で、latencytopコマンドラインアプリケーションを実行するだけです。これで解析がやりやすくなりますね。
  • Linuxに勝てなかったPlan 9 - @IT

    2002年頃、とある雑誌でPlan 9の記事を6ページほど作ったことがある。冷静に考えると、とても流行するようには思えなかったのだが、私にはPlan 9はまぶしく輝いて見えた。それは紛れもなく未来のUNIXだったし、日々コンピュータやネットワークを利用する環境として、ぜひとも使いたいと思えるような機能が多くあった。 「Plan 9」(プラン・ナイン)はUNIXが生まれたベル研究所で、次世代UNIXとして開発されていた分散OSだ。UNIXやC言語を生み出したケン・トンプソン、デニス・リッチー、ロブ・パイクらのチームが、当時UNIXが抱えていた限界を打ち破るために、ネットワークやGUIを最初からUNIXの設計思想に基づいて取り入れた先進的なOSだった。それは、未来のUNIXとなるはずだった。 UNIXの大きな特徴として、デバイスをファイルにマッピングして抽象化するというものがある。各I/Oポー

    ita-wasa
    ita-wasa 2010/10/14
    とこなせていた、という。このPlan 9とUNIXの事例から、野心的なシステム設計者に対してレイモンド氏が引き出す教訓は「より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ(th
  • モバイルでもリラックス! CouchDB on Android

    モバイルでもリラックス! CouchDB on Android:ゆったリラックス! CouchDBがあるところ(5)(1/3 ページ) いつでもどこでもCouchDBを。2010年8月にAndroid版CouchDBが登場しました。そこで今回は予定を変更し、Android版のインストールと活用方法を2回に分けて解説します(編集部) CouchDB is Everywhere! この夏、CouchDBには大きな動きがありました。まずはどんなことがあったのかを見てみましょう。 CouchDB 1.0リリース 1つ目は皆さんもご存じのとおり、2010年7月14日(現地時間)にCouchDB 1.0が正式リリースされたことです。データ消失する可能性のあるバグがリリース直後に見つかり、その修正版の1.0.1が2010年8月16日(現地時間)に緊急リリースされたという問題もありましたが、CouchDB

    モバイルでもリラックス! CouchDB on Android
    ita-wasa
    ita-wasa 2010/09/07
    CouchDBは数あるNoSQLなミドルウェアの1つとして、そのほかのNoSQLと比較されることの多いようですが、CouchDBの神髄は、そこでの比較ではなく、データとアプリケーションを“一緒にレプリケーションできること”にあると考
  • Rによるオープン・データの可視化(2)

    今回は美しいグラフが手軽に作成できる、グラフィックパッケージを使ってみます。世界銀行のデータや、先日Wikileaksで流出して話題となっているアフガン戦争のデータを使い、可視化のほかデータの正統性の検証も行ってみます。 ggplot2という「デフォルト」グラフィックパッケージ 今回は前回の続きとして、オープン・データをプロットすることをテーマに取り上げます。前回はRの組込みのグラフ描画関数である、plotやts.plotのみを利用しましたが、今回は、外部グラフィックライブラリとして最近非常に注目されているggplot2パッケージを利用します。この連載でも今後、グラフ描画についてはggplot2を利用していく予定です。 また、今回はWebサービスを利用したデータ取得についても取り上げます。 ggplot2は、Rユーザーの間ではデファクトスタンダードのツールとなっているグラフィックパッケージ

    Rによるオープン・データの可視化(2)
    ita-wasa
    ita-wasa 2010/09/03
    次に検証を試みたいのは、果たしてこのデータは本物なのかどうか、ということです。もちろん、すでに米国政府はこのデータは正式なものであると認めていますので、それを信じるならばこれ以上の解析は必要ありません
  • Rによるオープン・データの可視化(1)

    今回はパブリックに入手可能な“オープン・データ”とRを使い、人口統計や株式相場などのデータを可視化します。自分の手を動かすことで、社会状況の把握や仮説の検証ができるのです。 オープン・データを図示・可視化する 今回から数回にわたって、比較的話題にされることが多い社会の状況を表すオープン・データを図示・可視化することをテーマとしたいと思います。 そういった公的なオープン・データは、いろいろな新聞、書籍、雑誌、Webサイト、論文などで取り上げられることが多いので、わざわざ可視化する必要がないという意見もあります。しかし、筆者の意見では、それだからこそ問題を自分の頭で考えるためのきっかけにするために、自分でデータを図示・可視化する必要があると思っています。すべての考察は自分が寄って立つ土台が必要で、その土台の検証を始めることで、いろいろな吟味、検討を行うに耐える足場を確認できます。そして、その確

    Rによるオープン・データの可視化(1)
    ita-wasa
    ita-wasa 2010/09/03
    2010年は破線で表していますが、現在でも高齢者と生産年齢の人口比は0.36、つまり逆数をとって現役2.76人で高齢者1人を支える構造になっています。これが2055年には0.7になります。つまり現役1.4人で高齢者1人を支えるという
  • @IT:PDFファイルで使用されているフォントを調べるには

    PDFは、作成環境と表示環境が異なっていてもオリジナルに近い表示が可能だ。フォントを埋め込むことにより、表示環境に存在しない書体も再現できる。逆に、フォントが埋め込まれていない場合はオリジナルと表示が異なる可能性がある。 PDFファイルにどのようなフォントが使われているか、フォントは埋め込まれているか否かなどの情報をLinuxで調べるには、pdffontsコマンドを使う。PDFファイルを指定してpdffontsコマンドを実行すると、以下のように使用されているフォントフォントの種類、埋め込まれているかどうかなどの情報が表示される。 $ pdffonts sample.pdf name                                type         emb sub uni object ID ----------------------------------- --

    ita-wasa
    ita-wasa 2010/07/21
    PDFファイルにどのようなフォントが使われているか、フォントは埋め込まれているか否かなどの情報をLinuxで調べるには、pdffontsコマンドを使う。PDFファイルを指定してpdffontsコマンドを実行すると、以下のように使用されて
  • IPv6で内部のルーティングを設定しよう!

    IPv6による外部への接続の設定が済んだら、次は内部のルーティングを設定しよう。IPv4と比べ、LAN回線やルータの設定のIPv6ならではの注意点について、設定方法を紹介しながら、説明していく。 IPv6によるルーティングを行う 前回の「IPv6で外部接続しよう!」では、IPv6により外部接続するための設定事例を紹介した。今回は、内部でIPv6ルーティングの設定をどのようにして行うかについて解説する。図1でいうと、赤枠で囲んだ企業網内の回線、およびその回線につながるルータの部分である。 基的にはIPv4と同じ 連載の第1回目に説明したように、IPv6は基的にIPv4と同じ動作をする。そのためIPv6でもIPv4と同様に経路制御や端末へのアドレッシングを行わないと、パケットをしかるべき送り先に中継することができない。 逆に、それ以上のことは特に考慮しなくてもIPv6ネットワークは十分運

    IPv6で内部のルーティングを設定しよう!
    ita-wasa
    ita-wasa 2010/06/04
    RAを用いたアドレス自動生成は、64bitのプレフィックスを用いた場合についてのみ仕様が規定されている。そのため端末実装によっては64bit以外のプレフィックスを受けてもアドレスの自動生成ができないことがある。
  • 無視できないフラグメンテーション問題への解答は?(1/2) - @IT

    1月版 無視できないフラグメンテーション問題への解答は? 小崎資広 2010/2/10 当初、今回はmemory compactionとtransparent hugepageという2つのトピックを取り上げ「Hugepage大特集」にしようと思っていたのですが、並列プログラミングカンファレンスに触発され(正確には、そのカンファレンスに参加できなくて悔しかったことに触発され)、後者を急きょ、ロックレスネタに差し替えて紹介します。 でもこれが大失敗で、調査が大変過ぎて泣けたうえに、スケジュールがとんでもないことに。人間、思い付きで行動してはいけないといういい見ですね。 Melの悲願なるか? Memory Compactionチャレンジ Mel Gormanは、Memory Compaction v1パッチシリーズを投稿しました。これは「Linuxメモリ管理の最先端を探る」で説明したAnti

    ita-wasa
    ita-wasa 2010/03/07
    レビューアからは「なんというオレ専用API」「ほかの用途への応用がまったく思い付かない」などと次々の賛辞の声が寄せられ、ちょっとした祭りになっています。Paul E. McKenney(RCUサブシステムのメンテナ)はこのパッチ
  • RCUの全面書き直しも! 2.6.29は何が変わった?(1/2) - @IT

    4月版 RCUの全面書き直しも! 2.6.29は何が変わった? 小崎資広 2009/5/8 いやあ、文字数の都合で書けませんでしたが、4月最終週はIngoがいい出した「カーネル専用コンパイラを作ろうぜ!」スレッドが大盛り上がり。おバカな話題ほどスレッドが伸びるのは、全世界共通ですね。 それでは予告どおり、今回はカーネル2.6.29についてのよもやま話をお送りいたします。どうぞ。 カーネル2.6.29の主な変更点 ■ランダムシード受け渡し方法の変更によるアプリケーション起動の高速化 最近のgccには、glibcと連携してスタック破壊を検知するSSP(Stack Smashing Protector)という機構が実装されています(-fstack-protectorオプション)。これはスタックに「カナリア値」と呼ばれる特殊な値を埋め込み、関数リターン時に、その値が無変更であることを確認することで

    ita-wasa
    ita-wasa 2010/03/07
    さて、ここまでだと、世の中の99.999%の人にはまったく恩恵のないパッチで終わってしまうのですが、1つ非常に素晴らしいfeatureが追加されています。それは省電力サポートです。  従来のRCUはその動作原理上、一切仕事が
  • 無視できないフラグメンテーション問題への解答は?(2/2) - @IT

    1月版 無視できないフラグメンテーション問題への解答は? 小崎資広 2010/2/10 ユーザー空間でRCU? membarrier()システムコールとは Mathieu Desnoyersによって、「introduce sys_membarrier(): process-wide memory barrier」と題されたパッチが投稿されました。 sys_membarrier()は、その名のとおり、メモリバリア(注3)を発行するシステムコールです。「メモリバリアぐらいユーザー空間から勝手に発行すればいいじゃないか。システムコールにする必要性がまったくないよ」と思うかもしれませんが、これにはちゃんと理由があります。 ちょっと長くなりますが、まずは背景をば。 MathieuはLTTngの作者として有名で、最近は、LTTng(関連記事)への高速なユーザー空間トレーシング機能の追加に力を入れていま

    ita-wasa
    ita-wasa 2010/02/13
    レビューアからは「なんというオレ専用API」「ほかの用途への応用がまったく思い付かない」などと次々の賛辞の声が寄せられ、ちょっとした祭りになっています。
  • 退職を引き止められたときの「落とし穴」にご注意

    退職を引き止められたときの「落とし穴」にご注意:転職活動、当にあったこんなこと(31)(1/2 ページ) 多くのITエンジニアにとって「転職」とは非日常のもので、そこには思いがけない事例の数々がある。転職活動におけるさまざまな危険を紹介し、回避方法を考える。 転職は、自分の希望をかなえるためにするもの。ただし、転職活動は自分自身だけではなく、相手企業や現職の企業、職場や周囲の人間関係などに影響を及ぼします。希望企業の内定を得て、いざ退職しようとするとき、周囲の人たちとの関係から、迷いが出てくることが多いようです。 今回は、見事内定を取ったあとについてお話ししたいと思います。 偶然にも同じような経験、同じような希望を持った2人が、転職活動で異なる結論を出した事例を見てみましょう。この2人が、後にどのように変わったかをご紹介します。 よく似た2人 田中さん(仮名)は28歳のITエンジニア。5

    退職を引き止められたときの「落とし穴」にご注意
    ita-wasa
    ita-wasa 2010/01/25
    山田さんは、ITコンサルティングから詳細設計まで一貫して行っている企業の内定を得ました。 詳細設計までやっておきながら実装はやらないのか? キモスギル。よっぽど自分質のコンサル&設計に自信がないんだろうな。
  • 実はメイリオまだ進化中! 誕生秘話を河野氏に聞いた - @IT

    2010/01/07 現在ロンドンの地下鉄の案内図や路線図で全面的に使われているアルファベットフォント「New Johnston」をデザインしたのは実は日人――。こう言ったら驚くだろうか。その日人とは、イギリス在住のグラフィック・デザイナー、河野英一氏だ。河野氏はまた、Windows Vistaから標準で添付されているフォント「メイリオ」(Meiryo)をデザインしたことでも知られる。 2009年11月5日、来日中だった河野氏の謦咳(けいがい)に接する機会に恵まれた。訥々(とつとつ)とした中にも、デザインに対する情熱がかいま見える氏の語り口は、集まった出版、印刷、組み版、情報処理の専門家らを魅了した。 ビル・ゲイツがゴーサインを出した偶然 メイリオ――。横書きを前提に欧文・和文が混在するテキストを表示したときに美しく文字が組まれること、ディスプレイで読むことを最優先として液晶ディスプレ

    ita-wasa
    ita-wasa 2010/01/09
    ロンドンの地下鉄や空港で、河野氏がデザインしたフォントは、今でも使われている。「いいものを作ることの問題点は、いったん作るとそれ以後仕事が来なくなること」と河野氏は笑う。
  • Apacheのログを活用しよう

    Apacheのログは情報の宝庫だ。サイトの不具合や不審なアクセスを見つけたり、閲覧者の移動経路などからサイトを使いやすくする手掛かりを得ることができる。そのためには、ログの見方やカスタマイズ方法を知る必要がある。 アクセスログ 通常、「ログ」といえばこのアクセスログを意味する。アクセスログは、Webブラウザがサーバ(Apache)に何かをリクエストし、それにApacheが応えるごとに記録される。簡単にいえば、だれかが何かにアクセスするたびに、その結果が記録されるのだ。 詳しくは後述するが、このログに「何を記録するのか」「どのファイルに記録するのか」といったことは、管理者が自由に定義できる。細かな設定を可能としていることは、ログを活用しようと思う管理者にとって大きなメリットである。 エラーログ エラーログは、リクエストの結果がエラーになったものだけが記録される。また、アクセスログと違い、エラ

    Apacheのログを活用しよう
    ita-wasa
    ita-wasa 2010/01/06
    あるいは、 ErrorLog syslog のように、ファイル名の代わりに「syslog」を指定してもよい。この場合、Apache専用のエラーログファイルを作らず、Linuxが標準で持っているsyslogにエラーを記録する。ただし、syslogに記録するよりも
  • HAクラスタ構築に便利な豆知識

    Heartbeat開発の中心メンバーが突然の独立宣言? Heartbeatのソースコードはどう変化したのでしょうか。最終回の今回は、開発リポジトリを用いたビルド手順やHAクラスタの運用に際して覚えておくと有用な心得についても紹介します。 HAクラスタ構築までの流れはひとまず完了 前回「ミラーリングツール『DRBD』によるデータ保護」までの4回にわたって、オープンソースソフトウェア「Heartbeat」を用いてHAクラスタを構築する方法を、冗長化の対象となるコンポーネントごとに分けて技術的に説明してきました。これらを一通り解説したことで、Heartbeatを用いてHAクラスタを構築する流れがつかめたと思います。 最終回となった今回は、まず、Heartbeat開発の現状を紹介しましょう。また、実際にクラスタ構築を行う際に知っておくと重宝するノウハウや不具合を避ける方法も解説したいと思います。

    HAクラスタ構築に便利な豆知識
    ita-wasa
    ita-wasa 2010/01/06
    Beekhof氏は同じ時期に、「RFC: Roadmap for 2.2.0」という件名のメールのスレッドにおいて、新規プロジェクトのPacemakerについて明かしています。  簡単に解説しますと、今後、Pacemakerで提供されるソースコードは、Heartbeatに含ま