並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 37 件 / 37件

新着順 人気順

twadaの検索結果1 - 37 件 / 37件

  • ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog

    はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな

      ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
    • 【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog

      はじめに 本記事は前回の記事である「ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog」の続編です。 前回の記事の内容がベースとなっていますので、「APoSD って何だっけ?」という場合はぜひ前回の記事をご覧になってから、以下にお進みください。 ということで、後編の対話パートにさっそく入っていきましょう! Pull Complexity Downwards iwashi: APoSD では、複雑性を下に追いやる(Pull Complexity Downwards)という話が出てきます。何らかの処理が複雑になる場合、それを隠蔽してインターフェースを極力シンプルに保つ、というのがAPoSDの主張です。 こちらに関しても、社内勉強会中で

        【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
      • 27. 論理削除とは何か?どのような解法があるのか? w/ twada | fukabori.fm

        話したネタ 論理削除とはそもそも何か? 物理削除とは? なぜ、論理削除が生まれてくるのか? SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 理由1: 心理的なハードルの高さ、怖さがある 理由2: 削除したデータを検索対象に入れたい場合がある 理由3: ログとしての用途 理由4: 誤操作をすぐに戻したい アンチパターンとは何か? なぜ、論理削除はアンチパターンとして捉えられるのか? 全てのSQL文のWHERE句に削除フラグが必ず入る LIMIT 1などが蔓延していく 論理削除に気づくきっかけは何か? テーブル設計や、規約から気づく 論理削除というアンチパターンをどのように解いていくか? 論理削除という概念は世の中にまずなく、お客様は論理削除という言葉を使っていない 要件をどのように設計すればいいのか? ORMの論理削除プラグインはあまり良くない 状態遷移として捉える方法 Soft

          27. 論理削除とは何か?どのような解法があるのか? w/ twada | fukabori.fm
        • 48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm

          話したネタ デザインパターンとは? ソフトウェアパターン 書籍: オブジェクト指向における再利用のためのデザインパターン Gang of Four 進研ゼミみたいなもの Composite パターン デザインパターン以外のソフトウェアパターンとは? アーキテクチャパターン、アンチパターン、コンカレンシーパターン AWSクラウドデザインパターン パターンにはフォーマットがある GoFのデザインパターンはいつ頃生まれたもの? GoFのデザインパターン登場時に、ソフトウェア業界では何が起きていたのか? Ruby 20 周年記念パーティーレポート ―― プログラミング初心者の運営スタッフが見た Ruby コミュニティ C、C++、Perl、Smalltalk、Visual Basic の時代 デザインパターンには、どういうカテゴリがある? 生成・構造・振る舞い Javaのクラスライブラリにおけるデ

            48. GoFデザインパターンとDI (前編) w/ twada | fukabori.fm
          • 学び続けるエンジニアを育てる、twadaラボの取り組み紹介 - NTT Communications Engineers' Blog

            本記事では、学び続けるエンジニアを育成するための取り組みである、twadaラボという取り組みを紹介します。まず既存の研修では対応できない育成上の課題を示し、それを踏まえたtwadaラボのコンセプトや実施内容を説明します。 はじめに 背景 コンセプト 実施内容 学習計画の策定 学習 技術顧問によるメンタリング アウトプットとフィードバック テーマ例 終わりに はじめに NTTコミュニケーションズでソフトウェアエンジニアをしている川瀬です。 NTT Comでは2023年の6月から9月にかけて、技術顧問のtwadaさんとともにtwadaラボというソフトウェアエンジニア育成のための取り組みを実施しました。 本記事では、その背景や取り組み内容を紹介いたします。 背景 NTT Comでは、MOOCを活用した独学支援から、twada塾やテスト駆動開発(TDD)ワークショップといったWebアプリケーション

              学び続けるエンジニアを育てる、twadaラボの取り組み紹介 - NTT Communications Engineers' Blog
            • 114. テスト駆動開発とは何であって、何でなかったのか? w/ twada | fukabori.fm

              MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、テスト駆動開発(TDD)、TDDに関するよくある誤解などを語っていただいたエピソードです。 出演者 話したネタ 【翻訳】テスト駆動開発の定義 自動テストとテスト駆動開発、その全体像 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 テスト駆動開発とは何だったのか? テスト駆動開発と同じレイヤの手法はある? テスト駆動開発と品質保証との関連は? TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング テスト駆動開発に関するよくある誤解 アジャイル開発との類似点(みんな丸い) IPAの試験での誤解 今回のブログを書いた(翻訳した)ことによる懸念 サバンナ便り ~ソフトウェア開発の荒野を生き抜く~ 記事一覧 書籍レビュワー募集フォーム

                114. テスト駆動開発とは何であって、何でなかったのか? w/ twada | fukabori.fm
              • GitHub - twada/japanese-numerals-to-number: Converts Japanese Numerals into number

                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                  GitHub - twada/japanese-numerals-to-number: Converts Japanese Numerals into number
                • twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal

                  挨拶 こんにちは。2023年04月に入社した、minne事業部エンジニアの@kazuです。 この度、弊社GMO ペパボ(以下、ペパボ)では2022年に引き続き、今年も日本のTest-Driven Development(TDD) の第一人者である @t_wada さんをお招きしてTDDワークショップを開催しました。前回:『t_wadaさんによるTDDワークショップを開催しました』 なぜTDDワークショップを開催しているのかについては、こちらの記事『ふつうの開発と TDD ワークショップ』で詳しく説明していますのでご覧ください。 さて、それでは今回のTDDワークショップで何をしたのか、どんな気づきがあったのかなどについて、参加パートナーからそれぞれお話ししてまいります。 具体的な研修内容 概要 ワークショップは、事前に各参加パートナーが基調講演/ライブコーディングの動画を予習し、動画内でのラ

                    twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal
                  • GitHub Webhook Service "twada-savannah" - Thanks Driven Life

                    カバレッジが低下するとライオンがコメントを書き残してくれる GitHub Webhook Service です。 http://twada-savannah.herokuapp.com/ 経緯その1 先週末は台風19号が沖縄を襲いまして。台風が襲来するといつものあれが始まるわけです。 台風19号ボッチソン(ヴォンフォン) - eXtreme Hago | Doorkeeper 今回は抜けるまで時間もかかりそうだった(実際2日ぐらい居座ってた)ので、久々に参加してみようと思った次第です(表明はしてないけど) 経緯その2 @t_wada さんのこのスライド レガシーコード改善の戦略と戦術 を読んでると出現する twada.png について @gongoZ 作者の @yosuke_furukawa 曰く、パブリックドメインです。— Takuto Wada (@t_wada) 2014, 10月

                      GitHub Webhook Service "twada-savannah" - Thanks Driven Life
                    • 28. 技術選定の審美眼(1) w/ twada | fukabori.fm

                      話したネタ Worse Is Better - 過去を知り、未来に備える。技術選定の審美眼 2019 edition フロントエンド疲れとは? 大筋でのトレンドは変わってないが、目が養われていないと疲れてしまう Gruntとgulp.js、ReactとVue.js イメージ的には選球眼 変わるもの、変わらないものを見極めるモチベーションは何か? 技術の世界は変化が緩やかで手堅い部分と変化が激しい部分がある 振子のように見えていた変化は、角度を変えて見れば螺旋であり、その差分を見るのが大事 ベテランエンジニアの唯一のアドバンテージとは? プログラマとしての可処分時間はどんどん減っていく ベテランプログラマに求められる役割としての、語り部と老害のボーダライン Unix哲学 小さいのは良いことだ(Small is beautiful) 一つのことを上手くやる(Make each program

                        28. 技術選定の審美眼(1) w/ twada | fukabori.fm
                      • twada-savannah

                        1. Aceess to your repository setting page.https://github.com/{user}/{repo}/settings2. Click link "Webhooks & Services".3. Click button "Add webhook" in Webhooks section.4. Input Payload URLhttp://twada-savannah.herokuapp.com/5. Choice event trigger."Send me everything" or check "issue comment"6. Click "Add webhook" button. finish!!

                          twada-savannah
                        • GitHub - bouzuya/hubot-twada: A Hubot script that returns a t_wada.png

                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                            GitHub - bouzuya/hubot-twada: A Hubot script that returns a t_wada.png
                          • 100. A Philosophy of Software Design (1/3) w/ twada | fukabori.fm

                            MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software Designをテーマに色々と語っていただいたエピソードです。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 資料:“A Philosophy of Software Design” を30分でざっと理解する 記事:ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 記事:【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 本書籍の翻訳は出ない? Working Code isn’t Enough ストラテジックアプローチ と タ

                              100. A Philosophy of Software Design (1/3) w/ twada | fukabori.fm
                            • 29. 技術選定の審美眼(2) w/ twada | fukabori.fm

                              話したネタ Worse Is Better - 過去を知り、未来に備える。技術選定の審美眼 2019 edition 集中と分散 Good Old Webとは何か? 改訂第5版 PC UNIXユーザのためのPostgreSQL完全攻略ガイド(シーラカンス本) Linux, Apache, PostgreSQL, PHP 2層アーキテクチャから3層アーキテクチャへ EJB(Enterprise Java Beans)とは? SOAP(Simple Object Access Protocol)とは? なぜEJBやSOAPが生まれてきたのか? 言語依存から言語非依存、ベンダ依存からベンダ非依存へという流れ SOA(Service-Oriented Architecture)とは? Enterprise Service Bus XMLによる設定とマッピングが多い時代だった XMLエンジニアとYA

                                29. 技術選定の審美眼(2) w/ twada | fukabori.fm
                              • GitHub - gongo/twada-savannah: Suddenly appeared savannah lion when coverage decreased

                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                  GitHub - gongo/twada-savannah: Suddenly appeared savannah lion when coverage decreased
                                • GitHub - twada/licensify: Browserify plugin to prepend license header to your bundle

                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                    GitHub - twada/licensify: Browserify plugin to prepend license header to your bundle
                                  • GitHub - twada/qunit-tap: A TAP Output Producer Plugin for QUnit

                                    QUnit-TAP A TAP Output Producer Plugin for QUnit DESCRIPTION QUnit-TAP is a simple plugin for QUnit to produce TAP output. QUnit-TAP provides TAP output feature for ANY version of QUnit (But there are some exceptions. See TESTED ENVIRONMENTS section below). With QUnit-TAP you can run your QUnit test scripts on your terminal, use TAP Consumers like prove for test automation, pass test output to Jen

                                      GitHub - twada/qunit-tap: A TAP Output Producer Plugin for QUnit
                                    • Bye bye "twada-savannah" - Thanks Driven Life

                                      半年ぐらい前に立ち上げた、カバレッジが低下するとライオンがコメントを書き残してくれる GitHub Webhook Service である twada-savannah ですが、本日 5/19 を持ちましてクローズさせていただきます。長年のご愛好ありがとうございました。 理由 _人人人人人人人_ > 使ってない <  ̄YYYYYYY ̄ そんなわけで 使ってないし、Heroku の最近の価格のあれもあって残しててもしょうがないので削除しました。 なんかこう、いい感じのサービスの閉じ方みたいなのを調べてたんですが、気にせずまるっと消しました。お疲れ様でした。 まとめ みんな!ライオンが見てなくてもサバンナのこと考えてカバレッジ大事にしてこうな!!

                                        Bye bye "twada-savannah" - Thanks Driven Life
                                      • GitHub - twada/type-name: Just a reasonable `typeof`

                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                          GitHub - twada/type-name: Just a reasonable `typeof`
                                        • GitHub - twada/twowaysql: Template Engine for SQL

                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                            GitHub - twada/twowaysql: Template Engine for SQL
                                          • 49. GoFデザインパターンとDI + リファクタリング (後編) w/ twada | fukabori.fm

                                            話したネタ DIを勉強したい場合には何を参照する? 書籍: Dependency Injection Principles, Practices, and Patterns Laravel Pimple 書籍: Clean Architecture 達人に学ぶソフトウェアの構造と設計 単行本 GoFデザインパターンは、なぜここまで普及したのか? OOPを理解するきっかけになったため 差分プログラミングの誤解 継承には悪い面も多い 書籍: 増補改訂版Java言語で学ぶデザインパターン入門 OMT法とUML Don’t Repeat Yourself 原則 と 差分プログラミング 差分プログラミングは、継承以外の手法でも実現できる is-a と has-a 構造ではなくて、責務・振る舞いについてプログラミングする DIコンテナ と Main関数 継承があるデザインパターンの現代における利用価値

                                              49. GoFデザインパターンとDI + リファクタリング (後編) w/ twada | fukabori.fm
                                            • power-assert-monorepo/packages/node at main · twada/power-assert-monorepo

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                power-assert-monorepo/packages/node at main · twada/power-assert-monorepo
                                              • GitHub - twada/coverlay.el: Test coverage overlay for Emacs

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - twada/coverlay.el: Test coverage overlay for Emacs
                                                • twadaさんによるワークショップ | 株式会社ニジボックス

                                                  [markdown] お初にお目にかかります。開発室の@ats05です。 10/27に、twadaさんをお招きしたTDDについてワークショップがありました。 当日の流れについては@niisan-tokyo氏がこちらの記事に書かれていらっしゃるので省略させて頂きます。 ## TDDを体験してみて twadaさんによるTDDについて講義の後、ペアプログラミングによるTDDを体験してみるワークショップのパートがありました。 TDDのメリット・デメリットなんかは既に様々な場面で議論されてきていることだと思いますので、 ここではあくまで私自身の主観的な感想を書いてみます。 テスト駆動開発というモノ自体は知っていたのですが、実行に移すことは今までありませんでした。理由としては、単純に私自身が「そんなことよりまず動かそうYO!」なスタイルだからですね。 TDDのサイクルは 1.機能の要件を満たすテストを

                                                    twadaさんによるワークショップ | 株式会社ニジボックス
                                                  • GitHub - azu/twada-assert: twada-assert

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                      GitHub - azu/twada-assert: twada-assert
                                                    • Takuto Wada (@twada) on Speaker Deck

                                                      変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition

                                                      • 102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm

                                                        MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software DesignをテーマにしたエピソードのPart3です。今回は「認知負荷」についてひたすら語っていただきました。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 認知負荷 (Cognitive Load) とは何か? 書籍:チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 “クソコード” という言葉をなんとかしたい 認知資源の消費量 課題内在性負荷 と 課題外在性負荷 波動拳 課題内在性負荷が高いことは、悪いことではない 循環的複雑度 99. Podcastを編集する技術 w/ tomiyama における課題外在性負荷の下げ方 例外と課題外在性負荷の関連 横断的関心事 アスペクト指向プログラ

                                                          102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm
                                                        • GitHub - twada/gulp-derequire: A Gulp plugin to apply derequire to target Buffer/Stream

                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                            GitHub - twada/gulp-derequire: A Gulp plugin to apply derequire to target Buffer/Stream
                                                          • 101. A Philosophy of Software Design (2/3) w/ twada | fukabori.fm

                                                            MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software DesignをテーマにしたエピソードのPart2です。今回は「例外」についてひたすら語っていただきました。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 書籍における例外・エラーの扱い Define error out of existence 例外はなぜ複雑性を増大させるのか? プロダクションレベルのコードにおけるエラーハンドリングの分量 結果に着目する設計へのシフト 防御的プログラミングとは Design by Contract エラーを適切に出すための「適切」とは その例外は回復可能なものかどうか?プログラミングミスなのか?という観点 エラーの運用側への通知 例外のバッドパターン:例外を catch

                                                              101. A Philosophy of Software Design (2/3) w/ twada | fukabori.fm
                                                            • GitHub - twada/chai-to-assert: A jscodeshift codemod that transforms from chai to Node assert

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                GitHub - twada/chai-to-assert: A jscodeshift codemod that transforms from chai to Node assert
                                                              • GitHub - twada/power-assert-runtime: monorepo of power-assert runtime side

                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                  GitHub - twada/power-assert-runtime: monorepo of power-assert runtime side
                                                                • GitHub - twada/merge-estraverse-visitors: merge multiple estraverse visitors into one

                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                    GitHub - twada/merge-estraverse-visitors: merge multiple estraverse visitors into one
                                                                  • GitHub - twada/org-html5presentation.el: HTML5 Presentation export for Org-mode

                                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                      GitHub - twada/org-html5presentation.el: HTML5 Presentation export for Org-mode
                                                                    • GitHub - twada/escallmatch: ECMAScript CallExpression matcher made from function/method signature

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        GitHub - twada/escallmatch: ECMAScript CallExpression matcher made from function/method signature
                                                                      • GitHub - twada/qunit-quickstart: A simple QUnit + QUnit-TAP + PhantomJS example.

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                          GitHub - twada/qunit-quickstart: A simple QUnit + QUnit-TAP + PhantomJS example.
                                                                        • mono on Twitter: "twadaさんの論理削除のお話良かった( ´・‿・`) https://t.co/tc1RdGnMy9 https://t.co/Fuq0MWIFg1"

                                                                          twadaさんの論理削除のお話良かった( ´・‿・`) https://t.co/tc1RdGnMy9 https://t.co/Fuq0MWIFg1

                                                                            mono on Twitter: "twadaさんの論理削除のお話良かった( ´・‿・`) https://t.co/tc1RdGnMy9 https://t.co/Fuq0MWIFg1"
                                                                          • GitHub - twada/universal-deep-strict-equal: A port of Node v6's internal _deepEqual function in a universal style

                                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                              GitHub - twada/universal-deep-strict-equal: A port of Node v6's internal _deepEqual function in a universal style
                                                                            1