娘から昨夜聞いたびっくりな事実 Googleカメラに宿題をかざすと答えをきちんと導いてくれる Google側に宿題ってタブがあるってことはかなりの数この機能が使われているってことだよね こんな時代に宿題を出す意味をしっかりと… https://t.co/lBFi2fYWOM
![深見太一@クラス会議で世界を変える on Twitter: "娘から昨夜聞いたびっくりな事実 Googleカメラに宿題をかざすと答えをきちんと導いてくれる Google側に宿題ってタブがあるってことはかなりの数この機能が使われているってことだよね こんな時代に宿題を出す意味をしっかりと… https://t.co/lBFi2fYWOM"](https://cdn-ak-scissors.b.st-hatena.com/image/square/f31b3db2ef6ec6d9ce9039cbbc62f42d402945fd/height=288;version=1;width=512/https%3A%2F%2Fpbs.twimg.com%2Fprofile_images%2F1525969423089418240%2F8CzPCJeS.jpg)
記事の構成 アジャイルソフトウェア開発とは アジャイルマニフェストとは アジャイルマニフェストの問題 そこで、アジャイルの本質 by マーティンファウラー アジャイルソフトウェア開発とは? アジャイルソフトウェア開発とはなんでしょうか? 「アジャイルマニフェスト(後述)の4つの価値観、12の原則に従う開発方法の総称」 これが最もオリジナルな定義です。 なぜこんなややこしい言い回しをするのは後から説明します。 重要なことは、「アジャイル」という具体的な手法があるわけではないということです。 アジャイルはマインドセット(思想、考え方)です。そのため、 ✖️ do agile 「アジャイルをやる」はありません。 ⭕️ be agile 「アジャイルになる、アジャイルの思想に則る」はあります。 アジャイルの思想に則った開発手法として ・スクラム ・エクストリームプログラミング(XP) ・リーンスタ
ログラスでは、チームとして高品質なコードを追求するために「設計標準」というものを定め、チームで育てています。 この資料ではそのような取り組みについてご紹介します。 株式会社ログラス会社紹介資料 https://speakerdeck.com/loglass2019/whats-loglass ウラ凸 - シリーズA 17億円調達のログラスのウラ側へ、カジュアル面談で突撃しよう https://meety.net/articles/t2--zrl4ohf4gx6 外部公開している設計標準の資料 https://little-hands.hatenablog.com/entry/2022/01/28/programming-principle https://little-hands.hatenablog.com/entry/2022/01/24/domain-object-design
ちゅる美(天安門)美容クリ裏方 @tyurumi3 時間置く程ネットリしてくるのでお好みで調整を。少し塩味付くのでまずは醤油無しでワサビだけで食べてみて欲しい。本当に美味しいからっ! ちなみにバイト先ではマグロではなく鯛を同じように塩締めにしてワサビ+振り柚子で提供してた(醤油無し)。料亭に出てきそうな上品な味になるよ。 2022-06-12 16:49:24 ちゅる美(天安門)美容クリ裏方 @tyurumi3 魚介は少しの手間で生臭さ取れて身が引き締まり旨くなる。例えば、 ・シーフードMix解凍の際、塩水(3%)につけ解凍。その後キチペで拭き取って酒小匙1程ふりかけて数分放置 ・生臭い魚の刺身は氷+塩水(3%)に5分程つけた後拭き取る(塩水処理) ・刺身を水で洗った後拭き取り、塩と酒をふると美味しい 2022-06-12 16:56:27
PoEAA を通して DDD の半分を理解する マーティン・ファウラーの PoEAA を読んでから、DDD のことを考え続けている。今まで DDD の話題はあえて避けてきた。分厚く難解な書籍、増えるコード量、教祖とその信徒たち(MV)、全てをその視点から解釈しようとする試み、少しでも間違えたら求められる自己批判、無知な者に対する SNS 上のオルグ、いつまでも出てこない総括、それでも信じるものは救われる。「一匹の亡霊がIT界隈を徘徊してる。DDDという亡霊が...」 まあ早まらないでほしい。何も DDD こき下ろそうというわけではない。自分の実力不足が主な原因と思い、深入りする前から「わからないもの」と決めつけていた DDD は、PoEAA というライトに照らされてその姿を私の前に姿を表し始めた。それは亡霊ではなく、確固たる手触りのある実体(Entity)だったのである。 PoEAA は
DDDではよく「モデリングが重要だ!」と言われますが、どのようにモデリングすればいいのかがわからず、一歩を踏み出せないことは多いのではないでしょうか。 そんな方のために、本記事ではDDDにおいてシンプルで成果が出しやすいモデリング手法について紹介します。 (本記事は、YouTube動画「10分でわかるドメインモデリング」の内容をもとにした解説記事です。) DDDの目的 DDDの目的から確認しましょう。 DDDの目的は2つ。 ①機能性を高めること これは、役に立つものを作ること、言い換えると「作ったけど使えない」を避けることです。 そのために、ドメインモデリングを行い、ソフトウェアを適用して役立てようとしている現実世界の領域(これの領域をDDDでは「ドメイン」と呼びます)について理解を深め、解決策を検討することを目指します。 ②保守性を高めること これは、長期間開発しても機能拡張が容易であり
ログラスのカスタマーサクセスチームでは全社一丸となったサクセス体制を構築するために様々な施策をやっているのですが、昨年から実施しているカスタマーサクセスインターン制度(以下、CSインターン制度)がかなり効果的に進んでいる実感を得てきたので、記事にしてみようと思います。 できるだけみなさんにわかりやすく書くように心がけますが、 ・カスタマーサクセスをミッションとして取り組んでいる ・顧客の声をプロダクト開発に取り込んでいきたい ・全社を巻き込んでカスタマーサクセス文化を強化していきたい ・BtoB SaaS未経験だが、どんなチームで仕事しているのか興味がある といった方の参考になれば幸いです。 *なお、取り組みは事業や組織の成長に合わせて随時アップデートされていきます。この記事は2022年1月時点での内容になります。 はじめたきっかけ昨年、GainsightのCEOであるニック・メータさんが
株式会社ログラスの松岡(@little_hand_s)です。 little-hands.hatenablog.com ↑の記事でドメインオブジェクトの設計方針を書きましたが、それ以外の全般的な設計/レビュー観点について書きます。 非常に汎用性のある内容なので、数多くのプログラミング原則を覚えるより、まずこの観点でチェックできるようにすると即効性が期待できます。 前提として、階層化されたアーキテクチャ(オニオンアーキテクチャなど)を採用しているものとします。 ①レイヤーの責務違反の実装をしていないか ②高凝集/低結合になっているか 高凝集 クラスに関して メソッドに関して 低結合 ③ユニットテストを書きやすいか 合言葉 筆者執筆書籍 現場での導入で困ったら ①レイヤーの責務違反の実装をしていないか 例として、「ユースケース層にドメイン層のルール/制約に関わる実装をしている」場合はNGです。
株式会社ログラスの松岡(@little_hand_s)です。 ドメイン層のオブジェクトを設計する際に、重要な基本方針があります。 ドメインモデルの知識を対応するオブジェクトに書く 常に正しいインスタンスしか存在させない この2つを守ると、非常に保守性の高いコードにすることができます。 以下、詳細に解説します。 ドメインモデルの知識を対応するオブジェクトに書く ドメイン知識(ルール/制約)を表現する実装を、ドメイン層のオブジェクトに寄せていきます。 この判断は、「ドメインモデル図に書かれた吹き出しの内容が、どの層で実装されているか」という基準に基づき行います。 この基準はコード設計の指針として非常に役立ちます。 設計の良し悪しというのはさまざまな基準があるため、レビューをしていてもいわゆる「俺の考えた最強の設計」同士が戦ってしまうことがあります。 しかし、「ドメイン知識はドメイン層に書く」と
結論はタイトル通りなのだが、本エントリではメルカリ退職→ログラス入社に至るまでの、自分自身の経験・心の動きを記しておきたい。自分は今現在38歳で、転職は4回目だ。しかし、転職は何歳になっても・何回目でも難しい。これから書くのは至って私的な内容ばかりで、あくまで1つの個別事例に過ぎない。それでもこのエントリが「一歩踏み出して自分のキャリアを変えたい」と考える方を、勇気づけられたら嬉しい。 メルカリでやった仕事① d-point連携入社後1年半くらい、検討すれどもリリースまで行かない経験が続いた。仮説検証・UXリサーチは上達したが、プロダクトマネージャなので何かをローンチしたい。 そんな折にドコモ社との提携PJが発表され、これはやるしかない!と思い、参加することに。大型提携で絶対にリリースしないといけないミッションなので、多少思い切った動きが出来そうなことにも惹かれた。とにかくお客さまが触るも
BtoB SaaSの会社でDDDを活用して事業を成長させてきた中で、DDDのプラクティスの実践という面ではかなり大きな成果が得られました。 しかし、事業を成長させるという点において、DDDのプラクティスだけではうまくいかないこともあり、別のアプローチも同時に試行錯誤しています。 この発表では、うまく行ったプラクティスの内容と、カバーできなかった課題、そこに対する現在の取り組みについて紹介します。 ドメイン駆動設計 サンプルコード&FAQ https://little-hands.booth.pm/items/3363104 ドメイン駆動設計 モデリング/実装ガイド https://little-hands.booth.pm/items/1835632 ドキュメント内のブログ記事URL https://little-hands.hatenablog.com/entry/2020/12/22/
本記事はドメイン駆動設計(DDD) Advent Calendar 2021の13日目の記事です。 エンティティとイミュータブル性 オブジェクトをイミュータブル、つまり内部状態を変えない実装にすることで可読性やマルチスレッド対応性が向上することがあります。 エンティティはモデリング上の定義はミュータブルなものですが、実装方法をイミュータブルにすることは可能です。 (DDDでは、エンティティはミュータブルもしくはイミュータブル、値オブジェクトは必ずイミュータブルという定義です。詳しくはこちら) DDD基礎解説:Entity、ValueObjectってなんなんだ - little hands' lab 本記事ではエンティティをイミュータブルな実装にするサンプルコードと合わせて、イミュータブルにした場合の旨みを感じられるコードを紹介します。 イミュータブルなエンティティ実装の例 エンティティをイ
Log4j で強めな脆弱性が発見されました。 詳細は省きますが、ある条件可で任意のコードが実行できるような脆弱性です。 mavenのリポジトリによってはまだ2.15.0のバージョンが上がっていないようで、少し手こずったので記事にします。 (2021/12/10 13時時点) ※自分が所属するログラスでも依存しているライブラリでしたが、今はすでに修正とリリースが完了しています。 影響ライブラリと影響バージョンは log4j-api と log4j-core の 2.0 <= Apache log4j2 <= 2.14.1 です。 対応としては 2.15.0 に上げればいいそうです。 しかし、2021/12/10 13時現在Mavenのサイトでは2.15.0が上がっていないように見えます。 しかし、こちらの repo1.maven.orgのリポジトリにはあるそうで、素直に2.15.0を指定すれ
面倒臭いオブジェクト詰め替え オニオンアーキテクチャ、クリーンアーキテクチャなどの階層化されたアーキテクチャを使用する際、レイヤーの境界でオブジェクトの値を詰め替える必要性が発生します。 オブジェクトを詰め替えることでレイヤーの依存関係を断ち切り、一度書いた後の保守性を高めることに大きく貢献するのですが、筆者の観測範囲では単調作業に感じるせいかかなり嫌われる傾向があるように感じます。 そして、そのような詰替を嫌うばかりにオブジェクト詰め替えをやめてしまうこともありますが、それは非常にもったいないことです!! なぜなら、「初期実装の数分の重要性 <<<< その後の保守性の重要性」だからです。 なので、できればきちんと詰め替えしてレイヤーの依存関係を保って欲しい、ということで、そのために詰め替えが超簡単にできる方法をご紹介します。 まずはデモご覧ください。 class Entity( val
こんにちは!エンタメ領域のDXを進めるブロックチェーンスタートアップ、Gaudiyでバックエンドエンジニアをしている椿(@mikr29028944)です。 Gaudiyは、まだエンジニア10名、デザイナー2名ほどの開発チームですが、今年の6月からDDDと呼ばれるドメイン駆動設計を開発に取り入れました。 DDDとは、一言で言うとドメインエキスパートと呼ばれる担当業務やシステム設計に最も詳しい人と、エンジニアが共創してソフトウェアを開発する手法です。 今回は、DDDを実践する中での気づきや学び、躓きやすいポイントをどのように乗り越えてきたかについて、ご紹介してみたいと思います。 DDDを検討しているチームや、導入して間もないチームのご参考になれば幸いです! 1.なぜDDDを導入したのか 2.GaudiyではどのようにDDDを取り入れているか 3.DDDの実践で生じた課題と乗り越え方 3-1.チ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く