タグ

ブックマーク / qiita.com/kawasima (16)

  • ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita

    対象読者 2つの疎結合なシステム間を、メモリを大量に使っちゃうような大がかりな仕組みなしで、ほぼリアルタイムにデータロスなしに同期させたい、そういうアーキテクチャが欲しい方。 動機 Microservicesを疎結合に保ちつつ、バッチ処理やレポート機能でのクエリの高速化のため、データを同期させたいことがままあります。このあたりの話は、テキストの「5章 モノリスの分割」に載っています。 あるサービスから、データを定期的に吸い上げて、別のサービス、ツールに送るデータポンプという仕組みがあります。 イベント駆動でメッセージを関連サービスに送るイベントデータポンプや、バックアップツールを使って高速にデータ転送するバックアップデータポンプが紹介されていますが、結果整合性だけどなるべくリアルタイム(Near Real-Time)で同期させたいとなると、イベントデータポンプな仕組みしか選択肢にはならない

    ØMQを使ってMicroservice間をロスレスでデータを同期させるStrongZero - Qiita
    tenten0213
    tenten0213 2017/12/25
    ストロングゼロ…ポート5959(ごくごく)で待受け…
  • 安定性のパターン大全 (とその実装) - Qiita

    Cognitect社のNygardさんが10年ぶりに改訂したRelease It! 2nd Editionがまもなくリリースされます。内容は現在のベータ5版で全て書ききっておられるようなので、是非読んでみてください。 https://pragprog.com/book/mnee2/release-it-second-edition その中から4章の安定性パターンの概要をご紹介し、実際JavaのFailsafeライブラリを使った実装例を示したいと思います。 安定性のパターン Stability Patterns 分散システムや後続をブロッキングしてしまう重い処理は、システム全体がスローダウンしたり、無応答になってしまう危険にさらされています。クラウド時代になって、これらの安定性を保つための設計はより強調されるようになりましたが、わりと昔から様々な工夫がされてきたものでもあります。以下、Rel

    安定性のパターン大全 (とその実装) - Qiita
  • システムエンジニアがやるべき顧客の期待マネジメント - Qiita

    システムエンジニアが顧客に提供するものは、システムではなく、お客さまに満足してもらえるサービスだと私は思います。 http://www.slideshare.net/kawasima/kawasima さて、サービス業に学ぶと、CSのために重要なのは、事前期待マネジメントです。 http://www.insightnow.jp/article/6506 簡単にいうと、顧客の期待を少しだけ上回るように成果をもっていく。そのために、事前の期待値もコントロールしよう。というお話です。 期待が過小にならないようにマネジメントする。 言われたことだけに答えない。 特に提案案件でありがちなのは、言われたことにとりあえず答えを用意するだけで、あっぷあっぷになって、何のエッジも立たないものになりがちです。 何が一番達成したいことかをハッキリさせ、リアリティの高い解決策を考えます。 言われたことには全部答え

    システムエンジニアがやるべき顧客の期待マネジメント - Qiita
  • Webアプリ開発/テストのお供に『WAITT』 - Qiita

    Tomcat Launcherやtomcat-maven-pluginの融通の効かなさ加減に落胆し、waitt-maven-pluginを作ったわけですが、waitt-maven-pluginもtomcat7固定で環境や用途が限定されてしまっていたので、大幅に手を入れてプラッガブルなWAITTとして生まれ変わらせました。 WAITTとは Webアプリケーションをローカルで動作確認したり、テスト環境用に起動したりするためのMavenプラグインです。 Spring bootでなくても、特別なコードを書かなくても、IDEの有償の機能を使わなくても、Tomcat7/Tomcat8/Jetty9など選択して、Webアプリを起動することができます。jarやwarを作る必要はありません。アプリケーションのクラスパスに何か付け加える必要もありません。 それからWAITTでは、起動したサーバ/アプリケーショ

    Webアプリ開発/テストのお供に『WAITT』 - Qiita
  • マイクロサービスアーキテクチャにおけるAPIコールの仕方とHTMLレンダリング - Qiita

    先日、マイクロサービスの呼び出し方として、オーケストレーションとコレオグラフィについて書きましたが、同じく4章では、どうHTMLを組み立てるかという問題が提起されています。 ここもやや難解なので、咀嚼を試みます。 課題設定 次のようなECサイトを考えることにします。そして、4つのマイクロサービスを合成して構成します。 商品カタログサービス ショッピングカートサービス ショップサービス リコメンドサービス API合成 無垢な気持ちで設計すると、各々のマイクロサービスがWeb APIのインタフェースをもち、XMLやJSONを返して、ECサイト側で、テンプレートエンジンなどを用いて、HTMLをレンダリングするという方式になるかと思います。 そして、この形式でマイクロサービスを利用するサイト(アプリケーション)が増えていくと次の図のようになります。 これには、次の3つの欠点があるとされています。

    マイクロサービスアーキテクチャにおけるAPIコールの仕方とHTMLレンダリング - Qiita
  • マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ - Qiita

    マイクロサービスアーキテクチャの4章にオーケストレーションとコレオグラフィという話があります。 マイクロサービスを使ってアプリケーションを組み立てる側の、サービスの呼び出し方の違いです。 「マイクロサービス的に作ってるよー」というシステムでも、ここに特に疑問を持たず、ふつうにWeb APIたちを呼び、受け取ったデータでHTMLをレンダリングするというオーケストレーション方式で作られているのが多いのではないでしょうか? Sam Newmanは、それだと呼び出されるサービス側がドメインモデル貧血症になりがちで、呼び出す側にロジックが集まっていくことになると、書籍の中で述べています。 いったいどういうことでしょうか? 書籍中の例をちょっと変えて考えてみます。 マイクロサービスアーキテクチャでECサイトを作る(オーケストレーション編) ECサイトをマイクロサービスアーキテクチャで作ることを考えてみ

    マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ - Qiita
  • enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita

    現在ではSpring Bootの手軽さに軒並み飲み込まれた感がありますが、Javaのマイクロフレームワークはちょっとしたブームでした。 Javaのマイクロフレームワーク ― この新トレンドは見逃せない enkanは、RackやExpress.jsで実装されているミドルウェアパターンをJavaで実装した、現在ファーストリリースへ向け開発中の新しいマイクロフレームワークです。 Java9のREPLを活用して開発・運用を楽にする機能も実装(予定)です。 なぜ今さら新しいWebフレームワークを? Spring BootやJava EEは、高度なDIとたくさんのアノテーションでフレームワーク内部の動きはブラックボックス化されます。これを完全にブラックボックスのまま、実用的なWebアプリケーションを完成させるのは、実際のところ難しく、フレームワークの内部を覗きにいかなくてはなりませんが、これが結構ハマ

    enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita
  • RubyistのためのClojure入門 - Qiita

    PuppetがRubyからClojureへ乗り換えていくようです。 そんなRubyistが他にもいるかもしれないので、Rubyist向けにClojureだとどう書くか、みたいなガイドを書いてみます。 イディオム jnchitoさんのRubyイディオム記事をClojureで書くとどうなるか、まず説明したいと思います。 後置if で行数を減らす

    RubyistのためのClojure入門 - Qiita
    tenten0213
    tenten0213 2014/10/01
    RubyはLispからの影響受けてるし、Clojureに移りやすいのかな?
  • SIerを退職する前に身につけておきたいスクショの撮り方 - Qiita

    kawasimaです。SIerです 少々前にこういう話が盛り上がっていたようですが、イマドキSIerがどうやってExcelスクショを撮っているか世間的に認知されていないようなので、お話しておこうと思います。 世間ではいろいろツール化されているようですが、テストのためのスクショなので、スクショメインのツールでは末転倒です。そこで、Seleniumと統合したテスト用ブラウザを開発しています。 セットアップ jarファイルをダウンロードし実行します。 WindowsならばjarファイルをExplorerからダブルクリックするだけです。 https://github.com/kawasima/teslogger/releases 使うブラウザに応じてドライバのインストールが必要です。 IE Chrome Firefox 使い方 無事起動すると、以下のようなスプラッシュ画面が立ち上がります。 テス

    SIerを退職する前に身につけておきたいスクショの撮り方 - Qiita
    tenten0213
    tenten0213 2014/09/26
    イマドキSIerはスクショツールをClojureで作るのか…Clojure夜会での発表も気になる http://01e8c979c4e57f83dd63bf3d4a.doorkeeper.jp/events/14626
  • 大事なログを取り逃さない 〜タイムシフトロガー〜 - Qiita

    重大なエラーが発生した時には、ログを詳細に出力しておきたいが、でも番環境でログレベルを常時DEBUGしておくわけにはいかない… そんなときでもタイムシフトロガーがあれば大丈夫! エラーが発生したひとのログをある一定時間遡って詳細なレベルで取得できます。 というものを作ってみました。 仕組みですが、一定期間だけログを保管しておき、しきい値を超えたら溜め込んでいる詳細なログを吐き出す、というものです。 log4jのSocketAppenderを1つ追加してもらって、タイムシフトログサーバに向けます。そしてこれはDEBUGレベルにしておきます。 <appender name="timeshift" class="org.apache.log4j.net.SocketAppender"> <param name="RemoteHost" value="logserver"/> <param na

    大事なログを取り逃さない 〜タイムシフトロガー〜 - Qiita
  • S2-020類似攻撃のStruts1での対策方法 - Qiita

    恐ろしいことですが、実装が全然違うStruts2の脆弱性S2-020と同様の攻撃手法で、Struts1も脆弱性があることが分かりました。 http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html ここではあまり明らかになっていませんが、原因は // Set the corresponding properties of our bean try { BeanUtils.populate(bean, properties); } catch(Exception e) { throw new ServletException("BeanUtils.populate", e); } finally { if (multipartHandler != null) { // Set the multipart request handl

    S2-020類似攻撃のStruts1での対策方法 - Qiita
  • jagridを支える技術 - Qiita

    個人的にはaxebomber-cljのサブプロジェクトのつもりで作ったjagridですが、全国のExcelホウガンサーに喜んでいただけたようで、作ったかいがありました。 基的には、position: absoluteで、絶対座標をmargin-top / margin-leftに変換するだけなのですが、細かいところで工夫してありますので、多少解説しておきます。 garden rubyにおけるSCSSと同じ問題領域に、clojureではgardenがあります。 スタイルシートをS式で書けるスグレモノですが、現段階では引数をとる擬似クラスや子セレクタ(>)に対応する機能は無く、ちょっと物足りない感はあります。しかし、CSSをS式で書ける喜びは何物にも代えがたいですね。 [:.jagrid {:border-width (px 0) :line-height (px cell-size) :p

    jagridを支える技術 - Qiita
    tenten0213
    tenten0213 2014/04/24
    Excel方眼紙伝道師だっ!
  • Excel方眼紙をHTMLライクに作ってみる - Qiita

    Slideshareに投稿したのですが、LTでやったので詳細が伝わらないと思ったので解説します。 http://www.slideshare.net/kawasima/ss-33220875 Excel方眼紙の話題は尽きることはありませんが、どうも殺意ばかりが前面にでて、Excel方眼紙と上手く付き合う方法がみられなかったので、作ってみた次第です。 Excel方眼紙をPDF等のただの帳票として考えると、これはなかなか面白いものですし、iTextを使ってPDFを作るより、Excel方眼紙を作ってからPDF化した方が簡単に帳票出力コードかける気がしています。帳票レイアウトもExcel方眼紙であればユーザに直接作ってもらったものが使えますし、ね axbomber-cljとは axebomber-cljは、HTML-likeなコードでExcel方眼紙をアウトプットするためのツールです。 構文はhi

    Excel方眼紙をHTMLライクに作ってみる - Qiita
    tenten0213
    tenten0213 2014/04/10
    LTじゃあまり分からなかったけど、これスゲー…
  • プログラミング言語別のおちんぎん分布を調べる (EnliveとIncanter) - Qiita

    ※ この集計結果には、統計上の誤謬が多く含まれるので、どの言語を勉強すると儲かるかという視点でなく、あくまでもEnliveとIncanterを使うとWeb上のデータを使って簡単に集計プログラムが作れるよという点をお楽しみください。 どのプログラミング言語が儲かるのか、意識の高いエンジニアには気になるネタですよね。 indeed.comという求人サイトがありますが、これはクローラー型求人サイトとよばれるタイプで、各求人サイトからの情報をかき集めて検索ができるようになっています。 IndeedにもAPIはあるのですが、給与レンジをとることは出来なさそうなので、スクレイピングで対応します。Indeedでキーワード検索すると、右下に推定年収が表示されます。これを拾いだしてグラフを書いてみます。 スクレイピングにはJsoupのラッパーとしても使い勝手のよいEnliveを使います。 推定年収のDiv要

    プログラミング言語別のおちんぎん分布を調べる (EnliveとIncanter) - Qiita
  • プロキシ環境下でのCoreOS + Docker - Qiita

    ※ この記事はVMWare上のCoreOSについての記述です。Vagrantなど別の環境では、違った方法があるのかもしれません。 dockerホストOSとしてなるべく軽量なものがいい、CoreOSだ、となるのですが、プロキシ環境下では困ったことになります。 dockerは内部的にはGonet/httpを使って、イメージファイルを取りに行きます。したがってプロキシを通すためには、HTTP_PROXY環境変数にプロキシURLを設定すればよいのです。

    プロキシ環境下でのCoreOS + Docker - Qiita
  • Light Tableの使い方 (序章) - Qiita

    ちょっと前にkickstarterで20万ドルを集めて話題となったLight TableというIDEですが、順調に開発が進んでいてClojureアプリの開発に十分使えるレベルになっています。 完成したあかつきには、どういうライセンス体系になるのか不明ですが、現状は「Try the alpha」という位置づけで、自由に試してみることができます。 上記サイトから、Mac OSX、Windiws、Linux それぞれパッケージがあるのでダウンロードしてインストールします。 起動するとオシャレ感ただようウィンドウが開きますが、Clojureのコードを動かすために、バックエンドでJarファイルを取りに行ったりするので、プロキシ環境下で使う場合には、環境変数http_proxyとhttps_proxyを設定しておくとよいかと思います。 Clojureを試してみたい場合には、メニューのView -> C

    Light Tableの使い方 (序章) - Qiita
  • 1