/note/tech

いまどきの分析設計パターン10選

MEMO:

日本マイクロソフトのソフトウェアエンジニアは20人ほどに縮小された?

Blind For Businessに、2024年2月29日に、Microsoftは日本でソフトウェアエンジニアを募集しているかと質問したユーザーに対して、日本マイクロソフトは、最近、エンジニアチームの80%をリストラし、現在20人足らずしか残っておらず、アカウント・エグゼクティブ、営業担当者、マーケティング・スペシャリストだと返信が付けられていました。

この小さなエンジニアチームは、例えばAzureを使ったシステム設計など、マイクロソフトに顧客を取り込むための対外的なコンサルタント業務のみを行っていて、基本的には技術的な売り手だそうです。

MEMO:

gostub/gostub - シンプルなスタブAPIサーバ作成ライブラリ

関連:

当社サービスへのサイバー攻撃に関するご報告とお詫び

株式会社ドワンゴ(本社:東京都中央区、代表取締役社長:夏野剛)は、2024年6月8日付けのニコニコインフォで公表したとおり、6月8日早朝から当社が運営する「ニコニコ」のサービス全般を利用できない状態が続いております。本障害は、ランサムウェアを含む大規模なサイバー攻撃によるものであることが確認され、現在サービスの利用を一時的に停止し、被害状況の全容把握と復旧に向け、調査と対応を進めております。

当社は、サイバー攻撃を確認後、直ちに関連するサーバーをシャットダウンするなど緊急措置を実施するとともに、対策本部を立ち上げ、被害の全容解明、原因究明およびシステムの復旧対応に総力を上げて取り組んでおります。現時点までの調査で判明した内容および今後の対応について、以下の通りご報告いたします。

ユーザーの皆様、関係者の皆様に、多大なるご迷惑とご心配をおかけしておりますことを心より深くお詫び申し上げます。

MEMO:

「わし詳細設計書書くのやだよ」システム開発で細かければ細かいほど仕様変わった時の変更が爆増してメンテコスト...

わし詳細設計書書くのやだよ( ̄・ω・ ̄)

細かければ細かいほど仕様変わった時の変更が爆増してメンテコスト爆上がりする。かけるべきコストはそこじゃない。 必要なのは完成に必要要件がまとめられたもの。それを元に受け入れ試験書がつくられる。それクリアすればどう作ってようが構わんわけだ

改修コストを下げるための設計になってることは前提だけどね。

だけど、詳細設計書が必要となる現場はこの設計することはできない。だってそれできてたら詳細設計書いらないわけで…

必要に応じて状態遷移図とかシーケンスとか、ER図書くのは許されるけど、日本語の文章で書かれたドキュメントなんていらん。完了条件だけくれ。そこからテストコード起こして、それで機能を満たしているか検証する。これだよ。

MEMO:

変化と挑戦:NoSQLとNewSQL Serverless Databaseの技術革新とマルチテナンシーの秘密

「どの言語を使って開発してもらってもいいです」 「ほんとですか?じゃあPythonやGo、Rustあたりを使って...

「どの言語を使って開発してもらってもいいです」

「ほんとですか?じゃあPythonやGo、Rustあたりを使ってサクっと開発したいんですが」

「その、GoやRustっていうのはちょっと…」(※)

「え?どの言語でも良いって言ったじゃないですか?」

「言いましたけど、そのGoやRustを扱える技術者が集まらないんです」

「それって、どの言語でもいいわけじゃなくて、技術者を集めやすい言語の中で、どれでもいいのを選んでねってことですよね?」

「ええ、そうなります」

「ちなみに開発者を集めやすい言語というのは?」

「JavaやC#になりますね」

「・・・(選択肢が狭すぎる)」

という会話を最近したんだけど、残念すぎる。集めた技術者に覚えさせればいいじゃない。どの言語でもいいなんて言うから、そう思うじゃない。

(※)話した人自体が、そもそもRustのことをそもそもご存知じゃなかった。

@fumokmm

MEMO:

エディターの固定スクロール機能について - Visual Studio (Windows)

固定スクロールをオンまたはオフにする

  • Visual Studio のメニュー バーで、[ツール]>[オプション]>[テキスト エディター]>[全般] を選びます。
  • [固定スクロール] セクションで、[Group the current scopes within a scrollable region of the editor window] (エディター ウィンドウのスクロール可能な領域内で現在のスコープをグループ化する) チェックボックスをオンにします。

MEMO:

グリコ、ITの精鋭部隊を年収500万円で募集→「悲劇のトラブル招いた原因」

やらない事を決めるプロダクト設計

モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

MEMO1:

MEMO2:

PRDやDesign Docを書かなくなった

アプリケーションの動作を担保するテストをどう書くか

