タグ

関連タグで絞り込む (190)

タグの絞り込みを解除

設計に関するobaratchのブックマーク (333)

  • GitHub - patternknife/docker-blue-green-runner: From your source code to zero-downtime, high availability, and secure production deployment in no time, with examples in PHP, Java, and Node.js

  • Why, after 6 years, I’m over GraphQL

    GraphQL is an incredible piece of technology that has captured a lot of mindshare since I first started slinging it in production in 2018. You won’t have to look far back on this (rather inactive) blog to see I have previously championed this technology. After building many a React SPA on top of a hodge podge of untyped JSON REST APIs, I found GraphQL a breath of fresh air. I was truly a GraphQL h

  • 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

    PHPerKaigi 2022 2022/04/10 10:40〜 Track A レギュラートーク(40分) PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 Agenda - 型宣言 - 列挙型 - ドメインモデリング - 不変性と等価性 - 完全性 - レイヤーと責務

    予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
  • Node.js の進化に伴い不要となったかもしれないパッケージたち

    tl;dr はじめに 2024 年の 4 月 24 日に Node.js 22 がリリースされました。ESM を 条件付きで require する機能や、--run フラグによる npm スクリプトのパフォーマンス改善などが v22 で追加され、2009 年に Ryan Dahl が Node.js をリリースしてから 15 年が経つ今も、Node.js は進化を続けています[1]。 こうして Node.js 自身が強化されていくにつれ、以前はサードパーティーのパッケージを使用して実現することが一般的であった機能が Node.js のみで実現可能となり、当該パッケージが不要となるような場合があります。冒頭に引用した Ben Holmes の動画では、そのように不要となったパッケージとして dotenv node-fetch chalk mocha が挙げられていますが、この記事では「これら

    Node.js の進化に伴い不要となったかもしれないパッケージたち
    obaratch
    obaratch 2024/05/08
    地味に重要
  • Effective Performance Engineering at Twitter-Scale

  • 右折待ちゼロは「逆転の発想」から!? 衝突事故防ぐ画期的なアイデア「反転交差点」実用化へ本研究開始 “矢印信号”もいらない!一体どんな構造なのか

    国土交通省の新技術研究として、「反転交差点」という先進的な交差点構造の研究が始まりました。安全でスムーズな走行を実現する新発想の交差点、一体どんなものなのでしょうか。 アメリカの先進事例に着目 国土交通省が採択して研究される「道路に関する新技術」で、交差点の課題解決に期待される新たな技術が、研究スタートとなります。 「反転交差点」と呼ばれるこの新技術、いったいどんな技術なのでしょうか。実現すればどう便利になるのでしょうか。 交差点の信号待ち渋滞を解決する策としては「ラウンドアバウト」というものがあります。交差点を環状にすることで、南北側も東西側も交差点内で同じ方向へ進み、信号が無くても接触なく交差点を通過できるというものです。 しかしラウンドアバウトが機能するのは、あくまで通過交通が比較的少ない場合のみ。大都市部ではなかなか効果的に導入できません。 そこで他の事例として、可能性が提言され

    右折待ちゼロは「逆転の発想」から!? 衝突事故防ぐ画期的なアイデア「反転交差点」実用化へ本研究開始 “矢印信号”もいらない!一体どんな構造なのか
  • You Don't Need AWS ~お前にAWSは必要ない~

    はじめに タイトルはこちらから拝借しました。この記事は他のパブリッククラウド(Azure, GCP)を薦める記事でもなければ、プライベートクラウドを薦める記事でもありません。また私自身、エンジニアキャリアの中でAWSはたくさん使ってきましたし、今でもソフトウェア開発のわがままに答えてくれる素晴らしいサービスだと思っているので、AWSを貶めるような記事でもありません。むしろ以下に紹介するサービスはAWS上に構築されていることが多く、間接的にもますます世界中の基盤として発展していくはずです。 PaaSアーキテクチャ 前提条件 前提として、現在でも主流なSPAを中心としたフロントエンド、バックエンド、データベースサービスからなるアプリケーションを想定します。 この場合、 フロントエンド → CDN + Static Hosting バックエンド → Container Deploy(Auto S

    You Don't Need AWS ~お前にAWSは必要ない~
  • 業務でAWSを利用する時に知っておくべきポイント10選 - Qiita

    2024年1月時点のAWSベストプラクティスに従って作成しました 好評でしたら続編も検討します 1. 環境ごとにアカウントを分離する 番、検証、開発ごとにアカウントを分割しましょう ✕良くない例 ◎良い例 最初にアカウント分割しておかないと、後で分割するのはとても大変です アカウントを分割することで「検証と思って作業したら、実は番だった」のような事故を減らすことができます コストがアカウント単位で集計されるため、環境ごとのコストを簡単に算出することができます AWS Organizationsを使用することで、各環境に応じた権限設定が簡単にでき、ガバナンスを強化することができます AWSアカウントはAWS Control TowerのAccount Factoryを使用することで、クレジットカード情報を都度入力することなく簡単にアカウントの払い出しが可能です また、AWS Contro

    業務でAWSを利用する時に知っておくべきポイント10選 - Qiita
  • 新規サービスの検索システム立ち上げ時に考慮すること - Qiita

    例外はたくさんあるのでこちらの表はあくまでも参考です。 バッチ更新の場合はcrontabやAirflow、Rundeckなどのワークフローエンジンが使えます。 一方、リアルタイム更新ではAWS KinesisやGCP pub/sub等を活用したり、Apache Beamなどを用いたりしてデータパイプラインを構築することがあります。 アイテムの特性と検索時のクエリ 検索対象となるアイテムの特性と検索する際にどのようなクエリが想定されるかを考えます。 全文検索エンジンを使っているので、基的にはテキストにより表現されているとは思いますが、どのようなフィールドが存在するか、テキスト以外の検索項目などを洗い出します。 クエリに関しても基は「キーワード」ですが、整理したアイテム情報に対してどのようなクエリで問い合わせが可能かを考えます。 システムとして「誰」が検索結果を取得するか、検索結果をどの程

    新規サービスの検索システム立ち上げ時に考慮すること - Qiita
  • その状態のデザイン考えてなかった! UI Stackってナニ|kana

    アプリの画面をデザインする際、エンジニアさんに 「なにも登録データがない場合、どう表示しますか」「選択したときの状態ってどんなデザインですか」などと聞かれて 「ウワア考えてなかったすみません、今作ります。。」 (なんて自分はポンコツなんだ、、ウウウ) と、なりたくないですよね。 UI Stackは👆のような状況を回避するのに便利で大事な考え方だと思ったので、言葉の意味を知らない方はぜひ読んでってください! UI Stack アメリカのプロダクトデザイナー Scott Hurff さんが世に出した 「UIの考慮すべき5つの状態」という考え方です 5つの状態 ・Blank State(空っぽの状態) ・Loading State(ローディング状態) ・Partial State(部分達成状態) ・Error State(エラー状態) ・Ideal State(理想状態) 一つ一つ参考を交えな

    その状態のデザイン考えてなかった! UI Stackってナニ|kana
  • エンジニアリングマネージャー目線で見るライブラリ技術選定の勘所 - Activ8 Tech Blog

    技術選定、してますか? こんにちは!エンジニアリングマネージャーの佐藤(@unsoluble_sugar)です! 今回は開発関連のライブラリやアセットを導入する際に、個人的に見ている技術選定過程のポイントについて書き残してみることにしました。 エンジニアであれば様々な場面で技術選定の判断を求められるかと思います。フロントエンドやサーバサイド、ネットワーク・インフラ構築、CI/CDといった開発領域。OS、言語、フレームワーク、開発ツール、SaaS、プラットフォームetc... 挙げだすとキリがないですよね。 個人開発等でユーザーの母数が小さかったり、運用期間が短く影響範囲が軽微な場合はそれほど気にしなくて良いかもしれません。一方で、企業としてシステム・アプリ開発をする上では、開発して終わりではなく中長期での運用保守が前提となりますので、サービス継続のための様々な点に注意しなければなりません。

    エンジニアリングマネージャー目線で見るライブラリ技術選定の勘所 - Activ8 Tech Blog
  • 【ポエム版】新規開発のときの技術選定の考え方 - Qiita

    列の項目はここではざっくりと言った通りなので、来であれば注目すべき観点をもう1段掘り下げたものであるほうが良いでしょう。特にシステムはざっくりすぎるかなと思います。 場合によっては個々の言語の機能を表現する必要があります。 ただ、戦略という点に置いては機能そのものよりも、機能や言語がもたらす周辺効果にこそ注目する必要があるでしょう。 次に、◯や☓についてです。これは、現在と未来のギャップを考えたときに良いかどうかです。 基的に未来に向けた選択をするため、既存の会社の標準やシステムのリプレースなどでの技術選定のときに現状維持が悪い影響を与えるときは問答無用でバツをつけるべきです。 使っている技術について尖りすぎていたり、陳腐化していたりすると、採用のスコアが悪くなります。 採用スコアは将来のチームの状況とも言えるので、よほどの狙った戦略が無い限りは◯を選ぶべきかと思います。状況によっては

    【ポエム版】新規開発のときの技術選定の考え方 - Qiita
  • 進化的アーキテクチャ

    現代におけるエンタープライズアーキテクチャは、もはや静的な計画をあてにすることはできなくなっています。そしてソフトウェア開発エコシステムは、ツールやフレームワーク、技術イノベーションの流れと共に絶え間なく変化しています。こうした状況の中で、いったん構築したシステムを成長させていくには、さまざまな変化に適応しながら進化するアーキテクチャをシステムに組み込む必要があります。書は、そうしたアーキテクチャを「進化的アーキテクチャ」と名付け、その構築に必要な考え方や技術、実践方法などについて解説するものです。 ThoughtWorksの3人のスペシャリストから現代のソフトウェアアーキテクトに向けられた書は、絶え間ない変化を支える進化的アーキテクチャを構築するために必要なすべてを提供する実践的なガイドです。 書への推薦の言葉 訳者まえがき マーチン・ファウラーによる序文 はじめに 1章 ソフトウ

    進化的アーキテクチャ
  • アプリUIデザイナー1年生が、HIGとMDGを読んでモバイルエンジニアと共通言語作った話。 | PREVENT

    はじめまして、PREVENTデザイナーの磯部と申します。 今回は、私がアプリUIデザイナー1年目で、HIG(Human Interface Guidelines)とMDG(Material Design Guidelines)を読んでモバイルエンジニアと共通言語を作った話をしたいと思います。 自己紹介 普段はMystarや医療職向けの管理画面のUIデザイン、コンテンツ作り、ユーザへの案内パンフレット、営業ツールのグラフィックデザインなど自社で制作したプロダクトのデザインを幅広く行っています。 最近ではプロダクトに「UX」を取り入れるべくUXリサーチの勉強も始め、UXデザイナーとしても奮闘しております! 経歴 前職ではWebデザイナーとしてコーポレートサイトやWebアプリのデザインなどをしておりました。 2020年の11月にUIデザイナーとしてPREVENTで働くようになりました! なぜ共通

    アプリUIデザイナー1年生が、HIGとMDGを読んでモバイルエンジニアと共通言語作った話。 | PREVENT
  • 知識0から、ちょっとUIデザインに詳しくなるnote|やました

    前回は、「UIデザインってそもそも何なの?」という概論的な説明と、UIデザイン未導入の組織の中でみんなでデザインを始めてみるための施策(プロトタイピングとユーザビリティ評価)を話しました。 今回はサービス、プロダクト開発において、デザイナーではない人でも知っていて損はないUIデザインの重要ポイントについて説明します。主に以下の3つのテーマについて順番に議論をしていきます。 デバイスやソフトによるUIの違い ユーザーにかかる身体的・認知的負荷を理解する UIの重要概念(ナビゲーション、インタラクションなど)を知る 「ちょっと」と銘打っておきながらめちゃくちゃ長いnoteになってしまったので、気になる項目だけ読むか、何回かに分けて読んでいただくことをおすすめします、。 ※どこか内容に間違ってる部分やご意見ありましたらコメントいただけたら嬉しいです。 デバイスやソフトによるUIの違い皆さんがお使

    知識0から、ちょっとUIデザインに詳しくなるnote|やました
  • 脱 Firebase. 我々はどう生きるか | AWS Dev Day 2022 Japan #AWSDevDay

    2022年夏、 我々はアプリケーションのバックエンドとして利用していたFirebaseをやめる決断をした。それは事業とソフトウェアの成長に伴いユースケースが合わなくなってきたことが主な理由だ。 これはFirebase、特にNoSQLドキュメントデータベースであるFirestoreから自分たちでRDBを使ったREST APIを開発し移行する物語。 何を考え、何を行うか、RDBとは異なるデータ構造のFirestoreのデータをどのように再設計/開発/移行するかについて愚直に語ります。 同じような悩み、課題もつ皆さんになんらかのきっかけを与える45分に。 スピーカー: 西谷 圭介 氏 (CTO, Singular Perturbations Inc) セッションに関する情報: ・想定聴講者の役割/開発対象:Web バックエンド / サーバーサイド開発 ・セッションのトピック:Web バックエ

    脱 Firebase. 我々はどう生きるか | AWS Dev Day 2022 Japan #AWSDevDay
  • ソフトウェアに関わる人が知っておくといいかもしれない法則10個

    「チームトポロジー」や「エンジニアリングマネージャーのしごと」「スクラム実践者が知るべき97のこと」の著者や翻訳者などで知られる吉羽龍太郎氏が、「ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション)」という興味深いポストをX(旧Twitter)で公開しています。 ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション) コンウェイの法則 パレートの法則 グッドハートの法則 パーキンソンの法則 ブルックスの法則 リトルの法則 ピーターの法則 ハインリッヒの法則 ピーク・エンドの法則 ホフスタッターの法則 — Ryutaro YOSHIBA (@ryuzee) January 23, 2024 これらの法則の多くは経験則だったりもしますが、いずれにせよ知っておくと上司の説得に役立ったり、ソフトウェアの開発現場でチームの運営に役立ったり、物

    ソフトウェアに関わる人が知っておくといいかもしれない法則10個
  • 「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s

    リリースするたびに「影響範囲の考慮漏れ」によるトラブルを起こす。こういう症状は、既存のソフトウェアシステムに追加開発を繰り返す組織によく見られるのではないかと感じます。コードやシステムの変更が影響を及ぼす箇所を見逃してしまい、未修正な箇所が残されたまま番リリースされたために発生するトラブルです。 このようなトラブルが頻発すれば、関係者らは不満を感じます。エンジニアたちの能力に不信感を抱くかもしれません。 しかし、不満の矛先をエンジニアに向けたところで問題が解決することはありません。そもそも原因を見誤っているからです。根的な原因は、もっと奥深くにあります。 影響範囲の考慮漏れの多発は、ソフトウェアシステムが大きな問題を抱えていることを知らせるサインです。このサインを見逃して表面的な対策ばかりを続けていると、症状が良くなるどころか、かえって悪化し続けることになるでしょう。 問題/原因の3層

    「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s
  • コストをかけずにWebサービスを公開するための構成例 - Qiita

    はじめに 個人でフロントエンド(react)、バックエンド(node.js)、データベース(postgreSQL)を利用したWebサービスを公開したいと考えていました。 まずはテスト的に無料で外部公開できるサービスがないか調査しましたが、2022年8月に有料化されたHerokuの記事ばかりヒットしてしました。 結果的には無料で使用できる構成があり、実際にテストプログラムを動作させることができましたので構成例として記載しておきます。 ※無料なので比較的厳しい条件も含まれていたりするのでそれぞれのサービスを確認お願いします。 例えばsupabaseは数日間利用がないとインスタンスが一時停止して手動で起動させないといけないなどがあります。 今回試したサービス できるだけ同じサービスに集約したいと考えていましたが、実際にはフロントエンド、バックエンド、データベースはそれぞれ異なるサービスになってし

    コストをかけずにWebサービスを公開するための構成例 - Qiita
  • Web ブラウザ自作してみた【Hello, world!編】:ヒステリックねこちゃんlab

    使わない日はない、というほど身近な『Webブラウザ』。 でもよく考えてみたら、見えないところで結構色々やってくれているんじゃないか…?気になる!どうしたら作れるんだ! というわけでギリギリ最低限、GUIを描画してHello, world!するまでだけの仕様ですが、作ってみました。自作入門書というよりも、開発日記的な建付けです。 ※ご購入の際の注意:インプレスR&D様より同タイトルの商業版が発行されております。商業版は「Webブラウザの機能追加」の章を追加しているほか、価格が異なります。 第 1 章 はじめに 1.1 なぜ Web ブラウザを自作するか 1.2 書の範囲 1.3 開発環境 1.4 構成を考える 1.5 開発の順番を考える 第 2 章 GUI 2.1 下準備 2.2 フォントのレンダリング 2.3 フレームバッファの操作 2.4 画面の描画 2.5 動作確認 第 3 章 ソケ

    Web ブラウザ自作してみた【Hello, world!編】:ヒステリックねこちゃんlab