/note/tech

2022年度版、発注側単価と対応するエンジニアの表

2022年度版、発注側単価と対応するエンジニアの表

・月400 -> ちゃんとしたシステムアーキテクト

・月250 -> つよつよエンジニア

・月160 -> シニアエンジニア

・月120 -> 経験2~3年の若手エンジニア

・月70 -> 作業員 or 新卒

・月50 -> ロースキルエンジニア

@yohira_dev

システムアーキテクトは要件定義・コンサルも兼ねる場合が多いので月額でお願いし続けるというよりかは最初に一気に入ってもらう(実動時間自体は少なめ)になると思う。ただしこれができる人が本当に少ないのでやっぱ単価は上がり続ける。需要も減らないし。

@yohira_dev

新卒よりロースキルの方が低いのはなぜ?っていうのは「ロースキルであることを受け入れた人」に対しては期待値が下がるため。

今できることも必要なんだけどやっぱ将来への期待とかも単価に跳ねてくると思う。言われたことしかやりませんできません、って人に運用とか任せたくないでしょう?

@yohira_dev

というわけでね、つよつよをね、目指していこうと思うんですけども

@yohira_dev

そんなに高騰してるの?

経験2-3年のエンジニアの発注単価は70〜80万前後のイメージだった。

USB紛失事件 尼崎市「再委託を知らなかった」はウソ 業者側から反論証言

グダグダで草

自律駆動型組織をつくるためのオープンな情報共有の方法

コードレビューを通じたチームパフォーマンス向上のための取り組み

ハードシングスを引き起こしたHype Driven Development(HDD)

「悪い報告を上にあげると罰せられる組織はダメ」→今回のauの件は深夜2時に社長までエスカレーションされて...

「悪い報告上げると罰せられる組織」でもここまで大事になったら「もはや自分のレベルではどうにもならない」「お前の責任逃れをしている場合か」でゴリ押しできるので最上位層まで一気に到達すると思うんだよな。

ゴーファーくんと辿るプログラミング言語の歴史

フローとストック

noteはフロー、docはストックという体裁で作っているが、noteの情報の増え方に対応しきれていないという問題がある。

新卒1年目に使ったエンジニア質問テンプレート

(1) 実現したいこと

(2) 実現するために自分が試した内容とその結果

(3) 調べた内容や資料

(4) 原因だと思われそうな箇所

関連:

データモデルはドメインモデルに先行する

我々はまず、泥臭い分析と設計を重ね、あるべきデータモデルを完成させた。そのうえで実装方式の専門家の協力を仰ぎ、クラス図が出来上がった。つまり、データモデルからドメインモデルが導かれたのであって、その逆ではない。じっさい、ドメインモデルからデータモデルを導くことが不可能であったことは、両者を並べたら一目瞭然なのであった。

これは重要な論点だ。データモデリングとドメインモデリングのどちらを先行させるべきか。データモデリングである。

[...]ドメインモデリングをデータモデリングに先行させるというのは、そのアンチパターンの類型に他ならない。他の分野では知らないが、テーブルを数十個以上含むような業務システムの開発でこれをやってはいけない。

[...]多くの技術者にとって、DB設計という課題が何やらメンドウで得体の知れないものだからだ。それゆえ、アプリやUIの設計を先行させればプロジェクトとして動き始めたように思えるし、少なくとも初期段階ではおおいに進捗していると上長に報告できるからだ。結果的に、DB構造がグダグダになって、それをゴリゴリのロジックでカバーして、心身ともクタクタになるといういつものデスマーチが始まる。

NOTE:

リモートワーク時代に対応するためのワークルールを作ったので公開します

ツールを強制されるの結構窮屈な感じはするが、足並みを揃えるという意味ではまぁしゃーない

システム開発の内製化って本当に必要なのだろうか

必要な分野とそうでない分野があるというだけの話である。

2022年Reactを使ってる人には必ず知っていてほしい最強のdata fetchingライブラリであるRTK Queryの優位性とメンテナ

「混ぜるな危険」を推進する設計

設計の学び方:自分流のススメ

今どきのLinux事情

システムの内製化は修羅場