アプリケーション全体のテストを書くには、外部リソースに依存する部分をレポジトリとして抽象化することが大切です。 アプリケーションから外部依存をレポジトリとして分離することでロジック自体のテストが書きやすくなります。 完全なクリーンアーキテクチャを採用していなくても、外部依存要素を抽象化し、テストを簡素化するという考え方は有効です。 レポジトリの実装のテストは、実際のリソースを用いるかエミュレーターを利用するかなど、状況に応じて適切な方法を選択していきましょう。

イベント駆動とドメインモデルの完全性を意識したアーキテクチャ設計

組織が記憶喪失になるのをどうすれば ~ ryuzee技術顧問にきいてみた

大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』

弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。本記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。

バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。

Ubuntu 24.04 LTSの日本語Remixについて

長年にわたりISOイメージ形式で配布してきた「Ubuntu日本語Remix」ですが、Ubuntu 24.04 LTSではリリースしないことに決定しましたのでお知らせします。

理由は以下の通りです。

  • 新しいインストーラー採用に伴うカスタマイズ難易度の増加
    • Ubuntu 24.04 LTSから新しいインストーラーが導入され、ISOイメージのファイル構成が変更されました。この変更により、ISOイメージをカスタマイズすることが難しくなりました。
  • 多言語ライブ環境の非対応化
    • Ubuntu 24.04 LTSの公式ISOイメージは英語以外のライブ環境に対応しておらず、日本語ライブ環境を実現するためには大きな変更が必要となりました。

Ubuntu日本語RemixのISOイメージの主な利点は、日本語ライブ環境が使えること、およびインターネット未接続状態でも日本語のデスクトップ環境をスムーズにセットアップできることでしたが、同様の対応をUbuntu 24.04 LTSで行うことは上記の理由で困難であるため、リリースをスキップする決断に至りました。

24.10以降のバージョンについても同様となる見込みですが、ISOイメージのカスタマイズ機能が提供されるなど状況の変化により再びUbuntu日本語Remixの配布を行うことになった場合は、改めてお知らせいたします。

Windows は I/O 関連の API はぜんぶ Windows Defender や 3rd party のために filter/hook でウィルススキャナ...

