並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

保守性の検索結果1 - 40 件 / 42件

  • 保守性の高いソフトウェア開発のTips集

    保守性の高いソフトウェアの開発に役立つ様々なTipsを書いた。 特定の言語にとらわれずあらゆる場面で役立つことを集めた。

      保守性の高いソフトウェア開発のTips集
    • 保守性と生産性を両立する分析用SQL構造化の4原則 〜 構造化プログラミングの考え方をSQLに適用する

      ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告のデータマーケティングソリューション(以下、DMS)を開発しているデータアナリストの薄田です。 みなさんは、中間テーブル同士が複雑に絡み合い変更しようにも影響範囲を推定できず、手がつけられない分析パイプラインの保守で苦労された経験はないでしょうか? 私のチームでは数千行におよぶ分析用SQLをリファクタリングして、保守性と生産性を両立する分析パイプラインに生まれ変わらせることができました。 この記事ではリファクタリングを通して確立した、分析用SQLを構造化するための4原則を紹介します。4原則を意識しながらSQLを書くことで、高凝集・疎結合な分析パイプラインを作ることができます。 この記事では凝集度と結合度

        保守性と生産性を両立する分析用SQL構造化の4原則 〜 構造化プログラミングの考え方をSQLに適用する
      • 保守性の高いReact hooksコードの指針

        前提 本記事は保守性の高いReact hooksコードの指針を記述します。指針はtipsに近いものから原則に近いものまで雑多に含まれます。総じてReact hooksの標準的なAPIを上手く扱う方法が多めです。 これらは保守性の低いコードを反面教師とした私的な経験則に基づきます。(思い出し次第随時追加していきます) ご留意ください。 解消したい痛み 再現が困難な不具合の発生 容易に無限ループが発生しうる 不具合発生箇所の特定が手間 分岐が多くコードリーディングに手間がかかる 解消する手法 useEffectは1ページに1つ useEffectにdeps自動補完除外コメントを入れる stateはプリミティブにする propsにフラグがある場合はコンポーネントを分ける useEffectは1ページに1つ 悪例: ユーザーイベントの処理 const [foo, setFoo] = useStat

          保守性の高いReact hooksコードの指針
        • 『ドラゴンクエスト』36周年で思うこと──保守性と革新性を両立させる離れ業は、堀井雄二が高度な批評性を持っているから

          1986年の5月27日に『ドラゴンクエスト』が発売され、今年で36年という月日が経とうとしている。 当時小学生だった自分も40を過ぎたいい大人になったわけだが、未だに『ドラゴンクエスト』の新作を楽しみにし続けているとは正直思わなかったし、まだ現在発売されている最新作のナンバリングが『XI』であるという事実を当時の自分に伝えられたとしたら、どんな顔をするだろうか。 (画像はSteam『ドラゴンクエストXI 過ぎ去りし時を求めて S』より) 今更改めて説明するまでもなく『ドラゴンクエスト』と言えば日本にRPGというゲームジャンルを普及、定着させた最大の功労者であり、現代においても最も日本で人気のあるゲームシリーズのひとつである。このゲームシリーズをそんな風に説明することはそれほどむずかしいことではない。誰もがとっくに知ってることだろう。 しかし、当時のゲームユーザーに『ドラゴンクエスト』がどの

            『ドラゴンクエスト』36周年で思うこと──保守性と革新性を両立させる離れ業は、堀井雄二が高度な批評性を持っているから
          • ドメイン駆動設計で保守性をあげたリニューアル事例 〜 ショッピングクーポンの設計紹介

            ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! Yahoo!ショッピングクーポンチームの小倉です。 前回のフロントエンド技術刷新の話とは打って変わり、今回は2019年に行ったバックエンド技術刷新の話です。 刷新前のシステムはノンフレームワークPHPのモノリスでしたが、現在は主にJava/Spring Bootでマイクロサービス化しています。今回は、その中でもっとも仕様が複雑だったマイクロサービスにおいて、ドメイン駆動設計(Domain Driven Design:DDD)を実践した話をご紹介します。 ショッピングクーポンの自由度を知る みなさんは、ショッピングの商品が割引になるクーポンをご存じでしょうか? 実は、クーポンには、ヤフーが予算をだして発行する「モールク

              ドメイン駆動設計で保守性をあげたリニューアル事例 〜 ショッピングクーポンの設計紹介
            • 良いテストとは何か:持続可能で保守性の高いテストを書く

              PHPカンファレンス2023の登壇資料です。 https://fortee.jp/phpcon-2023/proposal/10143d00-ca44-4db1-aeb6-b618c423b646

                良いテストとは何か:持続可能で保守性の高いテストを書く
              • 保守性の担保のために仕様を整理する方法 - とろろこんぶろぐ

                はじめに リリースされたプロダクトをエンハンス開発していく上で、保守性を保ち続けることがとても大事なのは言うまでもありません。 特に複雑な要件は実現するために難解なロジックを書く必要があります。 このことから 要件の複雑さと保守性はトレードオフになりがち です。 保守性を保つ方法はさまざまです。 例えば、可読性を高めるような書き方をした上でコメントを残したり、 Lintやテストなどツールを使ったりなどです。 しかし、この記事では書き方やツールではなく、 そもそも複雑になりそうな仕様を整理し要件から取り外すこと で保守性を保つ取り組みを紹介します。 この記事は Recruit Engineers Advent Calendar 2022 の2日目の記事です。 adventar.org 開発者が仕様の整理に入り込む フロントエンドエンジニアをやっていると、カジュアルに難解なUI要件が定義された

                  保守性の担保のために仕様を整理する方法 - とろろこんぶろぐ
                • 画面遷移に順序があるUIの保守性を向上させる「順序ありオブジェクト指向UI」の提案

                  はじめに UIを設計するときにオブジェクト指向UIは大きな効果を発揮することがあります。一方で、オブジェクト指向UIの考えをそのまま適用できないけれども、タスク指向UIと呼ぶのも微妙な画面があります。 例えば、ECサイトの購入プロセスです。よくあるECサイトの購入プロセスは以下の図のような構成です。これだけだと簡単そうですが、実際のECサイトの購入プロセスはある画面をスキップしたりしなかったりという制御があり、なかなかに複雑なものです。 今回の記事は画面遷移に順序があるがタスク指向UIと呼ぶのも微妙な、複雑な画面遷移を持つ画面にオブジェクト指向UIの考えを導入することで画面遷移制御を簡単にする手法を提案します。 対象読者 画面遷移の制御の保守性を向上させたいITエンジニア この記事の概要 複雑な画面遷移を持つUIに対して、オブジェクト指向UIの考え方を導入することで、制御フローをシンプルに

                    画面遷移に順序があるUIの保守性を向上させる「順序ありオブジェクト指向UI」の提案
                  • Upgrow: Railsアプリの保守性を高めるためのShopifyのアプローチ / Upgrow

                    Practical Tips for Bootstrapping Information Extraction Pipelines

                      Upgrow: Railsアプリの保守性を高めるためのShopifyのアプローチ / Upgrow
                    • ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン

                      ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン

                        ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
                      • 毎日が海水との闘いなタンカー船では『交換しやすい部分をわざと弱く作る』保守性を高める"犠牲管"と身近な例

                        東幸海運🚢✨タンカーの船会社 @tokokaiun タンカー船で使い放題の海水。実は大きな欠点があります。金属を劣化させること。機関室のパイプは海水との戦いです。例えば海水から真水を作る造水機。長いパイプに穴が開いたらピンチ。そこで長い管はコーティングした配管。一部わざと金属の短い管を使います。犠牲管と呼ばれ毎年予備と交換します。 twitter.com/i/web/status/1… pic.twitter.com/HGwbZf4Gh7 2023-04-08 08:46:27 東幸海運🚢✨タンカーの船会社 @tokokaiun タンカー船の犠牲になった犠牲管。船の機関室にある金属の配管は海水には勝てません。わざと弱い部分を作って溶ける部分を集中させるのが犠牲管。交換しやすい短い曲がり部分を犠牲にします。替えにくい場所の配管はコーティングされたパイプを使用。配管をステンレスにしたら機械

                          毎日が海水との闘いなタンカー船では『交換しやすい部分をわざと弱く作る』保守性を高める"犠牲管"と身近な例
                        • テストコードの保守性を高めるPlaywrightのPage Object Model入門 〜Percy連携までの実践的アプローチ〜 | DevelopersIO

                          情報システム室の進地@日比谷です。 E2Eテストにおいて、テストコードの保守性は重要な課題の一つです。この記事では、PlaywrightでのPage Object Modelの実装方法と、Visual Regression TestingツールのPercyとの連携について、実践的なアプローチをご紹介します。 なぜPage Object Modelが必要か テストコードの保守性の課題 まず、Page Object Modelを使用しない一般的なテストコードを見てみましょう。 test('ログインテスト', async ({ page }) => { await page.goto('https://example.com/login'); await page.fill('#email', 'test@example.com'); await page.fill('#password', '

                          • GitHub Copilotを使用して作成されたコード、機能性、可読性、信頼性、保守性、簡潔さが向上していることが明らかに

                            米GitHubは、AIアシスタントであるGitHub Copilotを使用して生成されたコードが、どの程度機能的で読みやすく、信頼性があり、保守しやすく、簡潔で、承認される可能性が高いかを明らかにすべく実施した、ランダム比較試験の結果を11月18日(現地時間)に発表した。 同試験では、5年以上の経験を有する開発者202名が参加し、半数にはGitHub Copilotへのアクセスがランダムに割り当てられ、残り半数にはAIツールを使用しないよう指示が与えられている。参加者全員に、WebサーバのAPIエンドポイントを記述するコーディングタスクを完了するよう依頼し、その後単体テストと専門家のレビューによってコードを評価した。 試験結果のうち、いくつの単体テストに合格したかをみると、GitHub Copilotを使用して作成されたコードは、AIツールを使用せずに書かれたコードと比較して、はるかに多く

                              GitHub Copilotを使用して作成されたコード、機能性、可読性、信頼性、保守性、簡潔さが向上していることが明らかに
                            • 世界のプログラミング言語(57) シンプル・高速・保守性の高さを目標に掲げたV言語はGo言語のライバルになり得るか?!

                              V言語はGo言語のようにシンプルさと高速な動作、保守性の高さを売りにしています。毎回いろいろなプログラミング言語を紹介する本連載ですが、今回は2019年に公開され、現在も活発な開発が続いているV言語について紹介します。 V言語でFizzBuzzのプログラムを実行したところ V言語について V言語は、2019年にアレクサンダー・メドヴェドニコフ(Alexander Medvednikov)氏によって開発されたプログラミング言語です。当初は、デスクトップ向けメッセージングクライアント「Volt」を開発するために作られました。 開発目標として「シンプル」「速度」「安全性」を掲げています。Go言語のようにシンプルな言語仕様が特徴です。そして、静的型付け言語であるため、C言語と同等の速度で動作させることができます。 なお、V言語のユニークな点ですが、V言語のコンパイラは、V言語のソースコードをC言語

                                世界のプログラミング言語(57) シンプル・高速・保守性の高さを目標に掲げたV言語はGo言語のライバルになり得るか?!
                              • 保守性から見た長期目線でのプロダクトマネジメント|Yusuke Ura

                                はじめにこれまで、「プロダクトは長期で考えましょう」みたいなことを言われても正直ピンと来ていない部分がありました。 「プロダクトが長く続いて、ビジョンの達成に近付き、使ってくれるユーザー、運営しているメンバーがみんな幸せな状態が維持できればいいのでは?」くらいの解像度です。 いくつかの具体的な取り組みを通じて個人の考えをアップデートできたのでまとめようと思って今回のブログを書いています。 なお、10Xでは絶賛採用中ですのでご応募や雑談お待ちしております(詳細は最後に) 長期目線でのプロダクトマネジメントは「持続的にプロダクトが提供できる状態を作る」ことプロダクトマネージャーとしては自分の関わるプロダクトが長く多くの人に使われて課題を解決し続けてほしいという思いはあるはずです。 ただ、その前提として持続的にプロダクトを提供できる状態を作ろうとすることが長期目線でのプロダクトマネジメントの1つ

                                  保守性から見た長期目線でのプロダクトマネジメント|Yusuke Ura
                                • 【脱!important】保守性を意識したスタイルを確実に上書きするためのテクニック

                                  TAK(@tak_dcxi)です。今回もCSS設計に関する投稿です。 皆様はWebサイトの運用でCSSを更新・改修する際に、既存のスタイルが上書きできなくて苦しんだことはありませんか? class名のタイポミスだったり、そもそも指定したセレクタに対応する要素が無い…といった凡ミスも原因だったりはしますが、大抵の場合他のスタイル指定が強くて上書きできない、つまり「詳細度」が影響していることが多いです。 CSSを破綻させる原因の一つの「詳細度」とは? MDNの説明を引用すると以下の通り。 詳細度は、どの CSS プロパティが要素に最も関係があるか、すなわち適用されるかをブラウザーが決定する手段です。詳細度は様々な組み合わせの CSS セレクターで構成される一致規則に基づいています。 CSSのスタイル指定が競合した時に優先される、セレクタが生まれながらに持つ「強さ」みたいなものです。 全称セレク

                                    【脱!important】保守性を意識したスタイルを確実に上書きするためのテクニック
                                  • わて「なにっ!?韻を踏むだけで保守性があがるやと!?」 - Qiita

                                    無職やめ太郎さんの許可はこれから取ります→相互パクリへ ある日の会社にて わて「バイトくん、何してるん?シャボン玉楽しいで?」 バイトくん「何いってるんですか、仕事中ですよ。大概にしてくださいね」 わて「げほげほっ、このシャボン玉液ちょっと美味しい」 バイトくん「・・・」 わて「で、何してるん?」 バイトくん「あー、関数を薄くラッパーして、保守性を高めてるんですよ」 わて「ラッパー?わても好きやで。昔はフロアを沸かしていたもんや。フロアっていうかほんとは風呂なんやけどな」 バイトくん「・・・」 わて「にらまんといてや・・・」 薄くラッパーするってなんなん? バイトくん「例えばここに Http Request をするライブラリがあるんですね」

                                      わて「なにっ!?韻を踏むだけで保守性があがるやと!?」 - Qiita
                                    • スケーラブルで保守性の高いモジュラーディレクトリ構成へのフロントエンドリポジトリ移行 | メルカリエンジニアリング

                                      Merpay Advent Calendar 2022 の9日目は、メルペイ フロントエンドエンジニアの @tokuda109 がお届けします。 この記事は、メルペイ フロントエンドチームで保守しているリポジトリを複数のディレクトリに分割し、スケーラブルで保守性の高いコードベースに再構築する方法を紹介します。 記事の内容は『Merpay Tech Talk 〜Monorepo開発におけるツール選定〜』のイベントで一度紹介したものになりますが、この記事ではさらに詳しく説明します。 フロントエンドチームは今後 Nuxt 3 への移行作業を控えていて、今回紹介するリポジトリ移行が Nuxt 3 への移行に与える効果についても紹介します。 抱えていた課題 フロントエンドチームは、メルペイのサービスリリース時からカスタマーサポート業務を行う社内向け管理画面や加盟店さま向け管理画面など、様々なマイクロ

                                        スケーラブルで保守性の高いモジュラーディレクトリ構成へのフロントエンドリポジトリ移行 | メルカリエンジニアリング
                                      • アソビュー流、SWRの使い方。可読性・保守性の高いhooks活用法 - asoview! Tech Blog

                                        はじめに アソビュー! Advent Calendar 2022の8日目です。 2019年ごろから基本的にReact hooksを使用しており、REST APIを呼ぶ際も以前紹介したこちらのようにhooksベースで行っています。今回はその中でSWRに着目してご紹介したいと思います。tech.asoview.co.jp SWRとは? SWRとはstale-while-revalidateの考えに基づいたデータ取得用のライブラリのことで、stale-while-revalidateは直訳すると「再検証している間は古いまま」というようなニュアンスの意味になります。 公式ドキュメントにも記載されておりますが、APIリクエストがされたら、まずそのAPIのキャッシュを返却し、APIのレスポンスが返ってきたらその最新の取得結果をキャッシュと置換するというのが、一番基本的な機能です。 SWRを使用すること

                                          アソビュー流、SWRの使い方。可読性・保守性の高いhooks活用法 - asoview! Tech Blog
                                        • アジャイルで注意すべき品質 保守性・整合性・認識違い

                                          レビューの効果が出ないと「レビューアーの頑張りが足りないから」としてしまいがちだ。本連載では、数人のレビューアーとドキュメント作成者によるチームレビューを想定し、成果が出る手順を示してきた。最終回となる今回は、アジャイルで注意すべき点を解説する。 重大な問題を見逃す、いつまでも終わらないなど、設計レビューの活動が円滑に回らず悩むIT現場は多い。名古屋大学の森崎修司准教授が2023年11月に著した『なぜ重大な問題を見逃すのか? 間違いだらけの設計レビュー第3版』(日経BP)から抜粋する形で、設計レビューのノウハウをアジャイル開発に応用する勘所を解説する。 ご存じの通り、アジャイル開発はウオーターフォール型と開発のための活動が一変します。ウオーターフォール型ではあまり意識しない問題が顕在化する場合があります。そこで今回は、アジャイル開発で特に支障が出やすい典型的な問題種別を3つ挙げます。併せて

                                            アジャイルで注意すべき品質 保守性・整合性・認識違い
                                          • 純粋関数の割合を最大化しよう|保守性の高いソフトウェア開発のTips集

                                              純粋関数の割合を最大化しよう|保守性の高いソフトウェア開発のTips集
                                            • AIが識別子の名前を考えてくれる機能、「Visual Studio 2022」にテスト導入/文脈を考慮して提案、コードの可読性と保守性が向上

                                                AIが識別子の名前を考えてくれる機能、「Visual Studio 2022」にテスト導入/文脈を考慮して提案、コードの可読性と保守性が向上
                                              • 設計と実装を分離して、ReactComponentの保守性を高める

                                                こんばんは。 株式会社CHILLNNという京都のスタートアップでフルサイクルエンジニアをしております大島と申します。 弊社では現在アプリケーションのリプレイスを行っているのですが、そのリプレイスと並行してフロントエンド側のリアーキテクチャを行っています。 リプレイス後のフロントエンドでは、React, TypeScriptで実装しており、特定の境界で「関数型ドメインモデリング」に影響を受け、DDDのパラダイムを導入しています。 導入するに至るまで、数多くの試行錯誤を重ねてきた中でいくつかの知見を獲得しました。 それらの知見を本記事にて具体例を用いて紹介出来ればと思っております。 何か少しでもみなさまのお役に立てれば幸いです。 はじめに 本記事で紹介する開発手法では、 設計と実装を分離し、保守性・可読性の高いReactComponentを目指しています。 背景 弊社では主に以下のような課題が

                                                  設計と実装を分離して、ReactComponentの保守性を高める
                                                • 保守性を高める開発プロセス - t_wadaさんの「質とスピード」研修からの学びと実践

                                                  はじめに 即戦力人材と企業をつなぐ転職サイト「ビズリーチ」の採用企業様向け管理画面の開発を行っている岡﨑と申します。 早速ですが、みなさんは、プロダクト開発において以下のような経験がありますか? 前提 プロダクトの機能リリースについて、期日が決められていて、プレッシャーがかかっている 経験 リリースを優先するために、「TODO」コメントで技術的な課題を残す 技術的な課題を改善したいが、時間が取れない この記事では、私が所属するチームが上記のような「悩み」や「課題」を持ちつつ、 「高い内部品質が速いスピードを生む」状況を実現するために取り組んだ開発プロセスについて、@t_wadaさんを講師としてお招きした「質とスピード」の社内研修をきっかけに改善に取り組んでいることや今後取り組もうとしていることをご紹介します。 「保守性」に対するチーム内の課題感 私たちが運用しているビズリーチシステムはサー

                                                    保守性を高める開発プロセス - t_wadaさんの「質とスピード」研修からの学びと実践
                                                  • FLOCSSとは?CSS設計手法を活用して保守性の高いコードを書こう | Web Design Trends

                                                    FLOCSS(フロックス)は、人気の高いCSS設計手法の1つです。 CSSは複数人で作業したり、大規模なWebサイトになるとコード量が増えてしまい、途中で整合性が取れなくなったり、破綻してしまう場合があります。それを防ぐために必要なのがCSS設計手法で、しっかりとルールを定めてコードを書くことにより、管理しやすく、破綻しづらいCSSを記述することができます。 今回は、FLOCSSの基本や特徴をご紹介したいと思います。 【CSS設計手法】BEM、OOCSS、SMACSSの違いと特徴のまとめ CSSの設計手法とは、CSSのメンテナンス性や作業効率を向上させるためのHTMLのクラス名の付け方と、CSSのコードの管理方法の考え方のことを言います。命名規則などとも呼ばれたりしますね。 ページ数が... Web Design Trends

                                                      FLOCSSとは?CSS設計手法を活用して保守性の高いコードを書こう | Web Design Trends
                                                    • チーム単位で保守性を高める:独自指標と向上にむけた実践 | ドクセル

                                                      スライド概要 2024/03/14(木)〜15(金)に開催したJaSST Tokyo 2024の発表資料です。

                                                        チーム単位で保守性を高める:独自指標と向上にむけた実践 | ドクセル
                                                      • 誰にでも保守性はあり、どの組織にも部族っぽさがある。なら、新参はどうすべきか

                                                        今日は、社会適応の話がしたくなったので良かったら付き合ってやってください。 昨今は、年功序列をバッシングして、自由選択/自己責任を寿いできた言説も一巡した感がありますが、それでも、組織のしがらみや会社の保守的風土は叩いて良いもの・忌避すべきものとしてインターネットでは語られています。 では、そうしたしがらみや保守性を忌避する人たちは、しがらみや保守性と無縁でいられるのでしょうか? 私は、違う気がしてならないんですよ。X(旧twitter)でしがらみをバカバカしいと言い捨て、会社の文化・風土みたいなものをけちょんけちょんにしている人が、案外、自分自身が既存のメンバーの側で新参を迎える時には保守的風土の一部をなしていたり、新参の新しいムーブを牽制していたりすること、ままあるように思うんですよね。 それってダブルスタンダードだと思うのですが、国際政治などをみればよくわかるように、人間においてダブ

                                                          誰にでも保守性はあり、どの組織にも部族っぽさがある。なら、新参はどうすべきか
                                                        • 【違いを表で整理!】システムの信頼性、可用性、保守性、耐久性、耐障害性、冗長性など、IT関連の「◯◯性」の違いを表にしてまとめて整理

                                                          AWS認定など、IT関連の勉強をしている際には、 「耐久性は99.999999999%、可用性は99.99%の高い堅牢性を誇る」 だとか、 「耐障害性を向上させるため、冗長性の確保が必要」 だとか、 「◯◯性」という用語がたくさん出てきます。 信頼性、可用性、耐久性、耐障害性、冗長性、堅牢性、保守性、保全性、安全性、結果整合性、読み取り一貫性などエトセトラエトセトラ・・・ どれもないよりはある方が、低いよりは高い方が、なんとなく安心で高性能なのはわかりますが、具体的にはどう違うのか、初学者の方はなかなか迷うのではないでしょうか。 これらをある程度使い分けないことには、正しい理解は出来ませんし、資格試験でも業務でも支障をきたすこと間違いありません。 しかも、あまり違いをはっきり解説してくれているサイトが見つかりませんでした。 (信頼性と可用性、可用性と耐久性など、2者を比較解説してくれるサイ

                                                            【違いを表で整理!】システムの信頼性、可用性、保守性、耐久性、耐障害性、冗長性など、IT関連の「◯◯性」の違いを表にしてまとめて整理
                                                          • 「シンプルな構造にすれば保守性があがる」わけではないという話 - やる気がストロングZERO

                                                            こんがらがったシステムの保守開発で苦労した経験から新規開発では「シンプルな構成・シンプルな実装にしよう」という話が出る。 目指す方向としては間違って無いように思えるのに、それだけだとうまく行かない。 「保守しやすい構造」とはそれなりに多くの知識が必要なので、これらの知識を持たず単純に「シンプルな構成・シンプルな実装」を目指すと失敗する。 「保守しやすい構造」を作るには「どういう構造が保守しやすいのか?」を学ぶ必要がある。 これについて書く。 「シンプル」を目指したつもりが複雑になって失敗する例 まずは、ありがちな失敗例を示す。 実装する処理を減らしてシンプルにしたら複雑化した コードの複雑さを減らすため、実装する機能を絞った。 コード量が減ったのでシンプルになった。 しかしここで削られた機能の処理は結局はどこかでやる必要があった為、後日別の場所(連携する別システム側など)に実装された。 や

                                                              「シンプルな構造にすれば保守性があがる」わけではないという話 - やる気がストロングZERO
                                                            • モダンデータスタックでデータ分析基盤の改善〜可用性と保守性もアップ!〜 - Money Forward Developers Blog

                                                              はじめに こんにちは。CTO室 分析基盤部の長谷川(shase)です。 私が所属するチームでは、データ分析基盤の開発と運用を行っています。 今回は私が入社以来(といっても半年弱程度なのですが)やってきた、データパイプラインの整理についてご紹介したいと思います。 この記事が想定する読者 事業会社でデータ分析基盤の開発と運用に携わる、データエンジニア、データアナリストなどの職種の方にとって参考になればと思い執筆しました。 記事に出てくる社内用語の補足 セキュアデータ基盤は、センシティブなデータが含まれる基盤でアクセス可能なメンバーが制限されています。また、特定の踏み台からしかアクセスすることができません。 カジュアルデータ基盤は、センシティブなデータが含まれていない代わりに、通常のオフィスネットワークからアクセスすることができる環境です。 抱えていた課題 私が入社した時点で、カジュアルデータ分

                                                                モダンデータスタックでデータ分析基盤の改善〜可用性と保守性もアップ!〜 - Money Forward Developers Blog
                                                              • 開発効率、運用性、保守性のカギを握る「アーキテクチャ」選定ポイントとは?──ISIDの現役アーキテクトがアーキテクチャの学習ステップを解説 - TECH PLAY Magazine

                                                                アーキテクチャが不在のレガシーコードは、エンジニアを疲弊させ、ビジネスのスピードも遅延させてしまう。そんな事態を避けるためには、開発の開始段階から適切なアーキテクチャを導入することが重要だ。そもそもアーキテクチャとは何なのか。どのような種類があり、どれを選択すればよいのか。設計や実装における注意点なども含め、電通国際情報サービス(以下、ISID)の現役アーキテクトが解説する。 アーキテクチャの定義、プロジェクトにおける設計・実装を解説 株式会社電通国際情報サービス Xイノベーション本部 エンタープライズプラットフォームセンター チーフアーキテクト 米久保 剛氏 最初に登壇したのは、2008年にISIDにジョインした、米久保剛氏だ。米久保氏はアーキテクトとして複数の大型SI案件への参画を経験した後、現在は非IT部門の担当者でもノーコードで、社内の各種申請業務を電子化するワークフローシステム「

                                                                  開発効率、運用性、保守性のカギを握る「アーキテクチャ」選定ポイントとは?──ISIDの現役アーキテクトがアーキテクチャの学習ステップを解説 - TECH PLAY Magazine
                                                                • LaravelとNuxt.jsで保守性を高める構成を考えてみた

                                                                  LaravelとNuxt.jsで保守性を高める構成を考えてみた

                                                                    LaravelとNuxt.jsで保守性を高める構成を考えてみた
                                                                  • 処理の流れを型で表現しよう|保守性の高いソフトウェア開発のTips集

                                                                      処理の流れを型で表現しよう|保守性の高いソフトウェア開発のTips集
                                                                    • 幾つ実践してる? マイクロサービスの開発効率と保守性を最大限に高める「ベストプラクティス8選」

                                                                      マイクロサービスはアプリケーションを小規模なサービスに分割し、ドキュメント化されたAPIで接続することで、開発の効率性と保守性を最大化する。しかし、その効果を十分に発揮させるには、設計プロセスを適切に構築する必要がある。 マイクロサービスのベストプラクティスに従えば、マイクロサービスアーキテクチャの強みをうまく生かして、分散型サービスのデプロイメントによって生じる可能性のある複雑さ、遅延、セキュリティの問題を軽減できるだろう。 本稿で紹介するのは以下の8つだ。 上流設計を優先する コンテキストを無視しない 分解しすぎない マイクロサービスをコンテナでホストする 公開したAPIのセキュリティを確保する データベース戦略を慎重に選択する 非同期APIによって回復力と拡張性をサポートする GitOpsとDevOpsをパイプラインに統合する 1.上流設計を優先する マイクロサービスを効果的に実装す

                                                                        幾つ実践してる? マイクロサービスの開発効率と保守性を最大限に高める「ベストプラクティス8選」
                                                                      • 総選挙後の自民議席「現状維持」に暗雲か? 解散前に審議相次ぐ保守性の強い法案 | AERA dot. (アエラドット)

                                                                        東京五輪・パラリンピック公式マスコットを背に記者団の質問に答える菅首相/5月12日、首相官邸 (c)朝日新聞社この記事の写真をすべて見る AERA 2021年5月31日号より 国会の会期末が迫る中、政府は出入国管理法の改正案の成立を今国会で見送った。一方で、国民投票法などの重要法案が続々と審議入り。背景にあるのは内閣支持率の急落だ。AERA 2021年5月31日号から。 【図】菅内閣の支持率は? *  *  * 急転直下の出来事だった。5月18日、与野党で修正協議が続いていた出入国管理(入管)法改正案の成立見送りが決まった。事実上の廃案だ。入国管理を所管する入管庁にとって同法の改正は悲願。どうしても、今国会で改正しておきたかった。 実は6月16日の会期末に向けて国民投票法改正案、LGBTなど性的少数者をめぐる「理解増進」法案、そして、冒頭の入管法改正案が自民党によって提出された。五輪憲章で

                                                                          総選挙後の自民議席「現状維持」に暗雲か? 解散前に審議相次ぐ保守性の強い法案 | AERA dot. (アエラドット)
                                                                        • 【拡張性・保守性バツグン】Laravelのリポジトリパターンとは【Repository】 - Deha magazine

                                                                          PHPの人気のフレームワークLaravelを活用すると短期間でWebアプリケーションを作ることができます。 そのLaravelではリポジトリパターンを活用することで、チームでソースの開発・保守がしやすくなったり、データの構築などで変更が生じる場合にソースの変更がしやすいなどと言ったメリットがあります。 この記事ではそんなリポジトリパターンについて、どう言ったものなのか・どのように実装するのかを徹底解説していきます。 Repositoryデザインパターンについて詳しく知りたい方Laravelに興味がある方これらに当てはまる方におすすめの記事となっています。これを読めばRepositoryデザインパターンについて、どのように活用していけばいいかがわかりますよ。 Repositoryデザインパターンとはこれは高度なデザインパータンですので初心者のエンジニアさんはあまり気にしないかも知れませんが、

                                                                          • JavaScript魔法:コードの優雅さと保守性を高める6つの秘訣 - Qiita

                                                                            はじめに フロントエンド開発エンジニアとして、作業中の細かい点に注意を払うことで、コードの可読性を向上させ、よりエレガントに見せることができます。 今回は、一目で理解できる便利でエレガントなJavaScriptのコツをいくつか紹介します。 これらのコツは、コードの効率性と可読性を向上させることを目的としています。 ソフトウェア開発において、コードの簡素化と可維持性の向上は常に重要な目標です。次の6つの実用的なJavaScriptテクニックを使用して、より効率的なコードを作成できます:if...elseのスパゲッティコードを削減し、冗長なループをパイプライン操作やfind、includesで置き換え、一貫した結果変数を使用し、オブジェクトの整合性を保つ。Apidogは、API管理と自動化の分野で強力なサポートを提供し、複雑なAPIコールの迅速な統合と管理を可能にし、プロジェクトのパフォーマン

                                                                              JavaScript魔法:コードの優雅さと保守性を高める6つの秘訣 - Qiita
                                                                            • Vue3で保守性の高いテストコード作成方法を解説!Vue3エンジニアが実装とテストの疎結合実装方法を解説! | Ragate ブログ

                                                                              Vue3で保守性の高いテストコード作成方法を解説!Vue3エンジニアが実装とテストの疎結合実装方法を解説! こんにちは! 今回は Vue3 でのコンポーネントのテストコードの作成方法を紹介します! テストコードを書くことでチーム開発はもちろん、個人開発においてもコードをリファクタリングしたり、バグを発見したりする際に重要な役割を果たします。 Vue3 から新たに登場した Compostion API を利用することで、より保守性の高いコンポーネントを定義することができます。 コンポーネントをテストする場合、一般的にはテストコードを実装からできる限り切り離すように作成します。 理想的なのはコンポーネント内のロジックなどを考慮せずに実施するブラックボックス的なテストを書くことです。 はじめに 本記事では Vue3 でのテストコードの作成方法について解説しております。 Vue2 では Vue.e

                                                                                Vue3で保守性の高いテストコード作成方法を解説!Vue3エンジニアが実装とテストの疎結合実装方法を解説! | Ragate ブログ
                                                                              • 【CSS設計】FLOCSS(フロックス)で保守性の高い記述を極める! - 株式会社TANE-be|大阪にあるWebサイト制作

                                                                                こんにちはTANE-beのエンジニアです! 皆さんはCSSをどのように意識して記述しているでしょうか? CSSの書き方は10人いれば、書き方も10通りあると言われるほど、自由に構築することができます。しかし、その自由さが原因で書き方を乱雑にしてしまうとCSSが重複したり、修正の際に大変になることがよくあります! CSSの中身を見ると!importantを使い回されていたり、1つのCSSを変更するといろんな箇所のスタイルが変更されたりと色々大変な目にあったことも! そこで今回は、破綻しないCSS設計、FLOCSS(フロックス)についてご紹介しようと思います。

                                                                                  【CSS設計】FLOCSS(フロックス)で保守性の高い記述を極める! - 株式会社TANE-be|大阪にあるWebサイト制作
                                                                                • DRY原則適用の主目的は可読性でも保守性でもなく同一性の強制である

                                                                                  何故人類はDRY原則を適用すべきない場面で適用してしまうのか。「これらの処理は偶然似ているだけで本質的に同一ではないので共通化すべきではない」というレビューコメントを打ち続ける日々はいつまで続くのだろうか。 プログラミングに慣れていない人々にとって「抽象化」や「直行性」等といった概念を理解するのは難しい。難解な言葉を使わずに共通化すべきか否かの判断基準になる考え方を短く簡潔に説明する方法はないだろうか。そこで私が辿り着いたのは「DRY原則の適用に可読性や保守性の向上を期待するな」という考え方である。 多くの初心者が処理を共通化する時に考えているのは「短くて読みやすくなる」や「今後の修正が1箇所で済む」といった可読性や保守性に対する効用であり、これは本来間違ってはいない。しかし、「これらの効用は単なる副作用でありDRY原則適用の主目的であってはならない」と敢えて強く言うべきではないかと私は考

                                                                                    DRY原則適用の主目的は可読性でも保守性でもなく同一性の強制である