スキーマのバージョン管理と互換性の話

リリース手法多すぎワロタァ B/G、カナリア、機能フラグ、ダークローンチ、A/Bテスト、、など

西 和彦氏が「次世代MSX」採用の「1chip MSX 3」を公開。D4エンタープライズとの販売合意も発表

おっ

SRE に成る君に最低限の開発力を身に着けてほしい

チームで高品質なコードを追求するための「設計標準」の育て方

私のフロントエンドディレクトリ構成・テスト観点 2022

「日本ユニシスがビプロジーに社名変更していた」尼崎USB事件で話題 34年続いた名称、今年変えた理由

社名変更して早々のやらかしだったのか

DMM GAMESのプラットフォームリプレイスを支えるBackends For Frontends (BFF) の裏側

syndtr/goleveldb - Go言語で実装されたLevelDB

リポジトリが作られたのが2016年頃なのについ数日前のコミットがあり、意外と活発に活動している。

シンプルなKVSなので使いどころに悩む(大抵のユースケースでSQLite使った方がよいのでは?となる)。

全市民46万人余の個人情報入ったUSBを紛失 兵庫 尼崎市が発表

尼崎市によりますと、USBメモリーは、新型コロナの影響で生活に困窮した世帯に支給する給付金に関する給付業務を委託していた業者が、21日、紛失したということです。

USBメモリーには、46万人余りのすべての市民の、氏名や住所、生年月日などのほか、住民税の額、生活保護の受給に関する情報などが含まれていました。

業者が市の許可を得ず、USBメモリーで個人情報を持ち運び、大阪 吹田市にあるコールセンターでのデータ移管作業を行ったということです。

作業の終了後もデータを消去せず、USBメモリーを持ったまま飲食店で酒を飲んだ際に、USBメモリーが入ったかばんを紛失したということです。

やっぱり酒飲んでたか。

っていうか、無許可でデータコピーって予想以上にグダグダだな。

国から直接怒られが発生するレベルでは?

兵庫・尼崎市が「全市民46万人分の住民基本台帳データ入りUSBメモリー」を紛失と発表

尼崎市によりますと紛失したUSBメモリーには全市民約46万人分の氏名、生年月日、住所など住民基本台帳に記載されてる情報のほか生活保護や児童手当を受けている世帯の口座情報などが保存されていたということです。

6月21日、住民税非課税世帯への臨時特別給付金支給業務で、委託業者の関係社員がUSBを鞄にいれて市役所(市政情報センター)から持ち出し、データ移管作業を行いました。その後、飲食店に立ち寄り食事をしたあと帰宅すると、USBメモリーを入れた鞄を紛失したことに気づいたということです。

エンジニアの成長機会は リリースサイクルの計測にあった

汚いコードで心が削られないように。設計/コードレビューで必ず気をつけること

"The Essence of Software"が提唱する全く新しいソフトウェア設計の考え方

ソフトウェア設計というのは従来、誤解を恐れずに言えば全て、最終的に「どうプログラムを書くか」に集約されるものでした。建築の世界に例えるなら、最終的にどう建材を組み立てればよいか、という観点から設計するものでした。

ただ、これはあくまで開発者、プログラマの観点からであって、それらのオブジェクトがユーザーに露出することは特に意図されていませんでした。

一方、ユーザーインタフェースやユーザー体験、いわゆるUI/UXといったユーザーに露出する部分のデザインは別途行われていて、いわゆるソフトウェア設計とは分離しているものでした。

Daniel Jackson が提唱したのはそうではなく、プログラムその他の実現方式から一旦離れて、ユーザーがそのソフトウェアに触れて得られるメンタルモデルをまず設計せよ、ということなんだと思います。

ソフトウェアは物理的な実体がないがゆえに、キーボードやマウスやモニタを通じて仮想的な実体(たとえば、Windows や macOS にある「ファイル」や「フォルダ」など)を操作するわけですが、そういった仮想的な実体、つまり概念(concept)を組み上げて作られるメンタルモデルをまず設計し、ソフトウェアの中心に据えよう、と言っています。