Windows は I/O 関連の API はぜんぶ Windows Defender や 3rd party のために filter/hook でウィルススキャナとか噛ませるフレームワークみたいになってるはずなので、TeX に限らず小さなファイルたくさん I/O する処理は全部絶望的に遅いはず(git とかもそう

Windows でも TeXLive のアップグレード作業完了。動作確認で typeset したら、絶望的に遅かった(学部時代、よくこれでレポート作成してたな...)。これだと確かに Overleaf で良いわってなる。

なぜ TeX はここまで Windows との相性が悪いのか。

@watamario15

@orumin

ReFS (Resilient File System) でフォーマットされる DevDrive とか作ってそっちでやる、とかやるしかなさそうで、公式に npm や pip や cargo のパッケージキャッシュの読み書きする場所を DevDrive に逃す方法まで案内されてる

Windows 11 で Dev Drive を設定する | Microsoft Learn

@orumin

あとは Windows Defender そのものを無効化するとかでも似た効果は得られるはずだけどさすがにそれは危険性が高すぎるので特定のファイルツリー配下でのみ無効化できる DevDrive をつくろうということで……(パーティション増やさなくても VHD のディスクイメージ作ってマウント、もできる

@orumin

旨い小料理屋に行くと、なんでも旨いし、不味い店はなんでも不味い。旨い店の亭主は味覚がちゃんとしているから...

旨い小料理屋に行くと、なんでも旨いし、不味い店はなんでも不味い。旨い店の亭主は味覚がちゃんとしているから、不味いものなんて出せないんだな。ソフトウェア作りもこれと同じで、あれが出来てこれが出来ないということは、本当は無いのだろうと思っている。

@sugimoto_kei

世の中の一部の設計論は、とにかく味の素を振れ、みたいなことを言っている気がする。それが「設計原則」だそうだ。

@sugimoto_kei

MEMO:

関連:

マネジメントに必要なのは胆力や、

最近、社内外からマネジメントの相談を受けることが多くなりました。

「どうすればマネージャーになれますか?」と「どうすればマネジメントができるようになりますか?」の2つが多いです。

結論、知らんし、わからん。です。

ただ、自分なりに2つの真理があります。

1. マネジメントに最も必要なスキルは胆力。

2. 人は、自分が受けたマネジメントしか他人にできない。

色々見えるようになってきてわかったのは、マネジメントの仕事っていうのは、定量的に見るとチームのKPIの達成ですが、実際にはその達成のためにこういう感じのことをする仕事のことなんだと思う。

  • 放置できない問題であれば、首も手も突っ込んで自分で動かす。他人の失敗が原因だったとしても。

  • 歪みのない完璧な状態はいつだってないって前提で歪みに正面から向き合ってなんとかする。歪みを嘆くだけにしない。

  • 思い通りに他人が動いてくれたら奇跡くらいの気持ちで全体のバランスをとる。他人が思い通りに動くと思ってるのは娘(4歳)だけで十分。

  • 間違ったときは、「ごめん、私が悪かった」って言う。しょうもないプライドは捨てる。

  • 厳しいことちゃんと厳しく言う。言える距離感を保つ。

  • 部下を守る。自分の立場や周りからどう評価されるかとかは後回し。

  • 数字と正しい言葉で話す。それっぽい雰囲気でうやむやにしない。

最後に、「どうすればマネージャーになれますか?」と「どうすればマネジメントができるようになりますか?」の2つに答えて終わります。

どうすればマネージャーになれますか?

マネージャー = 役職(ラベル)であればアサインされたらなれます。

マネージャー = マネジメントの仕事をする人であればマネジメントができるようになればなれます。

どうすればマネジメントができるようになりますか?

あなたがなりたい姿のマネージャーと一緒に働くか、経験豊富なマネージャから学ぶ機会を持って、セルフフィードバックサイクルを続ければできるようになります。

(私は今でも師匠にサウナでよく相談します)

KADOKAWAグループの複数ウェブサイトにおける障害の発生について

株式会社KADOKAWA(本社:東京都千代田区、取締役 代表執行役社長 CEO:夏野剛)は、現在当社グループの複数のウェブサイトが利用できない事象が発生していることをお知らせいたします。この原因として、現時点では、当社グループが利用しているサーバーに対して、外部からの不正なアクセスが行われたことによる可能性が高いと分析しております。

お客様、お取引先様をはじめ、関係先の皆様に多大なるご心配とご迷惑をおかけし、深くお詫び申し上げます。

本件について、影響を最小限にとどめるべく、システムの保護と復旧に向けて、現在対応を進めております。現時点で判明している内容について、以下の通りご報告いたします。 

1. 経緯

6月8日(土)未明より、当社グループの複数のサーバーにアクセスできない障害が発生しました。この事実を受け、データ保全のため関連するサーバーを至急シャットダウンしました。同日中に社内で分析調査を実施した範囲においては、サイバー攻撃を受けた可能性が高いと認識しております。

2. 現在の状況

現在、調査・対応を進めておりますが、現時点で「ニコニコサービス」全般、「KADOKAWAオフィシャルサイト」、「エビテン(ebten)」などで影響が発生していることを確認しております。なお、情報漏洩の有無についても調査を進めております。

3. 今後の対応

今後、外部専門家や警察などの協力を得て調査を継続し、迅速に対応を進めてまいります。より正確な影響範囲を調査・特定し、お知らせすべき新たな事実が判明しましたら、改めてお知らせいたします。

以上

MEMO:

Table-driven testing に縛られない Goのテストパターン

アジャイルを採用したソフトウェアプロジェクトの失敗率はその他の手法と比べて268%も高いことが判明

Microsoftの専門家「ウォーターフォールは一切メリットがないのでやめておきなさい」アメリカでは...

SLO Docsのすゝめ

高速インプロセスデータベースDuckDB 1.0.0がリリース

シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース

オープンソースとして開発されているOLAP用データベース「DuckDB」が正式版となるバージョン1.0に到達したことが発表されました。

OLAP用のデータベースといえば、クライアント/サーバ方式の大規模なサーバアプリケーションが一般的ですが、DuckDBは、SQLiteのようにローカル環境上でシングルバイナリでローカル環境でも簡単に実行できる点が最大の特徴です。

SQLでクエリを記述すると同時に、Python、Java、Node.js、Rust、Go、C/C++、R、ODBCなどから呼び出せるAPIも備えており、クライアントアプリケーションに組み込むこともできます。

DuckDBは高速なOLAP処理を実現するために並列実行が可能なカラム型エンジンを搭載しています。

単一ファイルとして扱える独自フォーマットのデータベースファイルに加えて、CSV、Parquet、JSON形式のデータの読み書きも可能。Amazon S3のエンドポイントにも対応します。

富士通の下請けで仕事してた時の話

この記事を読んで思い出した、少し前の話

ただ思い出したこと書きなぐるだけなので、内情がどうとかそういうのは知らない

http://tnaoto.hatenablog.com/entry/2019/04/09/070227

その頃俺は富士通やパナソニックの下請けで現場に入る、所謂人売りIT企業(SESって言うの?)にいて

どの現場も多かれ少なかれ酷い事はあったんだけど、富士通の現場は本当に最低だった

製造工程から参加してたんだけど、俺の主な仕事はOracleプロシージャで作られたシステム間連携処理を

富士通の用意しためちゃめちゃ使いにくいExcelフォーマットで文字にして起こすこと

円柱の図で表したテーブルを矢印と線を使って繋げて取得元テーブルを表現

取得項目は図の右に表を書いて、条件と結合は全てSQLをそのままコピーして「項目Aと項目Bを結合」って日本語に書き直してた

それを200本くらい?作る仕事。

それはまぁ酷いとは言え人売りIT企業としてはオーソドックスな仕事じゃないですか?

でもプロシージャは毎日書き変わっていて、自分がどれを設計書に起こせば良いか分からなくてさ

確認するには富士通の奴に聞かないとダメなのね

でもあいつら朝来ないんだよ、早くて11時くらい、遅いと18時とかかな。連絡無しに来ない日もあったな

そのくせ会議大好きで、日次ミーティングは絶対にやらなきゃならないってルールなんだよ

始まる時間はあいつらの思いつき。でも絶対に定時後。

もう嫌で嫌でしょうがなかったなー

結局一年半くらいやったのかな

最後は会社自体辞めて終わり

はてなにいるとキラキラしたエンジニアを良く見るけど

俺の知ってるIT業界ってこういうのなんだよね

富士通やPやHやNの下請けで、大企業の古臭いシステムを泥臭く作って、何か起きた時の言い訳のために無意味なExcelファイル量産して。

あー、もう二度と戻りたくない

分散システム?モジュラーモノリス?モノレポ?全部やってみた結果は?

アイテムレビュー基盤で導入したアーキテクチャとその成果

CQRS+ES解体新書

メッセージとイベントを中核に置いたシステム設計の有用性について

⽉間17億レコードを処理する動態管理システムのアーキテクチャ

「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ

MEMO:

関連:

人類滅亡の可能性も。AIのリスクについてOpenAIやGoogleの元/現従業員が共同声明

声明ではAI技術のリスクとして、既存の不平等をさらに固定化したり、誤情報を拡散したりすることが挙げられているほか、自律AIシステムの制御喪失により人類滅亡の可能性があることも指摘している。

声明の発表者らは、科学界や政策立案者、一般市民からの適切な指導があれば、これらのリスクは十分に軽減できると期待している。しかし、AI企業には効果的な監視を回避する強い財政的インセンティブがあり、現行の企業統治だけではこれを変えるのには不十分であると主張している。AI企業が保有する非公開情報は膨大であり、その情報共有の義務は弱い現状も問題視している。

発表者らは声明内で、AI企業に対して以下の4つの原則に従うように要求している。

  • AIリスク関連の懸念を理由とした、自社への批判を禁止する契約を結ばず、報復も行なわないこと
  • 従業員が匿名でAIリスク関連の懸念を提起できるプロセスを整備すること
  • オープンな批判文化を支持し、AIリスク関連の懸念を一般人や企業の取締役会、規制当局、独立組織に提起できるようにすること
  • 機密情報を不必要に公開することは避けるべきだが、適切な報告プロセスが存在しない場合に公に懸念を報告しても報復措置を取らないこと

プライベートなメールや画像をスキャンするEUの「チャット規制法」成立が秒読みか、メッセージアプリ...

MEMO:

外部業者による要件定義なんて要らない

全国1800自治体のITシステム共通化へ、人手不足に対応…給付金や学校事務で

政府は、全国約1800の地方自治体が使うITシステムを共通化する方針を固めた。人口減少とともに、自治体の職員も不足してシステムの維持が困難になる恐れがあり、学校の事務など各自治体に共通する業務のシステムを統一して行政事務を効率化する。政府が6月に策定する「国・地方デジタル共通基盤に関する基本方針」に盛り込む。

都道府県や市区町村は現在、新たな業務が増えるたびに個別にシステムを構築しており、300を超えるシステムを保有する政令市もある。今後は、政府が主導してシステムを整備し、自治体が利用する形に転換する。

1994年に330万人いた自治体の職員は2023年に280万人にまで減少した。人手不足が深刻化しており、政府のデジタル行財政改革会議によると、情報システムの担当者が1人以下の自治体は300近くに達する。職員がさらに減れば、システムの維持や住民サービスの提供にも支障を来しかねず、「各自治体に共通する業務は、システムの統一化が望ましい」との声が上がっていた。

MEMO:

設計書などドキュメント類は一切作りません!でもその代わりシステムの出来上がりは超速で価格も激安です。って...

設計書などドキュメント類は一切作りません!テスト結果もありません!でもその代わりシステムの出来上がりは超速で価格も激安です。っていう恐ろしい地方ベンダーの存在を知った。とにかく安く早くを求める地方企業や支社などの要望とマッチして管理不能なシステムが量産されてる

MEMO:

『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』が出版されます

2021年にO'Reilly Media, Inc.から出版された「Learning Domain-Driven Design」の待望の日本語訳『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』がついに出版されます。

2020年代に、ドメイン駆動設計を学ぶための最初の入り口としてどの本を読めば良いかは、かなり悩ましい...というのはよく言われるのですが(元祖のエバンス本はさすがにだいぶ古くなってきたし、回りくどい表現も多いし...)、そんな時におすすめできる1冊です。

2021年に原著が出版された時に買ってざっと読んでいたのですが、パート1で戦略的DDD(主にビジネス面からの分析)、パート2で戦術的DDD(主に実装面のプラクティス)、パート3でそれを使った実践の方法という流れで、それぞれのトピックに集中できるようになっています。

特に後半は現代的なプラクティスや、アーキテクチャとの関係も明示されていて、1冊で基本的な知識をざっと習得する、という目的には丁度良い構成です。

個人的にはパート1と、パート2の結びつきが大事というか、パート1でユビキタス言語と、境界づけられたコンテキストが揃ったらもう実装に行く?というのは有りますが、この辺は実装例などと比較しながら読み進めた方が良さそうです。DDD百科事典ではなく、あくまで入り口に立つための本だし、そのために必要なところと、そうじゃないところをメリハリつけられているな、という印象でした。

関連:

イテレータによってGoはどう変わるのか - Gopher Day Taiwan 2024 基調講演登壇レポート

筆者のプレゼンテーションは、以下の3つについてお話しました。

  • イテレータとは何なのか?
  • Go1.23以降で加わるイテレータに関する変更について
  • イテレータが作るGoのエコシステムについて

ここでは、イテレータの概要について説明しますが、さらなる詳細はGo Conference 2024でもお話する予定です(2024年5月27日現在)。

Goにもイテレータが入るのか

DEV UPDATE vol.1 〜オブザーバビリティ by Datadog〜 #DEVUPDATE

技術は日進月歩で進化しており、それは既存の技術についても同様です。普段仕事で使っている技術について、最新トレンドをキャッチアップしているでしょうか?

DEV UPDATEでは、すでに知られているテクノロジーに関する最新情報・トレンドについて、それを推進するベンダーの方に話してもらうイベントです。オンラインで開催しますので、手軽に聞きつつ、情報をアップデートしましょう!

第一回のテーマは「オブザーバビリティ」です。DatadogのSenior Developer Advocate、萩野 たいじさんにお話いただきます。

Zig探訪

YAGNIと拡張性のあいだ

「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで

Googleの検索アルゴリズムの内部資料が漏洩か?「SEO業界で長年疑われていたものが明らかに」

ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法

7/20発売か

注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望

価値のあるテストを書き続けるために、考え実践していること

学生の頃インディーゲーム作ってて賞とか取ってましたていう新卒のエンジニアの子がいたんだけど会社でうまく...

MEMO:

Googleがクラウドから「絶対に消えてはいけないもの」を消してしまう

2024年4月下旬に、Googleが誤ってオーストラリアの年金基金UniSuperのGoogle Cloudアカウントを削除してしまったとThe Guardianが報じました。UniSuperが管理している年金の総額は日本円にしておよそ17兆2500億円。UniSuperにお金を預けている62万人が1週間以上も自分の口座にアクセスできない状況が続いたそうです。

実は、このような事態を防ぐためにでしょうか、UniSuperはふだんからクラウド上で2カ所にデータを保存しておいて、万が一どちらかがダウンしても別の場所からデータを復元できるようにしていたそうなんです。ところが、今回はアカウントそのものが削除されてしまったため、せっかく別々に保存しておいたデータが同時に消し飛ぶハメに…。

幸いUniSuperは別のプロバイダ元にもデータを保存していたため、5月2日には復旧を果たし、預金も無事だったそうです。

MEMO:

ワールド・ワイド・ウェブの消失(八田真行)

メールのトランザクション設計

A.DBトランザクション後にメールを送る

同一トランザクションはあきらめ、データベースを先にコミットし、その後でメールを送る、という設計です。

メール送信でエラーになったら、データベースには書き込めているので、メールだけ再送するように仕組みを作ったりします。

B. 送信リクエストテーブルに書き出し、別プロセスで送る

一度メール送信要求をテーブルに書きだして、そこで同一トランザクションとし、別プロセスがその送信要求を取り出して、実際にメール送信するという設計です。

C. [現実解] A + ローカルキューに送る

さてここでSMTPのプロトコルについて考えてみます。もともとサーバをリレーして目的の宛先まで届く仕組みです。直接外部送信用のSMTPサーバに送ろうとするから、失敗の可能性が高まるわけです。ローカルに送ってスプーリングすればエラーの確率は、ほぼ考慮しなくても良くなります(プロセスの起動忘れか、ディスクフルのケースくらい、のレベルの違うトラブルだという点において)。さらに流量制御も比較的容易にできるようになります。

同じことがやはりキューイングの仕組みをもつアーキテクチャ全般に言えます。MQを使ってデータ送るときも、ローカルキューを作ってそこからリレーさせるのが定石のようです。

MEMO:

Keeper of the Seven Keys 〜Four Keysとあと3つ〜

技術書典16

後で見る

やってみてわかった クリーンアーキテクチャの勘所

見えないものに着目すると上手くいく、モデリングの勘所

すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術

MEMO:

アーキテクチャを突き詰める Online Conference

品質を担保するには、適切なアーキテクチャの選択と実装が重要となっています。これは全エンジニアに共通することでありながら、昨今はサービスの多様化により、機能の一つからシステム全体までと設計にミクロとマクロ両方の視点が求められ、その難易度も上がっております。

本カンファレンスでは、半日を通じて、ご登壇者の方々に今一度システムの基盤となるアーキテクチャの思考法や手法といった全体像から、他社が実践した具体的な構築事例といった部分像までをお話しいただくことで、アーキテクチャに対する考え方を学び直し、整理することができるカンファレンスを目指します。

MEMO:

大きな泥団子に立ち向かう

DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介

MEMO:

欠陥を早期に発見するための Software Engineer in Test とその重要性

Deno で作る快適な “as Code” プラットフォーム

MEMO:

“非同期な開発組織”におけるドキュメントの「強み」 時間の節約、深く理解できる、フィードバックを深く・平等...

脳に収まるコードの書き方

ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。

本書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します。自分のチェックリストからチームワーク、カプセル化から分解、API設計から単体テストまで、ソフトウエア開発の重要な課題に対する考え方やテクニックを紹介します。サンプルプロジェクトで使うコードは、Gitリポジトリの形で入手でき、試しながら学べます。

有効に機能するプロセスを選び、効果のない方法論から脱却する方法。チェックリストを使うことで、すでに持っているスキルを活用する方法。アプリケーションのバーティカルスライス(ひとつの機能をUIからバックエンドまで一通り実装したもの)を作成しデプロイすることで、分析による停滞から脱却する方法を学びます。さらに、コードの腐敗や不必要な複雑さにつながる要因を避ける方法、コードの振る舞いを変更するためのテクニック、コードの問題を迅速かつ効果的に解決する方法について解説します。

MEMO:

[Software Design連動企画] 実践クエリチューニング

なぜSQLiteはバイトコードを使うのか

Amber

MEMO:

ドメインイベントを伝達するためのモデリング技法

JJUG CCC 2024 Spring

データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などでは...

滅びてほしい認証系の実装の話

マイクロサービス化するならリビルドで!ビジネスロジックをGoで書き直してわかったこと

Microsoft賛歌

Domain Event

人月商売のIT業界に迫る「2025年の崖」、SIer幹部の本音が漏れるお先真っ暗な未来

一番スムーズに進んだウェブ開発プロジェクトは、ミーティングなんて週に一時間のみ、見積もりやタスク整理...

一番スムーズに進んだウェブ開発プロジェクトは、ミーティングなんて週に一時間のみ、見積もりやタスク整理もろくにしてませんでした

一番上手く行ってないプロジェクトは、作業時間の半分以上はミーティングやチャット、タスク整理や見積作成で消耗してました

不思議なものですね……(白目)

@cubbit2

MEMO:

「チューニング名人は設計名人にあらず。驕ることのないように」、というのはトラブルシューター時代...

「チューニング名人は設計名人にあらず。驕ることのないように」、というのはトラブルシューター時代の上司から言われた言葉。今も肝に銘じている。

@copinemickmack

MEMO:

米国人にタスク見積もりさせるとメールの確認みたいな日本人なら入れない細かいタスクをビッチリ入れて...

米国人にタスク見積もりさせるとメールの確認みたいな日本人なら入れない細かいタスクをビッチリ入れてくるので、それはいちいち計上しなくていいのでは? と指摘したら「情報共有のコストがタダだと思うな」という返事だった。日本人すぐ色んな人に共有メールとか送りたがるんで、教訓的だなと思った

@copinemickmack

MEMO:

TypeScript 関数型スタイルでバックエンド開発のリアル

仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の...

【難しい話禁止!!】今更聞けない設計の話

後で見るかも

さまよえるサードパーティCookieとオープンインターネットは何処へ

Googleは、2024年4月23日、ChromeのサードパーティCookieサポート廃止のスケジュールを延期することを発表しました。

延期にあたり、Googleからのコメントは以下の通りです。「私たちは、業界、規制当局、開発者からのさまざまなフィードバックの調整に関する継続的な課題があることを認識しており、エコシステム全体と密接に関わり続けていきます。また、CMAが市場参加者に6月末までに提出するよう求めている業界テストの結果を含むすべての証拠を検討するための十分な時間を確保することも重要です。これら2つの重要な考慮事項を考慮し、私たちは第4四半期下半期中にサードパーティCookieの非推奨化を完了させるつもりはありません。私たちは引き続きCMAおよびICOと緊密に関わり、今年中にそのプロセスを完了させたいと考えています。合意に達することができれば、来年初めからサードパーティCookieの非推奨化を進める予定です。」

MEMO:

半導体の熱問題を解決できる技術、東大が開発

東京大学の研究グループは9日、半導体シリコンの熱放射を倍増させる技術を開発した。

高性能半導体デバイスにおいては、局所的な発熱により性能や信頼性が低下してしまうことが問題となっている。しかし研究グループでは、シリコン膜の表面をわずかに酸化させるだけで、プランクの熱放射則で決まるとされていた熱放射を倍増させることに成功した。これにより、発熱問題解消に期待がかかる。

MEMO:

さよなら、8ビットCPU「Z80」

[...]そんなZ80の生産が、誕生から48年を経ていよいよ終了するという。Tech系情報サイト『Ars Technica』が2024年4月23日に掲載した記事によれば、2024年4月15日にZilogはZ80の製造を終了する旨をニュースリリースで発表したという。

もちろん、現在販売されている製品は1976年発売当時のZ80そのものではなく、互換性のある「Z84C00」と呼ばれるマイクロプロセッサだ。しかし、その外観は当初と変わらないデュアルインラインパッケージ(DIP)のままだ。コアプロセッサ本体を長方形のセラミックまたはプラスチックで覆い、側面に20本のピンを備えるいわゆる「ゲジゲジ型」のチップだ。CPUの外観といえば、いまだにZ80のそのゲジゲジ姿を思い出す人は少なくないだろう。

クロック数など使用は若干異なるが、Z84C00チップには13モデルが存在している。その全てが製造停止になるという。ZilogはZ80と互換性のある「eZ80」を提供していて、今後はZ80の需要をeZ80でカバーするという。

また他社の互換製品も幾つか存在し、パッケージや仕様は異なるものの、Zilogの製造中止によってZ80を今後も必要とする業界が大きく混乱することはなさそうだ。ただ、古式ゆかしいあのゲジゲジ姿が消えてしまうのは惜しいところだ。

関連:

個人的におすすめしたいFeature-Sliced Designというフロントエンドアーキテクチャ設計方法論

あとで見るかも

「総合テストで障害がでることは許されません、他の案件でも総合テストはいつも障害ゼロです」って某銀行の...

「総合テストで障害がでることは許されません、他の案件でも総合テストはいつも障害ゼロです」って某銀行の人に本気で言われたことがあります。仕方ないから前工程で総合テストケース全部やって障害も潰して、意味ないなと思いつつ全く同じケースを総合テスト工程でやりました。もちろん障害はゼロ。

@coffee_nomimasu

MEMO:

保守運用をケチる → みずほ銀行 セキュリティを軽視する → 7pay(セブンペイ) 基幹システムの切替...

保守運用をケチる → みずほ銀行

セキュリティを軽視する → 7pay(セブンペイ)

基幹システムの切替を甘く見る → グリコ

ITプロジェクトのしくじり三銃士になりそう。

@maskedanl

MEMO:

官製デスマーチがやってくる、全国の自治体やベンダーが証言するシステム移行の実態

「もうデスマーチが始まってますよ」。自治体情報システムの開発を手掛ける複数のベンダー幹部は口をそろえる。自治体は2025年度末までに主なシステムを標準仕様に準拠させ、政府が契約したクラウドサービスに原則移行しなければならない。ところが標準仕様の改版が続いている上に、岸田文雄政権の経済政策に伴うシステム改修が追い打ちをかけているためだ。

「全システムをこれだけの規模で一斉に切り替えるという作業はやったことがない」。あるベンダーの幹部はこう語る。全国約1700の自治体はまず、2025年度末までに計20の基幹業務システムを標準仕様に基づいて一斉に作り直すという、前代未聞のシステム改修を迫られている。

さらに、政府が決めた2025年度末という期限は、自治体システムに特有の事情を加味すると前倒しが欠かせない。文字通り解釈すれば2026年3月末が期限だが、事実上2026年1月末が移行期限という。自治体の現場は年前半が繁忙期になるためだ。

⾃治体において毎年2⽉中旬から確定申告が始まると、この納税データを使う住民税などの課税処理が集中する。新年度の前後は転居に伴う転入・転出手続きがピークを迎える。導入時に自治体の繁忙期を避けようとすると、2024年5月現在で残された時間は実質1年半ほどしかないわけだ。

つまり全国の自治体は今後1年半ほどでガバメントクラウドの構築作業や、アプリケーションやデータ移行を自治体職員が確認する作業、さらには既存システムや外部システムとの接続テストなどを一気に進める必要がある。もちろん20業務のシステムの組み合わせは自治体によって異なるので、各自治体の状況に合わせて対応する必要がある。

MEMO:

SQLは滅ぶべきか

でかい釣り針が来たので釣られてみる。とりあえず以下の資料を読んでいただきたい。そんなに長くないのでサクッと読める。

SQL滅ぶべし | ドクセル

レポートの講評:最初の着眼点はよかったです。歴史と海外に目を向けるとなお良かったでしょう。大体自分が考えつくことは既に誰かが考えているものです。評価:C

以上、この話はおしまい。二度と蒸し返さないように。

MEMO:

日本のITが糞なのは情報系という悪い意味でブルーオーシャンな学部のせい

Fランや専門学校は荒れてるわけじゃなく覇気がない

という意見をここ最近見るようになった

それで思うのが情報系の学部なんだよね

俺ら35歳くらいのオッサン世代は

情報系のやつらってべつにパソコンが得意だったから選んだわけじゃなく、しいて言うならパソコンくらいしか趣味がないみたいな連中が情報系に行くんだよね

機械系とかは車大好き!みたいなやつらが多いイメージなんだけど、情報系は覇気がない

だから起業なんて情報系のやつらはしない

その結果、三木谷もホリエモンも孫正義も、サイバーの藤田も南場智子も情報系ではないし、前澤は高卒だし

こういうやる気のあるやつに負けるんだよね

日本は小中高でろくに情報系の教育をしないから、不本意的に情報系にたどり着いたチー牛タイプの独壇場になってしまった

陽キャなやつらは情報以外に行ってしまうので、情報系がチー牛のブルーオーシャンになってしまった

GIGAスクールで陽キャなやつらに情報科目に触れさせ、パソコン面白いじゃんと思わせて情報系に進学させてほしい

いい意味で情報系がレッドオーシャンになってチー牛な学生が情報系からはじかれて

覇気のある学生が情報系に来てほしいと思う

MEMO:

SQL滅ぶべし

MEMO:

関連

大規模ゲーム開発におけるContext活用パターン

MEMO:

引き受けないお仕事の基準

たまたまお仕事の断り方という記事を読んだ。ひとり会社を経営してもうすぐ5年が経とうとしている。うちの会社では過去に1度、大きな失敗を経験してふりかえりを行った。その際に引き受けないお仕事の基準というものを社内で作成した。その失敗に至った原因の1つとして、本来引き受けるべきではないお仕事を受けてしまったと後になって反省した。

報酬が魅力的でも信用できない相手や嫌いな相手との取引

入金が遅い取引

自分のスキルアップにならない取引 (単純作業)

価格的に不利な取引

在庫などでこちらがリスクを負う取引

現金の出し入れや現金売上があがる取引 (手間が増える)

一般的に逆に思えるかもしれないが、本当の意味でお仕事は選ばなければいくらでもある。なんらかの理由で急ぎで運転資金や生活費を稼ぐ必要があり、仕事の内容を精査できない状況はあるかもしれない。それは向こうから依頼がくるのではなく、自らがそのお仕事を選択しているので別に構わない。

それは零細企業ほど他社のお手伝いにさけるリソースが小さく、それをいっときの雰囲気で判断してしまうと、中長期でみてうまくいかないことがある。むしろ、そのお仕事が失敗したとしても、自社にとっての収穫や価値があることを慎重に選ばないといけない。先の当社の失敗経験でいえば、結果的に2ヶ月ただ働きしたこととなり、何も得られるモノはなかった。

Design Docs を活用して効果的にプロダクト改善

MEMO:

管理職になって初めて気づくこと

管理職になって初めて気づくこと

1.命令で人は動かない

2.厳しくすると嫌われる

3.優しくするとナメられる

4.優秀な人ほど、早く去っていく

5.部下に尽くすのは当然だと思われている

@Nicotama222

MEMO:

なぜ管理職は罰ゲームなのか。

SAPは何故使いにくいのに、世界中で愛されているのか

pyinfra

MEMO:

グリコ、チルド食品の出荷停止を延長 5月中旬→「未確定」に

江崎グリコは5月1日、システム障害によって出荷業務を停止しているチルド食品について、停止期間が延びると発表した。これまで5月中旬の再開を目指していたが、1日時点で再開時期は「未確定」という。

あらー...

損害賠償金はどのぐらい行くだろうか

NEXT