並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 850件

新着順 人気順

分散システムの検索結果441 - 480 件 / 850件

  • 【感想】『データ指向アプリケーションデザイン』:深遠なる分散データの新大陸への旅 - Rのつく財団入り口

    読破した分厚いオライリー本の感想記事です。本書ではCPUの速度がボトルネックになるようなものは演算指向アプリケーションと区別し、データの量や複雑さ、変化の速度が主題となるシステムを「データ指向」と位置づけて、特定技術に幅を狭めずに包括的に解説した本となっています。 著者はイギリス、ケンブリッジ大学の分散システムの研究者 Martin Kleppmann氏。監訳者が斉藤太郎氏、訳者は玉川竜司氏。 タイトルの『データ指向アプリケーションデザイン』の原題は Designing Data-Intensive Applications。よく使われる「オブジェクト指向」の原語は Object-Oriented ですが、本書の「指向」は Intensive で若干ニュアンスが違います。たまに見るデータ駆動、データドリブンなどともちょっと違いますね。 Intensive単体の意味は強い、激しい、徹底的、集

      【感想】『データ指向アプリケーションデザイン』:深遠なる分散データの新大陸への旅 - Rのつく財団入り口
    • すごいTrie - Qiita

      「to」がキーで「7」がバリューです。これを trie で表すと下図のようになります。 Trie - Wikipediaより引用 ノードの中に書かれている「tea」や「in」がキーであり、ノードの下に書かれている「3」や「5」がキーに対応する値です。 あるノードのキーは、その親ノードのキーに、親ノードから伸びる有向辺に書かれている文字を、付け足した文字列です。実際には、ノードには直接キーが保存されず、そのノードに到達するまでの辺のラベルの列がキーになってます。 接頭辞がノードと対応するので prefix tree とも呼ばれます。 計算量 計算量は色々な表現をすることが可能ですが、ノードの分岐は高々アルファベットの種類数なのでこれを定数とすれば、$ m $を文字列の長さとして以下の操作が$ O(m) $で出来ます。(アルファベットの種類数を考慮すると$\log$が付きます。) 文字列の検索

        すごいTrie - Qiita
      • Gremlinを使って障害を注入してみる | DevelopersIO

        こんにちは、森です。 昨年のAWS re:Invent 2018でも紹介されたカオスエンジニアリングツールの Gremlin というサービスを使って障害を注入し、 使用感を確かめたいと思います。 Gremlinとは "Gremlin provides a hosted service for you to safely, securely, and simply run Chaos Experiments to prevent outages." システムに障害を注入するためのホスティングサービスです。 以下の3つの原則をもとに、我々にChaos Experimentsを提供してくれます。 Safety 正確な故障テストで影響範囲を最小化。 安全に停止し、すぐに安定した状態にロールバックします。 Security ルートアクセスを必要とせず、SSOとMFAを提供し、 定期的なサードパーティ

          Gremlinを使って障害を注入してみる | DevelopersIO
        • Rubyist Hotlinks 【第 39 回】古橋貞之 さん

          はじめに 著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 39 回となる今回は、古橋貞之さん。 では、お楽しみください。 インタビュー 聞き手 卜部さん (@shyouhei) 語り手 古橋貞之さん (記事中「古橋」) 野次馬(古橋さんの現職であるトレジャーデータの同僚と元同僚のみなさん) 国分さん、成瀬さん、田籠さん、金子さん、三村さん 日にち 2023 年 5 月 11 日 写真提供 : 目次 Table of content プロフィール 卜部 はい、じゃあお疲れ様です。ゆるりと始めていきますが。るびまのインタビューはポッドキャストにしないという信念の元に、ポッドキャストにしていなくて。 三村 そんな信念が。 卜部 なんでかっていうと、いくら迂闊なことをゆっても後から編集できるからっていう。これがね、やっぱ迂闊なことを言ってもらわないと楽しい

          • 文系学部卒でも無条件で不合格にならないアメリカのオンラインコンピューターサイエンス修士コースを調べ、出願校を決めた|Toshinori Sugita

            出願校最初の出願校は、ジョージア工科大学のOMSCSになりそうだ。履修できる授業の種類、オンラインコースの懐の深さ(合格率の高さ)(、費用)が主な理由だ。 前回の記事を書いた時点では、ペンシルバニア大学のMCITがベストではないかと考えていた。 しかし、他の選択肢を十分検討していなかったので、候補になり得るコースをリストアップして比較した。特に気にしたのは、つぎの点だ。 ・文系学士が無条件でNGにならない ・CS推奨であっても、テストやMOOCs受講、業務経験などでなんとかなる ・アメリカ(最初の候補として。イギリスやオーストラリアがダメというわけでは全然ないが、英語で学ぶことを前提としたい) ・授業(基礎、分散システム、その他機械学習、データサイエンスなど共通理解になり得るものが選択できる) ・出願要件の具体的な数字(英語テスト、書類、出願期限) ・合格率(オンラインはオンキャンパスと比

              文系学部卒でも無条件で不合格にならないアメリカのオンラインコンピューターサイエンス修士コースを調べ、出願校を決めた|Toshinori Sugita
            • 【基礎から模擬試験問題集まで】Udemy講座で学んで、AWS認定を受けよう!講座9選+α - Qiita Zine

              現在世の中の多くの会社がクラウドサービスを利用しており、DX(デジタルトランスフォーメーション)の実現にはクラウドサービスが欠かせないとも言われています。 日夜話題になっているクラウドサービスのなかでも、世界3大クラウドの1つである「Amazon Web Services」(以下、AWS)をご存じの方は多いことでしょう。 AWSをはじめとしたクラウドサービスを使いこなすためには専門的な知識が必要になります。 そのサポートをするため、AWSから「AWS認定」と呼ばれるAWSに関する知識とスキルを証明する資格制度が提供されています。「AWS認定」では受講者のスキルや役割に合わせて複数の認定が用意されているため、自身の状況に合わせて資格取得が可能です。 Qiitaでも、「AWS認定」を受講しその過程をアウトプットしている記事があり、学習の手段として多くの方がUdemyで提供されている動画講座を活

                【基礎から模擬試験問題集まで】Udemy講座で学んで、AWS認定を受けよう!講座9選+α - Qiita Zine
              • Amazon MemoryDB for Redisの論文がSIGMOD 2024で採択されたので読んでみた | DevelopersIO

                Amazon MemoryDBではトランザクションログサービスへの耐久性のオフロード、スナップショット用にephemeralクラスタを作成、形式手法(TLA+)で一貫性の検証などが活躍しています Amazon MemoryDB for RedisはAWSが2021年から提供するRedis互換でありながら高速なパフォーマンスと耐久性を兼ね備えたエンタープライズなインメモリデータベースです。このAmazon MemoryDBの仕組みについて説明した論文が、2024年6月にチリ・サンティアゴで開催される国際的なデータベース学会の「SIGMOD/PODS 2024」で採択されました。 The 2024 ACM SIGMOD/PODS Conference: Santiago, Chile - Welcome Amazon MemoryDB: A fast and durable memory-fi

                  Amazon MemoryDB for Redisの論文がSIGMOD 2024で採択されたので読んでみた | DevelopersIO
                • Cloudflare Workers の Durable Objects について

                  とくに断りがない限り、引用文は Workers Durable Objects Beta: A New Approach to Stateful Serverless を Deepl で翻訳したものです。 前提知識として、 Cloudflare Workers 自体の解説はしません。こちらを参照してください。 Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの 要約すると Cloudflare Workers は CDN Edge で低遅延、低スペックCPUの Node.js の Worker が高速に動くサーバーレス環境です。 Durable Objects とは 注意: まだクローズドベータです。 本来は、手元で動かしてから記事を書くつもりでしたが、クローズドベータに申し込みしてから待てども待てども解禁

                    Cloudflare Workers の Durable Objects について
                  • 【感想】『マイクロサービスパターン 実践的システムデザインのためのコード解説』:前編 - Rのつく財団入り口

                    「未来はすでにここにある。まだむらなく流通していないだけだ」←グッとくる 最初のエモワードがSF作家ウィリアム・ギブスンの引用でイイ! サイバーパンク2077遊んでみた~い……じゃなかった、CloudFoundry.comのファウンダーでありMicroservices.ioの運営者、経験豊富なソフトウェアアーキテクトであるクリス・リチャードソンさんによる『Microservices Patterns』の翻訳本。 タイトルのようにアーキテクチャパターンやデザインパターンのようにマイクロサービスをパターンで体系化し、サンプルストーリーを元にした事例やコード例、OSS紹介を交えつつマイクロサービスを実践する設計方法を探求した本となっています。 Java文化圏で長く活動してきた方とのことでサンプルコードはほぼJava、Springフレームワーク、ご本人らによるマイクロサービス用のフレームワークEv

                      【感想】『マイクロサービスパターン 実践的システムデザインのためのコード解説』:前編 - Rのつく財団入り口
                    • 会誌「デジタルプラクティスコーナー」

                      RubyはWebシステムの記述言語として高い生産性を発揮し,Web業界では広く浸透している.一方,分析的データ処理への対応が弱いため,データ処理分野ではほとんど利用されていない.昨今のDX推進などの流れから,Rubyで書かれた既存システムのデータ処理への対応が近い将来必要となるだろう.そのような要求に対応するためには,前もってRubyを分析的データ処理に対応させる必要がある.本稿では,Rubyを分析的データ処理に対応させる手段としてApache Arrowが有効であることを示す.Apache Arrowは,既存のデータ処理コンポーネント間のデータ連携の非効率性を解消するために提案された,データフォーマットとAPIである.RubyをApache Arrowに対応させることで,分析的データ処理に対応できるだけでなく,データ処理分野における先進的な取り組みにRubyからアクセスできるようになる.

                        会誌「デジタルプラクティスコーナー」
                      • 「実践ドメイン駆動設計」から学ぶDDDの実装入門の読了メモ – rinoguchi's techlog

                        値オブジェクト or Stringやプリミティブ型 Stringやプリミティブ型の不都合 オブジェクト自身が複数のプロパティを組合せ管理できない 例えば、氏名とふりがなを同時に持てないし、姓と名を別々で管理することもできない オブジェクト自体が特別な振る舞いを持つことができない 例えば、郵便番号から都道府県を取得する振る舞いを持たせることもできない オブジェクトが自分自身の不変条件を定義できない 結果として処理開始時点のバリデーションに全て頼る形になり、どこかで値が変更されてないかを気にしながら利用する必要がある 例えば、電話番号は「数値」と「-」を含む10〜11桁の文字列という不変条件を担保したい 値オブジェクトは上記の不都合を解決できる なので上記のようなケースでは、値オブジェクトを利用すると良さそう とはいえ「3.」のケースを言い出すとなんでも値オブジェクトにしなくてはいけない気がす

                        • Flakyテストから学ぶテスト自動実行分散システム設計入門 - Tabelog Tech Blog

                          目次 目次 はじめに 分散システム視点での自動テストシステム 分散システム構成 入力 出力 テスト対象システム コンポーネント ノード Testcase Allocator Cucumber Selenium Browser 事例:食べログで起きた分散システム視点でのFlakyテスト 問題 Flakyテストの事象: "たまに" "不特定" "多数のテストケースが" "Cucumberのstepの60秒タイムアウトエラーで失敗する" Flakyテストの原因調査の複雑さ 原因と対策 「事象A: たまに(4回に1回程度の頻度で)」の原因と対策 「事象B: 不特定 (毎回異なるテストケース)」の原因と対策 「事象C: 多数のテストケースが(テストケース全体の20~70%程度)」の原因と対策 「事象D: Cucumberのstepの60秒タイムアウトエラーで失敗する」の原因と対策 結果 巻き込まれて

                            Flakyテストから学ぶテスト自動実行分散システム設計入門 - Tabelog Tech Blog
                          • AtCoderで茶色から緑色に上がるには何を勉強すればよいか

                            この記事では、AtCoderで緑コーダー(800-)になるために必要な勉強について話そうと思う。 緑になった時に書くと言ってたのだが、色々あって書くのが遅れてしまった。 なぜ私がこれを語るにふさわしい人間かもし私が、一回目のコンテストでいきなり橙パフォを出して緑に上がるような人間だったら、 誰も私が緑コーダーになるために何かいうことに価値を感じないと思う。 緑コーダーになるための勉強法を茶色で躓いている人たちに語るためには、 やはり自身も茶色で躓いた経験が必要であると思う。 まず私は、35歳のプログラマである。 過去には、 dm-writeboost のようにちょっと知れたソフトウェアも書いたことがある。 たぶん、私のことをコードの書けない雑魚という人間はたぶんあまりいないのではないかと思う。 緑コーダーというのは、一般的な大学の学生で優秀なレベルであると AtCoderの高橋氏は述べてい

                              AtCoderで茶色から緑色に上がるには何を勉強すればよいか
                            • 分散システムは“故障する可能性があるもの”である 具体例から考える、データの一貫性を担保する難しさ

                              技術記事『Amazon Builders' Library』にフォーカスを当てた勉強会「AWS Tech talkNight#5 クラウドネイティブ時代のエンジニアが押さえておきたい ソフトウェアの構築・運用で考慮すべき5つのポイント ~AWSプリンシパルエンジニアの技術記事をソリューションアーキテクトが解説~」。ここで、ソリューションアーキテクトの松田氏が登壇。まずは分散システムについて話します。 松田氏の自己紹介 松田丈氏:あらためまして、みなさんこんばんは。アマゾンウェブサービスジャパン  ソリューションアーキテクトの松田丈です。よろしくお願いします。 私からは「分散システムの課題とリーダー選挙」というテーマでお話しします。本日4つ目の発表で、そろそろお疲れの方も多いかもしれませんが、チャットなどで盛り上げていただけるとうれしいです。ぜひリラックスして聞いてください。 はじめに自己紹

                                分散システムは“故障する可能性があるもの”である 具体例から考える、データの一貫性を担保する難しさ
                              • 【AWS認定試験】入社3ヶ月でCLF + アソシエイト3冠を取得した話 | DevelopersIO

                                アノテーションの畑垣です。 気づけば、ジョインしてから3ヶ月が経ち、フルリモートの環境に慣れてきました。 今回、CLF(クラウドプラクティショナー)、SAA(ソリューションアーキテクトアソシエイト)、SOA(SysOpsアドミニストレーターアソシエイト)、DVA(デベロッパーアソシエイト)を取得しました。 使用した教材や試験の感想などを紹介しましたので、参考にしていただけるとうれしいです。 各試験の概要 AWS認定試験は4つのカテゴリに分けられてます。基礎コース、アソシエイト、プロフェッショナル、専門知識です。 今回取得したのは基礎コース、アソシエイトに該当する試験です。 CLF (AWS 認定 クラウドプラクティショナー)とは AWS認定試験の入門的な位置づけです。公式ページの説明は以下の通りです。 > この試験では、さまざまなクラウドおよび技術的役割を担っている方が AWS クラウドの

                                  【AWS認定試験】入社3ヶ月でCLF + アソシエイト3冠を取得した話 | DevelopersIO
                                • ジッターを伴うタイムアウト、再試行、およびバックオフ

                                  あるサービスまたはシステムが別のサービスまたはシステムを呼び出すたびに、障害が発生する可能性があります。これらの失敗は、さまざまな要因から発生することがあります。サーバー、ネットワーク、ロードバランサー、ソフトウェア、オペレーティングシステム、またはシステムオペレーターからのミスが含まれます。故障の可能性を減らすようにシステムを設計していますが、故障しないシステムを構築することは不可能です。そのため、Amazon では、障害の可能性を許容して削減するようにシステムを設計し、わずかな割合の障害を完全に停止するまで拡大することを防いでいます。回復力のあるシステムを構築するために、タイムアウト、再試行、およびバックオフの 3 つの重要なツールを採用しています。 リクエストが通常より長くかかり、完了しない可能性があるため、障害の種類の多くが明らかになります。クライアントがリクエストの完了を通常より

                                    ジッターを伴うタイムアウト、再試行、およびバックオフ
                                  • 分散システムでのフォールバックの回避

                                    重大な障害が発生したサービスからは、有用な結果を得ることができなくなります。たとえば、e コマースウェブサイトでは、製品情報のデータベースクエリが失敗すると、ウェブサイトは製品ページを正常に表示できません。Amazon のサービスは、信頼性を高めるために、重大な障害の大部分を処理する必要があります。重大な障害を処理するための戦略には、大きく次の 4 つのカテゴリーに分かれます。 • 再試行: すぐに、または少し遅れて、失敗したアクティビティを再度実行します。 • 積極的な再試行: アクティビティを並行して複数回実行し、最初のアクティビティを使用して終了します。 • フェイルオーバー: エンドポイントの別のコピーに対してアクティビティを再度実行するか、できればアクティビティの複数の並行コピーを実行して、それらの少なくとも 1 つが成功する確率を上げます。 • フォールバック: 異なるメカニズ

                                      分散システムでのフォールバックの回避
                                    • あらゆるモノが安全につながれば世界は変わる ビットキーの認証認可プラットフォームが目指すシームレスにつながる社会

                                      ビジネスブロックチェーンExpoは、ブロックチェーン技術を活用した産業課題解決・支援やビジネス創出を目指す国内外の企業を紹介するイベントです。その中で、スマートロックで有名なビットキーのVPoEである山本寛司氏が、ビットキーが目指すミッションについて紹介しました。 テクノロジーの力であらゆるものを安全で便利に気持ちよくつなぐ 山本寛司氏:ビットキーの山本と申します。本日はブロックチェーンの課題感とID権利、取引を管理する分散合意プラットフォームでの挑戦について、みなさまと共有できればと思っています。よろしくお願いいたします。 私はビットキーでVP of Engineering、いわゆるVPoEをやっています。CTOのようなイメージをもってもらえればいいかなと思います。 簡単にですが、私の経歴を紹介させてください。もともとエンジニアの道は歩いておらず、ロースクールを卒業して、縁があって前職は

                                        あらゆるモノが安全につながれば世界は変わる ビットキーの認証認可プラットフォームが目指すシームレスにつながる社会
                                      • 【Webエンジニアど素人】が【3〜4年生】くらいになったら読むといい本を目的別にまとめた - Qiita

                                        これってなんなの? 【ど素人状態=社会人になって初めてプログラミングを勉強したぜ!(特に新卒)】でスタートした方々が【3年生】ぐらいになったら読むと良い本まとめです。 「どんな目的で学ぶか?」*「職種(バックエンド/フロントエンド/SRE・インフラ/データエンジニア/どの職種のエンジニアも)」で整理しました。 「【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた」の続編です。少しでも皆さまの学びと成長に貢献できると幸いです。 ”Webエンジニアど素人が、3〜4年生くらいになったら読むといい本”の段階的まとめ(一部外部記事あり) バックエンドエンジニア 「より整理・洗練されたコードに改善できるレベルになろう!」 リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES) レガシーコード改善ガイド Clea

                                          【Webエンジニアど素人】が【3〜4年生】くらいになったら読むといい本を目的別にまとめた - Qiita
                                        • デプロイ時におけるロールバックの安全性の確保

                                          Amazon で私たちがソリューションを構築するときに指針とする原則の 1 つは、一方向だけのドアを通り抜けるのを回避することです。わかりやすく言うと、元に戻したり拡張したりするのが困難な選択肢は選ばないということです。私たちは、製品、機能、API、バックエンドシステムの設計からデプロイまで、ソフトウェア開発のすべての段階にこの原則を適用します。この記事では、私たちがこの原則をソフトウェア開発にどのように適用するかについて説明します。 デプロイを行うと、ソフトウェア環境がある状態 (バージョン) から別の状態に変わります。ソフトウェアは、どちらの状態でも完璧に機能するかもしれません。しかし、ソフトウェアは、前方移行 (アップグレードまたはロールフォワード) または後方移行 (ダウングレードまたはロールバック) の間または後に適切に機能しない可能性があります。ソフトウェアが適切に機能しない場

                                            デプロイ時におけるロールバックの安全性の確保
                                          • みずほ銀行のトラブルに学ぶ5つの教訓 - Qiita

                                            TIS株式会社の資料より 前記4つの方法はそれぞれ一長一短がありますが、一番失敗が多いのはリビルドになります。これは筆者の感想ではありません(参考:失敗しないレガシー・マイグレーション)。ですから、まずリプレースが可能か判断して、できなければリホスト、さらにできなければリライト、最後にリビルドを試していくのが順番でしょう。しかしプログラミング言語の変更はハードルが高いです。 そもそもCOBOL言語はALGOL系(ALGOL,C,Java...)の言語と非常に相性が悪いです。COBOLで最適化された設計というのは、ALGOL系では良い設計とはなりません。またCOBOLとオブジェクト指向との相性も良くありません。COBOLではデータと手続きは厳密に分離されています。1つの手続きが複数のデータを次から次へ処理するのがCOBOLの発想です。逆に一つのデータを複数の手続き(プログラム)で処理すること

                                              みずほ銀行のトラブルに学ぶ5つの教訓 - Qiita
                                            • 急成長する《現場》の、データエンジニアというお仕事。 - Qiita

                                              なんの話? 三行で。 サービスが急成長しデータ量が増えた際にデータエンジニアリングは必要とされる。 エンジニアリングに必要なスキルセットは比較的明確で、駆け出しエンジニアにもポジションあるよ。 データエンジニアリング業務を経て、データサイエンティストなど他職種にランクアップすることは可能。 [おまけ1] "data+engineer+positionでググる"と、主に海外のData Engineer(DE職)のお仕事が入門者レベルからエキスパートレベルまで見つかるよ...Tokyoをつけると、東京でのDE職も見つかる。転職活動で普通に有用。 *[おまけ2] 末尾におまけとして、現在私が取り組んでいる『2020年代のデータ分析基盤の基本設計』に関して日々調べていることを、公開できる範囲で書いておきたい(内容はコメント欄に随時更新)。実際のデータエンジニアリング実務の一端を知ってもらう意味で。

                                                急成長する《現場》の、データエンジニアというお仕事。 - Qiita
                                              • デンキヤギ株式会社(DenkiYagi)

                                                #01 yagisan-reports yagisan-reportsは、JavaScriptで動作するWebフレンドリーな帳票発行エンジンです。 #02 サブスクリプション型コンサルティング 月額固定・長期にお付き合いすることを前提とした「サブスクリプション型のITコンサルティングおよびシステム開発」を2015年から行っています。 ビックバン導入ではなく「小さく始めて、カイゼンを日々積み重ねる」という方法こそが、成功の近道です。 ●高難易度なWebフロントエンド開発 DataGridなどの高機能なGUIコンポーネント開発, WebAssembly, Canvas操作, PDF操作, ゲームの移植など ●分散システム開発 Hadoop, Apache Spark, Kafka, RabbitMQ, Cassandra, Amazon DynamoDB, Azure Cosmos DBなど

                                                  デンキヤギ株式会社(DenkiYagi)
                                                • 週刊Railsウォッチ(20200616後編)本番環境をFullstaq Rubyに換えた理由、CSRF発生フローチャート、DBのトランザクション分離レベル比較ほか|TechRacho by BPS株式会社

                                                  morimorihoge注:本トピックに関するコメントとして、初出時人種差による不平等を容認・揶揄するようにも取れる内容がありましたので当該部分を削除させていただきました。 Twitter上でのご指摘を受けて社内ヒアリングを行ったところ、私を含む参加メンバーで主題の認識違いがあり、主題のすれ違いの中話していた内容をテキスト化した際に公開記事として掲載するにあたって不適切な内容となってしまっていたことが判明いたしました。不快に感じられた方にはこの場を借りてお詫びいたします。 ※BPS株式会社は会社・組織として人種その他先天的・後天的な要因による差別を容認・支持する立場にはありません(弊社代表にも確認済み) 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会

                                                    週刊Railsウォッチ(20200616後編)本番環境をFullstaq Rubyに換えた理由、CSRF発生フローチャート、DBのトランザクション分離レベル比較ほか|TechRacho by BPS株式会社
                                                  • Java Champion・谷本心がすすめる、技術に対する考え方に大きな影響を与えた書籍5選

                                                    Java Champion・谷本心がすすめる、技術に対する考え方に大きな影響を与えた書籍5選 2024年6月19日 谷本 心 EverforthとAcroquestの2社で正社員として働くエンジニア。仕事のかたわらでコミュニティ活動も行っており、日本Javaユーザーグループの代表を務めるほか、アメリカで開催されたJavaOneやSpringOneなど国内外のイベントで登壇。その実績から日本で3人目の「Java Champion」に任命された。著書に『Java本格入門』(技術評論社)。趣味は対戦格闘ゲームと、BABYMETALを追いかけて世界中を旅すること。 X: @cero_t Blog: https://cero-t.hatenadiary.jp/ 1. 『Googleを支える技術 ……巨大システムの内側の世界』西田圭介著 2. 『マイクロサービスアーキテクチャ 第2版』Sam Newm

                                                      Java Champion・谷本心がすすめる、技術に対する考え方に大きな影響を与えた書籍5選
                                                    • サービスメッシュのIstio、Cloud Native Computing Foundationへの提出を発表

                                                      サービスメッシュのIstio、Cloud Native Computing Foundationへの提出を発表 GoogleとIstioの開発チームは、IstioをCloud Native Computing Foundation(CNCF)のインキュベーションプロジェクトに提出することを発表しました。 Great news! With the support of @googleOSS and the Istio Steering Committee, we have applied to become a @CloudNativeFdn project! Take a look at our blog and learn more about this process: https://t.co/2rn2YMKEpl #CNCF pic.twitter.com/SHw677mYE4 —

                                                        サービスメッシュのIstio、Cloud Native Computing Foundationへの提出を発表
                                                      • CQRS/Event Sourcingを学ぶための教材(2020年版)

                                                        この記事の更新版です。 僕がCQRSに入門したの2016年でした。すでに海外のDDDコミュニティではCQRS/Event Sourcing(以下, ES)に関する議論は盛んにされていました。 2020年になってようやく日本でも話題になることが多くなった印象なので、教材となりそうな書籍などの情報を簡単に紹介します。 前提となる教材 前提としてはEvans本を読んでいるということにさせてください。 さらにDDD本には ES の基礎となる ドメインイベント の解説が含まれていません。そのドメインイベントの概要を掴みたければ、実践ドメイン駆動設計に記載があります。 基礎教材 考案者であるGregさんのドキュメントです。 CQRS Documents by Greg Young 和訳版はこちら。CQRS Documents by Greg Young 和訳版 概念を把握するならこれが以外にないです。

                                                          CQRS/Event Sourcingを学ぶための教材(2020年版)
                                                        • Scalaを手っ取り早く学ぶのに適したリソースを紹介する(2020年版) - kmizuの日記

                                                          はじめに こんにちは。水島です。例のQiita炎上の件で、「ああ、これはもう自分向きのサービスじゃないな」と思ってサックリとアカウント消して退会したわけですが、ちょっとこれくらいはレスキューしておけば良かったな…と思った記事があったので、リライトしてみました。 昨今、Scalaは色々なところで使われている一方で、特に日本語でScalaを学習したい人には、どこから手をつけていいやらさっぱり、という状況があります。特に、古い書籍だと現状のScalaのエコシステムを反映していませんし、Webサイトでも、古い情報のままということがあります。というわけで、今、日本語でScalaを学習したい人にとって適切なリソースをご紹介したいと思います。 オンライン講座 N予備校 プログラミングコース Scala基礎 www.nnn.ed.nico オンライン学習サイトの一つである、N予備校にはプログラミングコース

                                                            Scalaを手っ取り早く学ぶのに適したリソースを紹介する(2020年版) - kmizuの日記
                                                          • RPGツクールからCGI&夢小説、ついにはハガキ職人まで 学生時代の広木大地氏を夢中にさせ挫折させたもの

                                                            主体的で幸福感の高いキャリアを歩むための勘所やコツをIT業界の最前線で活躍する、二人の元エンジニアに学ぶ「DX時代を勝ち抜くエンジニア成長戦略」。ここで株式会社レクター 取締役/一般社団法人日本CTO協会理事の広木氏が登壇。まずは広木氏の学生時代・新卒時代の体験を紹介します。 自己紹介 広木大地氏:「キャリアの考え方」というテーマで、DX時代の人材について話します。自己紹介をします。2008年に新卒の第1期でミクシィという会社に入社しました。そこからいろいろな開発者としてのキャリア、マネジメントとしてのキャリア、サービス役員の執行役員等を担いながら組織改革を行ってきました。 技術と経営をつなぐCTOのノウハウを世の中に広く還元していきたいと思い、レクターを創業しました。その後、上梓した『エンジニアリング組織論への招待』という本が、ビジネス書大賞と技術書大賞を受賞しました。今は小野さん(小野

                                                              RPGツクールからCGI&夢小説、ついにはハガキ職人まで 学生時代の広木大地氏を夢中にさせ挫折させたもの
                                                            • GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online

                                                              2020 年 4 月 27 日(月) 第 10 回 Google Cloud INSIDE Games & Apps Online Google Cloud 篠原 一徳によるセッション スライドです。Read less

                                                                GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
                                                              • 宣言的ネットワーキングとインクリメンタル処理 – 進藤資訓の独り言/Motonori Shindo's Monologue

                                                                はじめに 2020年1月に札幌で行われたJANOG45で、Cisco Systemsの河野美也さんと共同で「宣言的(Declarative)ネットワーキング」というセッションをやらせていただきました。その時の資料はこちらです。残念ながら30分と時間が限られていたため、十分にお伝えすることができなかった部分もあるため、こちらに補足記事としてまとめておくことにしました。 そもそも宣言的(Declarative)って何? 最近「宣言的」や「Declarative」という言葉をよく耳にするようになっていると思います。実は、宣言的/Declarativeという言葉はそう新しいものではなく、実はかなり前から使われている言葉です。プログラミング言語の世界では関数や述語論理に基づいたプログラミング言語などが従来型の命令的プログラミング言語との対比として「宣言的プログラミング言語」と呼ばれていました。比較的

                                                                  宣言的ネットワーキングとインクリメンタル処理 – 進藤資訓の独り言/Motonori Shindo's Monologue
                                                                • 次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering

                                                                  ※こちらは先日実施された DeNA インフラエンジニア / SRE MEETUP で話した内容を Blog 記事化したものです! こんにちは!IT基盤部の熊谷です。IT基盤部にて大規模ゲームのインフラを見ている 新卒2年目のインフラエンジニアです。この記事では “DeNA でのデータベース運用とそのツラミ” と、“TiDB導入への検証・検討” をご紹介させていただきます。 データベースの最適解 DeNA のデータベース構成は最適解を求めて改良を積み重ねてきました。最初期の構成、(便宜上、第1世代と呼びます) では VM Instance 上に MySQL を構築し管理する MySQL on EC2 構成。続く第2世代では、マネージドサービスを駆使した Aurora MySQL 構成。この2世代の中で生じた “ツラミ” を解消する次の世代、言わば 第3世代に該当する新しいデータベース構成を現

                                                                    次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering
                                                                  • 分散型ID ラーニングパス

                                                                    Intro 分散型IDに関する情報がウェブ上に溢れており、片っ端から読んではいるけれど、なかなか理解が深まらないということもあるかと思います。私も苦労しました。(今もしています笑) 分散型IDに関する規格は、以下の図からわかるように、たくさん存在し、互いに依存したり、関係し合っています。 from Verifiable Credentials Specification Map そこで、この順番で読めば理解が深まるのではないか、というラーニングパスを作ってみました。 ※ まずはVer01(2020-12-10)。徐々にアップデートしていきます。 前提知識 JSON:開発者フレンドリーなデータフォーマット JSON-LD:データに関係性を持たせることができるデータフォーマット。データ間の関係性を可視化するセマンティックウェブなどを起点に始まった。規格が不安定かつ最新情報が反映されていないため

                                                                      分散型ID ラーニングパス
                                                                    • Cloud Spanner Unofficial Hacks

                                                                      Cloud Spanner は分散システムであり、SQL クエリの実行は場合によっては複雑な分散ストリーム処理となりうる。 よって、パフォーマンス劣化を起こさないように SQL の表現力による利益を得るには Cloud Spanner の低レベルアーキテクチャと高レベルのクエリ実行について両方理解する必要がある。 しかし、実行計画の活用やクエリチューニングについてはまだ公式にもコミュニティでも十分語られているとは言えない。 ここでは Cloud Spanner のクエリパフォーマンスに関係するドキュメントや API のレスポンスに含まれる実行計画の内容について、 公式には説明されていないことも含めた理解とその活用方法を解説する。 主にどのような特性を持つかについて説明しており、ベンチマークを行うのであれば実際のデータやワークロードの傾向について知っている立場で行うことを推奨する。 Use

                                                                      • ドメインイベントを伝達するためのモデリング技法 - KAKEHASHI Tech Blog

                                                                        前回は、アーキテクチャの進化はドメインイベントが起点になるという記事内で、ドメインイベントの重要性を語りました。本稿では、ドメインイベントを伝達する際にシステム要件を満たした上で、どのようにしてデータモデル並びにドメインモデルを象るかを説明します。 なお、ビジネスドメインを深掘りドメインモデルを探索する手法の説明は、世にたくさん解説されているため詳しくはそちらに譲ります。特にAlberto Brandolini氏が提唱するモデリング手法であるEvent Stormingは、ワークショップ形式でドメインイベントを深く理解し、一連の業務プロセスやドメイン領域を探索的に発見することができる手法であり、Event Sourcingを前提とするアーキテクチャと相性がいいので参考にするとよいでしょう。 ドメインイベントのデータモデルの属性 ドメインイベントの記録および伝達に着眼した構成を紹介した前回の

                                                                          ドメインイベントを伝達するためのモデリング技法 - KAKEHASHI Tech Blog
                                                                        • 初心者向けREST API解説|APIとは何かも理解する - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                                                          API API プロトコル RESTとは? REST API アドレス可能性(エンドポイント) クライアントとサーバーの分離 統一されたインターフェース ステートレス 接続性 最後に Webアプリ開発において、フロントエンド開発者に必要なスキルは多岐にわたります。 例えば、テスト・デバッグ、バージョン管理、UI・UX、コミュニケーション能力、SEO、クライアントの理解、クロスプラットフォーム、クラウドインフラ、セキュリティ、アジャイル開発手法などが挙げられます。 これらの中でも、REST APIの理解は必須スキルの一つとなっています。 REST APIの学習は、主にバックエンド開発者が行いますが、現代ではフロントエンド開発者もREST APIの基本的な理解が必要となる場合があります。 REST APIは、最も人気のあるAPIの一つであり、初心者にも理解しやすいものです。 REST APIを

                                                                            初心者向けREST API解説|APIとは何かも理解する - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                                                          • Google面接合格への道 - Qiita

                                                                            本記事は、元Amazon・現GoogleソフトウェアエンジニアのShantanu Kshire氏による「My Preparation Journey for Google Interviews」(2020年12月24日公開)の和訳を、著者の許可を得て掲載しているものです。 はじめに すべてのソフトウェアエンジニアは、自分の技術力でインパクトを与えたいと願っています。世界的なテクノロジー界の巨人は、何十億人ものユーザーにエクスペリエンスを提供できる、技術者にとって素晴らしい職場です。 Photo by Achintha Maddumabandara on Shutterstock 最近、面接を何度か経験し、GoogleやAmazonからオファーを受けました。ここ数年、面接対策をする上でオンラインコミュニティにとても助けられました。この記事では、私の面接対策をすべて共有し、学んだことを還元した

                                                                              Google面接合格への道 - Qiita
                                                                            • July Tech Festa 2021 winter で CockroachDB と TLA+ について話してきました - チェシャ猫の消滅定理

                                                                              こんにちは、チェシャ猫です。 インフラ技術のカンファレンス July Tech Festa 2021 winter で、形式手法ツール TLA+ が CockroachDB の設計に使用された事例について発表してきました。公募 CFP 枠です。 www.youtube.com 今回の登壇は、昨年の CloudNative Days Tokyo 2020 と同じ題材を扱っています。ただ、前回より持ち時間が長くなった分、前回のスライドで説明不足だった部分を拡充してあります。特に、CockroachDB 以外の TLA+ 採用事例や、分散システムにおける Chaos Engineering の位置付けについて解説を追加しました。 なお、前回の登壇報告は以下の記事をご参照ください。 ccvanishing.hateblo.jp 当日出た質問 実時間を含む性質 今回の時相論理では「いつか成り立つ」と

                                                                                July Tech Festa 2021 winter で CockroachDB と TLA+ について話してきました - チェシャ猫の消滅定理
                                                                              • 分散システムのパターン

                                                                                原文(投稿日:2019/06/29)へのリンク Mathias Verraes氏が一連のブログ記事を投稿して、自身が仕事で出会った、有用な分散システムのパターンについて説明している。目的は、パターンをその有用なコンテキストとともに識別し、命名し、文書化することだ。その中で氏は、誤った状況で使用することが、パターンをアンチパターンにする場合の多いことを強調している。 DDD Europeの創業者兼コンサルタントであるVerraes氏は、現時点で16のパターンを、デカップリング、汎用メッセージング、イベントソーシングという3分野に定義した上で、各パターンについての問題と解決策を、時には例や実装を含めて説明する。 "Completeness Guarantee"は、プロデューサから送信されるドメインイベントセットの定義を目標とする部分と、プロデューサの状態をコンシューマが再現可能であることを必要

                                                                                  分散システムのパターン
                                                                                • CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020

                                                                                  CloudNative Days Tokyo 2020 で使用したスライドです。 バグのない分散システムの設計は果たして可能でしょうか? この問いに対する一つの答えとして、CockroachDB では形式手法ツール TLA+ を用いて分散トランザクションの正しさを担保しています。 形式手法はシステムの挙動を数学的に解析する技法で、「ノードが特定のタイミングで故障した場合にのみ発生するバグ」といった再現困難な問題を確実に検出することができます。 本講演では、CockroachDB の事例を通して、形式手法が実世界で活用されている様子をお伝えします。 イベント概要:https://event.cloudnativedays.jp/cndt2020 ブログ記事:https://ccvanishing.hateblo.jp/entry/2020/09/10/044848

                                                                                    CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020