sancheryのブックマーク (521)

  • Spring Cloud - Think Twice

    Josh Longのセッションをなぞってみた。 www.youtube.com Config-Server プロパティをアプリケーションの外に設定する。 gitリポジトリー(GitHub,Gitbucket...)にyml、もしくは propertiesファイルで設定できる。 git リポジトリーの作成 Josh のリポジトリーをcloneして使う。 $ git clone git@github.com:joshlong/bootiful-microservices-config.git Cloning into 'bootiful-microservices-config'... remote: Counting objects: 158, done. remote: Compressing objects: 100% (9/9), done. config-server を作成 htt

    Spring Cloud - Think Twice
    sanchery
    sanchery 2015/10/16
  • Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO

    Norikraとは Norikraとはリアルタイム集計プロダクトです。イベントストリームに対してSQLライクな言語で処理を書くことが出来ます。 例えば、ApacheのアクセスログをNorikraに流し込み、1分あたりのアクセス数やレスポンスタイムの最大値をリアルタイムに集計することが出来ます。 Norikraの利用例は作者であるtagomorisさんのブログで紹介があります。 今回は、Norikraを使ってDoS攻撃をブロックする仕組みを作ってみました。 DoS攻撃ブロックの仕組み アクセス元はApacheのアクセスログから取得し、ログの受け渡しにはFluentdを利用しました。 ブロックの手順は以下のようになります。 アクセスログをFluentdのin_tailプラグインで取得。 Fluentdのout_norikraプラグインで、アクセスログをNorikraに流し込み。 Norikra

    Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO
    sanchery
    sanchery 2015/10/01
  • マイクロサービスのデザインパターン

    第1版 2015年9月21日 第2版 2015年12月24日 Bluemixでは,たくさんのサービスやAPIが提供されており,それらを組み合わせることでアプリケーションを開発することができます.単一のプログラム言語を使って,多数のライブラリやクラスファイルを結合して作る大きなアプリケーションにももちろん利点がありますが,新しい機能やUXを継続的に提供したい時や,目的に合わせてプログラミング言語やデータベースを選択したい場合には,それぞれが独立したサービスを組み合わせるやり方が有利です.この考え方の根底にあるのが,James LewisとMartin Fowlerが提唱しているマイクロサービスです.彼らのブログ記事にあるマイクロサービスの定義にあたる部分を訳してみました. マイクロサービス(Microservices)アーキテクチャスタイルは、それぞれが独立のプロセスで実行され,HTTPリソ

    マイクロサービスのデザインパターン
    sanchery
    sanchery 2015/09/22
  • まだAPIで消耗してるの? サクッとデータが欲しいなら「Blockspring」を使おう! – GUNMA GIS GEEK

    各サービスのAPIの仕様なんて覚えてらんねぇ!という人は是非。 Blockspringとは Blockspringは、TwitterやFacebookなどのソーシャルメディアをはじめ、Amazon、Youtubeなど様々なサービスからのデータを、プログラマがAPIを直接触ることなく表データとして取得することができるサービスです。サービスごとに規格の異なるWebAPIを利用するには学習コストが結構かかるわけですが、Blockspringはそういったサービスとプログラマーの間に立ち、データ取得のインターフェイスを抽象化してくれます。 非常に沢山のサービスに対応しています。 「ちょこっとデータが欲しいだけなのに、サービス毎のWebAPIを勉強するのもう疲れた」 そんな時はBlockspringを利用してみてください。 インストール BlockspringはGoogle スプレッドシートとエクセル

    まだAPIで消耗してるの? サクッとデータが欲しいなら「Blockspring」を使おう! – GUNMA GIS GEEK
    sanchery
    sanchery 2015/09/18
  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
    sanchery
    sanchery 2015/09/15
  • codic - デベロッパーのためのネーミング辞書

    codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。

    codic - デベロッパーのためのネーミング辞書
    sanchery
    sanchery 2015/09/13
  • 「ドメイン駆動設計」の複雑さに立ち向かう

    13. オブジェクト指向の「変更容易性」 (どのパラダイムでも同じだけど) • 抽象データ型/段階的な抽象化 – プログラムを人間の発想に近づけると扱いやすい • モジュラープログラミング – 独立性の高い部品に分けると扱いやすい – 関連するデータと操作は、ひとつのプログラミング単位に • メッセージング – 部品の組合せを柔軟に変更できると扱いやすい – sender/receiver/dynamic routing – Javaだとうまく実現できていないアイデア • メッセージングの考え方の参考 • Erlang, EIP:Enterprise Integration Patterns, マイクロ サービス, …

    「ドメイン駆動設計」の複雑さに立ち向かう
    sanchery
    sanchery 2015/09/10
  • Domain駆動開発入門 | Casley Deep Innovations株式会社 技術ブログ

    今回はドメイン開発入門について解説していきたいと思います。 まずはドメイン駆動開発とはどういったものかを述べて、そこから一般的なアーキテクチャとどう異なるかについて説明していきたいと思います。 1. ドメイン駆動設計とは ドメイン駆動設計とは、一言で言うと、ソフトウェアの設計手法のことです。 オブジェクト指向におけるアーキテクチャにおいて、ドメイン層に重点を置いて開発を行い、 仕様が確定したり改修を行っていく度にドメインモデルを反復的に深化させていく手法になります。 ここでのドメイン層とはアプリケーションが対象とする業務領域のことです。 2. 一般のアーキテクチャとどう異なるか? まずは一般的なアプリケーション(トランザクションスクリプト)のアーキテクチャについておさらいしてみましょう。 ・プレゼンテーション層 利用ユーザーに対するインターフェースの提供する。 ・ドメイン層(ビジネスレイア

    Domain駆動開発入門 | Casley Deep Innovations株式会社 技術ブログ
    sanchery
    sanchery 2015/09/10
  • 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita

    はじめに もうすっかり年末なので、これから2015年にかけてアプリケーションアーキテクチャがどのようになっていくのかという個人的な考え/妄想や背景について、「リアクティブ」というキーワードをもとににまとめてみたいと思います。 Google Trendsを見ると"reactive programming"という言葉は2010年前後から、ゆっくりとバズをし始め、現在も上昇を続けています。 また、仕事としては、2010年ごろから大規模なWebサービス開発において、フロントエンド、バックエンド、アルゴリズム改善といった様々な箇所で、リアクティブプログラミングの要素を取り入れながら、アーキテクチャの改善を進めてきました。そのため、こういったアーキテクチャがコード品質の維持や安定性の向上、実際的で複雑な問題の解決にも適応可能であるということを実感として持っています。 近年、そういった要素が様々なツール

    2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita
    sanchery
    sanchery 2015/09/07
  • うまくメソッド名を付けるための参考情報 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    うまくメソッド名を付けるための参考情報 - Qiita
    sanchery
    sanchery 2015/09/03
  • メルカリでのNorikraの活用、 Mackerelを添えて

    2. Me • 長野雅広(Masahiro Nagano) • @kazeburo • Mercari, Inc. • Operations Engineer, Site Reliability

    メルカリでのNorikraの活用、 Mackerelを添えて
    sanchery
    sanchery 2015/08/30
  • これからエンジニアがやったらよさそうな仕事 - fujimuradaisuke's blog

    技術顧問ブームですね。先日退職してから色々な会社を回ってて、これニーズあるんじゃね?って仕事を何個か思いついたので、列挙してみます。 チーム開発を軸にした技術顧問 やること: 開発プロセスの構築・実行・改善、ミーティングのファシリテートを行い、チーム開発を良い感じにする。 必要そうなスキル: チームを作った経験。ソフトウェア開発プロセスの知識と実務経験。それなりの技術力。 GitHubコードレビューしてCI/CDを回して、っていうスタートアップでよくあるエンジニアリングの型はある程度できているけど、うまく運用できていないところは少なくないと予想している。わかってる人が手伝ったら軌道に乗るまでが早そう。事業や組織の性質・フェーズに合わせる必要もあるし結構難しい。チームで仕事をするというカルチャーを伝えるのも価値がありそう。人間力が問われますな…。 個別技術を軸にした技術顧問 やること: 技

    これからエンジニアがやったらよさそうな仕事 - fujimuradaisuke's blog
    sanchery
    sanchery 2015/08/30
  • SparkRをEC2上で動かして分散処理してみる

    こんにちは!美味しいコーヒーを飲むために、毎朝早くにデスクコーヒーミル回してます、アナリティクスチームの高柳です。 アナリティクスチームでは、じゃらんnetやホットペッパービューティーをはじめとしたリクルートライフスタイルのサービスに対して、基礎集計やレポーティング、また、データマイニング(データ分析)を活用し、高速にサービスを改善していくというミッションを担っています。 記事では、データ分析環境としてのApache Spark、特にver 1.4から利用可能になったSparkRを、当チームのAWS上の分析環境に導入検討していたので、その辺について書きたいと思います。 SparkRは、まだリリースから日が浅いことから、日語の記事が相当に少ないので、この記事がみなさんの"Happy SparkR ライフ"のお役に立つことを願っております。 Apache Spark導入の背景 サービスを

    SparkRをEC2上で動かして分散処理してみる
    sanchery
    sanchery 2015/08/19
  • ラムダ式・Stream APIの理解のポイントは「型」 - 行きあたりばったりエンジニアの日記

    はじめに Java SE 8がリリースされて、そろそろ1年が経とうとしています。早いものです。 それはすなわち、Java SE 7のサポート切れが間近に迫っているということでもあります。 そこで今回は、改めてJava SE 8の理解のポイントを解説しようと思います。 ラムダ式・Stream APIの2点が、Java SE 8の目玉となる新機能です。 こんなコードが出てきます。 List<Emp> source = Arrays.asList( new Emp(101, "Nishida", Dept.ADMIN, 500000), new Emp(102, "Nohira", Dept.SALES, 285000), // 以下省略 ); // ラムダ式&Stream API! // EmpのListから、Deptが「SALES」の要素のみ抽出し、名前のみのListに集約する List<S

    ラムダ式・Stream APIの理解のポイントは「型」 - 行きあたりばったりエンジニアの日記
    sanchery
    sanchery 2015/08/19
  • プロダクトマネージャーとプロジェクトマネージャーはどう違うのか - 小さなごちそう

    両方ともPMと略されるため混同する人が多いが、プロダクトマネージャーとプロジェクトマネージャーは明確に役割が異なる。 Quoraに素晴らしく簡潔な回答があったので引用して紹介する。 Product managers own "What" and "Why". Project managers own "How" and "When". (a simplification, but generally holds true) Ian McAllister's answer to What's the difference between a Project Manager and a Product Manager? - Quora プロダクトマネージャーは、「何を作るか」「なぜ作るのか」に責任を持ち、プロジェクトマネージャーは、「いつまでに作るか」「どうやって作るか」に責任を持つ。 別の言

    プロダクトマネージャーとプロジェクトマネージャーはどう違うのか - 小さなごちそう
    sanchery
    sanchery 2015/08/15
  • プロダクトマネージャー宣言 - 小さなごちそう

    プロダクトマネージャーを目指す人にとって指針となるようなマニフェストを、日語で作りたいと思っている。 僕自身も修行中の身だが、僕がプロダクトマネジメントを行う際に気をつけていることをマニフェスト風にざっと書き出してみた。 まだ粗々なのでここからブラッシュアップして行きたい。 私たちは、ユーザーに愛されるプロダクトによって利益を生み出すことに情熱を持っています 私たちは、プロダクトの力で難しい問題を解決できると信じています 私たちは、問題の定義が最初の仕事であることを知っています。 私たちは、ターゲットとその課題を定義すること無しに良いプロダクトを作れないことを知っています 私たちは、要件定義はゴールではなく出発点であることを知っています 実現可能性のあるアイデアを選定するのは私たちの仕事です。 私たちは、自分の考察に盲点があることを知っています。 私たちは、多数決ではイノベーションが生ま

    プロダクトマネージャー宣言 - 小さなごちそう
    sanchery
    sanchery 2015/08/15
  • githubのissueのlabel - jabropt.com

    bug 意味:バグ。修正したらクローズ。 duplicate 意味:他のイシューと重複している。重複先のイシューにリンクしてクローズ。 enhancement 意味:機能追加。実装したらクローズ。 invalid 意味:間違い、勘違い、実現不可能。対応しない理由を書いてクローズ。 question 意味:質問、議論。収束したらクローズ。 wontfix 意味:分かっちゃいるけど対応しないバグ。対応しない理由を書いてクローズ。

    sanchery
    sanchery 2015/08/12
  • JerseyでのJSONサービス - クロノスの技術系ブログ

    JerseyでのJSONサービスの作り方に関して、 Jerseyでレスポンスとして、JSONを戻す場合、JerseyのJSONライブラリとJAXBを使います。 例えば、下のようなJSONを戻すと場合は、JAXBのクラスに構造をマッピングします。 {'category' : [{'key' : '1000', 'value' : 'AAAAA'}, {'key' : '2000', 'value' : 'BBBBB'}]}JAXBのクラスの作成方法は、下記に記載した方法で、作成します。 JAXBに関して - クロノスの技術系ブログ また、今回の場合、Apache Mavenのpom.xmlは、下記のようにライブラリを指定しています。 <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifa

    JerseyでのJSONサービス - クロノスの技術系ブログ
    sanchery
    sanchery 2015/08/12
  • A Node in Nodes

    sanchery
    sanchery 2015/08/11
  • マイクロサービスのトレードオフ | POSTD

    (編注:2020/08/11、いただいたフィードバックをもとに記事を修正いたしました。) マイクロサービスのアーキテクチャスタイル がモノリシックアーキテクチャよりも優れたアプローチであるというのは、多くの開発チームが実感していることです。その一方で、生産性を低下させる重荷のようなものだと感じているチームも存在します。プラスの面もあればマイナスの面もあるという点においては、マイクロサービスも他のアーキテクチャスタイルと変わりません。具体的なコンテキストに適用する前に、これらをよく理解して、賢明な選択をする必要があります。 マイクロサービスがもたらす利点 強固なモジュールの境界 :マイクロサービスではモジュラー構造が強化されています。この点は、チームの規模が大きくなるほどその恩恵は増してくるでしょう。 個別にデプロイ :サービスがシンプルなほどデプロイは容易です。また、マイクロサービスではそ

    マイクロサービスのトレードオフ | POSTD
    sanchery
    sanchery 2015/08/11