タグ

ブックマーク / qiita.com (258)

  • AIエージェントを使って実際にアプリ開発→リリースした経験・知見を共有する - Qiita

    先日、Claude Code(コーディング用のAIエージェント)1を使って作ったiOSアプリ 『電光石火』 をリリースしました。 『電光石火』は、「九九」や英語の「代名詞」、「県庁所在地」など、反復練習ですばやく答えられるようになるべきものを、ゲーム形式で手軽に身につけられるiOSアプリです。「たしざん」「ひきざん」「L / Rの聞き分け」「炎色反応」「東西南北」など、定番のものから少し変わったものまで、様々なコンテンツを提供しています。 たとえば、小学1年生は毎日宿題でリングカード等を使って足し算の練習をしますが、『電光石火』を使えば、それをゲーム感覚で楽しく行うことができます。 AIエージェントを使ってコードを書いた話はたくさん耳にしますが、実際にプロダクトをリリースするところまで行った体験談は少ないと思います。 この記事では、AIエージェントを使って『電光石火』を開発・リリースしたこ

    AIエージェントを使って実際にアプリ開発→リリースした経験・知見を共有する - Qiita
    t-wada
    t-wada 2025/05/01
    "まずAIにコードを書かせてから共通化・抽象化は人間が行う" "AIエージェントとテストファーストは相性が良い" "AIエージェントはチャットAIより賢い" "コーディングツールではなくAIとのチーム開発だと考える" 知見わかる
  • t-wadaさんと学ぶレガシーコード改善ワークショップのつくり方~虎の巻~ - Qiita

    一例としては、下記のような結果になります。 Must 一日で終わる分量である データベース接続を伴うメソッドへの仕様化テストが書ける Should メソッドやクラス分割などのリファクタリングを試せる程度の複雑さがある Could 学び手にとって、ドメイン知識が理解しやすい 自動テストのサイズダウンが体験できる 題材づくり 実際の製品のコードの中から、設定したゴールを満たすようなコードを探します。選んだコードに対して実際にテストを書いて保護し、内部品質の改善に挑戦していきます。 複数回のモブプログラミングを実施し、t-wadaさんからのナビゲートをいただきながら、作問を進めていきました。作問チームのメンバーにとっては、ここが一番楽しく、スキルアップができるところです。 その結果を作問チームとしての模範解答例としたうえで、当日のワークショップで参加者に手を動かしてもらう範囲を決めます。 施設・

    t-wadaさんと学ぶレガシーコード改善ワークショップのつくり方~虎の巻~ - Qiita
    t-wada
    t-wada 2024/02/05
    最近行っている、実際の製品のソースコードを対象に行う「レガシーコード改善ワークショップ」の良いところと開催の具体的な流れについて具体的に説明いただいています。ありがとうございます!
  • なぜJestのmockライブラリに混乱してしまうのか? - Qiita

    はじめに JavaScriptのモックライブラリでは、 sinon などが有名であるが、テスティングフレームワークに Jest を使ってるならば Jest組み込みのモックライブラリで済ませたほうが学習コスト少なくて済むだろうと思える。 しかし、 sinon の感覚でJestのモックライブラリを使おうとすると違和感というのか、モックへの考え方の違いに気づかされる。 ということで今回は、Jestのモックライブラリの考え方と使い方を整理していきたいと思う。 モックの用語整理とJestモックライブラリの位置づけ モックと一言でいっても、それが指す内容は微妙に異なる。 ここでは、モックを 広義のMock Object と 狭義のMock Object と分けて整理してくれているテスト駆動開発を参考に用語を整理する。 テスト駆動開発では、モック用語を、下図のとおり、テストダブルとそのサブクラスとして

    なぜJestのmockライブラリに混乱してしまうのか? - Qiita
    t-wada
    t-wada 2022/12/29
    テストダブル関係のライブラリや自動テストの語彙について知っていればいるほど、Jestの語彙のズレに混乱しがちな理由がうまく説明されているエントリ
  • t_wadaさんによるTDD研修をワードクラウド・名言5選で振り返ってみた - Qiita

    始めに リンクアンドモチベーションでQAエンジニアをしています、代慶と申します。 先日のレガシーコード改善のワークショップに引き続き、和田卓人(t_wada)さんにTDDに関してワークショップを開催してもらいました。 記事では、t_wadaさんが研修の中で頻度高く発言していた言葉や名言と共に、当日の研修での学びの概要を伝えていきたいと思います! 当日の流れ 当日は、10人のエンジニアが10時から16時まで研修を受講しました。 前半は、座学メインで、適宜質問にも答えていただきました。 後半は、実習メインで、TDDの実践を行い、t_wadaさんとの公開1on1の時間を設けていただきました。 ※今回の講義は、前もってTDD Boot Campの動画の視聴も行い、よりTDDの理解を深めることができました。 TDDの概要 TDD(テスト駆動開発)とは・・・Red ⇒ Green ⇒ Refacto

    t_wadaさんによるTDD研修をワードクラウド・名言5選で振り返ってみた - Qiita
    t-wada
    t-wada 2022/12/27
    株式会社リンクアンドモチベーションにお招きいただきTDD研修を行いました。録画が残ればWhisper等で文字起こしと内容分析が出来て、社内展開に活かせる時代になりましたね。レポート記事ありがとうございます!
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
    t-wada
    t-wada 2021/11/02
    スケールメリットが必要なら、コミュニケーションコストの低い組織とプロダクトの実現が重要。コストパフォーマンスが必要なら、大人数の大型プロジェクトではなく小プロジェクトに分解しながら進めることが重要。
  • 鬼滅の概念モデリング - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 概念モデリングとは、システムのドメインを構成する概念を発見しその属性・振る舞い・関連を定義する活動である。例えば、段階的に理解する O/R マッピングで実例として挙げたシンプルな課題管理システムにはプロジェクト・課題・コメントの 3 概念が登場するが、これらを概念モデルとして表すと以下のようになる。 来、概念モデリングは DDD の主要な活動の一つである。DDD の Whirlpool プロセスの図を見てみよう。Model は Code Probe と Scenario に挟まれた中心概念であり、常時フィードバックを受けて更

    鬼滅の概念モデリング - Qiita
    t-wada
    t-wada 2021/09/04
    "日本での DDD 関連の議論においては、概念モデリングが語られることは少なく、レイヤ分割やクラス類型といったアーキテクチャ的側面への偏りが見られる。それらの要素は DDD の実践のうちごく一部を占めるに過ぎない"
  • 【PHP8.1】PHP8.1の新機能 - Qiita

    PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2021/11/26にリリースされました 2021/07/20、PHP8.1がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2021/11/25にPHP8.1.0がリリースされる予定です。 というわけでPHP8.1で実装されるRFCを見てみましょう。 RFC Fibers 賛成50反対14で受理。 Fiberです。 PHPで非同期コードを書けるようになります。 $fiber = new Fiber(function (): void { $value = Fiber::suspend('fiber'); echo "レジュームした。$value: ", $value, "\n"; }); $value = $fiber

    【PHP8.1】PHP8.1の新機能 - Qiita
    t-wada
    t-wada 2021/07/27
    PHPに Fiber, 交差型、列挙型、 readonly プロパティ(一度だけ初期化可能)、 final クラス定数などが入る。相変わらず良い意味で貪欲に進化しているし、より堅牢なコードを書けるようにも進化している
  • 『LeanとDevOpsの科学』まとめ - Qiita

    以前からAmazonの欲しいものリストにはあったのですが、なかなか読みたい気持ちにならずリストを整理するときに削除しちゃっていたのですが 2月ぐらいからTwitterでこのについての言及が増えたし、ちょうどそのころ開発生産性とは何か、について一考していたこともあったので、読んでみました。 LeanとDevOpsの科学 一旦さらっと読んで、面白いなー、やっぱデリバリ大事だなーと思って読了したんですが 先日texta.fmでこののことが取り上げられており、あー、そんな読み方があったかーと思って改めてちゃんと読み直してみました。 構成 第一部: 調査結果から見えてきたもの(パフォーマンスを向上させるケイパビリティとは何かの話。特にデリバリを中心に多面的に検討している) 第二部: 調査・分析方法 第三部: 改善努力の実際(いろんな会社の取り組みの事例) 読み方 常に付録Aの図A.1を開いてお

    『LeanとDevOpsの科学』まとめ - Qiita
    t-wada
    t-wada 2021/04/30
    "長らくエンジニアリングの現場では「なんとなくそうだろうな」と思っていたことが客観的な数字によって強い相関関係があることが証明されたということが画期的" 『LeanとDevOpsの科学』の重要性が一言でわかる
  • ウォーターフォールを世に広めたとされる米軍がアジャイルに移行中という話 - Qiita

    また、この図の説明においては理想的なケースにおいても1つ前の工程に戻る事が述べられています。 " Hopefully, the iterative interaction between the various phases is confined to successive steps. " (投稿者訳) 理想的には、各段階において工程が前後する範囲は直近の工程に限られる。 理想的でない場合はどうかというと、テストから設計まで工程が戻りうると示唆しています。 "The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as dist

    ウォーターフォールを世に広めたとされる米軍がアジャイルに移行中という話 - Qiita
    t-wada
    t-wada 2021/03/18
    Royceの論文には後戻りできるとあったのに最初の図がひとり歩きして後のWaterfallになり、近年米軍で数々のソフトウェア開発プロジェクト失敗が問題視され、アジャイルの導入を法律で義務付けられるまでの歴史。面白い。
  • The Rails Doctrine(日本語訳) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? (訳者注: 原文は https://rubyonrails.org/doctrine/ です。しばらく寝かして問題なさそうであれば家に投げようかと思っています。おかしいところがあればコメント・編集リクエストをお待ちしております。) The Rails Doctrine By David Heinemeier Hansson in January, 2016 Ruby on Railsの驚異的な台頭は、斬新な技術とタイミングによるところが少なからずあります。しかし、技術的な優位性は時間の経過とともに失われていきますし、タイミングの良さだ

    The Rails Doctrine(日本語訳) - Qiita
    t-wada
    t-wada 2021/03/12
    Ruby on Rails の価値観、思想、信条を作者 DHH 本人が記した文章「The Rails Doctrine」の翻訳。設計思想や価値観の表明という点でとても重要な文章だし、その訳も素晴らしい。
  • Eventual Consistencyまでの一貫性図解大全 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL;DR; Eventual Consistencyとか言いながらどうせもっとまともな一貫性実装してることはよくあるんだからみんな適切な名前を使おうぜ。 なぜこの記事を書くのか NoSQLの文脈においてスケーラビリティとのトレードオフでEventual Consistencyという用語は結構な頻度で出てくる。 ACIDに対抗してBASE(Basicaly Avalilable, Soft state, Eventual consistency)なんて言葉が出てきたり、CAP定理の中のAとPだと言ってみたり、分散システムのスケーラビリテ

    Eventual Consistencyまでの一貫性図解大全 - Qiita
    t-wada
    t-wada 2020/08/27
    強い一貫性である Linearizability(線形化可能性) から弱い Eventual Consistency に至るまで一貫性モデルはこんなに細かく分類されていたのかと驚く。図もわかりやすく、情報量が多い。
  • 2020年現在のNewSQLについて - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較

    2020年現在のNewSQLについて - Qiita
    t-wada
    t-wada 2020/02/28
    RDBMSやNoSQLの課題を克服し「強い整合性を持ち、ACIDトランザクションをサポートする、(地球規模の)分散型のSQLデータベース」を実現する NewSQL という流れについて。非常に面白い。
  • IT業界で働く者の基礎知識となるクラウドネイティブ とは? - Qiita

    The Twelve-Factor Appは、Heroku を想定して書かれたもので、コンテナをベースとしたオーケストレーターに適用するには、少々読み替えが必要となる。その様な適用法の記事がインターネット上あるので、参考資料に挙げておく。 参考資料 : immutable infrastructure, https://searchitoperations.techtarget.com/definition/immutable-infrastructure How do you build 12-factor apps using Kubernetes?, https://www.mirantis.com/blog/how-do-you-build-12-factor-apps-using-kubernetes/ Kubernetes & 12-factor apps, https://m

    IT業界で働く者の基礎知識となるクラウドネイティブ とは? - Qiita
    t-wada
    t-wada 2019/11/21
    回復性、管理力、および可観測性のある疎結合システムと堅牢な自動化とを組み合わせることで、インパクトのある変更を最小限の労力で頻繁かつ予測どおりに行えるようになる。よくまとまっている。
  • ウワサのBlawnを触ってみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    ウワサのBlawnを触ってみた - Qiita
    t-wada
    t-wada 2019/10/24
    "言語自作は知らない人には魔法のようで、少し齧った人には簡単で、真面目に取り組んだ人にはとてつもない偉業に見えるでしょう" "一朝一夕ではできない芸当"
  • 至高のDockerイメージ生成を求めて -2019年版- - Qiita

    この記事は@yugui氏の書いた至高のDockerイメージ生成を求めてに感謝しつつ、記事が投稿された当時には無かったさまざまな事情を組み込んで再度まとめたものである。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメージを互いに配慮することなく柔軟に配備し実行できる 必要のないサービスがコンテナ内で走っていないので、セキュリティの向上に資する イメージの転送が効率的である ベースイメージ部分は一度送ればいちいち再転送する必要がないので、ベースイメージを共有する複数のイメージを効率的に転送できる 標準のレジストリAP

    至高のDockerイメージ生成を求めて -2019年版- - Qiita
    t-wada
    t-wada 2019/10/21
    Multi-stage build や BuildKit など、 yugui さんの「至高のDockerイメージ生成を求めて」後に Docker が改善された点に言及されていてとても良い
  • 現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita

    最近、現在時刻が関わるプログラムを題材に、高テスタビリティなプログラミング作法を解説した素晴らしい記事が復刻されて、感想などがTLに流れてきたので、自分もそのお題を関数型プログラミングで解いてみた記事。 はじめに 最近、こんな引用ツイートをした。 関数型界隈だと、参照透過な部分とそうでない部分(現在時刻, 乱数, etc.)を分離しといて使うところで合成する作法が尊重されてて、simplicity と composability の結果として、テスタビリティや柔軟性が高くなる(低くならない)ということがよく謳われている。あとで自分もFPでお題解いてみよう。 https://t.co/00TwqXmtC7 — yasuabe (@yasuabe2613) September 30, 2019 元記事は、t-wadaさんの『現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ 』で、めち

    現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita
    t-wada
    t-wada 2019/10/03
    お題を関数プログラミングの知見から3つの観点に分解して設計 "1. 時刻の集合から挨拶の集合への写像。参照透過な全関数。 2.参照透過性が成立しない「現在」という文脈に依存する時刻。3. 1,2の合成" すばらしい
  • Rails Developers Meetup 2018 スライドまとめ - Qiita

    Rails Developers Meetup 2018 スライド まとめ 補足 勝手にまとめました。  問題等あればコメントをお願いします。 登壇者ご人のブログ等が見つかった場合は、そちらを優先しています。 表を書くのを簡略化するために全てリンク形式で書きました。スライドを見つけられなかったものもリンク形式になってます。 抜け漏れ等あると思いますが、随時更新させていただきます。 Day 1 時間 トラックA トラックB 11:10〜 安全かつ高速に進めるマイクロサービス化 Rails on Kubernetes on AWS 11:50〜 Microservices on “Rails “ - Wantedly のマイクロサービス事例 学校をより良くするために、エンジニアができるたった一つのこと 12:30〜 MySQL/InnoDB の裏側 ノンデザイナーのためのコンセプト & ロゴ

    Rails Developers Meetup 2018 スライドまとめ - Qiita
    t-wada
    t-wada 2018/03/26
    Rails Developers Meetup 2018 登壇報告ブログや講演資料へのリンク集。 タイムテーブル形式でまとまっていて読みやすい。
  • Go & Versioning(vgo)を読んで大きな変更が入ったなと思った - Qiita

    Help us understand the problem. What is going on with this article?

    Go & Versioning(vgo)を読んで大きな変更が入ったなと思った - Qiita
    t-wada
    t-wada 2018/02/28
    "バージョンは常にセマンティックバージョニングで表します" "バージョン管理機能が追加されたgoコマンドは、depやglideなどの依存管理ツールとは別のアプローチでバージョンを管理します" go に semver が来るのか
  • React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以前 React Redux を用いた SPA 新規サービスを運用して得た知見と実装例 と言うテーマで発表した内容に、加筆修正して記事にしてみました。2年半くらい取り組んで見ての結果や感想をシェアできればと思います。 対象読者 SPA の開発に興味がある方 最近の WEB フロントエンド開発に興味がある方 ある程度 React や Redux を触ったことがある方、触りたい方 目的 具体的な実装例をもとに知見を共有し、Web 開発の役に立ててほしい おかしな実装や、もっと良い方法があれば、教えてほしい 内容 コードベースでの実装例の紹介

    React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita
    t-wada
    t-wada 2018/02/08
    良い知見だ
  • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

    Protocol Buffersは別に新しい技術ではない。同時にそれは、未だ知られざる、未だに可能性を秘めた先端のソフトウェア技術基盤である。 新しくないのは事実で、GoogleがProtocol Buffersをオープンソース化したのは2008年のことだし、オープンソース化前に社内で使われ出したのは更に昔に遡るだろう。たぶん。 デザイン的にもJSON対応は後付けで、将来JSONが隆盛を極めることなんか全然想定していなかったのが透けて見えて古くさい。 しかし、同時にどうも情報に聡い人であってもなかなかその真価を実感し得ておらず、ある意味で未知の技術であるらしい。ならば、Protobuf (Protocol Buffersの略)を解説した文書は幾多あれども、それに1を加えるのもやぶさかではない。 Protocol Buffersとは Protobufはスキーマ言語だ! 一般的にはProtob

    今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
    t-wada
    t-wada 2018/02/08
    Protobuf は実質的にはシリアライゼーション形式ではなくスキーマ言語であり、ゴテゴテしがちなスキーマ言語の中で、欲張りすぎていないデザインが手に馴染むという話