タグ

ブックマーク / gihyo.jp (81)

  • 第6回(最終回) データ解析基盤のBigQuery | gihyo.jp

    BigQuery BigQueryはビッグデータ解析SaaSです。立ち位置としてはAWSで言うところのRedshiftに相当するようなサービスですが、趣はずいぶん異なります。Redshiftは事前にデータ容量などを計画し適切なプランを選択することになりますが、BigQueryはそのような峻別は不要で、細かいことは気にせずとにかく使いはじめることができます。 筆者の周囲ではGCPの中で一番最初に浸透して行ったサービスがBigQueryです。皆の課題を解決する魅力と力の溢れているサービスだからでしょう。BigQueryはDevelopers ConsoleのBig Dataの中にあります。 図1 BigQueryはDevelopers ConsoleのBig Dataの中にある BigQueryの特徴 BigQueryの技術的な特徴としてはカラム型DBMSです。Googleの持つ分散技術を背景

    第6回(最終回) データ解析基盤のBigQuery | gihyo.jp
  • 第5回 オブジェクトストレージのCloud Storage | gihyo.jp

    Cloud Storage Cloud StorageはオブジェクトストレージのSaaSで、AWSで言うところのS3に相当するようなサービスです。 データはCloud Storage側で自動的に暗号化されてGoogleのディスクに保存されます。 3種類のStorage Classラインナップ 以下の3種類があります。 Standard Storage Durable Reduced Availability(DRA)Storage Nearline Storage StandardはS3のスタンダードストレージ、Durable Reduced Availability(DRA)はS3の低冗長化ストレージ、NearlineはS3で言うところのGlacierの立ち位置のサービスです。ただしNearlineはGlacierとかなり違った特徴を持っていますので、後述の説明を参考にしてください。 こ

    第5回 オブジェクトストレージのCloud Storage | gihyo.jp
  • 第4回 RDBMSサービスのCloud SQL | gihyo.jp

    Cloud SQL Google Cloud Platformの中で、RDBMSをPaaSとして提供しているのがCloud SQLです。今のところMySQL 5.5、5.6(プレビュー)を利用できます。 作成はWeb管理画面のDevelopers Consoleから実行でき、デフォルトの起動画面はインスタンス名、地域、階層(英語だとTier。スペックだと思って良いです)を指定するだけです。 図1 「⁠詳細設定を表示...」画面 これだけで、以下の環境が利用可能になります。 自動で複数ゾーンに複製 自動でデータを暗号化 自動でフェイルオーバー エンドポイント(利用時のアクセス先)はFQDNではなくIPアドレス ただしデフォルトはIPv6(IPv4も付与可能) 自動バックアップ、Point In Time Recovery(MySQL 5.5のみ⁠)⁠ 費用内で7世代(データに変更があった場合

    第4回 RDBMSサービスのCloud SQL | gihyo.jp
  • 第3回 Google Compute Engineのファイアウォール、ロードバランサとCloud DNS | gihyo.jp

    ターゲットタグを活用することで、管理サーバ、バッチサーバ、など意味単位でのファイアウォールルール設定ができるようになりとても便利ですね。 利用上の注意事項 明示的に通信できないトラフィックがあります。 Port 25(SMTP)宛 Port 465 or 587(SMTP over SSL)宛(Googleの特定のIPアドレス宛を除く) AH、ESP、SCTP、TCP、UDP以外のプロトコル このためインスタンスからメールを送信したい場合はSendgridなどの外部サービスを併用することになります。 Sending Email from an Instance - Google Compute Engine — Google Cloud Platform また通信が確立して10分間無通信状態が継続するとファイアウォールが自動的に接続を切断します。この挙動で問題がある場合はTCPキープアライ

    第3回 Google Compute Engineのファイアウォール、ロードバランサとCloud DNS | gihyo.jp
  • 第2回 Google Compute Engineを使ってみる | gihyo.jp

    Google Compute Engineの特徴 Google Compute Engine(GCE)にはKernel-based Virtual Macnihe(KVM)が利用されています。GCEはGoogleの検索・Gmail・マップなど各種サービスと同じハードウェア・ソフトウェアスタックで提供されています。 高速・お手軽! Linuxでもコンソールいらずでログイン可能 GCEは3種類の方法で操作できます。 Developers Console(ブラウザで操作するWeb管理画面) gcloudコマンド API GCEを利用するとインスタンスを起動してからログインできるようになるまでの時間の短さに驚きます。他のクラウドだと操作からログインできるようになるまでに数分かかることが多いですが、GCEは操作から30秒程度でログインできる状態になります。 起動が完了したらDevelopers Co

    第2回 Google Compute Engineを使ってみる | gihyo.jp
  • 第1回 Google Cloud Platformの概要 | gihyo.jp

    それぞれ特色豊かなサービスが提供されており、横に並べてみたものの厳密に言うとあまり競合していないサービスも多くあります。それぞれのサービスの詳細については第2回以降で詳しく解説します。 Google Cloud Platformの特徴 Google Cloud Platformの特徴はなんと言ってもGoogleの圧倒的な技術力です。Googleが自身のために開発・利用している技術をベースにすることで、機能的優位を産みだしています。 何度も引き合いに出してしまいますが、今やデファクトスタンダードとなったAWSの場合は背景に小売・流通の精神があり、ユーザ位の展開でシェアを伸ばし今の地位を確立しました。サービスラインナップや拡張の方向性がとても優れているのがその現れです。 背景の異なる2社が競い合って、より便利に使いやすくなる方向で発展してくれることでしょう。 Google Cloud Pla

    第1回 Google Cloud Platformの概要 | gihyo.jp
  • AWS、サーバレス、コンテナ、マシンラーニング …2017年のクラウドを占う | gihyo.jp

    すべての企業はデジタルカンパニーにならなくてはならない ―2016年、米国のカンファレンスや企業を取材しているときに、筆者はよくこのフレーズを耳にしました。たしかにUberに代表されるデジタルディスラプション企業の台頭、加えて世界的大企業であるGEのデジタル化へのすさまじいほどの注力ぶりなど間近に見る環境にあれば、多少の失敗も折り込み済みで最新技術を採用し、新たなビジネスのニーズをみずから掘り起こす必要性を強く感じるのは無理もないかもしれません。 そしてこのデジタライゼーションの基盤にあるもっとも重要なテクノロジがクラウドコンピューティングです。いまやほとんどのイノベーションはクラウドから始まり、クラウドをベースにしてスケールしていきます。レガシーを多く抱える企業にとっては、クラウドへの基幹業務の移行がビジネス再編の大きなカギになるとも言われています。米国と比べてデジタライゼーションのトレ

    AWS、サーバレス、コンテナ、マシンラーニング …2017年のクラウドを占う | gihyo.jp
  • 第8回 Elasticsearchの基礎を学ぶ:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社

    はじめに みなさんこんにちは、teratail開発チームの橋佑介です。 昨今のWebサービスでは、以前のようにユーザが努力をして興味のあるコンテンツを探すサービスから、キュレーションサービスのようにユーザの興味を分析し配信することが重要とされています。 以前からも、ユーザの動向を分析するために、開発者はさまざまな手段を用いてユーザの興味に合った情報を配信することを実現してきましたが、得られるデータがユーザのサービス内のアクティビティのみだったため、決して精度が高いものとは言えませんでした。 現在では、莫大で多様なデータを取得することが可能になったため、ユーザの興味に近い情報を分析することが可能になりました。そのため、データをそのまま蓄積するだけではなく、各データに属性や情報を付与するなど、高度で柔軟性の高い検索・分析が行える全文検索システムに注目が集まっています。 Luceneという全文

    第8回 Elasticsearchの基礎を学ぶ:聞いたら一生の宝,プログラミングの基礎の基礎 |gihyo.jp … 技術評論社
  • 世界を変える日本発OSSの底力を実感─「第10回 日本OSS貢献者賞・日本OSS奨励賞」受賞式レポート | gihyo.jp

    「日OSS貢献者賞」は、“⁠OSS開発の振興を図ることを目的に、影響力のある開発プロジェクトを創造・運営した開発者や、グローバルプロジェクトにおいて活躍する卓越した開発者、OSS普及への貢献者を表彰する賞⁠”です。2005年度に創設され、今回が第10回目となります。また「日OSS奨励賞」は、“⁠過去1年間にOSSの開発や普及に顕著な活躍をした個人ないしグループを表彰する賞“⁠です。この賞は2009年度に新設され、今年度が第6回目となります。 以上2賞の授賞式が、10月24日の「OSC 2015 Tokyo/Fall」(⁠明星大学)で開催されました。賞の授与は、審査委員会委員長の早稲田大学 筧 捷彦氏が行い、司会はOSC実行委員会のNTTデータ 三浦 広志氏が務めました。 「AUFS」「H2O」「cgroups」「fluentd」の開発者が受賞─日OSS貢献者賞 今年の日OSS貢献者

    世界を変える日本発OSSの底力を実感─「第10回 日本OSS貢献者賞・日本OSS奨励賞」受賞式レポート | gihyo.jp
  • 第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp

    連載では、現在MySQLを利用していて、チューニングやより大規模な環境に向けた構成の拡張を体系的に説明することを目的としています。MySQLのこれまでの開発と最新の動向から、チューニングやスケールアップ/スケールアウトの注意点を解説します。 第1回である今回は、MySQLのアーキテクチャをこれまでの開発の歴史と併せて解説します。 黎明期 MySQLの最初期のバージョンは1994年に開発され、1995年に公開されています。公開当初は独自のライセンスを採用していましたが、2000年にGPL v2を採用し、商用ライセンスとのデュアルライセンスモデルを採用しました。また、MySQLの代表的な機能の1つでもあるレプリケーションも2000年に実装されており、Webシステムとの相性の良さや構成の柔軟さから数多くのWebシステムで以前からMySQLが採用される理由にもなっています。 2001年にGA(G

    第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp
  • 第2章 最初の一歩をどう踏み出すか―必要なところを学ぶ、全体像をつかむ、写経する | gihyo.jp

    章では「勉強したいと思っているが『やる気』が出ない」という状態を解決し、一歩踏み出す方法について解説します。 やる気が出ない場合、「⁠勉強」を漠然とした大きなタスクとしてとらえていて、その大きさに圧倒されていることがよくあります。ゴールの見えないマラソンでは、走り続ける「やる気」を出すのは難しいことです。もっと近いゴールを設定し、そこまで走ることを目標にすることが必要です。つまり「勉強」をもっと細かいタスクに分割することが必要です。 勉強を分割する方法は次の3つです。 必要なところから学ぶ 大まかに全体像をつかむ 片っ端から写経する 上のものほど効率が良いのですが、より多くの前提知識を必要とします。 必要なところから学ぶ たとえば、プログラミング言語を学ぼうとしているとしましょう。その言語を使って作りたいものが決まっているなら、それに必要なところから学ぶと効率が良いです。この方法は「遅延

    第2章 最初の一歩をどう踏み出すか―必要なところを学ぶ、全体像をつかむ、写経する | gihyo.jp
  • 第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp

    新社会人のみなさん、こんにちは。特集は、新しいものを学ぶ際に出会う問題について解決するための糸口を提供するために書きました。 みなさんは、「⁠IT業界は変化が激しいので学び続けることが必要だ」と聞いたことがあるのではないかと思います。そしてそのことに異論はないはずです。だからこそ今、サイトを読んで何かを学ぼうとしているわけですよね。それはとても良いことです。 一方で、「⁠学びたいけど時間がない」「⁠何を学んだらよいかがわからない」「⁠社会人として成果を出していける自信がない」などの悩みを抱えている方も多いです。筆者はこの悩みを解決したいです。 限られた文字数では、みなさんの個別の問題を解決することはできません。そこで、みなさん自身で問題を解決していくための糸口を提供します。まず章では、第2章以降でより具体的な問題について説明するための材料となる、ちょっと抽象的な話をします。 知識には

    第1章 効率的に学ぶには―知識の3つの軸と学びの3つのフェーズ | gihyo.jp
  • 第5回 実用的なHubotのスクリプトを書いてみる | gihyo.jp

    第4回までで、Hubotをセットアップしてチャットツールに接続し、独自のスクリプトを書くことができるようになりました。最終回となる今回は、もう少し複雑なスクリプトの書き方をサンプルコードをベースに紹介します。 定期実行で定時ミーティングの時間を通知する デイリースクラムの時間を通知すると言った定期的な処理をHubotに行わせたい場合、cronモジュールを使うと便利です。節では、cronモジュールの導入方法と使用例のサンプルスクリプトを掲載します。 cronモジュールの導入 cronモジュールのようなnpmのモジュールを使用するには、Hubotを導入したディレクトリの直下にあるpackage.jsonファイルのdependenciesにモジュールの情報を追加します。 通常、Hubotをインストールした直後はdependenciesの項目は次のようになっています。 "dependencies

    第5回 実用的なHubotのスクリプトを書いてみる | gihyo.jp
  • 第4回 Hubotのスクリプトを書いてみる | gihyo.jp

    今回は、Hubotのスクリプトが動く仕組みについて説明し、基的な機能であるチャットでの受け答えを実装する方法を説明した後に、その他の機能について紹介します。 スクリプトの基 Hubotがスクリプトを読み込み実行する仕組みを説明するために、“⁠hello⁠”と挨拶するとHubotが“⁠hi⁠”と返事する単純なスクリプトのサンプルを示します。 hello.coffee module.exports = (robot) -> robot.hear /hello/, (msg) -> msg.reply 'hi' このサンプルコードの一番外側を見ると、module.exportsに関数を代入しています。このmodule.exportsは、Node.jsでモジュールを作るための仕組みです。つまり、Hubotのスクリプトとは、引数を1つとる1つの関数を提供するNode.jsのモジュールということに

    第4回 Hubotのスクリプトを書いてみる | gihyo.jp
  • 第3回 Hubotを色々なサービスと繋げてみる | gihyo.jp

    スクリプトが使用する設定 Hubot自身が使用する設定値は、コマンドライン引数でも環境変数でも指定できますが、Adapterや個別のスクリプトの設定値は環境変数でしか設定できません。 環境変数はどのように設定しても構いませんが、開発中は“⁠Hubotを起動するためのシェルスクリプト⁠”を用意してそのシェルスクリプトの中に設定を書いておくと便利です。具体的には、次のようなシェルスクリプトを書くことになります。 run_hubot.sh #!/bin/sh export HUBOT_ADAPTER=hubot-irc export HUBOT_NAME=myhubot bin/hubot 以後、Adapterなどで使用する設定値は、シェルスクリプトを書いて環境変数を設定する方式で説明しますが、適宜自分にとって都合の良い方法に読み替えてください。 初期状態のエラーを解消する方法について 前回、H

    第3回 Hubotを色々なサービスと繋げてみる | gihyo.jp
  • 第2回 インストールとHello World | gihyo.jp

    今回は、実際にhubotをインストールし、簡単なスクリプトを書いて動かしてみます。 インストール Hubotをインストールして動かすには、Node.js体とNode.jsのパッケージマネージャであるnpmが動く環境を用意する必要があります。節では、まずNode.jsとnpmをインストールしてからHubot自体をインストールする方法を解説します。 Node.jsとnpmのインストール Node.jsとnpmをインストールするには、UNIX系ならばパッケージマネージャ、Windowsならインストーラを使う方法が簡単です。 たとえば、CentOS 6では、パッケージマネージャであるyumにEPELリポジトリを追加することでNode.jsとnpmをインストールできるようになります。CentOS 6(64ビット版)でパッケージマネージャを使用したインストール方法の例を次に示します。 $ sudo

    第2回 インストールとHello World | gihyo.jp
  • 第1回 Hubotとは何か | gihyo.jp

    連載では、GitHub社が開発したチャットbot開発・実行フレームワークである「Hubot」を使用して、チャットツールにオリジナルのbotを住まわせ、開発フローに組み込むことで開発を楽にする方法について解説していきます。 botとはなにか 開発の現場で、開発チーム内のコミュニケーションのためにIRCなどのチャットツールを導入することは、よく見る光景だと思います。そんなチャットツールに常駐してチャット経由でコマンドを待ち受けて実行したり、決められた条件に従ってチャットに発言してチャットの参加者に通知したりするようなプログラムのことをbotと呼びます。 Skype、HipChatやChatWorkなどコミュニケーションツールが多様化した現代においても、それぞれのチャットツールに対応したbotが開発されており、botを開発するためのフレームワークも様々な形で提供されています。botを導入するこ

    第1回 Hubotとは何か | gihyo.jp
  • 第8回 Cassandraで検索するには[後編] | gihyo.jp

    前回からずいぶん時間がたってしまいました。申し訳ありません。 前回はgetメソッド、そしてget_sliceメソッドでデータを検索する方法を見ていきました。今回は残りのget_range_slices、multiget_slice、get_countの3つのメソッドを見ていきます。 前回同様、検索メソッドの確認の前準備としてデータを投入しておく必要があります。詳細は第7回をご覧ください。 複数のロウを取得する ~get_range_slicesメソッド 前回は基的に1つのロウに対する操作でしたが、今回は複数のロウを取得してみましょう。そのために使うのがget_range_slicesメソッドです。 まずはコードを見てください。リスト1は郵便番号、住所とその読みを検索するコードです。 リスト1 郵便番号、住所と読みを検索 public class SimpleAddressSearchGe

    第8回 Cassandraで検索するには[後編] | gihyo.jp
  • 第7回 Cassandraで検索するには[前編] | gihyo.jp

    Cassandraも0.6系がついに0.6.4まで出てきて、stableなリリースとして十分に使えるところまで来ましたね。この連載のコードもすべて0.6系では動作するはずですので、ぜひ最新のものに入れ替えて試してみてください。 前回まででデータの投入、更新、削除までをご紹介しました。今回から複数回に分けて検索を重点的に見ていきましょう。 前準備としてデータを投入しておく 検索メソッドの確認の前準備として、まずデータの投入を行います。今回はシンプルな郵便番号のデータを利用します。以下のURLから東京都のデータを取得して、解凍後、データを投入してください。 郵便番号データのダウンロード:日郵便 URL:http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/13tokyo.lzh データは説明のため簡易的なデータ構造とします。 キーは郵便番号 デ

    第7回 Cassandraで検索するには[前編] | gihyo.jp
  • 第6回 Cassandraでデータの更新・削除をするには | gihyo.jp

    前回はCassandraへデータを投入する方法を説明しました。今回はデータの更新と削除についてご説明します。 データ更新ではタイムスタンプに注意 Cassandraにおけるデータ更新は、実はインサートのときと同じAPIを使います。1点だけ違うのは、更新の場合はタイムスタンプが重要になることです。タイムスタンプが以前に入れたものより後になっていないと、データが更新されません。 以下のコードでそれを確かめてみましょう。 リスト1 SimpleUpdate Date oldDate = new SimpleDateFormat("yyyy/MM/dd").parse("1970/01/01"); long oldTimestamp = oldDate.getTime(); Cassandra.Client client = new Cassandra.Client(protocol); try

    第6回 Cassandraでデータの更新・削除をするには | gihyo.jp