タグ

developmentとprogrammingに関するusadamasaのブックマーク (13)

  • アプリケーションアーキテクチャをいい感じに検証し続けたい話 - CADDi Tech Blog

    こんにちは、Drawer Growthグループ ソフトウェアエンジニアの内田(id:usadamasa, @usadamasa)です。弊社ではApache Icebergの活用*1とともに、一部のアプリケーションにJavaを導入しています。今回は、システムアーキテクチャから一段レイヤを下げてアプリケーションレベルのお話しをしたいと思います。 アプリケーションアーキテクチャの設計と運用課題 アプリケーション開発において、私たちエンジニアは通常、パッケージ構成やレイヤの依存関係、ロギングなどの観点からアーキテクチャを設計します。 しかし、実装との不整合やチーム内での共通認識が不十分なまま進むと、品質課題として潜在化し、やがて番障害や開発者の疲弊といった形で問題に発展します。また、DevinやClineなどのAIエージェントに適切に実装してもらうにはプロンプトやドキュメントで設計を伝える必要が

    アプリケーションアーキテクチャをいい感じに検証し続けたい話 - CADDi Tech Blog
    usadamasa
    usadamasa 2025/04/16
    書きました。ポジショントークです。
  • https://blogs.oracle.com/otnjp/post/unit-test-your-architecture-with-archunit-ja

  • 大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ

    モノリシックなプロジェクトにおいて、トップレベルのディレクトリ構成が異なる 2 つのディレクトリ構成を考え、それらの違いは何で、どちらが優れているか?という問いについて考えた。そして、「複雑な概念をトップレベルのディレクトリ構成にした方が良いのでは?」という結論に落ち着いた話をする。 はじまり ちょっとしたシナリオを想像してみよう。 プロジェクト立ち上げ期 「最近のトレンドはレイヤードアーキテクチャだ!」 そう言って、プロジェクトはスタートした。 . ├── application │ ├── xxx_usecase.go │ ├── xxx_repository.go │ ├── yyy_usecase.go │ └── yyy_repository.go ├── domain │ ├── xxx.go │ └── yyy.go ├── infrastructure │ └── xxx_

    大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ
  • 命名のプロセス - kawasima

    多くの人が、1回で最高の命名をしようとする。これは難しく、うまく行くことなんて滅多にない。問題はネーミングというのは設計であるということだ。あらゆるものに収まりの良い場所を与え、正しい抽象化をしなくてはならない。これを最初の1回で完璧にこなせる可能性は低い。だから進化的ネーミングについて話をしよう。

    命名のプロセス - kawasima
  • APIデザインにおける七つの大厄介 | POSTD

    (編注:2016/7/29、頂いたフィードバックを元に記事を修正いたしました。) APIをデザインするということは、科学であり技術でもあります。多くの頭の良い人たちが失敗を重ねてきました。成功している人たちは、APIの主な目的を念頭においてデザインしているのです。その目的とは、「開発者たちをウンザリさせる」ということです。 親愛なる仲間たち、その崇高っぽい追求を称えるべく、「APIデザインにおける七つの大厄介」を共に数え上げようではありませんか(私がしたことを見てください)。 リスティクル(箇条書き形式の記事) を書くつもりはないのですが、少なくともタイトルは 教養ある宗教的文献が参照元 です。 まず、ルールを決めましょう。ここでは、成功し、きちんと機能しているAPIを取り上げます。ですから、「動かない」とか、「大量のセキュリティホールがある」といったことは厄介ごとに数えません。「致命的」

    APIデザインにおける七つの大厄介 | POSTD
    usadamasa
    usadamasa 2016/03/09
    ただのAndroidSDKへの悪口だった。
  • nabokov7; rehash : 複数人開発チームのマネジメントに必要なもの - git, 個別開発環境, そしてシャッフルアルゴリズム

    October 22, 201010:13 カテゴリプログラミング組織とyou 複数人開発チームのマネジメントに必要なもの - git, 個別開発環境, そしてシャッフルアルゴリズム perl 界隈の皆様、YAPC::Asia 2010 おつかれさまでした。 @nipotan のライトニングトークはシャッフルに関する話でした。で、ここで、なぜそもそもシャッフルが出てきたのかについて、チームマネジメント的な観点から補足したいと思います。 (元の発表はこちら: 動画 / スライド ) ■相互チェック体制の運用 ライブドアのプログラマは、だいたい一人でひとつのサービスを受け持っています。一人が複数のサービスを受け持つのは普通ですが、一つのサービスに複数のプログラマがフルコミットするという贅沢な状況はあまりありません。 担当が一人ずつしかいないと、担当の人が休むと何も進まない。やりたいことが色々あ

    usadamasa
    usadamasa 2010/10/22
    [for:@twitter]毎週の進捗ミーティングはもともと行われていたものですが、本来は「自分が今週何をしたかそれぞれ発表する」場だったのを、お互いに他人の成果を発表し合うことで、お互いのやっていることに興味を持ち合
  • アジャイル開発を、人はどのようにして学ぶのか。アジャイルの第一人者、平鍋さんに聞いた

    アジャイル開発は、実はを読んで理解するのがとても難しい」。9月4日に、有志によるアジャイル開発のイベントの基調講演「アジャイル開発の現在・過去・未来」の中で、アジャイルの第一人者であるチェンジビジョン代表取締役社長の平鍋健児氏はこう発言しました。 を読んで理解するのが難しいのだとすると、アジャイル開発はどのようにして学んでいくのがいいのでしょうか? 平鍋さんが伝えようとしたことを詳しく聞くために、メールインタビューをしました。 自分で考えることが質 先日のXP祭りで平鍋さんの講演を聞いたとき、「アジャイルは人づてに伝わっていく」という部分が印象に残りました。また、「アジャイルは、実はを読んで理解するのがとても難しい」ともおっしゃっていました。とはいえ、アジャイル開発をや講演などから学び始める人も多いはずです。そういう方々にアジャイルをどう学ぶのがいいのか、というアドバイスを届け

    アジャイル開発を、人はどのようにして学ぶのか。アジャイルの第一人者、平鍋さんに聞いた
    usadamasa
    usadamasa 2010/10/08
    [for:@twitter]現場の問題の理解、それのコンテクストに適した解決を「参加者」とともに作ることが大切。このことは、人間が絡んだ「サイエンスではない問題」を解決する際の鉄則です。文脈重要。参加重要。
  • エンジニアの不安と壁 - naoyaのはてなダイアリー

    このところ、KLab×はてな エンジニア応援ブログコンテストというのを開催していまして、エンジニア人生に関するちょっとした小話をブログに書いていただくと、内容によっては、シリコンバレーに行けたり、iPad が貰えるかもしれない。という企画です。「え、ブログ書くだけでシリコンバレー? 」 なかなか太っ腹な企画です。 よい機会なので、宣伝がてら、自分もちょっと、昔話をしてみたいと思います。 振り返ってみると、自分がエンジニアとして経験を積むなかで、「ここが壁だったな」と思うところがぼちぼちありました。それが何で壁に感じたのかといま改めて考えると、いずれも体系的な知識がなかったために、それを乗り越えるための指針がなかったというのが大きかったように思います。 きれいなコードを書くにはどうしたらいいんだろう? 負荷分散って、どうやるんだろう? 溜め込んだデータをうまく活用するには、どうしたらいいんだ

    エンジニアの不安と壁 - naoyaのはてなダイアリー
    usadamasa
    usadamasa 2010/06/22
    [for:@twitter]目的がはっきりしていましたから、その「負荷分散のためのOSの動作原理」という考え方が軸になって、それぞれの知識が自分の中で体系化されていきました。知識と知識を紐づけて構造化する。それが結果とし
  • コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro

    GoGoogleが中心となってオープンソースで開発が進んでいるプログラミング言語です。いろいろなプログラミング言語の良いところを採り入れたGoは、様々な“顔”を持っています。Go言語の生まれた背景や特徴などについて、グーグルのソフトウェアエンジニアである鵜飼文敏氏にお話を伺いました。 Goが生まれた経緯や背景について教えてください。 Googleの中には検索エンジンや「Google App Engine」など、様々なサーバーがたくさんあるのですが、その中でスピードを要求する部分ではC++を使っています。ただ、C++は実行速度は速いのですが、ビルドに非常に時間がかかります。社内では分散コンパイル環境を作っていますが、仮に検索エンジンのサーバーを1台のマシンでビルドしようとすると、1日くらいの単位で時間を見ておかなければなりません。CPUなどが速くなっているのにコンパイルが遅いというのは何か

    コンパイルが速くて、スクリプト言語的に書ける言語が欲しかった グーグル ソフトウェアエンジニア 鵜飼 文敏氏 - インタビュー:ITpro
    usadamasa
    usadamasa 2010/06/01
    [for:@twitter]"CPUなどが速くなっているのにコンパイルが遅いというのは何かを考え直した方が良いのではないか、という議論があり、プログラミング言語を変えればそういう問題はなくなると考えました。"
  • マイクロソフトにおけるアジャイル開発はこんな風に進められている - Publickey

    マイクロソフトの代表的なソフトウェアは、数千人を超える開発者、数十万のソースコードファイル、数千回ものビルドを繰り返して開発される大規模なものだといわれています。 マイクロソフトのエバンジェリスト長沢智治氏は、こうした大規模な開発プロジェクトがマイクロソフト社内でどのように行われているのか、プロジェクトチームの組成から実施計画、進捗管理、バグレポートなど、その裏側を紹介するセッションをいくつかのイベントで行っています。 そこで明かされている内容は、パッケージソフトの開発だけでなく、SIerでの開発プロジェクトでも参考になる部分が多いと思われ、いつかレポート記事として紹介したいと思っていました。 今回、以前に行われたセッションビデオの存在を長沢氏ご人から教えていただいたので、開発プロセスに関する部分にフォーカスした記事としてまとめました。 記事での内容は主に、「Microsoft Tech

    マイクロソフトにおけるアジャイル開発はこんな風に進められている - Publickey
    usadamasa
    usadamasa 2010/05/27
    [for:@twitter]そこで明かされている内容は、パッケージソフトの開発だけでなく、SIerでの開発プロジェクトでも参考になる部分が多いと思われ、いつかレポート記事として紹介したいと思っていました。
  • ソースコード、読んでいますか

    他人の書いたソースコードを読むことはプログラミング能力の向上に役立つ、と聞いたことがある人は多いだろう。例えば、Rubyの開発者として有名なまつもとゆきひろ氏は、自らが監訳者の一人である書籍「Code Reading -- オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行)の序文で、「ソースコードこそソフトウェアのすべての知識の源」であり、「効率よくソースコードを読むことは、効率よく自分の能力を向上させることにつながります」と書いている。 一方で、ソースコードを読むための環境も整った。オープンソースが一般化することで、入手できるソースコードは質、量ともに、一昔前とは比べ物にならないほど充実した。 しかし、自らのスキルアップを目指して、実際にオープンソースなどのコードを読んでいる人は、さほど多くないだろう。他人の書いたソースコードを読むのは、既存プログラムの保守や追

    ソースコード、読んでいますか
    usadamasa
    usadamasa 2010/04/19
    [for:@twitter]特定の製品や技術に対するスキルは、時間が経つにつれて陳腐化していくのを免れることはできない。しかしソースコードを読む力があれば、新しいスキルをいち早く習得することが可能になる。いわば、スキル
  • ホワイの(感動的)Rubyガイド

    このはホワイ・ザ・ラッキースティフ(why the lucky stiff)により愛情を込めて書かれた。 ~ 目次 ~ このについて コンニチハ、Ruby このを開く 犬の話 赤い太陽が昇る はどのように始まるか (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース 言語と、言語で意味しているもの 品詞私がまだあなたのことを十分子供扱いして いなかったなら あなたの成長を促すための例題 そして短い旅はそっとクッション停止する 浮いている小さなコードの葉っぱ アンブローズにおけるステータスシンボルとしての葉っぱ 小さくてほとんど価値のないもの 妄想をつなぎ合わせる ブロックの奇跡 ルールを作るものと夢を生きるもの これは権利を奪われた人のため コンピュータのある城 娘のオルガン教師の話のつづき ヤギは映画を全部見たがっている 盗まれたくじ主 ルールを作る者たち 夢を

  • oreilly.com

    Introducing the AI Academy Help your entire org put GenAI to work Every employee today needs to know how to prompt GenAI, use it to enhance critical thinking and productivity, and more. With the AI Academy they can. For less. Get in on the AI-generated conversation We’ve turned five O’Reilly titles into AI-generated podcasts, designed to make learning even more engaging. Here’s how we did it.

    oreilly.com
  • 1