建築の例えで言えば、まず居住者にとってどういうものがあれば、どういう気配りがなされていれば居心地の良さや優れた体験を得られるか、をまずデザインしよう、ということです。

つまりドメイン駆動設計ということかな?

ロボットエンジニアがロボット以外の組み込みソフトウェアを書こうとした時、全然アーキテクチャの要件に...

ロボットエンジニアがロボット以外の組み込みソフトウェアを書こうとした時、全然アーキテクチャの要件に合わないROSを”自分が慣れているから”と使おうとして、結果重くて処理が回らないと”処理が回らないけどROS2なら”と言いだしたのを見て、これは外から人雇った方が正解だなと思いつつある。

@komitsubo

要件にマッチしたアーキテクチャとその具現化技術を使わないと言ってはいるんだけど、”理屈は分かるがROSでできる、フェアに技術は選んで欲しい”と力説してしてプロコン書いて見せたけど、今度は”ROSはダメでもROS2はROS1のダメな所を直しているのでワンチャンあると思います”と言い出し。

@komitsubo

じゃあROS2は実績あるんですか?と聞くとやったことはないけど早くなると言われているのでやってみないと分からない。やってもないのにダメだと言うのはフェアではないと言い出し、じゃあその環境構築と検証は誰がするのと聞くと”それは僕らの仕事じゃない”というのでリアルに閉口してる。

@komitsubo

ロボットエンジニアは電気もメカもシステムもソフトもできる組み込み界のフルスタックエンジニアなのかと思ってたんだけど、蓋を開けてみたら市販デバイスを使ってその上に高価なチップ乗せてROSの上で富豪プログラミングでプロトタイプがかけるだけの人達だったという現実は厳しい。どうすんだこれ。

@komitsubo

ハード分かるといっても部品選定や原価もEOLも知らずAmazonでぽちれる物しかわからないし、システム分かると思ったらUSBとETHでつなぐものしか出来ないし、プログラミングはできるのかと思ったら高価なPC上でROSでプロトタイプしか書けない。この人達の底上げとか言われても正直ギブアップしたい。

@komitsubo

おまけにこれが例外ならいいんだけど、この手の人がロボットエンジニアとしての自分が知る限りの主流っぽいのが絶望感を加速する。UMLも読めないし、オブジェクト指向何それ美味しいの?状態だし、これでどうにか組み込みソフトウェアエンジニアとして教育をと言われても教育でどうにかなるのかこれ。

@komitsubo

とりあえず過去一緒に仕事をしたロボット好きな優秀なエンジニアはロボットやってたから優秀じゃなくって単純に当人が優秀だったと言うだけだったということなんだろうけど、ロボットエンジニアは履歴書だけ見ると技能が多く見えるのでこれ経歴詐欺だよとちょっと思う。

@komitsubo

まとめるとロボットエンジニアって履歴書や経歴見るとフルスタック感満載だけど、実際は気づいたらただの出来合いの物やツールを持ってきて組み立てるだけの微妙な人が主流になってましたという話でした。この原因が企業側かアカデミア側か両方なのかはわかりませんけど、どうすりゃいいのよ。これ。

@komitsubo

そのエンジニアが微妙なのは事実っぽいけど、一方で要求水準が高すぎる&要求範囲が広すぎるような気もしないでもない。

そもそも採用時点で要求する仕事内容や役割を合意してなさそうな気配がある。

スキルシートだけ見て何となく採用して、「あれもできない、これもできない」と嘆くのはちょっと無能感が強い。

ワンマンアーミーみたいなエンジニアが欲しければ採用は相当慎重にやらないといけないのは新人でも分かること。

「何でもできます」と自称するエンジニアほど上っ面しかできないのはもはやコモンセンスみたいなところがあるので、そんな事を大仰に嘆かれてもなぁ...という感はある。

みんなの自動翻訳@TexTra

DeepL並の翻訳精度があるらしい

Qiita Conference 2022

Qiita Conferenceはアーカイブ配信は無いけど資料は大体公開されるから別にリアルタイム視聴しなくてもいいかなぁ

DMM.go #4「マイクロサービスプラットフォーム向け負荷試験基盤の初期リリースを終えた話」イベントレポート

