タグ

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

  • プレイ・ザ・ゲーム! CTFが問いかけるハックの意味

    プレイ・ザ・ゲームCTFが問いかけるハックの意味:セキュリティ・ダークナイト(1)(1/3 ページ) ダークナイトが帰ってきた! 「セキュリティ対策の『ある視点』」を執筆したペネトレーションテスターによる新連載は、気になるセキュリティトピックを、時には攻撃者として、時には防御者として取り上げます(編集部) 守る者と攻める者の存在――だからこの世は面白い まずは、連載のタイトルで「セキュリティ・ダークナイト」と銘打った理由を簡単に説明させていただこう。 ひねりのないタイトルなので気付かれた方も多いと思うが、これは有名な映画のタイトルから拝借している。その映画の登場人物である悪の象徴ともいえるジョーカーは、ゲームを楽しむためには自らの命をかけることも惜しまず、相手を翻弄(ほんろう)する。 それに対し、正義の象徴バットマンは、何があっても殺人は犯さないという大前提のもと自身の正義を貫こうと

    プレイ・ザ・ゲーム! CTFが問いかけるハックの意味
    gumkam
    gumkam 2015/12/20
  • OpenStackはどのようにテストしているのか?

    OpenStackはどのようにテストしているのか?:OpenStack最前線~ユーザ会メンバーが持ち回りで語る「OpenStackのリアル」~(4) 特集記事と同時に、日OpenStackユーザ会メンバーが超ホットでディープな最新情報をコラムスタイルで紹介していく@IT特集「OpenStack超入門」。コラム第4回は「Tempest」コアデベロッパーの井川征幸氏がOpenStackの品質を担保する「テストの仕組み」を紹介する。 皆さま初めまして。日OpenStackユーザ会の井川と申します。OpenStackの開発コミュニティで「Tempest」のコアデベロッパーとして活動しています。 TempestはOpenStackにおける「テスト」を担当するプロジェクトです。「Nova」の仮想マシンや、「Neutron」の仮想ネットワークのように直接ユーザーが利用する機能と違い、Tempestを

    OpenStackはどのようにテストしているのか?
  • プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは

    連載目次 プッシュ通知とは? なぜ開発者はアプリにプッシュ通知機能を搭載するのか スマートデバイスにおける「プッシュ通知」はアプリにとって欠かせない機能の一つであり、メールマガジンと同様に重要な集客ツールです(図1)。スマートフォンをお使いの方でしたら、一度はプッシュ通知を受け取ったことがあるのではないでしょうか。 プッシュ通知はユーザーがスマートデバイスを起動していなくても通知を送ることができる仕組みであり、以下の特徴があります。 開くと直接アプリを起動するためアクションにつながりやすい アプリをインストールしているユーザーのみに届くため開封率が高い 上記のような特徴から、プッシュ通知は以下の用途で使うことが多くなります。 リアルタイムな情報配信 直接アプリ起動につながるため、ニュースなどリアルタイム性の高い情報の配信に向く ユーザーのアクティブ率向上 開封率が高いため、定期的にアプリを

    プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは
  • 便利なGruntの弱点を補うgulp.jsのインストールと使い方

    詳しくは上記連載を見てもらえば分かりますが、GruntとはJavaScriptを使用してWeb開発に伴うさまざまな作業を自動化して効率良く行うためのビルドツールです。 このツールでは「タスク」と呼ばれる一連の処理を設定ファイルに記述していきます。Gruntの設定ファイル(Gruntfile.js)は、タスクに対してJSON形式でパラメーターを指定していくのですが、ここで少々問題があります。 シンプルなタスクであれば分かりやすいのですが、多くの拡張機能(プラグイン)を使用したり、タスクの制御を細かく行う必要が生じたたりした場合、Gruntfileの記述量が増えて冗長になり、タスク同士の関連やタスク実行結果も分かりにくくなってしまいます。 そんなGruntの問題点を解消することを目的として開発されたのが、今回紹介する「gulp.js」(以下、gulp)です。 gulpはGruntを継承しつつ、

    便利なGruntの弱点を補うgulp.jsのインストールと使い方
    gumkam
    gumkam 2014/12/08
  • GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方

    近年、ソフトウェア開発を取り巻く環境が急激に変化してきています。ネットワークの整備や、コミュニケーションツールの進化に伴い、リモートワークやインターネット上での協業も盛んに行われるようになってきました。チームメンバー全員の住んでいる国が違う、といったこともあるかもしれません。 しかし物理的に離れた環境で働くと、今まで対面で行っていたコミュニケーションを別の手段で代替しなければなりません。SkypeやGoogleハングアウトなどのビデオ通話、HipChatやSlackなどのチャットアプリを利用することで仕事上必要なコミュニケーションは取れるようになりますが、ソフトウェア開発に関わる状況確認は別のツールを使う必要があります。 特にオペレーションは、いつ、誰が、どのような対応をしたか把握していたいですよね。 このような課題を解決する一つのスタイルとして、「ChatOps」があります。ChatOp

    GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
    gumkam
    gumkam 2014/08/20
  • fluentdの効果的な活用例と安定運用のポイント

    fluentdの効果的な活用例と安定運用のポイント:今さら聞けないfluentd~クラウド時代のログ管理入門(3)(1/3 ページ) 効率良く、意味のあるログ管理を実現するツールとして注目されている「fluentd」。最終回では、実際の利用シーンを想定し、より効果的なfluentdの利用法を紹介します。 第1回、第2回でfluentdを使って基的なログ管理が実現できるようになったのではないでしょうか。fluentdはプラグインの組み合わせにより更に効果を発揮します。最終回では、実際の利用シーンを想定し、より効果的な利用法を紹介します。 fluentdの具体的な活用例 実際の利用シーンを想定した2つのfluentdの活用例を紹介します。 大量のログを分析し、「意味のある情報」として管理する タグデータを効果的に活用し、ログデータのフィルタリング管理を行う 1.大量のログを分析し、「意味のあ

    fluentdの効果的な活用例と安定運用のポイント
    gumkam
    gumkam 2014/04/04
  • 意外と知らないファイル圧縮技術の常識

    連載は、Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきます。今回はアーカイブと圧縮の違いなどの基礎知識とともに、Java APIJava定番のファイル圧縮形式jarやgzipzip形式を扱う方法も紹介。 今回はデータの圧縮技術を学んでいきます。データの圧縮技術はさまざまなコンピュータ関連用途において利用されていますが、この記事では「ファイル圧縮」の話題に絞って話を進めていきます。 意外と知らない、「圧縮」って何? 私たちが普通にOSを利用していると、ファイルの拡張子が「.zip」「.lzh」「.cab」などとなっているファイルを扱うことがあります。これらの拡張子を持つファイルは、複数のファイルやディレクトリを1つのファイルにまと

    意外と知らないファイル圧縮技術の常識
  • いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識

    いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識:Gitランチを使いこなすgit-flowGitHub Flow入門(1)(1/2 ページ) 数回に渡ってgit-flowGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、ブランチ管理の課題と効率的にバージョン管理できる5つのブランチモデルと、ブランチの管理を簡単に行えるツール「git-flow」について。 Gitなどの次世代のバージョン管理ツールの特徴として、ブランチの機能を高度に活用できるという利点があります。Gitのブランチを生かしたツール・フローとして「git-flow」「GitHub Flow」が注目を浴びていますが、連載では数回に渡ってgit-flowGitHub Flowを使ったGitの活用テクニックを紹介します。初回は、git-flowの概要を紹介します。 効率的にバージョ

    いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識
    gumkam
    gumkam 2013/11/18
  • ズルいデザインテクニックを生かして作る、汎用性のあるズルいボタンデザイン

    さて今回は、ズルいデザインテクニックの集大成ともいえる「ズルいボタン」です。これまでの連載で取り上げた数々のズルいデザインテクニック、「ズルいテキストシャドウ」「ズルいグラデーション」「ズルい角丸」、そして前回解説した「ズルいボックスシャドウ」を用いたズルいボタンの作り方を解説します。 今回のズルいボタンに関しては、以前にズルいデザインテクニックのスライドで紹介したものから大幅に改定を加えて、より汎用性があり、さまざまな場面で使い勝手の良いものに刷新しました。 改良のポイントは次の通りです。 文字サイズの変更、またそれに併せてボタンサイズの変更に対応しています iタグを使ったアイコン用のWebフォントに対応しました。今回はfont-awesomeを使って解説しています フラットデザインの流行に伴うデザイン傾向に合わせ、立体感やグラデーションをより控えめに、かつpaddingを大きめに取った

    ズルいデザインテクニックを生かして作る、汎用性のあるズルいボタンデザイン
  • box-shadowで表現する、「セミフラット」なズルいデザインテクニック

    box-shadowで表現する、「セミフラット」なズルいデザインテクニック:ズルいデザイン(3)(1/2 ページ) 世の中、フラットデザイン流行りですが…… iOS 7がフラットデザインを採用したのを皮切りに、Webデザインのトレンドがフラットデザイン一色になってきましたが、立体感を完全に排した色面と空間、シンプルな描画の組み合わせだけのデザイン表現は、ある種ごまかしが効かず、また適切な利用方法を喚起させるようなUIも表現がなかなか難しいものです。 例えば、「ボタンは押せるもの」であると表現するための「押したくなる感じ」を喚起させる立体感は、ユーザビリティ面でもまだまだ有効です。今回は、流行のフラットデザインの中でも違和感なく使えて、また適切なアフォーダンスの表現が可能になる、「やりすぎていない立体感」を目指した、box-shadowを活用した各種ボックス表現の作り方を紹介します。 NGな

    box-shadowで表現する、「セミフラット」なズルいデザインテクニック
    gumkam
    gumkam 2013/08/21
  • 5分で分かる著作権~まずは基本を押さえよう

    著作権法は、コンテンツやプログラムの作成者のみならず、利用者にとっても知らないでは済まされない法律です。稿で基的な知識を身に付けましょう。 コンテンツやプログラムを作成・利用する全ての人にとって、著作権法は知らないでは済まされない法律です。しかし、現在の著作権法は改正の繰り返しによって極めて複雑化しており、今日のデジタルテクノロジとの整合性が取れていない部分も増えています。著作権法の最重要ポイントに絞って解説していきましょう。 1分-著作物とは何か? 著作権法は著作物の利用と保護を図り、文化の発展に寄与することを目的とした法律です(特許法が発明の利用と保護を図り、産業の発展に寄与することを目的としているのと対比できます)。 著作権法の保護対象になる著作物とは、思想や感情を創作的に表現したものであって、文芸、学術、音楽、美術の範囲に属するものと定義されています。現在の一般的用語でいえば「

    5分で分かる著作権~まずは基本を押さえよう
  • CSS3アニメーションの基本

    CSS3アニメーションの基:脱エンジニアっぽさ! クライアントの笑顔を引き出すCSS3アニメーション(1)(1/3 ページ) エンジニアの立場でデザインまで積み上げていくのは、なにかと難しいもの。脱エンジニアっぽさを演出し、クライアントの笑顔を引き出す、CSS3アニメーションを紹介する。 クライアントさんからのさまざまな難しい要求を解決し、ようやく納品にこぎ着けたのに、クライアントさんから出た言葉は「ちょっとやぼったいね……」というつぶやき。Webエンジニアの方からよく耳にする嘆きの声です。エンジニアの立場でデザインまで積み上げていくのは、やはり難しいですよね。 しかし、いわゆる外観としてのデザインの他に、クライアントさんを「おっ!」と思わせる便利な手法が1つあります。それは「アニメーション」です。 Webサイトでの小気味良いアニメーションは、そのユーザー体験を豊かなものにしてくれます。

    CSS3アニメーションの基本
  • 直撃取材! 「たて」の裏側

    6月9日に放映されたフジテレビのバラエティ番組「ほこ×たて」の「どんなプログラムにも侵入できるハッカー VS 絶対に侵入させないセキュリティープログラム」は、視聴者を激しい混乱の渦に巻き込んだ。 その後、“たて”側のネットエージェントは公式ブログで、“ファイル名変更”が実際は“TrueCryptによるディスク暗号化”であることや、対決で用意されたPCはサービスパックも当たっていない脆弱性だらけのWindows OSだったことなど、番組でカットされ誤解を招いた部分について説明。当はかなりのガチ対決だったことが明かされた。 では、“実際の”攻防戦はどのようなものだったのか。自身も凄腕のハッカーで、昨年度開催された「CTFチャレンジジャパン」の優勝者でもある、luminことネットエージェントの杉浦隆幸氏に直撃した。 編集部 今回の番組出演の経緯は? 杉浦氏 今回の内容は番組制作会社が企画したも

    直撃取材! 「たて」の裏側
  • 5分で分かるフラットデザイン

    iOS 7やWindows 8も採用した「フラットデザイン」。実際にフラットデザインを実現するにはどうすればいいのだろうか。 1分-フラットデザインとは何なのか アップルの開発者向け年次イベント「Worldwide Developers Conference(WWDC)」が米国時間6月10日に開幕し、基調講演で同社モバイルOSの次期版「iOS 7」が発表された。見た目の印象が従来版からガラリと変わっている。これは「フラットデザイン」という手法を採用したからだ。 フラットデザインとは、簡単にいうと、グラデーションを利用しない非常にのっぺりとしたデザインのことだ。

    5分で分かるフラットデザイン
  • TwilioとRailsで作る、電話でテキスト読み上げアプリ

    Twilioとは Twilio(トゥイリオ)はクラウド電話APIサービスです。米Twilio社が開発・提供しています。 もともとは海外で展開されていましたが、2013年4月17日にKDDIウェブコミュニケーションズが提携し、日でサービスの提供が開始されました(参考:数十兆円市場のテレコム関連市場に狙い:クラウド電話APIのTwilioが日上陸、創業CEOに聞いた)。 米大統領選でIVR(音声による自動応答)システムとして使用され「選挙中1秒数100コール・終わればゼロ」に即対応した実績があります。 今回は、そんなTwilioを使った「自動音声読み上げツール」の作り方を紹介します。 今回のレシピ Twilioサービス クライアント Android SDK APIレベル8=Android 2.2以上 Twilio Client SDK for Android サーバ Ruby 2.0.0-

    TwilioとRailsで作る、電話でテキスト読み上げアプリ
  • iOSアプリのUIを爆速で激ヤバにする2つのライブラリ

    iOSアプリのUIを爆速で激ヤバにする2つのライブラリ:生産性ガチアゲなオープンソースiOSライブラリ(2)(1/4 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も併せて詳細に説明していきます。今回は、Clearのような折り畳みやFlipboardのようなめくりエフェクト、Twitterのようなプルリフレッシュを実現する方法を紹介します。 「あのアプリのあの機能」を実現するEGOTableViewPullRefreshとMPFoldTransitionを使ってみた 「良いアプリの条件」というと何が思い浮かぶでしょうか。例えば、誰も実現してない機能を実装していたり、パフォーマンスが良かったり、動作が安定していたり…… とさまざまな意見があると思

    iOSアプリのUIを爆速で激ヤバにする2つのライブラリ
  • iOS SDK開発でOSSライブラリを使う際の基礎知識

    iOS SDK開発でOSSライブラリを使う際の基礎知識:生産性ガチアゲなオープンソースiOSライブラリ(1)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も合わせて詳細に説明していきます。初回は、OSSライブラリ活用の基UI系を中心にライブラリを16個紹介します。 OSSライブラリを活用した超高速・高品質な開発方法 オープンソース(以下、OSS)のライブラリを活用して開発を行うと、ライブラリ未使用の場合に比べて生産性、品質ともに圧倒的な違いが出ます。連載では、ライブラリの種類、使い方、メリットなどを、実際に動くコードと一緒に解説していきます。 近年、iOS(iPhoneiPad)アプリ市場が急速に発展し、アプリ開発者は変化する状

    iOS SDK開発でOSSライブラリを使う際の基礎知識
    gumkam
    gumkam 2013/04/13
  • 開発者がアプリのアイデアをヒラメクための22箇条まとめ

    「アプリやサービスを開発する技術はあるが、アイデアが出ない」という開発者たちのために、@ITで掲載したアイデアの発想につながる記事から抽出して22箇条としてまとめた。 ヒラメキを、すぐ形にできる開発者だからこそ これまで、@ITでは多くのアプリコンテストを行ってきた。そこで、いつも課題となるのは、「アプリやサービスを開発する技術はあるが、アイデアが出ない」という開発者たちの悩みだ。しかし、当にそうなのだろうか。 開発者の方がより良いアイデアを思い付くことがあるのでは、ないだろうか。なぜなら、何気ないヒラメキを、すぐに形にできることは重要なことだからだ。 例えば、ライフレシピ共有サイト「nanapi」のロケットスタート 代表取締役 古川健介氏へのインタビュー記事「伝えることを考え抜く『nanapi』のUIデザイン」(2011年6月29日、聞き手ホシナ カズキ氏)を引用しよう。 デザインに限

    開発者がアプリのアイデアをヒラメクための22箇条まとめ
    gumkam
    gumkam 2013/04/10
  • HTML5+CSS3は「メニューの作り方」を覚えるだけ!

    HTML5+CSS3は「メニューの作り方」を覚えるだけ!:にわかデザイン(1)(1/3 ページ) Photoshopなどの画像処理ソフトを使わず、CSSでできる表現の幅が広がっています。にわかデザイナーになれる、簡単Tipsをお伝えします。 Web製作の現場では、予算の都合上Webサイトのデザインをデザイナーに発注できず、エンジニア自身が担当しなければならないことがままあります。昨今は「Twitter Bootstrap」などのCSSフレームワークを使って、そんな状況に対応している方も多いと思います。確かに、Twitter Bootstrapはリッチなデザインや機能を持つパーツがそろっていて、素早くレイアウトを組み上げるには便利です。しかし、そのためには独自の指定方法やお作法をそこそこ知っておかなければならないのも事実です。 であるならば……、CSS自体を覚えてしまうというのも1つの手では

    HTML5+CSS3は「メニューの作り方」を覚えるだけ!
    gumkam
    gumkam 2013/02/27
  • Node.js、MongoDBでデータの保存

    Node.js、MongoDBでデータの保存:Node.jsを使ってみよう(2)(1/4 ページ) Node.jsとSocket.IO、MongoDBを使用して、Webページの更新内容がリアルタイムにView画面に反映されるサイトを作ってみた MongoDBの紹介 前回はNode.jsでWebアプリを作成するために、ExpressやSocket.IOを使用したデモを基に説明した。今回はWebアプリのデータを保存するために必要なデータベースとしてMongoDBの使い方を説明していく。今回の記事でも後半でMongoDBを使った簡単なデモを用意しているので試してみてほしい。 MongoDBとは、ドキュメント指向のデータベースでNode.jsと相性がいいため、Node.jsとともに注目されている。Node.jsで実装したREABLOエンジンを使ったTech Releaseでも記事のデータベースとし

    Node.js、MongoDBでデータの保存
    gumkam
    gumkam 2013/01/22