タグ

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

  • OSSのツール「Solr」「Flume」「Banana」の組み合わせによるデータ可視化プラットフォーム構築

    ヤフー株式会社には、技術や制作の分野において専門性に優れたエキスパート人財を「黒帯」に認定し、その活動を手厚く支援する黒帯制度があります。「ある分野に突出した知識とスキルを持っているその分野の第一人者」が黒帯として認定され、褒賞金と活動予算が付与され、それぞれの分野のエバンジェリストとして社内外で活躍します。この黒帯によるリレー連載として、第2回目は「Solr黒帯」が執筆します。 はじめに 企業において、データの可視化(Visualization)の重要性が取り上げられ、今注目されています。WebサイトやECサイトを運営しているのであれば、サーバーのアクセスログには、現在までの顧客の活動記録といった膨大な量のデータが蓄積されており、顧客がどんなキーワードで自社サイトにたどり着いたのか、どんな商品を購入していったのかなど、その内容は多岐にわたります。そのデータを分析することで、新たな発見につ

    OSSのツール「Solr」「Flume」「Banana」の組み合わせによるデータ可視化プラットフォーム構築
  • フリーのVM環境を使って、ビッグデータ分析の学習環境をすばやく構築する

    はじめに Hadoopを使って大規模データを蓄積し分析するのは、もはや当たり前になってきた昨今ですが、大規模データ分析の環境を試すのは、なかなか難しいというのが現状です。確かに、Hadoop単体やSQLエンジン単体なら、Amazon EMRやGoogle BigQueryなどを使うことで体験することは可能でしょう。しかし、大規模データの分析基盤では以下のようなことを行っていく必要があります。 RDBMSからデータをHadoopにインポートする SQLを使って、大規模データを高速に分析する アクセスログなどの大量の非構造化データを分析する 大量のデータに対し、リコメンドに利用するための高度な分析処理を行う 大量のデータを全文検索できるようにする これらすべてを試す環境を構築するのは、たとえクラウド環境を使ったとしても困難です。また、(検証環境としては)意外と高額な費用がかかってしまい、永続化

    フリーのVM環境を使って、ビッグデータ分析の学習環境をすばやく構築する
  • リリースフローを自動化して、本来の開発業務に専念できる環境を整備しよう

    人はミスをしてしまうもの 開発・運用に携わる人には釈迦に説法ではありますが、どれだけ詳細なリリース手順書を整備しても、ダブルチェックのルールを設けても、天才プログラマを何人集めてもミスや失敗は付き物です。経験則からもそうですが、特に稼働が高い時(ローンチ前後)、時間がなくて焦っている時(障害時)はミス・失敗が起こりがちです。 昨今のリリース手順は簡単に思いつくだけでも、 コンパイルの実行 ユニットテストの実行 カバレッジの取得 minify,compressの実行 依存関係の解決 など、複雑化しがちです。 手作業でリリースする場合、一つ一つの作業は微々たる時間で行えても、リリースに必要な作業を積み重ねると結構な時間がかかります。また、それを継続的に行っていくとなるとかなりの時間を取ってしまいます。 これらの作業を自動化することで、機能開発・研究開発と言うエンジニア来の業務が行える環境を整

    リリースフローを自動化して、本来の開発業務に専念できる環境を整備しよう
  • 障害発生時にも漏れなし! Zabbixの監視アラートでRedmine上にチケットを起票する仕組みをつくろう

    * About to connect() to redmine-server port 80 (#0) * Trying redmine-server... * Adding handle: conn: 0x21b3278 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x21b3278) send_pipe: 1, recv_pipe: 0 * Connected to redmine-server (xxx.xxx.xxx.xxx) port 80 (#0) > POST /issues.json HTTP/1.1 > User-Agent: curl/7.30.0 > Host: redmine-server > Accept: *

    障害発生時にも漏れなし! Zabbixの監視アラートでRedmine上にチケットを起票する仕組みをつくろう
  • Vagrantでアプリケーション開発環境をローカルPCに作ってみよう

    はじめに 連載では、インフラの構成をコードで管理するための便利なツールを使って、インフラを構築するための手順をご紹介します。前回は、コードによるインフラ構築の概要とローカルPCに仮想環境を作成するVagrantのセットアップについてご紹介しました。今回は具体的にVagrantを使って開発チーム内で統一した開発環境を構築する方法について説明します。 対象読者 記事は、次の方を対象にしています。 コードを使ってインフラの構成管理がしたい人 ネットワークやLinuxの基礎知識がある人 Webシステムの開発環境を構築したことがある人 Vagrantfileによる仮想環境構築 前回の連載で説明したVagrantfileとは、仮想環境を作成するもとになる設定ファイルです。ここでは、RubyによるVagrantfileの記述の仕方について説明します。 Vagrantfileのひな形作成 Vagran

    Vagrantでアプリケーション開発環境をローカルPCに作ってみよう
    zyun1109
    zyun1109 2015/01/17
  • 状態遷移図/表、すなわち設計をコードでテストする

    状態遷移表からひな型コードを生成する この状態遷移表からコードを起こすわけですが、状態遷移の実装については『StateパターンでCSVを読む』を書きました。デザイン・パターンの一つ:Stateによる実装です。今回の実装はC、継承も仮想関数も使えないという利き腕を封じられた条件なので戦術を大きく変えにゃならんです。 状態遷移の実装は要するに「(1)現状態 と (2)受理したイベント の組」に対応する「(3)アクション と (4)遷移先(新たな状態)」を引き当てることに他なりません。ならば上記(1)~(4)の並びをレコードとし、そのレコード列(=状態遷移表)から「(1)現状態 と (2)受理したイベント の組」に一致するレコードを探し出して「(3)アクション を実行して (4)新たな状態 に遷移」すればいい。 状態遷移表からひな型コードの生成には使い慣れた「T4-template」を用います。

    状態遷移図/表、すなわち設計をコードでテストする
    zyun1109
    zyun1109 2015/01/15
  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
    zyun1109
    zyun1109 2011/12/13
  • HTML5とCSS3を使ってスマートフォン向けサイトを構築 - iPhone版Yahoo!JAPANトップの開発事例紹介

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

    zyun1109
    zyun1109 2010/12/16
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

    システムの多機能化により、プログラムの内容が複雑化している。テクマトリックスの『Understand』は、プログラムの構造を可視化することで、ソースコードの解析時間を大幅に削減できる開発支援ツール。今回は同社の福永一寛氏に、Understandの機能や特徴について聞いた。 システムの多機能化により、プログラムの内容は複雑化している。既存コードの改修や多人数での開発における情報共有のためには、プログラム構造の理解が必須だが、ドキュメントと実装内容とが乖離している場合も多く、解析自体に工数がかかることもある。テクマトリックスの『Understand』は、プログラムの構造を可視化することで効率的なソフトウェア開発をサポートするソフトウェア開発環境。「組込みシステム開発技術展(ESEC)」にて、同社の福永一寛氏にその特徴を聞いた。 ソースコードの解析作業時間を大幅に削減する『Understand』

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ
    zyun1109
    zyun1109 2010/06/02
  • Windowsのコマンドプロンプトを便利に使うための10のミニテクニック

    はじめに Windowsの操作の基GUIですが、ファイル操作などを手早く行うためにコマンドプロンプトを使うこともあると思います。稿では、Windowsのコマンドプロンプトをより便利に使うためのちょっとしたテクニックを10個紹介します。 対象読者 Windowsのコマンドプロンプトをある程度使ったことがある方 動作確認環境 Windows Vista Windows XP 一部の機能は、Windows XPでは利用できません。文内で都度補足します。 コマンドプロンプトからエクスプローラに移動する コマンドプロンプトで作業中に、カレントディレクトリのファイルをエクスプローラで操作したくなることがあります。たとえば、カレントディレクトリにあるいくつかのファイルをほかのディレクトリにコピーする場合、各ファイルの名前をキーボードから入力するより、マウスを使ったほうが簡単です。そんなときに便利

    Windowsのコマンドプロンプトを便利に使うための10のミニテクニック
    zyun1109
    zyun1109 2009/08/27
  • データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門

    はじめに 連載では、PHPまたはプログラミング初心者の方を対象に、PHPを用いたWebアプリケーションの作成方法を説明していきます。今回は、データベースとSQLに関して、「おすすめレストラン一覧を閲覧できるWebサイトを制作する場合」を例にして、説明をしていきます。 対象読者 プログラミングが初めてでこれから学習する予定の方 プログラミングの経験はあるがPHPを初めて学習する方 この記事の内容 はじめに 対象読者 動作確認環境 データベースとは何か・・・データベースはどんな役割? データベース操作の基礎・・・データベース言語「SQL」とは SQL基礎:テーブルの作成・・・CREATE文を使ってみましょう SQL基礎:レコード追加・・・INSERT文を使ってみましょう SQL基礎:レコード検索・・・SELECT文を使ってみましょう SQL基礎:レコード更新・・・UPDATE文を使ってみまし

    データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門
    zyun1109
    zyun1109 2009/03/31
  • find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編

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

    find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編
    zyun1109
    zyun1109 2008/12/10
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

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

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
    zyun1109
    zyun1109 2008/10/23
  • プログラミングと開発者のためのCodeZine:Perlで作るモバイルサイトのコツ:第1回(Perl, モバイル, CPAN)

    http://www.cpan.org/。Perlのライブラリ・モジュールソフトウェアやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブで、世界中のサーバーにその内容がミラーされています。 対象読者 Perlを実行できる環境にて携帯サイトの構築を考えている方。 必要な環境 Apache 1.3系または2系 Perl 5.6以上 User-Agentより端末判別を行う 携帯サイト構築の主な処理として挙げられるのがUser-Agent解析によるキャリア、モデル、シリーズなどの分類処理かと思われます。iモード、EZweb、Vodafoneの3キャリアを判別するだけでも複数のパターンが存在しており、端末のモデルを取得するまでにはさまざまな条件分岐処理の記述が必要となります。それらをスマートに行う方法はHTTP::MobileAgentを使うことで、User-Agent

    zyun1109
    zyun1109 2006/08/02
  • 1