RDRA+JavaによるレジャーSaaSプロダクトの要件定義と実装のシームレスな接続

後で見るかも

プロダクトマネージャーの必須スキル: デザインドックの書き方

「現場で役立つシステム設計の原則」を読んだので、その要点

技術系イベント登壇における資料作成のコツ

JJUG CCC 2022 Spring ( #jjug_ccc ) - セッション資料の一覧

JJUG、視聴するの忘れてたな。

まぁ、アーカイブがあるならリアルタイムで見なくても...というところはある。

データをモデリングしていたら、組織をモデリングし始めた話

あなたのDockerfileはベストプラクティスに従っていますか?(ベストプラクティスとチェックツール)

ADDとCOPYの違い、どうでもいいと思って曖昧にしてたけどそういう事だったんだ

.gitignoreでフォルダの構造のみを保持したい場合のより良い書き方

  1. 保持したいフォルダ構造を作成。ここでは/storage/フォルダ以下のフォルダ構造をgitで保持したいとする。
  2. 各末端のフォルダに空のファイル.gitkeepを作成。
  3. .gitignoreに以下を書く。
.gitignore

/storage/**
!/storage/**/
/storage/**/.gitkeep

なるほど

日本と海外のクラウドサービスのセキュリティチェックシートの現状と課題

スクラムフェス大阪2022基調講演「クリーンスクラム―基本に立ち戻れ―」

文明が崩壊しても動かせるOS「Collapse OS」 最小限のパーツで動作すると話題に

関連:

すだちの国からIT界隈をざわざわさせる、徳島県つるぎ町立半田病院のランサムウェア調査報告書(災害...

うぉぉ...

スクラムルールチートシート

「1人アジャイル」から始める、アジャイル開発導入のススメ|Agile Journeyローンチによせて

ドキュメントに固執せよ

JSで「while、for、forEach禁止」をコーディング規約にしてるプロジェクトがあるらしい。mapやfilter...

JSで「while、for、forEach禁止」をコーディング規約にしてるプロジェクトがあるらしい。

mapやfilterなどの高階関数があれば充分なんだとか。

もちろんそんなわけないし、絶対中身えげつないことになってる気がする…reduceとか濫用してそう。

正直読みたくないな……。

@ka2_kamaboko

プロジェクト内のコーディング規約を採用する側には、禁止項目を使いたくなるユースケースに対して妥当な代替案を提示する義務がある。

それが筋悪だとそもそも規約の見直しが必要。

@ka2_kamaboko

とはいえ、reactやvue使ってるとほぼwhile、for、forEachを使う機会が無いのもまた事実。

バックエンドから受け取ったJSONの加工が必要な時に多少使いたくなるぐらいだろうか。

Tackling Complexity

設計ナイト2022 「トランザクションスクリプト」でのディスカッション枠スライドです。

tag:

トランザクションスクリプトはどこから来たのか トランザクションスクリプトは何者か トランザクション...

tag:

設計ナイト2022 トランザクションスクリプト

tag:

トランザクションスクリプトは何がダメなのか?

tag:

プロダクトの理想と現実はなぜ乖離してしまうのか? 開発者、営業、リリースそれぞれの問題とPMが取れる対処法

docker-composeでnetwork xxx not found

Error response from daemon: network xxx not found

なんか以前の設定が残っていると発生することがあるらしい。

--force-recreateオプションを付けてコンテナを起動すればよい模様。

docker-compose up --force-recreate

参考:

「Internet Explorer」サポート終了に自治体「なんで急に」報道 Twitterで「さすがに草」などの声:TBS報道が話題

お役所は基本カツカツなので優先度低いことはとことん後回しだから

Flowrift

Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

Macaron - オープンソースのWEBコンポーネントデザインツール

Macaron is an open-source UI design tool to create and maintain Web Components.

Create components visually and use them with any framework, or with vanilla HTML/JavaScript.

Macaronは、Webコンポーネントを作成および保守するためのオープンソースのUIデザインツールです。

コンポーネントを視覚的に作成し、任意のフレームワークまたはバニラHTML/JavaScriptで使用します。

アジャイルが何なのか絶対に理解できます。定義から理解する「アジャイル」解説

Collapse OS - 文明崩壊に備えたOS

Z80などのマイクロプロセッサで動作する小規模ながら自己完結したOSとのこと。

文明が崩壊した後、Z80を使って文明を再起動させるためのOSか。ロマンな。

【DMM x はてな】それぞれのアジャイル開発の現場 〜 チームの中から外から 〜

面倒くさいから nginx の LDAP 認証モジュール公開したよ

Facebook / ent のER図をGitHub Actionsで自動更新する

複雑なソフトウェアの崩壊

開発環境へのこだわり

開発に便利なツールを全部入れたユーティリティコンテナを作ってた時期もあった。

今は端末を使い分けることも無くなったので面倒臭くなってやめてるけど、また整備しても良さそうだな

わかりやすいシステム構成図の書き方

役割を明記する、は確かに。

汚いコードを理解して修正する役割、それが負債を増やさない方向でできる人はとてもハイスキルなんですが...

汚いコードを理解して修正する役割、それが負債を増やさない方向でできる人はとてもハイスキルなんですが、そういう人がそういうタスクに当てられている時点でもう駄目で、多少マシになったあたりでその人は消耗し切ってやめてしまうんですよね。

@odashi_t

以前の職場では負債解消と並行で新機能タスクをぶっ込んで主力のハイスペ層の負荷が高すぎて有能マンから退職していってた。

マネージャポジションの人が目に見える成果を欲しがってしまい、そのゴリ押しを止められなかったことが悔やまれる。

poc段階のコードで一時的に汚いのはもう仕方ないし、そこで速度を落とすべきでもないが、それを...

poc段階のコードで一時的に汚いのはもう仕方ないし、そこで速度を落とすべきでもないが、それを次に持っていく段階で労力をかけて修正しようとしないのはヤバいし、そういう人と仕事をすると周囲が疲れるので、関わりたくないわね

@odashi_t

とはいえ、そもそも「キレイなコード」を書ける人間自体が希少種という現実がある。

近年はよい参考書も増えてきたけど、それでもその内容を噛み砕いて自分のものにできる人は少ない印象。

リーダブルコードを読んでますとドヤ顔キメてる人のコードが悲惨極まりないことになっているのはもう見慣れた光景である。

某社の中の人から「test」とだけ書かれたメールが送られてきたので、『あ、何かのテストメールで客のアドレスに...

某社の中の人から「test」とだけ書かれたメールが送られてきたので、『あ、何かのテストメールで客のアドレスに誤配送かな』と思って「successfully received」と返したら、後日、むっちゃ丁寧なお詫びメールが来た。

きっと無茶苦茶怒られたんやろな…。(´・ω・)

@kkaigai

機会があればやってみたい

よく親御さんらから「ウチの子はコツコツした作業が得意だからプログラミングに向いてるかも」という意見...

よく親御さんらから「ウチの子はコツコツした作業が得意だからプログラミングに向いてるかも」という意見を聞くが、この頃思うに「コツコツした作業を面倒と思わない子」はプラモデルの組み立てなどの細かい作業に対する耐性は高そうだが「ラクをするために頭を使ってコードを書く」のは微妙な気がする

@togazo

コツコツした作業が得意過ぎちゃうと、明らかに簡略化できそうなのif-elseのelse ifが80以上連続しても「条件分岐が長くて大変だったなあ😊✨」と感想を延べこそすれ、深く疑問に思わない展開がさあ…(実話

@togazo

条件分岐の条件文が長すぎるとか、条件分岐が長すぎるとか、すごく多い…。

@togazo

「リファレンスを読む」「アプリの初期設定をする」「テストする」程度のコツコツした作業くらいはできてほしいけど(それすらも年々簡易化してるしなぁ…)、それ以上はそんなにコツコツ能力は要らないよーな…

@togazo

翻って「コツコツした作業が好き」で「マイクラが好き」な人がコードを書く…には至りにくい気がする…。

加算演算器とかデカイ仕掛けとか音楽演奏とか、ああいう手間のかかったレッドストーン建築に興味を持ったら違うんだろうけど…まず、コマンドすら打てないレベルだと暫く無理だろうなあ…

@togazo

Airflowはすごいぞ!100行未満で本格的なデータパイプライン

Lancers本番環境のコンテナ化が完了しました

Visual Studio Code と Docker コンテナを使って開発する

新たな形態のLinuxマルウェアが見つかる--検出は「ほぼ不可能」

検出が「ほぼ不可能」という新たな形態のLinuxマルウェア「Symbiote」が、BlackBerryのResearch and Intelligence Teamの研究者らと、Intezerのセキュリティ研究者であるJoakim Kennedy氏によって発見されたという。カナダのBlackBerryが現地時間6月9日に発表した。

これらの研究者らがSymbioteを発見したのは数カ月前のことだ。Symbioteは、実行中のプロセスに対して侵害を試みるという、Linuxで今日一般的に見られる通常のマルウェアとは異なり、LD_PRELOADを介することで、実行中のすべてのプロセスにロードされる共有オブジェクト(SO)ライブラリーとして動作する。

研究者らによると、このSOライブラリーは標的となったマシンに「寄生」するかたちで侵害を試みるという。そしてシステムに食い込んだ後、同マルウェアは攻撃者にルートキットの機能を提供するという。

Symbioteはいくつかの興味深い特徴を有している。一例を挙げると、このマルウェアは感染したマシン上での悪意あるトラフィックを隠蔽(いんぺい)するために、Berkeley Packet Filter(BPF)フッキングという機能を悪用している。なお、BPFはEquation Groupが開発したマルウェアでも悪用されている。

BlackBerryの説明によると、「管理者が、感染したマシン上で何らかのパケットキャプチャーツールを起動すると、捕捉対象となるパケットを定義するBPFのバイトコードがカーネルに注入される。この処理において、Symbioteは自らのバイトコードを最初に追加するため、パケットキャプチャーツールに捕捉されたくないネットワークトラフィックを除去することが可能になる」という。

このマルウェアが有する最も特徴的な要素の1つは、ステルス性だ。Symbioteは他の共有オブジェクトのロードに先立ってプリロードされ、libcやlibpcapを含む特定の関数をフックすることで自らの存在を隠蔽する。Symbioteに関連付けられている他のファイルも隠蔽され、そのネットワークエントリーも継続的に消去される。

これはやばいな

コードレビュー観点を整理してみた

ドメインモデル方式のクラス設計 座談会

「入門 監視」5年を経て変わったこと、変わらないこと

GitHub、コードエディター「Atom」の開発を終了 ~年内にアーカイブ

米Microsoft傘下のGitHubは6月8日(現地時間)、コードエディター「Atom」の開発を終了すると発表した。2022年12月15日に組織内のすべてのプロジェクトはアーカイブされる。

「Atom」は、「Chromium」ベースのUIフレームワーク「Electron」を採用したプログラマー向けのコードエディター。Windows、Mac、Linuxといった幅広いプラットフォームをサポートするほか、HTML/CSS/JavaScriptといったWeb技術との親和性が高く、コミュニティ主導で多くのパッケージが開発されているのが魅力で、「Electron」を基にしたアプリの代表的な存在といえる。

しかし、最近は同様のコンセプトを持つ後発の「Visual Studio Code」にユーザーを奪われ、開発は著しく停滞していた。同じような状態にあった「Brackets」(Adobe製)は、昨年9月にサポートが打ち切られている。「Electron」ベースのコードエディター三国時代は、「Visual Studio Code」の統一により幕を閉じた格好だ。

R.I.P Atom

Sublimeくんはまだ生存しているのだな

Data Engineering Study #14 - Modern Data Stack特集 #DataEngineeringStudy

マイクロサービスからモノリシックへ。チャットサーバ移行の道のり

jgraph/drawio: Source to app.diagrams.net

drawioのバックエンドはOSSとして公開されてたのか。

スマホなどの電気機器の充電器をUSB Type-Cに統一することでEU各国が合意、2024年秋に義務化へ

統一するのは別にいいんだけど、USB Type-Cより新しい規格が生まれたらどうなるんだろうか?

改めて法制化するのか? この法律が新しい規格への移行を妨げることがなければよいのだが。

上から下に順に追いかけられるかのことを「読みやすい」って認識する人はまだまだ多いのかな。実行ステップ...

上から下に順に追いかけられるかのことを「読みやすい」って認識する人はまだまだ多いのかな。実行ステップがあること自体がノイズで、それを忘れるために構造で抽象的に読むんですよというのでなくて。ダイクストラが goto なしでプログラミングできると主張したのは、そういうことだと思うんだけどな

@tanakahisateru

そうは言っても、現実として実行ステップは存在するのでそれを無視するわけにもいくまい。

自分も「上から下に追いかけられるコード」を読みやすいと評価するタイプだけど、それはひとつのメソッドに全ての処理が詰め込まれたトランザクションスクリプトのことではない。

Composed Methodパターンのようにそれぞれの仕事に特化したメソッド(やオブジェクト)を呼び出したものを指す。

プロダクトの目的・目標・指標をチームで考えていくために可視化した話

ドメインモデルは、画面モデルから独立させる。データモデルからも独立させる。ユースケースからも独立させる。

ドメインモデルは、画面モデルから独立させる。データモデルからも独立させる。ユースケースからも独立させる。

画面アダプターはドメインモデルのオブジェクトを参照する。データソースアダプターはドメインモデルのオブジェクトを参照する。

ユースケースはドメインモデルのオブジェクトを参照する。

@masuda220

zxの紹介 〜 さよならシェルスクリプト そして伝説へ

便利そう

たまには日本語入力 Mozc の話でもしようか〜新機能の紹介とコードコミットができないプロジェクトとの関わり方

Mozc、あんまり動きないなーと思ってたけど、今後は期待してもいいのだろうか?

ドメインロジックとSQL

Eleventy - JavaScript製の静的サイトジェネレータ

Next.js/Nuxt.jsみたいながっつりSPA的なタイプではなく、かなりプレーンなHTMLを生成するタイプの静的サイトジェネレータらしい。

doc.dev1x.orgの方はPython製のnikolaを使ってるけど、幾つか不満もあるので移行してみようか。

世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向...

面白い

フロントエンドエンジニアが「自分はJSON色付け係」と自虐する理由を考察した

[...] しかし、最近ある偶然から「JSON 色付け係」という言葉を使うメンタリティはこれだという洞察を得たので、ここで紹介したい。

  1. DTO とそれをシリアライズ化した JSON はビジネスロジックを持たないため、ドメイン知識を保持できない。
  2. (表示がメインのアプリにおいて)フロントエンドは JSON のデータを表示するプレゼンテーションロジック担当である。
  3. よって、JSON を表示するだけのフロントエンドにはドメイン知識がない。

つまり、ドメイン知識が反映されたビジネスロジックと無縁のコードばかりを書かざるを得なくなった結果、エンジニアなのに大事な何か(ドメイン知識)に関与していないという心情が芽生えた。それこそが自らを「JSON 色付け係」と自虐させたのである。

ちなみに、ここでいう色とは「ドメイン知識とは無縁な、見た目を良くするためのプレゼンテーションロジック」だと理解している。「JSON色付け係」とは、なんとも上手い表現だと改めて思う。

Goのテーブル駆動テストをわかりやすく書きたい

手動テストだけのソフトウェアは腐っていく

アジャイルとウォーターフォール 2022

Reactアプリケーションのテスト戦略

クリーンアーキテクチャはおすすめしません。10分でわかるDDDのアーキテクチャ

docker composeでコンテナ起動時、「could not find an available, non-overlapping IPv4 address...」と言われる件

なんとなくDockerコンテナを起動しようとしたら↓のようなメッセージが出力されコンテナが起動できないという問題が発生。

failed to create network xxxxx_default: Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

どうやらxxxxx_defaultネットワークは30個までしか作れないらしい。もっと増やしたければDockerの設定を変える必要がある模様。

今回はローカルで実行したいだけなので、古いネットワークをまるっと削除することで解決。

docker network prune

参考

NEXT