2015年12月14日のブックマーク (13件)

  • リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi

    リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ

    リトライと冪等性のデザインパターン - Blog by Sadayuki Furuhashi
  • GitHub - tric/trick2015: The 2nd Transcendental Ruby Imbroglio Contest for rubyKaigi

    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 - tric/trick2015: The 2nd Transcendental Ruby Imbroglio Contest for rubyKaigi
    toyama0919
    toyama0919 2015/12/14
    Memo
  • Liquid for Designers

    Expressions and Variables Expressions are statements that have values. Liquid templates can use expressions in several places; most often in output statements, but also as arguments to some tags or filters. Liquid accepts the following kinds of expressions: Variables. The most basic kind of expression is just the name of a variable. Liquid variables are named like Ruby variables: they should consi

    Liquid for Designers
    toyama0919
    toyama0919 2015/12/14
    デザイナーじゃないけど参考になる
  • Home

    Liquid is a template engine which was crafted for very specific requirements It has to have simple markup and beautiful results. Template engines which don't produce good looking results are no fun to use. It needs to be non-evaling and secure. Liquid templates are made so that users can edit them. You don't want your server running code that your users wrote. It has to be stateless. The compile a

    Home
    toyama0919
    toyama0919 2015/12/14
    liquid記法勉強中
  • PrestoをCloudera Manager上で管理できるようにしてみた話 - Qiita

    こちらの記事はCloudera Manager Advent Calendar 2015の13日目です。 はじめに Cloudera Manager(以下CMと記述)を利用するとHadoopやHive, HBaseはもちろん、SparkやKafkaなどHadoopエコシステムを支える様々なプロダクトを簡単にインストール、運用できて大変便利ですね。 とはいえ、Hadoop上で動くプロダクトはどんどん新しい物が出ておりまして、中には使ってみたいものがCMでインストール出来ないものがあるのも事実です。 例えばPrestoなんかとても便利に使えますが、CMでは管理ができません。まぁChefやPuppetなどを使って構成管理をするのもいいのですが、普段からCMを使っているとそこでなんでも管理したくなるものではないでしょうか? 実はCloudera Managerではそのような要望を満たすために、独自

    PrestoをCloudera Manager上で管理できるようにしてみた話 - Qiita
    toyama0919
    toyama0919 2015/12/14
    re:dashでPrestoだと〜
  • Plotly

    plotly.js abstracts the types of statistical and scientific charts that you would find in packages like matplotlib, ggplot2, or MATLAB. d3.json('https://plotly.com/~DanielCarrera/13.json', function(figure){ var trace = { x: figure.data[0].x, y: figure.data[0].y, z: figure.data[0].z, type: 'contour', autocolorscale: false, colorscale: [[0,"rgb( 0, 0, 0)"],[0.3,"rgb(230, 0, 0)"],[0.6,"rgb(255,210, 0

    Plotly
    toyama0919
    toyama0919 2015/12/14
    Plotly結構凄い
  • Embulk Output Couchbase プラグインを Scala で書く | ザネリは列車を見送った

    これはScala Advent Calendar 2015, Embulk Advent Calendar 2015, Couchbase Advent Calendar 2015の14日目の記事です。 昨日はOE_uiaさんの「Scala標準のPromiseがAndroidで便利だという話」(Scala), daichikeさんの「N1QLがJSONデータモデルの柔軟さを引き出す」(Couchbase)でした。 Couchbaseへの書き込みを行うEmbulkのOutputプラグインをScalaで書いてみたのでその紹介と手探り感を記事にした。 EmbulkプラグインはJavaまたはRubyで書くことができるが、すでにJavaプラグインをScalaで書く試みをされている方はいるようで、 embulkのpluginをScalaで作ってみようと思った時の備忘録や、 実際にScalaで書かれてい

    Embulk Output Couchbase プラグインを Scala で書く | ザネリは列車を見送った
    toyama0919
    toyama0919 2015/12/14
    scalaか。。これJVM上で動くやつなら言語は何でも書けるということか
  • EmbulkでCSVからDBにロードするときのエラーについて調べてみた - 今日もプログラミング

    以前、Embulkのエラー処理について調べてみるというタイトルで記事を書いたが、あれからずいぶんとバージョンが上がっているので、再度確認してみることにした。 CSVの項目が多過ぎる場合 以下のような警告が出て、スキップされた。 2015-12-11 16:02:29.364 +0900 [WARN] (task-0000): Skipped line 2 (Too many columns): 1,123.40,test1,TEST1,2015-04-24,2015-04-24 01:02:03,2015-04-24 01:02:03.123,999 終了コードは0だった。 ドキュメントを見ると、allow_extra_columns: true を設定すると、余計な項目は無視されて正常な行としてと取り込まれるようだ。 逆に、stop_on_invalid_record: true を設定

    EmbulkでCSVからDBにロードするときのエラーについて調べてみた - 今日もプログラミング
  • SQLスタイルガイド - Qiita

    はじめに 文書はSQLのスタイルガイドです。 PythonRubyのようなプログラミング言語には有名なスタイルガイドがあり、共通のレイアウトルールに沿ったインデントや命名規則に則ったコードが生み出されています。 一方、SQLには知名度のある統一されたスタイルガイドがありません。 そのため、思いのままに書かれたSQLが散見されます。 もちろん、SQLを使ってアドホックな分析を行う場合は、必ずしもルールに沿う必要はなく、効率よく書いても良いと思います。 しかし、Webサービスやバッチの中に組み込むようなもの、つまり自分以外の誰かに読まれるSQLは、多くのプログラミング言語同様に何らかのスタイルガイドに沿うことで多くのメリットを享受できると思います。 クエリが構造化され、可読性が高まる バグの発見や修正が容易になる 改行位置やインデントなどのフォーマットの悩みが解消される スタイルガイドを共

    SQLスタイルガイド - Qiita
  • 英語しか使わない職場に英語がほとんどできないエンジニアが入ってきた話 - ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

    今の会社はシンガポールのスタートアップで小さい会社ながら世界各国から人が集まり、会議、メール、ランチ中の小話まで全て英語で行われている。で、そんな会社になぜかほとんど英語ができないながら、入社してきた人がいる。 彼はアフリカ出身のTで母国語はフランス語だ。いったいどういう経緯ではるばるアフリカからアジアのシンガポールまで来たのかは正直私もまだよく分かっていない。出会ってから半年ほどになるが、なにより英語があまりできないから、そのような基的なコミュニケーションがまだ取れていないのだ。でもこの「できなければ即クビ」が多いシンガポールのスタートアップにおいて、Tはクビになどならずに非常に重要な仕事を着々とこなしている。 Tが入社する前、会社に必要な技術があってその求人応募の広告を出した。すごくカンタンに言うとAとBとCの技術ができる人を求む。という感じだ。 で、来た候補者はざっと以下の感じだっ

    英語しか使わない職場に英語がほとんどできないエンジニアが入ってきた話 - ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記
  • Rubyインタプリタ開発者 笹田耕一さんによるAOTコンパイラ「ISeq」解説 #rubykaigi 2015

    トゥギャッター開発まとめ @tg__dev Next up: 13:30-14:05(35) / "Compiling Ruby scripts" / 🔈@ko1 / 📍HallA ( #rubykaigiA ) #rubykaigi

    Rubyインタプリタ開発者 笹田耕一さんによるAOTコンパイラ「ISeq」解説 #rubykaigi 2015
    toyama0919
    toyama0919 2015/12/14
    速さは正義というのが年々増してきている感ある
  • plotly の紹介 - Qiita

    plotly とは plotly はデータ可視化のためのプラットフォームです。 基的に無料で利用することが可能です。 (可視化結果の 入出力データのプライベートなクラウドホストや共有 SVG, PDF, EPS 形式での保存 もしくは「APIを頻繁に叩く」といった場合は有料プランへの加入が必要です。詳細は後述します。) その可視化結果はインタラクティブに操作可能であり 棒グラフ 地図 箱ひげ図 ヒストグラム といった図に対し マウスオーバーでのデータ内容の表示 ズーム、パン が可能、という特徴があります。 またデータ可視化における主要言語 R Python MATLAB のクライアントが提供されており、この他にも Excel Julia Igor Spotfire Nodejs Ruby Go F# Arduino や Rasberry PI のようなハードウェア 用にplotlyのAP

    plotly の紹介 - Qiita
    toyama0919
    toyama0919 2015/12/14
    re:dashでも採用されたplotly!
  • re:dashのダッシュボードで入力フォームを活用する - Qiita

    Redash 最新版(1.x系)から、こちらの投稿内容で動作しない状況となっておりますのでご注意ください。 対策案が分かる方はコメントいただけるとありがたいです! re:dash は開発スピードが早く、つい先日は HighCharts から Plotly に置き換える PR がマージされプレリリースもされており、UI が大きく変わりそうで戦々恐々としているところです... この記事は、社内で現在運用している v0.8.3.b1192 での動作を前提とします。 re:dash は SQL をさっと書くだけでグラフ化/ダッシュボード化でき、ライトに分析できるのが売りですが、社内で BI プラットフォームとして格運用するためには以下のような課題もクリアする必要がありました。 グラフの表示期間を指定したい(直近◯ヶ月や◯年前から、など見る人によって希望は様々) マクロデータだけでなく、特定の

    re:dashのダッシュボードで入力フォームを活用する - Qiita
    toyama0919
    toyama0919 2015/12/14
    これは便利