並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 444件

新着順 人気順

アーキテクチャの検索結果361 - 400 件 / 444件

  • ポートノッキングで10秒間だけsshdを公開する設定 - hnwの日記

    先日Twitterに次のような書き込みをしたところ思ったより反応が良かったので、詳細の設定を紹介します。 UDP53番、TCP443番、UDP123番とポートノッキングをするとTCP443番に10秒だけsshdが現れる、という中二病全開の設定をした。皆様にもお勧めしたい。— hnw (@hnw) 2017年3月26日 といっても特殊なことをしたわけではなく、knockdでポートノッキングの設定を行い、iptablesと組み合わせて実現しました。 ポートノッキングとは ポートノッキングというのは、決められたポートを決められた順番で叩くことでファイアーウォールに穴を空けられるような仕組みのことです。ポートノッキングを使えば、TCPの7000番、8000番、9000番の3ポートにパケットを送りつけると22番ポート (SSH) へのアクセスが許可される、といった設定ができます。 ポートノッキングの

      ポートノッキングで10秒間だけsshdを公開する設定 - hnwの日記
    • Microservices分割大全 - kawasima

      Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ

        Microservices分割大全 - kawasima
      • 「現場で役立つシステム設計の原則」はプログラミング設計の普遍的な教科書 - ビープラウド社長のブログ

        日本のDDD(ドメイン駆動設計)界の父ともいえる増田亨さんが著した「現場で役立つシステム設計の原則」を頂いたので、早速拝読させていただきました。 本書をおすすめしたい人 本書は、システム開発で以下のような問題を抱えている人におすすめです。 既存システムのソースコードの可読性が低く、理解に時間がかかる 機能追加・改修時の影響範囲調査に時間がかかる 機能追加・改修時の工数が予想以上にかかる テストコードが書きにくいソースコードになりがち 機能を追加・改修時の影響範囲が大きくなりがちで、テスト工数がかさんでいる デグレの確認に気を使い、多くの時間をかけている 不具合が発生したときに、調査・解決に時間がかかってしまう 新しいメンバーがプロジェクトに参画した時に、業務知識を伝えるのに多くの手間がかかる これらの問題のために、生み出す価値以上に、仕事時間が増えている このような問題を解消し、変更に強い

          「現場で役立つシステム設計の原則」はプログラミング設計の普遍的な教科書 - ビープラウド社長のブログ
        • デザインする人に必要な能力は?: DESIGN IT! w/LOVE

          不確実な時代をクネクネ蛇行しながら道を切りひらく非線形型ブログ。人間の思考の形の変遷を探求することをライフワークに。 発作的に、なんとなくデザイン(企画・設計)をする人に必要な能力なるものをまとめてみたくなったので実行(ようは自分の頭のなかを整理するため)。 もちろん、ここでいう「デザイン」は、ある問題を発見して解決するためのプランを考え実現させることをいう。なので、決して狭義のデザイナーのことではありません。 で、そういう意味での「デザイン」をする人にとって必要な能力をまず、ザクッと分類すると以下の4つに分けられるのではないか、と思います。 知る・感じる・疑問に思う解釈する・発想する・組み立てる具体化する・検証する・洗練させる仕事をはじめ、終わらせる どれもデザインをする上では欠かせない。 というわけで、ひとつひとつ整理していくことにします。 知る・感じる・疑問に思うスタート地点はやっぱ

          • 「SPAのタブ永遠に開きっぱなし問題」を更新ボタンを設置せず解決した - 橋本商会

            こんにちは。強いUIはボタンを捨てるをスローガンにScrapboxを開発しています。shokaiですshokai.icon Helpfeel Advent Calendar 2022の5日目の記事です 昨日はHelpfeelエンジニアのyado.iconさんでした 採用面接中にチャーハン・ピラフ判定器とスタバ警察botで盛り上がる会社に入った | 株式会社Helpfeel ヨコハマハウスフラペチーノがエンジニア採用の役にたった?みたいで良かったです <a>タグの挙動を工夫する事で、Scrapboxからみたいなボタンをなくしました 更新ボタンの役割は2つ 更新がある事を教える 押すとアプリが更新される Scrapboxも昔こういうメニューがあった 今はもう無い では解説ですshokai.icon SPAのタブ永遠に開きっぱなし問題とは? SPAとstaticなwebサイトの違い static

              「SPAのタブ永遠に開きっぱなし問題」を更新ボタンを設置せず解決した - 橋本商会
            • ウェブの進化とウェブブラウザ開発の最前線

              学部 3, 4 年生向けの特別講義で『ウェブの進化とウェブブラウザ開発の最前線』というタイトルで話をしてきました。 ウェブの進化の歴史を知ることで現在のトレンドについて理解し、またウェブブラウザというグローバルで大規模なソフトウェアの開発の一端を垣間見ることで、ウェブやウェブブラウザの開発に少しでも興味を持ってくれたら良いなぁという気持ちで話をしてきました。 なお歴史観については私の事実誤認も含まれると思うので、間違いを見つけたら教えて下さい :-) 追記 (随時) たくさんの反応を頂きありがとうございます!次回同じような資料を作るときの参考にできるよう、ここにメモしていきます。ウェブは無限に話せる話題があって楽しいですね! ウェブ以前のハイパーテキストの歴史も取り入れるべきでは? ありがとうございます!おっしゃるとおりで、ウェブの進化史と言いつつウェブが公開されてからの話しかしていないの

                ウェブの進化とウェブブラウザ開発の最前線
              • 急増するLINEインフラの課題と対応 « LINE Engineers' Blog

                こんにちは。今回はITサービスセンターより、インフラ運営の観点から急増するLINEインフラの課題と対応について記させていただきます。 はじめに 先日開催したLINE Developer Conference(インフラ編)には大勢の方にいらしていただきました。カンファレンスでは、LINEサービスが始まってから約2年の間に我々はどういった方法でインフラ運営を行い、またどんなことに悩んできたのかを、システム、データベース、ネットワークの観点からそれぞれ発表させていただきました。 カンファレンスはLINE株式会社が様々な技術をどのように使い、どのように運用を行っているのか。現在どのような技術的なことに取り組んでいるのか日本のエンジニアの皆さんに知っていただくために開催されました。結果としてインフラ編では150名の定員に対して430名のご応募をいただいたとのことでLINEサービスに対する関心の高さを

                  急増するLINEインフラの課題と対応 « LINE Engineers' Blog
                • ポータブルなWebアプリケーション - naoyaのはてなダイアリー

                  140文字で書ききれなかったのでブログに殴り書き。 Heroku のアプリケーションを人に渡す 昨日、「naoyaさんが作ってるiOSアプリのバックエンドサーバーに相乗りさせてもらえないか」という話をいただいた。自分でも同じようなAndroidアプリを作っているけど、サーバーサイドは作ってないからということらしい。 対して「githubにコードあるからgit cloneしてheroku pushすれば動くし、自分で heroku にデプロイしてよ」と応えた。相乗りしてもらってもよかったのだけど、こちらでコードを書き換えたりメンテしたときに先方のアプリが停止することを考えると同じコードベースでサーバーは自分で立ててもらう方が何かと良い。 対象になったソフトウェアは Heroku で動かしていたので、Heroku Ready な形、つまり、必要な外部パッケージの一覧やサーバーの起動手順なんかは

                    ポータブルなWebアプリケーション - naoyaのはてなダイアリー
                  • しずかなインターネットの技術構成

                    こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js

                      しずかなインターネットの技術構成
                    • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

                      まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、Ruby や Python や PHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が本当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

                        プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
                      • 多分あなたにKubernetesは必要ない | Yakst

                        trivago社の小規模な開発チームがコンテナオーケストレーターとしてKubernetesではなくNomadを採用することになった経緯と理由について、両プロダクトの特徴やユースケースに言及しつつ紹介されています。 [HashiCorp][Kubernetes]原文 Maybe You Don't Need Kubernetes (English) 原文著者 Matthias Endler 原文公開日 2019-03-21 翻訳依頼者 翻訳者 msh5 翻訳レビュアー doublemarket 原著者への翻訳報告 1883日前 Twitterで報告済み 1882日前 原著者承諾済み 編集 スクーターに乗った女性(イラスト画像の作成元はfreepik、NomadロゴはHashiCorp) Kubernetesはコンテナオーケストレーションの巨人です。世界中で巨大なデプロイメントを動かしています

                        • 脳とコンピュータとの違い

                          脳と現状のコンピュータは、計算モデル、アーキテクチャ、 アルゴリズムなどいろいろな観点からみて違いがあります。 はたしてコンピュータの上で脳と同じ機能は実現できるのでしょうか。 実現を難しくする要因として何が考えられるでしょうか。 ◆計算モデルの違い 計算する機械を数学的に抽象化したものを計算モデルと呼びます。 チューリングマシンは計算モデルの1つです。 チューリングマシンとは数学的に異なる計算モデルとしては、 例えば非決定性チューリングマシン、 (理想的な)アナログコンピュータ、量子チューリングマシン (量子コンピュータのモデル)があります。 これらはチューリングマシンよりも強力だったり速かったりします。 さて、「脳の計算モデル」はチューリングマシンと等価でしょうか、 それともより強力だったり速かったりするのでしょうか。 非決定性チューリングマシンは並列度が無限の計算機です。 脳は超並列

                          • ソフトウェア設計のすすめ

                            Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」Yoshimura Soichiro

                              ソフトウェア設計のすすめ
                            • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

                              PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

                                PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
                              • Twitterにおける大規模システム構築、3つの原則

                                4月に米サンタクララで行われたMySQL Confernce & Expo 211では、TwitterのJeremy Cole氏が「Big and Small Data at @Twitter」と題して、同社のシステムにおける原則とシステム構成について紹介したプレゼンテーションが行われました。 1日に1億5000万以上のツイートが行われているTwitterのシステムはどのように構築されているのか、その内容を紹介しましょう。 Twitterにおける原則 TwitterのJeremy Cole氏。

                                  Twitterにおける大規模システム構築、3つの原則
                                • オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling

                                  Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

                                    オブジェクト指向のその前に-凝集度と結合度/Coheision-Coupling
                                  • AWSのデータセンターの中身を、設計総責任者が話した

                                    AWSのデータセンターの中身を、設計総責任者が話した:「ここまで話していいの?」(1/2 ページ) Amazon Web Services(AWS)のバイスプレジデント兼ディスティングイッシュド・エンジニア、ジェームズ・ハミルトン氏は、AWSが11月11~14日に開催した「AWS re:Invent 2014」で、データセンターの構成、サーバーやスイッチの自社設計、SR-IOVなどについて語った。 [2014/11/21訂正]記事の初出時に、ハミルトン氏がAZ間の距離を「数キロメートル」と言ったと記述しましたが、数十キロメートルである可能性もあります。ハミルトン氏はAZ間が「multiple kilometers」であると表現しています。後出のハミルトン氏の議論では、例えばロサンゼルスとニューヨークの間の伝送遅延は74ミリ秒だが、これを1、2ミリ秒に抑えるためにAZ間は近くなくてはならない

                                      AWSのデータセンターの中身を、設計総責任者が話した
                                    • Vueを昔触った後Reactをどっぷり触ってもう一回Vueを触ってReactに戻って得た感想

                                      最近ReactとVueをどっちも触る機会があったり、「ReactとVueどう選定するの?」という問いを投げられ、スッと答えられなかったな、と後悔があったりしていたので、Vueを触って得られた感想をまとめてみる。 結論としてなにか新しいことを発見したというものではなく、世間で言われている事を自分なりに再構築しただけの結論になったと思う。 TL; DRVueからは全体的に優しさ(Gentleさ)を感じる事が多く、良い点だと感じた大規模になるときReactの堅牢さは魅力的。Vueが大きくなった時に支えられ設計が出来るかは個人的には懐疑的。「こうだったらVue、こうだったらReact」みたいな分岐点があるというわけではないので、最終的には好みになってくると思う。ぞうさんが好きかきりんさんが好きか。これまでのフレームワーク遍歴今回の話をするにあたって、僕と各フレームワークの付き合いをまとめておくと、

                                      • mixiやはてなにも対応--日本発のマッシュアップツール「Myremix」:ニュ

                                        「Yahoo! Pipes」やMicrosoftの「Popfly」など、米国大手がひしめくマッシュアップツールの分野に、日本発のサービスが登場した。ネットエイジ・ラボとアスピレーションが11月27日にベータ公開した「MyRemix」は、上記サービスと同様にグラフィカルなインターフェースで様々なWeb サービスやRSSフィードをマッシュアップすることができる。もちろん日本産サービスのモジュールを細かく揃えている。 MyRemixの操作画面はYahoo! Pipesに似ており、公開されているAPIやRSSフィードのモジュールを視覚的につなぎ合わせることでマッシュアップを行える。コーディングを必要とせず、誰でも利用できる手軽さもそのままだ。出力にも工夫しており、RSSフィードだけでなく、メールで受け取ったり、Adobe AIRに対応したデスクトップアプリケーションとして配布することもできる。 ま

                                          mixiやはてなにも対応--日本発のマッシュアップツール「Myremix」:ニュ
                                        • なぜもっとたくさんのコアを搭載したCPUを作らないのでしょうか?2000コアのGPUなんかそこら辺にありますが、なぜCPUでは同じようにできないのでしょうか?

                                          回答 (9件中の1件目) 質問に間違いがありますね。 2000個のコアが入ったGPUなんかありません。企業の広報は違った(間違った)方法で計算して数字を大きく見せています。 Radion 6900XTの本当のコア数(DCU)は、5120個ではなく、40個です。こちらでダイの写真を確認でき、4*5のコアが2グループあります。 各コア(DCU)には32レーンのSIMDユニットが4つあり、各コアには並列に動作する32 bitの浮動小数点演算ユニット(FMA)が128個あり、チップ全体としては32 bitのFMAが5120個同時に動きます。 Zen2とZen3のCPUコアはどちらも256...

                                            なぜもっとたくさんのコアを搭載したCPUを作らないのでしょうか?2000コアのGPUなんかそこら辺にありますが、なぜCPUでは同じようにできないのでしょうか?
                                          • 「あけおめLINE」の負荷に耐えるインフラを作った話。LINEのインフラ設計を中の人に聞いた|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                            「あけおめLINE」の負荷に耐えるインフラを作った話。LINEのインフラ設計を中の人に聞いた 国内外で展開する膨大なメッセージを処理する、LINEアプリのインフラってどうなっているの? こんな素朴な質問をサーバー、ネットワークなど、中の人に聞いてみました。 2011年6月のリリース以来、右肩上がりの成長を続けるコミュニケーションアプリ「LINE」。主要4カ国(日本・タイ・台湾・インドネシア)の月間アクティブユーザー数は1億6,400万人を超えており、多くの人々にとって必要不可欠な社会的インフラにも等しいアプリになっています。 そして、多数のユーザーを抱えるアプリでは、膨大な量のトラフィックやデータを前提としてインフラアーキテクチャを設計する必要があり、インフラエンジニアの技術力がアプリの使い勝手に大きな影響を与えます。 本稿では、LINE株式会社のサーバーサイドエンジニア 中村俊介さん、サ

                                              「あけおめLINE」の負荷に耐えるインフラを作った話。LINEのインフラ設計を中の人に聞いた|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                            • 良い設計と悪い設計の違い

                                              2022年11月7日(月) 「現場で役立つシステム設計の原則 - Forkwell Library #9」 発表資料

                                                良い設計と悪い設計の違い
                                              • IaaS型クラウド「さくらのクラウド」 | さくらインターネット

                                                ビジネス規模や成長にフィットする さくらのクラウド クラウドはもちろん、物理も併用して最適なインフラ構成を実現 圧倒的なコストパフォーマンスデータ転送量無料! データ転送量による従量課金がないため、コスト算出が容易で、想定外の出費となることがありません。

                                                  IaaS型クラウド「さくらのクラウド」 | さくらインターネット
                                                • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

                                                  こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

                                                    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
                                                  • Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中

                                                    ITエンジニアのコミュニティサイトStackOverflowなどを運営するStackExchangeが、同社のサービスを支えているシステム構成の状況を知らせるWebサイトを公開しています。 同社のサービスは各国版のStack Overflowのほかにも、サーバ管理者のためのServer Fault、数学関係者のためのMathematicsなど多岐にわたっています。 これらを合わせた同社のサービスは月間5億6000万ページビュー。このページビューを、48GBのメモリを搭載した9台のWebサーバ。384GBのメモリを搭載しライブ/ホットスタンバイ構成にクラスタ化した2台のSQL Serverと、288GBのメモリを搭載した2台のSQL Serverによるもう1つのクラスタの合計4台のSQL Server。96GBのメモリを搭載し、マスター/スレーブ構成にした2台のRedis Serverなどで

                                                      Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中
                                                    • 計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識

                                                      情報処理における全国のエキスパートが一堂に会したリクルート主催の「春の情報処理祭」。HPC(High Performance Computing)研究分野の専門家である、京都大学の中島浩教授は、HPCの役割や速さの秘密について説明するとともに、HPCがビジネス全体にもたらす影響を語ります。コンピュータの性能を生かすために知っておくべき、HPCの基礎知識とは?(春の情報処理祭in京都より) ハイパフォーマンスコンピューティング(HPC)とは 中島浩氏:(BGM「Let It Be」を流しながら登場)さすがにビートルズの「Let It Be」ぐらいは知っているかな。皆さんが生まれるずいぶん前の歌ですけれども。 『アナ雪(アナと雪の女王)』というのがあって、あっちは「Let It Go」なんですね。こっちは「Let It Be」で、何が違うのか。英語のニュアンスはほとんど同じなんですけれども「L

                                                        計算量はコンピュータ性能論の「入り口」にすぎない--専門家が語る、IT屋に知っておいてほしい基礎知識
                                                      • Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?

                                                        Rails Developers Meetup 2019(2019/03/22 - 23)

                                                          Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
                                                        • AWS 導入事例: ニンテンドーシステムズ株式会社 | AWS

                                                          ニンテンドーアカウント、ゲームニュースなど、任天堂が展開するネットワークサービスの開発・運用を担うニンテンドーシステムズ。インターネット経由でソフトウェアのダウンロードや追加コンテンツなどを購入できるオンラインショップ『Nintendo eShop』は、同社が手がけるサービスの 1つです。 Nintendo eShop は 2011 年に始まり、現在は世界中で 1 億 3,000 万台以上の販売実績を持つ Nintendo Switch に対して、40 か国以上の国に 24 時間 365 日の体制でサービスを提供しています。任天堂のデジタルコンテンツの総売上は 2017 年から 2023 年にかけて 10 倍以上となり、現在はゲームソフトの売上高全体に占めるデジタル比率は 50% 近くに達しています。 Nintendo eShop の基盤は当初オンプレミスで運用してきましたが、利用者が急増

                                                            AWS 導入事例: ニンテンドーシステムズ株式会社 | AWS
                                                          • 主キーはインデックスではない - 設計者の発言

                                                            仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ

                                                              主キーはインデックスではない - 設計者の発言
                                                            • TwitterがBitTorrentで高速にデプロイしている仕組みについて

                                                              Twitterは、同社の何千台ものサーバに対してバイナリをデプロイする場合に、ピア・ツー・ピアシステムのBitTorrentを利用したツール「Murder」を用いていると、7月1日の記事「Twitterの大規模システム運用技術、あるいはクジラの腹の中(後編)~Twitterのサブシステム「Unicorn」「Kestrel」「Flock DB」」で紹介しました。 FacebookでもBitTorrentによる大規模なデプロイが高速に行われていることは、7月16日の記事「Facebook、memcachedに300TB以上のライブデータを置く大規模運用の内側」で紹介しました。 どうやら大規模システムにおけるデプロイではBitTorrentの利用が進んでいるようです。 7月15日付けのTwitter Engineering Blogに、Twitterのエンジニア、Larry Gadea氏による「

                                                                TwitterがBitTorrentで高速にデプロイしている仕組みについて
                                                              • PostgreSQL Internals

                                                                本コンテンツは、2014年1月30~31日に筑波大学で開講された「情報システム特別講義D」における講義「Inside PostgreSQL Kernel」の内容を再構成、加筆・修正したものです。 はじめに 本コンテンツについて 本コンテンツへのフィードバックについて アーキテクチャ概要 PostgreSQLの構成要素 PostgreSQLの基本的なアーキテクチャ SQL文の処理される流れ トランザクション管理 トランザクション処理におけるACID特性 各レコードの可視性の管理 Atomicity(原子性)の実装 Consistency(一貫性)の実装 Isolation(分離性)の実装 トランザクション分離レベルの定義 Durability(永続性)の実装 チェックポイント メタデータ管理 pg_controlファイル OID/XID/TID システムカタログ MVCCとストレージ構造 テ

                                                                • 技術選択とアーキテクトの役割

                                                                  特定のプロジェクトがあり、要件定義をし概要設計をする。 それがアーキテクトの仕事だと思われがちですが、大きな視点を持ち様々な課題を自らリードして解決していく立場としても絶好のポジションです。 このセッションでは、Mobage オープンプラットフォームの立ち上げから、 グローバルプラットフォーム展開、さらには mixi 社との共同プラットフォーム構築、 JavaScript SDK と認証技術の組み合わせによる新しい HTML5 プラットフォーム構築をアーキテクトという立場でリードし続けた立場から、技術選択のみならず実現したい事に対する俯瞰的な捉え方を、これまでの実例と共に紹介し、アーキテクトという役割について、お話します。

                                                                    技術選択とアーキテクトの役割
                                                                  • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

                                                                    この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日本の Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

                                                                      5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
                                                                    • AWS全資格の概要と主な学習コンテンツをまとめてみた | DevelopersIO

                                                                      本ブログは、2021 AWS Partner Ambassadors で構成するアドベントカレンダー Japan APN Ambassador Advent Calendar 2021 の 24 日目のエントリです。 こんにちは。CX事業本部MAD事業部のYui(@MayForBlue)です。 年の瀬も迫った12/24ですが、みなさん資格勉強してますか?(挨拶 さて、IT系の資格の中でも人気の高いAWSの資格ですが、数も多いし何から取ったらいいのかわからない・・・という方も多いのではないでしょうか。 この記事ではAWSの全資格を紹介するとともに、2021 ALL AWS Certifications Engineers ホルダーとして資格取得やAWSの学習に有用なコンテンツをまとめてみました。 本ブログをご一読いただくことでAWSの資格取得の一歩を踏み出していただければ幸いです。 想定読者

                                                                        AWS全資格の概要と主な学習コンテンツをまとめてみた | DevelopersIO
                                                                      • 開発者が知っておくべきSOLIDの原則 | POSTD

                                                                        (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま

                                                                          開発者が知っておくべきSOLIDの原則 | POSTD
                                                                        • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

                                                                          連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「

                                                                            mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
                                                                          • ヤフー全社横断「Webパフォーマンス改善」の取り組み (Core Web Vitalsスコアの向上)

                                                                            ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、第11代黒帯(ヤフー内のスキル任命制度/Webフロントエンド領域)の浜田(@narirow)です。今回はヤフー全社で実施してきた、「Webパフォーマンス改善プロジェクト」についてお話ししたいと思います。 長期に渡る活動の結果、多くのサービスのWebパフォーマンスが徐々に向上しています。この記事では、取り組みの経緯や、多くのサービス分析を通してわかったコスパの良い施策(比較的簡単に実施できてスコアも上がりやすい施策)などをご紹介します。 全社横断でWebパフォーマンス改善を実施する経緯 さかのぼること2021年、Googleから以下のような案内がありました。 「Core Web VitalsがGoogle検索の検索順位に

                                                                              ヤフー全社横断「Webパフォーマンス改善」の取り組み (Core Web Vitalsスコアの向上)
                                                                            • 巨大企業のサーバー構成や内部ツールを覗く - 発明のための再発明

                                                                              はじめに この記事は設計・アーキテクチャ Advent Calendar 2018の1日目の記事です。 大きなサービスを支えるのは一筋縄では行かず、考えることは多くあります。しかし、ありがたいことに巨大な企業の中にも自社のサーバー構成やそれを支えるツールを公開している企業があります。 この記事では、彼らの叡智に触れるため、有名企業の事例を取り上げ要約をします。 各事例には元記事へのリンクを書いているので、興味があればリンク先も覗いてみてください。 ※新しいものばかりではないので、古くなっていたり既に別の方法に移行している可能性があることに注意してください。 LINE: 25k/secのスパイクをさばくアーキテクチャ 元記事: 25K request/secをさばいた「LINEのお年玉」のアーキテクチャの裏側 最初に紹介するのは、LINEが2018年に実施した、「LINEのお年玉」というイベ

                                                                                巨大企業のサーバー構成や内部ツールを覗く - 発明のための再発明
                                                                              • インターネットは当初目指したものではなくなってしまった:Geekなぺーじ

                                                                                NANOG 68のDesperately Seeking Defaultという発表にて、APNICのGeoff Huston氏が、いまのインターネットはかつてエンジニア達が目指したものとは違うものになってしまったと表現しています。 この発表が行われたNANOG 68(2016年10月17日)は、ネットワークエンジニアが集まるイベントであるため、ここで言う「我々」というのは、主にネットワークエンジニアを指しています。 IETFでもそういう雰囲気があるのですが、「我々がインターネットを作っている」という自負がある人々が会場内に多いです。そういった空気感がある「場」での発表です。 発表そのものは、インターネットを運用する際に見える「経路」は組織によって異なり、インターネットでは互いに通信ができないネットワークがあるという話です。 「Default」の経路として提供されるものが異なり、インターネッ

                                                                                • 2014年からはじめるAWSリンク集 | 外道父の匠

                                                                                  ガチのAWSド素人が年末に調べまくった、AWS関連のリンク集です。 まだまだ調査中なので随時追加する予定ですが、広深くてキリがないのと、年始一発目の目覚ましエントリということでいってしまいます! はじめた目的 多数のスタートアップにおいて、インフラ専門のエンジニアが付かなくても、小~中規模程度まではそのチームでインフラ面を完結できるようにしたい。 …ということで、今の時代に合わせて簡単・安価・拡張性・耐障害性…を満たす環境を考えるべく、ひたすら知識をかき集めることにしました。考えた構成などについては別途書きたいと思います。 また、遡って調べるほどに出来と進化速度に感心するとともに、情報消費期限がせいぜい2年だと感じ、ほぼ2年以内の情報をもってこのような臭ぇタイトルにしています。 目次 ドキュメント アーキテクチャ クラウド全般比較 クラウド性能比較 費用/スペック ネットワーク 基本インス

                                                                                    2014年からはじめるAWSリンク集 | 外道父の匠