並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

リファクタリングの検索結果1 - 40 件 / 42件

  • とあるプロダクトのエンジニアチームにKRとしてコード変更行数の変動係数を導入して強いチームを目指した話 - カミナシ エンジニアブログ

    はじめに こんにちは!社内の「エンジニアブログの更新を絶やさない会」の方から圧を激を貰っている Keeth こと桑原です.Engineering Manager の見習いをしております. 私が所属しているサービスの開発運用に携わるチーム(Eng + PM + PD で構成。以下「サービスチーム」)では,OKR(目標と成果指標)を設定して取り組んでいます.本記事では, KR に盛り込んだ「変動係数」というあまり聞き慣れない指標を導入してみた感想や,その運用方法について振り返りたいと思います.他のエンジニアチームの運用の参考になれば幸いです. ※だいぶ文字文字しい記事になっています どのような KR をたてたのか? 前クォーターでは,サービスチームにおけるエンジニアリングの KR を定め,定期的に振り返りながら達成を目指していました.KRの内容は以下の通りです. 6月末のコード変更差分の変動係

      とあるプロダクトのエンジニアチームにKRとしてコード変更行数の変動係数を導入して強いチームを目指した話 - カミナシ エンジニアブログ
    • 開発生産性カンファレンス 2024を堪能してきました - $shibayu36->blog;

      dev-productivity-con.findy-code.io 自分の所属しているクラスター社に相談したところお金を出してもらって参加できることになったので、開発生産性カンファレンス2024に行ってきました。自分が開発生産性に非常に興味が強いため各セッションすべて興味深く、またこれまで名前は知っているけど話したことのなかった人と色々と会話ができて、非常に堪能できました。 運営のファインディ株式会社のみなさん、ありがとうございました。 興味深かったセッション 顧客価値向上による開発生産性向上 顧客価値を高めるという観点にフォーカスした発表でした。 顧客価値を高める領域かは狩野モデルを使って考えるという話。狩野モデルはよく聞くが、ちゃんと使ったことないので試してみたい 当たり前品質は、品質を高めすぎても、顧客価値に繋がらない = アクセルブレーキなどの基本操作 一元的品質は、高めれば高め

        開発生産性カンファレンス 2024を堪能してきました - $shibayu36->blog;
      • 生産性の可視化こわい - masayuki5160's diary


        TL;DR    SaaS findy-team.io 便  100200CTOVPoE
          生産性の可視化こわい - masayuki5160's diary
        • CDKプログラミングのパターン - Qiita

          CDKでリソースを作成するとき、様々なプログラミングのパターンを利用できます。 それぞれの方式にどのようなメリット・デメリットがあるかまとめました。 CDK利用前にどのパターンを用いるか、検討の材料にしてください。 目次 べた書きする 共通の設定をまとめる ループを利用する ラッパーを利用する 4.1. ラッパー関数を利用する 4.2. ラッパークラスを利用する 4.3. ラッパーコンストラクトを利用する クラスの分割戦略 5.1. サービス単位でクラスを分割 5.2. 機能単位でクラスを分割 Configファイルへの設定値外出し戦略 6.1. 現在の環境差分のみ外出し 6.2. 将来環境ごとに変わる可能性がある値も外出し 6.3. リソース名も外だしする 6.4. 定数はすべて外出し 6.5. 外出しは行わず、環境ごとに別のコードを利用する 1. べた書きする L1ConstructやL

            CDKプログラミングのパターン - Qiita
          • Reactベストプラクティス: react-hooks/exhaustive-depsのエラーを0にする - Hello Tech

            javascripter です。ハローでは、プロダクトのローンチ前からAutoReserve の開発に関わっています。 今回は、筆者が社内で書いている技術ガイドラインについて紹介します。 はじめに ハローでは、高品質なコードを維持し、開発チームの技術レベル向上を図るため、社内で継続的に技術Tipsやガイドラインの整備・蓄積を行っています。 チーム横断的に、有用な技術Tips、ベストプラクティス・コーディングガイドラインなど情報をNotion上に集約し、自由にエンジニアが閲覧・編集できるようになっています。 この取り組みの目的は以下の通りです: コード品質の向上と統一 開発チームメンバーの技術スキル向上 「どう」直すかでではなく「なぜ」そう修正すべきかまで理解してる人を増やす 効率的な開発プロセスの確立 新メンバーのオンボーディング支援 今回紹介するドキュメント 今回は、その中から「reac

              Reactベストプラクティス: react-hooks/exhaustive-depsのエラーを0にする - Hello Tech
            • 意味の希薄化 - Martin Fowler's Bliki (ja)

              ソフトウェア開発で目撃したものを説明するために、私は造語を作る習慣があります。 便利な用語が少ないので、ソフトウェア開発の分野の書き手はこのようなことをよくやります。 造語を作るときの問題は、意味の希薄化により本来の意味が失われ、別の意味が追加されてしまうことです。 意味の希薄化が発生するのは、個人やグループが作った用語があり、適切に定義されていたにもかかわらず、歪められた定義がコミュニティに広まったときです。 これにより、用語の定義が完全に失われる危険性があります。 また、それに伴い、用語の利便性も失われてしまうでしょう。 私が本記事を書こうと思ったのは、「アジャイル」と「Web 2.0」に意味の希薄化が発生しているからです。 いずれも数年前に作られた用語であり、しっかりとした定義があります(アジャイルにはアジャイルマニフェストがあり、署名者たちが執筆した書籍や記事も多数あります。Web

              • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita


                 1    7   7  1    
                  理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita


                   1    7   7  1    
                    理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                  • クリエイターもAIコードエディタ「Cursor」を使って次世代のコーディングを体験してみよう!

                    【VS Codeに強力なライバル出現】 クリエイターもAIコードエディタ「Cursor」を使って次世代コーディングを体験してみよう! 文・画像:塚本建未 生成AIを安易に受け入れることができない立場の業種・企業がある一方で、生成AIを積極的に導入・活用していかなければ生き残れない業種・企業があります。その中でも特に、大きな革命の最中であるのが、プログラミングやコーディングの世界です。 生成AIの可能性に期待するエンジニア・プログラマーは多く、オープンソースといった考え方によって進歩してきたプログラミングにおいては、著作権に対する考え方や認識は、他のクリエイターとも大きく異なっています。もちろん、エンジニアやプログラマーの方々自身も生成AIに仕事を奪われる脅威は感じていると思いますが、その脅威は生成AIを使ったプログラミング・コーディングのあり方に向き合うことでしか解決できないでしょう。 そ

                      クリエイターもAIコードエディタ「Cursor」を使って次世代のコーディングを体験してみよう!
                    • 内部品質の低下を「実装前」にキャッチする「設計レビュー」のすすめ【Sansan笹川】 レバテックラボ(レバテックLAB)

                      Sansan株式会社 技術本部 Sansan Engineering Unit 部長 笹川 裕人 大学院でコンピュータサイエンスの博士号を取得後、リクルートを経て、2018年4月にエムスリーへ入社。AIチームでデータ基盤の整備と、バックエンド、クラウドインフラを担当。 2023年4月にSansan株式会社へ入社し、現在はSansan Engineering Unit 部長として営業DXサービス「Sansan」の強化を担う。 X Profile インボイス管理サービス「Bill One」や契約データベース「Contract One」など、近年続々と新たなDXサービスを立ち上げているSansan。それに伴ってプロダクト開発組織である技術本部も拡大し、いまや総勢500名のエンジニアと13のチームを抱える大所帯になっています。 一般的にプロダクトの数や組織の規模が急拡大すると、リソースが追いつかず

                        内部品質の低下を「実装前」にキャッチする「設計レビュー」のすすめ【Sansan笹川】 レバテックラボ(レバテックLAB)
                      • 技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編)

                        技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編) ソフトウェアの品質をテーマに研究をしている名古屋大学 森崎研究室は、ソフトウェアの技術的負債をなんらかの形で数値化する手法の研究の一環として、コードの読みにくさの原因となる要因などを分析した研究結果を発表するイベントをオンラインで開催しました。 この記事ではそのダイジェストを紹介します。記事は前編と後編の2つに分かれています。今お読みの記事は後編です。 森崎氏による補足説明 前編では、グループA(命名的問題)より、グループB(構造的問題)の方が正答率が大きいということ。一方でグループA(命名的問題)よりグループB(構造的問題)の方が読みにくさを感じた、という点に統計的に有意な差があったことが発表されました。 発表の後、オンラインイベントの参加者からの質問について森崎氏と和田氏

                          技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(後編)
                        • 技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編)

                          技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編) ソフトウェアの品質をテーマに研究をしている名古屋大学 森崎研究室は、ソフトウェアの技術的負債をなんらかの形で数値化する手法の研究の一環として、コードの読みにくさの原因となる要因などを分析した研究結果を発表するイベントをオンラインで開催しました。 今回発表された研究では、技術的負債を抱えたレガシーコードのリファクタリングで取り除かれた問題の90%以上が、メソッド名と実際の関数の動作が一致していない、あるいは関数名とコメントが矛盾しているなどの「命名的問題」、もしくは複雑で読みにくい多数の条件分岐や深いネストなどを抱えた「構造的問題」のいずれかであるという先行研究があることを踏まえ、どちらを優先してリファクタリングすると保守性や可読性が高くなるかを調査しています。 具体的には、命

                            技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編)
                          • 書籍「リファクタリング」から僕が履修漏れしてた部分を伝えたい - Qiita

                            エンジニアの必読書を読んでいない・・・!! 「Learn things that don't change」という海外の記事で、「2024年の全エンジニアが読まなければならない本」(下の画像)が紹介されており、その中でマーチンファウラー著「リファクタリング」を読んでいないことに気づきました。 (中段左のGoodPracticesのRefactoring) 引用: 「Learn things that don't change」 新卒でエンジニアリングを本格的に始め、早30歳を過ぎた私ですが、ソフトウェアエンジニアの必修科目を履修するため「リファクタリング」今更読みました。 この「リファクタリング」という本を読んでいて、 内容としては、「まあそうだよね〜」というのも多いのですが、その中でも本を読むまで言語化しきれてなかったところがあったので、それを書き連ねていきます。 忙しい人のために リフ

                              書籍「リファクタリング」から僕が履修漏れしてた部分を伝えたい - Qiita
                            • Next.jsとHono RPCで安全・爆速開発


                              AVNext.jsPages RouterAPI Next.js  API Routes 使API RoutesHTTP使便 API RoutesHono使Hono RPC RPC  message  text 
                                Next.jsとHono RPCで安全・爆速開発
                              • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

                                はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

                                  テストコードを書く上で個人的に気をつけている5つのこと - Qiita
                                • ドメイン駆動設計をはじめよう

                                  TOPICS 発行年月日 2024年07月 PRINT LENGTH 408 ISBN 978-4-8144-0073-7 原書 Learning Domain-Driven Design FORMAT Print PDF ドメイン駆動設計はエリック・エヴァンスにより提唱されたソフトウェア設計の手法です。対象とする事業活動(ドメイン)とその課題の観点から、より良いソフトウェアを構築するために関係者が協力する方法を提供します。本書は4部構成になっており、第Ⅰ部「設計の基本方針」では、ソフトウェアの設計方針を大きな視点から決めるための考え方とやり方を取り上げます。第Ⅱ部「実装方法の選択」ではソースコードに焦点を合わせ、業務ロジックをどう実装するかの選択肢を学びます。第Ⅲ部「ドメイン駆動設計の実践」では、ソフトウェア開発の現場にドメイン駆動設計を実践的に取り入れるための方法を紹介します。第Ⅳ部「

                                    ドメイン駆動設計をはじめよう
                                  • JetBrains、「Google Gemini」をGitHub Copilot対抗の「JetBrains AI Assistant」に採用へ

                                    JetBrains、「Google Gemini」をGitHub Copilot対抗の「JetBrains AI Assistant」に採用へ 開発ツールのIntelliJ IDEAやプログラミング言語Kotlinなどの開発元として知られるJetBrainsは、AIによるコード生成やリファクタリングなどを自動的に行う「JetBrains AI Assistant」の生成AIとして、Google Geminiを採用すると発表しました。 JetBrains is going to integrate Google’s Gemini models into AI Assistant. Read more in our blog post: https://t.co/s4fkngY7v1 pic.twitter.com/MLnRkRvG1N — JetBrains (@jetbrains) Jun

                                      JetBrains、「Google Gemini」をGitHub Copilot対抗の「JetBrains AI Assistant」に採用へ
                                    • Playwrightでメール配信のテスト自動化にチャレンジ! - JX通信社エンジニアブログ


                                      JXSirosuzumeJXFASTALERT  Playwright使 Amazon SESS3E2ES3
                                        Playwrightでメール配信のテスト自動化にチャレンジ! - JX通信社エンジニアブログ
                                      • Anthropic「Claude 3.5 Sonnet」の新インターフェース「Artifacts」が、今年最も重要なAI機能になるかもしれないこれだけの理由 - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報

                                        Image credit: Anthropic 目まぐるしく変化する AI の世界では、モデル能力やベンチマークスコアの目まぐるしいパレードに夢中になりがちだ。しかし、OpenAI や Google のようなテック大手が処理能力やトークンの制限をめぐって争っている間に、Anthropic は AI との関わり方を完全に再定義する可能性のある機能を静かに発表した。「Artifacts」だ。 一見すると、Artifacts は控えめなアップデートに見えるかもしれない。これは Claude のチャットインターフェースと並ぶ専用のワークスペースで、ユーザは AI が生成したコンテンツをリアルタイムで操作し、改良することができる。しかし、間違いではない。この一見単純に見える追加は、今後数年間で最も重要な AI の戦場となるかもしれない、インターフェース戦争における開幕の一撃を意味しているのだ。 【コ

                                          Anthropic「Claude 3.5 Sonnet」の新インターフェース「Artifacts」が、今年最も重要なAI機能になるかもしれないこれだけの理由 - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報
                                        • 奥野さんと社員のリファクタリング部屋 -ディレクトリの名付け方 - トレタ開発者ブログ

                                          「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア 今回の質問 前回に引き続き、Webアプリケーション (Next.js) のプロダクトのリファクタリングを進めている武市さんから、ディレクトリ構造のリファクタリングについての質問です。 tech.toreta.in 前回の指摘も踏まえて、新しいディレクトリ構造とその定義を考えてきました。 ┗ server ┃ ┣ boundary -- 外部システムとのやり取りを行うためのエンドポイント。 ┃ ┃ ┗ mojito ┃ ┃ ┃ ┗ mojitoClient.ts ┃

                                            奥野さんと社員のリファクタリング部屋 -ディレクトリの名付け方 - トレタ開発者ブログ
                                          • TypeScript 5.5 で追加された正規表現構文チェックを理解する


                                            TypeScript 5.5@graphemecluster🎉 TypeScript 調    JavaScriptTypeScript ESLint   TypeScript 5.540 5.5 //  var re = /a/b; // 
                                              TypeScript 5.5 で追加された正規表現構文チェックを理解する
                                            • なぜぼくらは「コミュニケーション能力が低い」と言われるのか?|dora_e_m

                                              求められるコミュニケーション能力ソフトウェア開発の業界に身をおいて10数年。「ソフトウェアエンジニア(以下、エンジニア)なら人と話さなくても仕事できていいな!」なんて思っていた私ですが、エンジニアとはいえコミュニケーション能力が求められる場面は少なくない、という事実と日々向き合っています。 エンジニアに求められるコミュニケーション能力には以下のようなものがあります。 技術的な内容を分かりやすく説明する力 チーム内での協力、情報共有 相互の建設的なフィードバック 問題解決のための議論、および調整 ドキュメント作成、メンテナンス 確かにこれらの能力は必要です。何かAPIを使いたいとおもったとき、API仕様書がfuncA,funcBといった名称だとどんなAPIかわからないですし、内容を知ろうとしたときにドキュメントがなければそのAPIを使いこなすことは難しいでしょう。わかりやすい説明ができず、ド

                                                なぜぼくらは「コミュニケーション能力が低い」と言われるのか?|dora_e_m
                                              • リファクタリングの道標:リファクタリングを通じて組織を改善していく - トレタ開発者ブログ

                                                こんにちは。トレタ技術顧問の奥野 (@okunokentaro) です。先日のブログ記事『奥野さんと社員のリファクタリング部屋 -リポジトリ層のディレクトリをどう作る?-』に対して多くの反響をいただき、ありがとうございます。いただいたご意見やご質問の一つひとつが非常に貴重であり、大変感謝しています。 いくつか個別に質問をいただくことがあったのですが、それらの質問を要約すると「リファクタリング後のコードもまだツッコミどころだらけでは?」や「リポジトリ層という名前がまずおかしいのでは?」という二つの点に集約されました。これらの質問はとても理解できます。今回の記事では、具体的な個別の質問への個別の回答は控えさせていただきますが、全体的な方針とテーマについてお伝えした上で、トレタが取り組んでいるリファクタリングは何を目指しているのかというお話をします。 前提と目的 今回のブログ記事『リファクタリン

                                                  リファクタリングの道標:リファクタリングを通じて組織を改善していく - トレタ開発者ブログ
                                                • 2024年のソフトウェアエンジニアリングに関する戦略的テクノロジは「プラットフォームエンジニアリング」「クラウド開発環境」、AIを活用した「AI拡張型開発」など。ガートナー

                                                  2024年のソフトウェアエンジニアリングに関する戦略的テクノロジは「プラットフォームエンジニアリング」「クラウド開発環境」、AIを活用した「AI拡張型開発」など。ガートナー 調査会社のガートナージャパンは、2024年以降のソフトウェアエンジニアリングに関する戦略的テクノロジトレンドのトップ5を発表しました。 同社が発表した戦略テクノロジトレンドは以下です。 ソフトウェアエンジニアリングインテリジェンス これまでソフトウェアエンジニアリングにおける意志決定は、責任者の直感的な感覚や経験、スプレッドシートなどでの進捗管理などを基に行われてきました。 ソフトウェアエンジニアリングインテリジェンスは、これをソフトウェアの開発ライフサイクルにおいて、例えばどれだけのコードが新規作成されたか、リファクタリングされたか、どれだけのプルリクエストが発生し、いくつがレビューされたか、などの精緻な数値によって

                                                    2024年のソフトウェアエンジニアリングに関する戦略的テクノロジは「プラットフォームエンジニアリング」「クラウド開発環境」、AIを活用した「AI拡張型開発」など。ガートナー
                                                  • 銀の弾丸はない - 偶有的複雑性と向き合うためのログラスのEnabling & Platform戦略 - loglass_product_teamのブログ

                                                    こんにちは。ログラスでVP of Engineeringとしてエンジニアリング組織全体のマネジメントをしております、いとひろ@itohiro73と申します。 前回、「銀の弾丸はない - 経営の本質的課題に向き合い続けるログラスのプロダクト開発」と題して、ログラスのプロダクト開発がいかに本質的課題と向き合ってきたか、そしてこれからどのようなチャレンジが待ち受けているのかを書きました。 今回は、「本質的な課題」を解くために本質的な複雑性に付随して存在する、「偶有的複雑性」について、開発組織としてどのように向かっていこうと考えているのかを記します。 前回の記事で引用した、『人月の神話』(Frederick P. Brooks,Jr. ,丸善出版,2014)という書籍にも収録されている論文(Brooks, Fred P. , "No Silver Bullet -Essence and Accid

                                                      銀の弾丸はない - 偶有的複雑性と向き合うためのログラスのEnabling & Platform戦略 - loglass_product_teamのブログ
                                                    • 奥野さんと社員のリファクタリング部屋 -リポジトリ層のディレクトリをどう作る?- - トレタ開発者ブログ

                                                      「奥野さんと社員のリファクタリング部屋」は、リファクタリングに励むトレタの社員と技術顧問の奥野さん ( @okunokentaro ) の間で実際に行われた会話を切り取った開発現場実録コンテンツです。 技術顧問: 奥野さん 三度の飯よりリファクタリングが好き。 今回の質問者: 武市さん トレタ在籍2年。沖縄在住のフロントエンジニア 今回の質問 今回は初期リリースを終えたWebアプリケーション(Next.js)のプロダクトを担当している武市さんから、複数人で開発を進めてきて統率が取れなくなったディレクトリ構造のリファクタリングについての質問です。 APIで外部とやり取りしている部分をリファクタリングして、クリーンアーキテクチャに沿ってリポジトリを作ろうと考えています。 その中で、GraphQL APIレスポンスの結果を変換するアダプター関数(adaptGetIServiceItemsAggr

                                                        奥野さんと社員のリファクタリング部屋 -リポジトリ層のディレクトリをどう作る?- - トレタ開発者ブログ
                                                      • JJUG CCC 2024 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く


                                                        JJUG CCC 2024 Spring  JJUG CCC 31 FFMJITJava   
                                                          JJUG CCC 2024 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く
                                                        • 近年のプログラミング言語、LTSでも2年程度のサポート期間なので、次々とバージョンアップしてくださいね!というのが基本的なスタンスで、IT業界の全体の雰囲気がそっちに向かってる話

                                                          なぎせ ゆうき @nagise 近年のプログラミング言語、LTSでも2年程度のサポート期間なので、次々とバージョンアップしてくださいね!というのが基本的なスタンスで。 これは「動いているから触るな!」ではなく「自動テストとリファクタリング」を規範としたもので、IT業界の全体の雰囲気がそっちに向かってると思います 2024-06-08 12:23:16 なぎせ ゆうき @nagise ただ、個別のシステム開発プロジェクトを見れば、自動テストとリファクタリングの規範でやれていないものも多く、そういうプロジェクトには凍結的に運用するための超長期のサポートが望まれます。OracleがJavaの有償サポートでは最低8年は保証すると謳ってるのはこれらをターゲットにしてる感 2024-06-08 12:25:04

                                                            近年のプログラミング言語、LTSでも2年程度のサポート期間なので、次々とバージョンアップしてくださいね!というのが基本的なスタンスで、IT業界の全体の雰囲気がそっちに向かってる話
                                                          • RubyKaigi 2024でキーノートをしてきました - tompngのブログ

                                                            丁度1ヶ月前の5月15日、RubyKaigi 2024 初日のキーノートでしゃべってきました。 タイトルは「Writing Weird Code 奇妙なコードを書くということ」 RubyKaigi, me and weird code 発表スライドはこちら drive.google.com RubyKaigiは僕にとってすごく特別なカンファレンスだし、それが地元沖縄で開催されるということで、絶対何か喋りたいと思って真面目な内容のCFPを出していたんですが、 気づいたら真面目じゃない内容のキーノートをしていました。RubyKaigi本当に楽しかったし。すごかった。 RubyKaigiが終わってしばらくは「RubyKaigi本当にすごいイベントだった」という言葉が頭の中をループしていて、その時にこのブログを書いていれば、文章の半分くらいが「やばい」で埋め尽くされていたんじゃないかなぁ。 本当に

                                                              RubyKaigi 2024でキーノートをしてきました - tompngのブログ
                                                            • リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ

                                                              はじめに Platform Group の久保田( @ykbt13 )です! BASEではリアーキテクチャとしてバックエンドの既存機能を旧リポジトリから新リポジトリへ移行する作業を日々行っています。詳しく知りたい方はぜひこちらを参照してください。 www.youtube.com そんななか、BASEにおけるコア機能の1つである商品の発送機能の移行が行われました。しかしながら、コア機能であるがゆえに様々な改修が繰り返されて複雑化してしまった発送機能では移行前の動作を保証する術がテストのみでは不安があります。 そこで、リアーキテクチャを円滑に進めるべく、本番環境上で移行前後の処理を同時実行しデータベースの結果を比較することで動作の保証を行うツールを開発しました。 この記事では、同様にリアーキテクチャを進めている方々を対象に、そのツール(BASE内では通称DryRunと呼んでいますので以降Dry

                                                                リアーキテクチャをお手伝いするDryRunというツールを作りました - BASEプロダクトチームブログ
                                                              • Findyの爆速開発を支える「システムを守るテストコード」の実例3選 - Findy Tech Blog

                                                                こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 弊社では本番環境へのデプロイを1日に複数回実行していますが、本番環境での不具合の発生率は低いです。 次の画像は弊社のあるプロダクトの直近1年のFour Keysの数値です。 平均で1日2.3回の本番デプロイを行っていますが、変更障害率は0.4%程度を維持しています。単純計算ですが、1年で障害が2件程度の水準です。 また、平均修復時間は0.3hとなっており、障害が発生しても20分以内には復旧できていることがわかります。 この数値を維持できている理由の1つにテストコードの品質があると考えています。 システムで発生する不具合を自動テストが検知することで本番環境への不具合の混入を事前に防ぐことができ、仮に不具合が発生したとしても修正内容が他の箇所に影響が出ないことをテストコードが保証してくれるため迅速に修正できるから

                                                                  Findyの爆速開発を支える「システムを守るテストコード」の実例3選 - Findy Tech Blog
                                                                • 山手線を徒歩で一周する人のための記録アプリ「YamaNotes」をリリースしました - すずかのプログラミング勉強記


                                                                   YamaNotes YamaNotes使 6/14 URL www.yamanotes.com  github.com     使         Rails7Hotwire API調 Leaflet + OpenStreetMap使 Render.com + Sup
                                                                    山手線を徒歩で一周する人のための記録アプリ「YamaNotes」をリリースしました - すずかのプログラミング勉強記
                                                                  • Baseline Environment on AWS(BLEA) を参考にAWS CDKのプラクティスを確認する

                                                                    TL;DR Baseline Environment on AWS(BLEA) v3.0.0を元にAWS CDKのリファレンス構成を確認します はじめに AWS Japanの方が開発し提供してくださっている、Baseline Environment on AWS(BLEA) というAWS CDK のテンプレート群があります。 AWS Japan作なので日本語でのドキュメントも用意されています。 BLEAとは、日本語Readmeの最初の内容のみ引用しますと以下のとおりです。 Baseline Environment on AWS (BLEA) は 単独の AWS アカウントまたは AWS Control Tower で管理されたマルチアカウント環境で、セキュアなベースラインを確立するための リファレンス AWS CDK テンプレート群です。このテンプレート群は AWS のセキュリティサービス

                                                                      Baseline Environment on AWS(BLEA) を参考にAWS CDKのプラクティスを確認する
                                                                    • dbt Semantic LayerとSteepで実現するデータ民主化 - Gaudiy Tech Blog


                                                                      Gaudiykuwaken GaudiySQLBiz dbt Semantic LayerSteep2 1. dbt Semantic Layer 2. Steep 3. dbt Semantic Layer 3-1.  3-2. dbt Cloud CLI 3-3. dimensiondatetimeBigQuery 3-4. entities 4.  5.  1. dbt S
                                                                        dbt Semantic LayerとSteepで実現するデータ民主化 - Gaudiy Tech Blog
                                                                      • 株式会社インフィニットループは今年も The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                                                        株式会社インフィニットループは今年も The PHP Foundation に寄付をしました こんにちは、仙台支社のいがらしです。インフィニットループは前回、前々回に引き続き、今年も会社として、The PHP Foundation に寄付をしました。 TL;DR この記事では以下について述べています。 The PHP Foundation は PHP そのものの開発を支援する団体で、多くの成果をあげてきました 言語の継続性と更なる発展には私たちに限らず、多くの企業からの支援が必要です PHP の存続と発展のため、みなさんの会社でもぜひ寄付を検討してみてください 勝率を上げる賭け方がある 現代人はとても忙しく、世にはありとあらゆる種類の情報があふれており、限られた時間の中で読める文章の量は限られています。 今、冒頭の 3 行まとめを乗り越えてこの記事を読み進めているあなたは、きっと PHP

                                                                          株式会社インフィニットループは今年も The PHP Foundation に寄付をしました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                                                        • Web API設計実践入門──API仕様ファーストによるテスト駆動開発

                                                                          2024年7月25日紙版発売 柴田芳樹 著 A5判/208ページ 定価2,860円(本体2,600円+税10%) ISBN 978-4-297-14293-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Amazon Kindle honto この本の概要 本書は,著者が1993年から約30年間経験してきたAPI仕様の作成,2003年から20年間経験してきたテストファースト開発/テスト駆動開発の知見をまとめたものであり,一般的なソフトウェア開発者が習得することが容易ではない事柄を,本書を通して学び,実践してもらうことを目的としています。 本書が提唱する「API仕様ファースト開発」はWebサービスにおける大域的なテスト駆動開発の実現に必要なものであり,また,API仕様ファースト開発を実現するにはテスト駆動開発が必要です。API仕様ファースト開発とテスト駆動

                                                                            Web API設計実践入門──API仕様ファーストによるテスト駆動開発
                                                                          • シンプルなHTMLで、レスポンシブとライト・ダークモード対応のモダンなWebページを簡単に作成できる超軽量CSSライブラリ -matcha.css

                                                                            シンプルなHTMLを使用して、レスポンシブ対応、ライト・ダークモード対応のモダンなWebページを簡単に作成できる超軽量CSSライブラリを紹介します。 シンプルなWebページやポートフォリオ、プロトタイプなどをすばやく作成したい時に便利で、ベースにしてリセットCSSの拡張版としても利用できます。 matcha.css matcha.css -GitHub matcha.cssの特徴 matcha.cssの使い方 matcha.cssのデモ matcha.cssの特徴 matcha.cssは、classレスでHTMLのあらゆる要素にシンプルで読みやすいスタイルを設定するように設計されたCSSライブラリです。ライト・ダークモード対応で、テキストはユーザー設定が尊重された適切なスペースで配置され、ナビゲーションやフォームなども非常に見栄えがします。 matcha.css HTMLで作成された静的ペ

                                                                              シンプルなHTMLで、レスポンシブとライト・ダークモード対応のモダンなWebページを簡単に作成できる超軽量CSSライブラリ -matcha.css
                                                                            • 技術的負債には「格付け」をしよう

                                                                              技術的負債とは 現代のソフトウェア開発において、「技術的負債」という概念は避けて通れない重要なテーマとなっています。技術的負債とは、短期的な利益や迅速なリリースを優先するために採用される一時的な解決策や、劣悪なコード品質、ドキュメント不足などが原因で将来的にシステムの保守性や拡張性に悪影響を及ぼすことを指します。 技術的負債の種類 技術的負債を以下の2軸で分けてみます。 意図的 vs. 非意図的負債 意図的負債: 開発チームが意図的に決断した結果生じる負債。例えば、リリーススケジュールを守るために後で修正することを前提に一時的な解決策を採用する場合。 非意図的負債: 不注意や知識不足、経験不足などが原因で発生する負債。例えば、新しい技術の導入失敗や設計ミスなど。 短期的 vs. 長期的負債 短期的負債: 短期間で解消可能な負債。例えば、簡単なコードリファクタリングやドキュメントの整備。 長

                                                                                技術的負債には「格付け」をしよう
                                                                              • コミット履歴が " きれい " なPRはすごく助かる。ありがたい。好き。 - Qiita

                                                                                ※ 最小の意思決定にしては粒度が粗めですがイメージはつくかなと思います 開発プロセスも同様で、目的に対して複数のステップを踏むことがほとんどですよね。リファクタリングであれば単体テストをあてる ⇒ メソッドの内部実装変える ⇒ テストのリファクタリングする、みたいな。 こうした1つ1つの小さな意思決定という単位で履歴(意図)を残すことは、開発者の責任です。なぜなら、変更の差分はPRを見ればわかりますが、「なんでその意思決定(コードの変更)をしたのか?」はコミットメッセージを見ないと分からないからです。そういう意味で、開発者の Why? を把握するために、最終的なPRの差分がどのようにして出来上がったのかを知るために、最小単位の意思決定の履歴はレビュワーが欲しいと思う重要な情報なのです。 コミットメッセージが簡潔で分かりやすい コミットが意思決定の最小単位になっている と関連しますが、意思決

                                                                                  コミット履歴が " きれい " なPRはすごく助かる。ありがたい。好き。 - Qiita
                                                                                • 『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!

                                                                                  『GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用』という書籍を最近出版したので紹介します。本書ではGitHub Actionsの実装と、CI/CDの設計・運用を体系的に学べます。一粒で二度美味しい書籍です。筆者個人としては「実践Terraform」以来、4年半ぶりの商業出版になります。 gihyo.jp どんな本? GitHub利用者にとって、もっとも導入が容易なCI/CD向けのソリューションはGitHub Actionsです。GitHub Actionsの活用事例は多く、検索すればたくさん情報が出てきます。ただ断片的な情報には事欠かない反面、体系的に学習する方法は意外とありません。CI/CD自体がソフトウェア開発の主役になることもまずないため、なんとなく運用している人が大半でしょう。そこで執筆したのが『GitHub CI/

                                                                                    『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!