タグ

2014年3月12日のブックマーク (21件)

  • Tableau Server のサイジング事始め!! に参加してきた | DevelopersIO

    Tableau Server のサイジング事始め!! - Tableau Japan | Doorkeeper Tableau Desktopと並んで、と言うよりもTableau Desktopと併せて使うことでよりBIにおける効果を発揮するであろうプロダクト『Tableau Server』。この日はそのTableau Serverを導入する上でのキーポイントとなる『サイジング』に関する講習会が開かれたので参加して来ました。 Tableau Server | Tableau Software 開催場所はTableau Japan 株式会社 日オフィス@帝国ホテル インペリアルタワー(有楽町)。 こちらの建物の15FにTableau Japanのオフィスがあります。 当日は若干の雨模様でしたが、参加申込者10数名、ほぼ全員参加という出席率でした。以下写真は会場から見下ろした一枚です。 目次

    Tableau Server のサイジング事始め!! に参加してきた | DevelopersIO
  • 【デブサミ2014】13-E-3 レポート 「クラウド時代の環境構築・デプロイ自動化戦略」

    ビジネスの要求と自動化が必要な背景、 そしてAWSが実現するフィードバックループ 冒頭、吉羽氏は「何で自動化が必要なのか? まずはそこから話を進めていく必要があります」とセッショントークを切り出しました。「これまでの情報システムやアプリケーションは、いわゆる『業務効率化』のためにシステム化されてきた背景・経緯があります。対して現在では『企業の生存戦略の一貫』としての側面が求められるようになってきています。またゲームの分野では、システムを使ってもらうことがお金を稼ぐことにも直結するため、そのような「稼げるシステム」を構築することが重要な要素となってきました。ビジネス上の目的を達成するためにITを使う時代なのです」と現在の状況を説明。 Amazonのビジネスモデルは、以下の画像のようなサイクルを回すことで成り立っています。これがコスト削減につながり、低価格構造を作り出します。 次いで『ビジネス

  • 拡張可能なWeb APIの設計原則と、バージョン番号を使う理由について

    APIのバージョニングは限局分岐でやるのが良い - Hidden in Plain Sightにはブコメしたのですが、Rebuild: 35: You Don't Need API Version 2 (Kenn Ejima)でも件に言及があったようなので、少し一般論を書いておきたいと思います。 ■Web APIの設計原則について そもそも、良いAPIとはどのような特性をもつものでしょうか? 一般的に、以下の2点が挙げられると思います。 拡張が容易である 拡張時に後方互換性を破壊しない ウェブの場合は、これに加え、 スケーラブルである HTTPに起因する問題に上手に対処できる ことが求められます。 前2者はウェブに限らない要件です。これを満たす設計手法としては、 リクエストおよびレスポンスのパラメータを拡張可能に 互換性を壊す拡張が必要な場合は、関数名を変える 古い関数は従来と同じ機能を

  • デシリアライズ速度の比較 ByteBuffer vs DirectBuffer vs Unsafe vs C - Blog by Sadayuki Furuhashi

    OpenJDK や Hotspot VM には sun.misc.Unsafe という内部APIがあり*1、これを使うと ByteBuffer.getInt や ByteBuffer.getLong よりも高速にバイト列から整数値をデコードできるという。これを駆使することで、Cで実装された拡張ライブラリに匹敵する速度を出せるらしい。 それが当なら、データ圧縮やハッシュ関数、シリアライザ/デシリアライザなどの実装を高速化できる。例えば、lz4 や xxhash のJava実装が Unsafe API を使用している*2:jpountz/lz4-java Prestoも、中間データのシリアライズ/デシリアライズにはすべて Unsafe API を使っている*3。 そこで、実際にベンチマークしてみた。 ベンチマーク内容 10MBのランダムなバイト列を生成する 先頭から1バイト読み出す その1バ

    デシリアライズ速度の比較 ByteBuffer vs DirectBuffer vs Unsafe vs C - Blog by Sadayuki Furuhashi
    nobusue
    nobusue 2014/03/12
  • AWS Solutions Architect ブログ

    2017年12月14日、目黒のAmazon Web Services (AWS) Japanオフィスにて、AWS re:Invent 2017前後にて発表されたセキュリティ関連情報を振り返るセミナーが開催されました。 AWS re:Invent 2017とは、2017年11月27日から12月1日までラスベガスで開催されたAWS最大のカンファレンスです。エンドユーザー様、パートナー様を中心に、世界中から40000人以上の来場者を集めました。re:Inventは基調講演やブレイクアウトセッション、ブートキャンプ、パートナー様ソリューション展示、参加者同士のネットワーキングなどからなります。例年同様、一人では回りきれないほど大量で多種多様なイベントが行われました。 そこでセミナーは、セキュリティという観点に絞り、re:Invent 2017での情報を効率的に収集いただくと同時に、来年以降の日

    AWS Solutions Architect ブログ
    nobusue
    nobusue 2014/03/12
  • Software-Defined Networkingで広域ネットワークを総合的に扱う基本技術を確立。NTT、NTTコム、富士通、日立、NECが共同で発表

    Software-Defined Networkingで広域ネットワークを総合的に扱う基技術を確立。NTTNTTコム、富士通、日立、NECが共同で発表 光ネットワークや無線ネットワーク、パケット通信など種類の異なる複数のネットワークの情報を統一的に定義し、上位レイヤから簡単に扱えるようにしたSoftware-Defined Networkingの技術を、NTTNTTコム、富士通、日立、NECが共同で発表しました。 これにより通信事業者などが広域にわたる複数のネットワークを柔軟に組み合わせて仮想ネットワークを構築しつつ、全体の状況を把握したり、各レイヤのネットワーク装置を連係させることで、要求に応じたネットワークの設計、構築、変更などを従来の10分の1の時間で実現できると説明されています。 統一的ネットワーク情報データベースの構築 今回発表のポイントは3つあります。1つはさまざまなネッ

    Software-Defined Networkingで広域ネットワークを総合的に扱う基本技術を確立。NTT、NTTコム、富士通、日立、NECが共同で発表
    nobusue
    nobusue 2014/03/12
  • Gruntを使ってプロジェクトを自動化する、Myタスクメモ | tipsBear

    Gruntで出来ることはたくさんありますが、今回ご紹介するのは私がよく使うGruntの設定のメモになります。 ちなみに、Gruntの導入方法や基的な解説は下記の記事がとてもわかりやすく紹介してくれていますので、これから導入したいという方がいましたら是非参考にどうぞ。 Web制作で面倒な作業を自動化するビルドツール、Grunt v0.4 入門 – Web Design KOJIKA17 コピペが出来るなら誰でも出来る、Web制作タスク自動化ツール「Grunt」導入手順 – OZPAの表4 今更だけどやるgrunt入門編・インストールから基的な使い方 – WEB Drawer Web デザイナーさん向け Grunt を使った コーディング作業の効率化、はじめの一歩 – WWW WATCH また、この記事はSass/Compass、ブラウザのliveReloadを使用することを前提に書いてい

    Gruntを使ってプロジェクトを自動化する、Myタスクメモ | tipsBear
  • Re:VIEWの実行環境をVagrantで構築する — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    書籍および電子書籍のためのデジタル出版システム「ReVIEW」の正式名称が「Re:VIEW」になったことを記念して、Vagrantfileを作成しました。 これで、コマンドを数行打つだけでRe:VIEWを実行できる仮想マシンを構築でき、ReVIEWファイルからPDFやEPUBを作成できます。 VirtualBoxとVagrantのインストール まず、フリーな仮想化ソフトウェアであるVirtualBoxを、以下からダウンロードしインストールします(執筆時の動作確認バージョンはVirtualBox 4.2.18)。 https://www.virtualbox.org/wiki/Downloads VirtualBoxの仮想イメージを操作するツールであるVagrantを、以下からダウンロードしインストールします(執筆時の動作確認バージョンはVagrant 1.5.0)。 http://www.

    Re:VIEWの実行環境をVagrantで構築する — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something
  • SIerの社内フレームワークを前向きに捉えてみる - たけぞう瀕死ブログ

    その昔、僕が客先常駐ソルジャーだった頃、そこには辺り一面炎上プロジェクトばかりでした。 当時僕の参加していたプロジェクトでは、 SQLで書いたら数秒〜数分で済むであろうバッチ処理をなんちゃってEJB 1.0のような独自フレームワークを使って数時間かけて処理し、挙句に朝までに終わらないと問題になって作り直したり なぜかすべてのバッチがSQL*Plusを叩くシェルスクリプトで実装されており条件分岐で済むようなケースがすべて別ファイルとしてパターン数分用意されていたため処理を少し修正するだけでも数百のシェルスクリプトを修正しなくてはいけなかったり はたまたオンラインの処理では1人のユーザがボタンを押すだけで200M以上のメモリを消費しこれ想定ユーザ数での使用にどう考えて耐えられないでしょみたいなものがあったり ResultSetをJSPまで持ち合わしてどこでもクローズされていなくてJMeterで

    SIerの社内フレームワークを前向きに捉えてみる - たけぞう瀕死ブログ
  • 構成管理 実践入門 第2章 Subversionによるバージョン管理入門 はじめに

    SCMの中で、バージョン管理ツールは重要な位置を占めています。バージョン管理ツールの主な機能は、ソースファイルの変更の経過を管理する機能と、チーム開発用の機能です。 【ソースファイルの変更管理】 ソースファイルの変更を記録、保持し、そのファイルの変更を追跡できる!ソースファイルの状態を維持できる ソースファイルの変更を取り消したり、以前の状態に戻すことができる 【チーム開発】 同一ソースファイルに対して、複数の開発者が並行して変更を行える 同一ソースファイルに対して並行して行われた変更を統合する 同一ソースファイルに対して並行して行われた変更の競合を検出する 今回取り上げるSubversionは、上記の機能に加えて、次の利点も兼ね備えています。 コミットごとにリポジトリ全体でリビジョンを管理するため、ある瞬間の状態の取得が簡単に行える HTTP/HTTPSやSSHといった一般的なネットワー

    nobusue
    nobusue 2014/03/12
    分かりやすいですね
  • 構成管理 実践入門 第2章 Subversionによるバージョン管理入門 チーム開発に関連する操作

    ここからは、作業コピーAと作業コピーBを題材に、Subversionのチーム開発に関連する操作を見ていきます。 まず準備として、通常の並行開発に見立てて、作業コピーBのほうにも変更を加えておきましょう。 作業コピーBのhoge.txt、hoge_conflict.txtを以下のように変更してください。 【hoge.txt】 a B C 【hoge_conflict.txt】 a B E 更新 先ほど作業コピーAでコミットした内容は、まだ作業コピーBには反映されていません。リポジトリの最新状態と同期を取るために「更新」(アップデート)と呼ばれる作業が必要になります。 更新を行う作業コピーのディレクトリ(C:\work\2\B)に移動し、svn updateコマンドでリポジトリと同期化を行います。 ●【更新】 svn update C:\ work\ 2\ B> svn update D ho

  • Subversion(TortoiseSVN)でマージする方法(手順)(1)

    分岐した内容に関して、バグが全くなければよいのですが、どうしても branchesで修正した内容をtrunkへ反映する必要が出てくる必要があるでしょう。 もちろん、trunkを先に修正してbranchesへ反映する場合も手順は同じです。 (ご注意) このページをご利用になった結果の影響については、 一切責任を負いませんので、あらかじめご了承願います。 「branches/v4/」を「trunk/」より分岐してから、しばらくの日が経ちました。 trunk側へはいろいろと新機能が入っていますが、 ブランチ側は出荷も近くて追加はせずに動作確認だけを続けています。 ある日、branchesもtrunkも両方修正しないといけないバグが見つかりました。 ここでは、先にブランチ側を修正して、その結果をtrunkへマージしましょう。 ↓ trunk/sample1.txt ↓ branches/v4/sa

  • 物語の作り方/感動させる技術 - デマこい!

    誰もが「物語」を求めている。 スティーブ・ジョブズの魅力的なプレゼンには、「三幕構成」という作劇法が応用されていたという。iPhoneが一台あれば映画を作れる時代だ。今ほど「物語」が求められている時代はない。にもかかわらず、物語を作る「技術」の重要性に気づいている人はまれだ。物語作りに必要なのはセンスだけ──と、素朴に信じている人は多い。 物語作りにも、技術がある。 なかでもシド・フィールドが体系化したハリウッド式の「三幕構成」は、汎用性と自由度の高さが魅力だ。脚製作の現場だけでなく、商談につかうプレゼンや、WEBメディアの記事執筆(※ブログを含む!)、飲み会のときの「滑らない話」にいたるまで、およそ物語性を持つほとんどのものに応用できる。ジャンルを選ばず実用可能な、ほぼ唯一の技術といっていいだろう。 今回は「三幕構成」がどのようなものか、ざっくりと紹介したい。 三幕構成を説明する前に、

    物語の作り方/感動させる技術 - デマこい!
  • はてなブログが遅いのはだいたいJavaScriptのせい - もふぬこ動画☆画像

    はてなブログって重いですよね~・・・ ブラウザ変えたら早くなるかなと思ってIE11、Firefox、Google Chromeで計測してみたけど、どれもそんなに差は出なくてどれも遅い(苦笑) いったい何が原因なのかなと調べていったら、JavaScriptのせいでした。 「もふぬこ戦記」のトップページを計測しました。 使用したのはGoogle Chromeのデベロッパーツール。 条件はJavaScriptオン、キャッシュオフです。 12.84秒でした。 次にキャッシュをオンにしてみます。 8.38秒です。 次にJavaScriptをオフ、キャッシュをオフにしてみます。 3.48秒! キャッシュオンの場合・・・ 746ミリ秒 JavaScriptをオフにするだけでサクサク快適動作します! 星つけたりできなくなるんですけど・・・(´~`;) ・・・あれ?JavaScriptエラー出てる気がするけ

    はてなブログが遅いのはだいたいJavaScriptのせい - もふぬこ動画☆画像
  • プログラムの生産性をあげるためには - きしだのHatena

    前回のエントリで、プログラマの業界が労働集約的なものと知識集約的なものにわかれてきているという話を書きました。 プログラマ業界の二分化 - きしだのはてな 前のエントリでは労働集約的なものと知識集約的なものに完全にわかれているように書きましたが、もちろん完全に労働集約的であったり完全に知識集約的であったりすることは少なく、どのような組織でもある程度は両方の性質をもっています。知識集約的な性質の強いSI会社というのもあります。 ただ、SIに労働集約的な、サービスに知識集約的な性質が強くなる傾向はあると思います。 また、知識集約的であればよくて労働集約的であればダメということもありません。労働集約的なSIでありながら良い会社というのもあります。 という断りをいれておかないと、SIで労働集約だからといって全部ひとからげにするなという、労働集約的なSIでありながら良い会社方面から鋭利なマサカリが飛

    プログラムの生産性をあげるためには - きしだのHatena
  • コンピュータを進化させてきた偉大なるアルゴリズムまとめ

    By Kai Schreiber IT技術の進化のスピードには目を見張るものがありますが、それを支えているのはアルゴリズムと呼ばれる処理方法(技術的アイデア)です。さまざまなアルゴリズムの中でも、コンピュータの進化に革命的な影響をもたらしたとされる偉大なアルゴリズムは以下の通りです。 Great Algorithms that Revolutionized Computing http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/ ◆ハフマン符号(圧縮アルゴリズム) Huffman coding(ハフマン符号)は、1951年にデービッド・ハフマン氏によって開発されたアルゴリズム。頻出頻度の大小によって対戦するトーナメントツリーを考えて、ブロックごとに0と1の符号をもたせる

    コンピュータを進化させてきた偉大なるアルゴリズムまとめ
  • Java SE 7のProcessBuilderでリダイレクト - n-agetsumaの日記

    Java SE 7よりJavaから外部コマンドを実行できるProcessBuilderに便利な機能が追加されている。pingを実行してファイルにリダイレクトが簡単にできるなど、派手ではないが嬉しい機能追加である。以下では、追加された機能を使って色々なpingを実行してみる。 ping結果をパイプ経由の入力ストリームから取得 ProcessBuilder pb = new ProcessBuilder("ping", "-c", "3", "127.0.0.1"); try { Process p = pb.start(); // ping が完了するのを待つ p.waitFor(); // 実行結果を取得するストリームの種別を出力 System.out.println(pb.redirectInput()); try (BufferedReader br = new BufferedRea

    Java SE 7のProcessBuilderでリダイレクト - n-agetsumaの日記
    nobusue
    nobusue 2014/03/12
    ProcessBuilderはストリームバッファが詰まるとハングするので注意してね!
  • Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記

    Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも

    Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記
    nobusue
    nobusue 2014/03/12
    よいまとめ。この手のネタは古いのが多いので、最新化されててよい。
  • Subversion(TortoiseSVN)でブランチ(分岐)を作成する方法(手順)

    SVN Index Tips Top TortoiseSVN(TortoiseSVN)でブランチ(分岐)を作成する方法(手順) 以下に該当するような場合は、ブランチを作成して trunkとは別々に管理するようにしましょう。 特定のリビジョンでリリースしたくなった。 trunkへは継続して新しい機能を追加していきたいが、リリースするところへは入れたくない。 でも、バグ修正はtrunkへもリリースするところへも入れたい。両方を適切に管理したい。 trunkとは別のラインで、機能の変更 (処理系のバージョンが変わるなどある程度大きな変更)を 専用の作業場所を作ってやりたくなった [機能ブランチ]。 自分では管理していない外注先などで作成しているライブラリなどが、 定期的に(不定期でもよくて、要するに1回だけではなくて「何回も」という意味) 納入される。必要に迫られて自分でも納品物をアレンジするの

  • GitHub - tmknom/study-vagrant: Vagrant超入門:Vagrant初心者向けの解説だよ!

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - tmknom/study-vagrant: Vagrant超入門:Vagrant初心者向けの解説だよ!
  • Vagrant CloudのVagrant Shareを試してみたら凄すぎて鼻血出た - 憂鬱な世界にネコパンチ!

    Vagrant 1.5がリリースされたと思ったら、Vagrant Cloudなんてのが登場してますね! で、Vagrant Cloudの中にVagrant Shareってのがあるんだけど、試してみたらとんでもなかったので、早速やり方をシェアするよ! Vagrant Cloudにユーザ登録 Vagrant Cloudのページにアクセスして、まずはユーザ登録しよう。 迷うことはないと思うけど、「JOIN VAGRANT CLOUD」ってボタンをクリックすれば登録ページに飛べる。 次に、ユーザ名、メールアドレス、パスワードを入力したらユーザ登録は完了だ。 Vagrant1.5のインストール Macの場合は普通にダウンロードページからdmgファイルを落として、ダブルクリックでインストール。 念のため、確認。 $ vagrant -v Vagrant 1.5.0 Vagrantfile作成&仮想マシ

    Vagrant CloudのVagrant Shareを試してみたら凄すぎて鼻血出た - 憂鬱な世界にネコパンチ!
    nobusue
    nobusue 2014/03/12
    これはすごい