@t_wada
プログラマ。テスト駆動開発実践者。power-assert-js 作者。『テスト駆動開発』を翻訳、『プログラマが知るべき97のこと』『SQLアンチパターン』を監訳/監修、『事業をエンジニアリングする技術者たち』を編纂しました。
@DebbieCowen
@Ryuuneart
@LXXXRD
@SgAlghamdi7
@gorgeousalbo
@lavinia_vantae
@meawaytoyou
@LeyendasRockFes
@yutaacat
@alanrog3
@nero_clown
@llllune_
@mtkkn_93
@ppp242816
@hono_12_do
@houkai4th_
@scott_haggerty
@simayazaditv
@rpibrahimkilic
@weronik_slo
@stwmaniax
@ASUKASMOX
@userfemboy40922
@Serdareksiogluu
@DeliciousNDulce
@mdelsing06
@brklmbz
@phazmidi
@_Miyane_0re
@lamia_noha
@fethideniz
@abd49735
@swieckiepanstwo
@Wolter_Sarah
@halil_mujde
2023年度リクルート エンジニアコース新人研修の講義資料です
プログラマ35歳定年説が滅びたいま、我々技術者の前に立ち塞がるのは「老眼」です。諸先輩方を中心に貴重な経験談やアイデア等多数いただきましたので、ざっくりとジャンル分けしてまとめました。誠にありがと..
As many have recognized, when inventions and innovations first appear they are often (always) labeled as “toys” or “incapable” of doing…
2022-12-21 技術的負債の返済から改善する開発者体験 - Techmee vol.5 https://timeedev.connpass.com/event/268296/ 動画 https://youtu.be/tQ3BGgnvMwQ
このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の…
学生たちを見ていると、きちんと議論して、きちんと設計して、きちんと何かを作ろうとするみたいです。ときには副作用を考慮して、やっぱり作るのやめようかという話になり、再び議論に戻ることもあります。
ミクシィの21新卒技術研修の講義資料や『動画』を公開します!
2024/01/15(月) 12:00 〜 13:00 t-wadaさんが後世に残したい、実録レガシー���ード改善 https://findy.connpass.com/event/304101/ テストコードが無いコードを引き継いだところからはじまる、実際に2018年に行った受託開発案件のエ…
本書は、David Thomas and Andrew Hunt, The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley, 2019)の日本語版です。 本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆され...
システム開発の世界において「技術的負債(Technical Debt)」は繰り返し話題になり、しばしば炎上しています。 技術的負債という概念の生みの親は Ward Cunningham (ウォード・カニンガム)です。彼は 1992 年にオブジェクト指向プログラミングの国際カンファレンス OOPSLA '92 の Exp…
@tkanayama_です。「SQLアンチパターン *1」 という本を読みました。「ポケモンを題材に因果推論を実践してみる」のように、仮想的なストーリ上で実際に使ってみた感を出すことにより、自分の記憶に定着させることを狙います。 前提として、何をアンチパターンとするかは状況(ベンダーフリーである必要があるかどうか、どの…
プログラミング言語のお作法から外れたコードやメンテ性が悪いコードを書くのはダメとよくいわれます。わたしは学生の頃、そういう意見を過剰に気にしていました。コードを書くことそのものに慣れていないのに綺麗に書こうとして手が動かず、動かないがゆえにコーディングの練習が進まない、という悪循環になっていました。そうすると何もアウト…
www.ntt.com これを見てちょっと最近の流れと違うなぁとしみじみ思ったので全力で反論してみる。。 僕自身は81年代生まれ、小学校6年生のときにPC98シリーズのN88Basicで独学でBasicから入って、中高とDirectX使ってゲーム作ったりして、大学のときにバイトで実務のプログラムを初めて〜、と何故かまぁ…
DBMS に依存するロジックのテストを書く時、主に2つの手法があると思います。 Repository 層などを mock する Service 層のテストをする時は、その下位の Repository 層を mock して、DBMS に依存しない形にしてからテストする レイヤードなアプリケーションで適用できる手法 テスト…
アーキテクチャのルールはどれも同じである! 書いているコードが変わらないのだから、どんな種類のシステムでもソフトウェアアーキテクチャのルールは同じ。ソフトウェアアーキテクチャのルールとは、プログラムの構成要素をどのように組み立てるかのルールである。構成要素は普遍的で変わらないのだから、それらを組み立てるルールもまた、普遍的で変わらないのである。(本書「序文」より)
#翻訳 http://arlobelshee.com/good-naming-is-a-process-not-a-single-step/ Creative Commons Attribution 3.0 Unported License. 多くの人が、1回で最高の命名をしようとする。これは難しく、うまく行くことなんて滅多にない。問題はネーミングというのは設計であるということだ。あらゆるものに収
この 4 年間、Dropbox では、デスクトップ クライアントの同期エンジンを白紙の状態から再構築しようと懸命に取り組んできました。同期エンジンは、デスクトップ パソコン上の Dropbox フォルダの陰に隠れた魔法で […]
Mockito や gomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モッ
若者世代が違和感を感じる、社会人特有の礼儀作法。それって「礼儀1.0」じゃない? 現代社会の同調圧力について考えてみた。
本イベントでは「実録レガシーコード改善」というタイトルで、実際にt-wadaさんがテストの全くないシステムを引き継いだところからスタートする実話をお話していただきます。イベントページ: https://findy.connpass.com/event/304101/
こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 以前「スタートアッ […]
株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)
質とスピード(2020春版) 2020/02/13 @ デブサミ2020
自動テストを、テスト対象のコードより先に書いてしまう「テストファースト」、さらにその発展形である「テスト駆動開発(TDD)」という開発手法があります。コードより先にテストを書くという一見奇妙なフローに、どのようなメリットがあるのでしょうか。ソフトウェアの設計、開発者のメンタルの面から考察します。またTDDには体験してはじめて理解できる良さもあります。百聞は一見に如かず、JavaScriptの...
Developers Summit 2023 の公募セッションで発表した資料です。https://event.shoeisha.jp/devsumi/20230209/session/4142/
追記: Kubernetes側での公式のアナウンスが2本出ているのでこちらも合わせてご覧ください。 kubernetes.io kubernetes.io Kubernetesコミュニティを眺めていたら、やたらめったら色んな人達が1.20 RCのリリースノート引っ張り出して「Dockerが非推奨になるからちゃんと対策を…
情報技術(IT)を使って新型コロナの感染拡大を防ぐ「切り札」として導入された接触確認アプリ「COCOA」。利用者の約3割を占めるアンドロイド版が昨年9月末から4カ月以上、機能していないことが分かった…
「UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている」「キャッシュはアーキテクチャではない。単なる最適化だ」などの語録を生んだ「Goの父」とも呼ばれるロブ・パイク氏の「プログラミング5カ条」について、ネット上で話題となっています
単体テストの考え方/使い方
以前は、DDDでどう実装したらいいかなぁって考えてたんだけど、最近は、そういうことへの興味があまりなくなっている。エンティティや値オブジェクト、集約やリポジトリなど、そのあたりにあまり興味がない。ヘキサゴナルアーキテクチャなども、そんなに考えなくなった。 TypeScriptを使うことが多いので、型でしっかり守るとかカ…
こんにちは!株式会社VOYAGE MARKETINGで働くエンジニアの yopidax です。 約20年ほど続くサービス、ECナビの技術的負債の返済に取り組んでいます。 ecnavi.jp 今回は直近で、レガシーコードを大量に削除したので、そのアプローチをご紹介したいと思います。 目次 目次 解析の対象と抱える課題 ア…
1994年に発売された大人気ゲーム「ファイナルファンタジーVI」(スーパーファミコン版)をやりこみ、2019年になっても未発見の「バグ」を見つけ出し続けている人がいる。ここ数年、熱心なゲームファンを何度も驚かせているのが、「エディ」のハンドルネームで知られるプレーヤーだ。エディさんに直接会い、話を聞いた。
2018年1月9日にあった「リリカルの質問全部答えます」というイベントに参加して聞いた品質保証の歴史学に関する内容をスライドにまとめました。 ・イベント告知ページ https://connpass.com/event/74455/ ・ツイートまとめ https://togetter.co…
Next.js App Routerにおける設計やベストプラクティスを、筆者なりにまとめました。