タグ

ブックマーク / style.biglobe.co.jp (11)

  • チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    プロダクト技術部の川口です。 3年間、ビッグローブ光といった固定回線のインフラ部門に所属していましたが、今年の4月に BIGLOBE の基幹システムのリニューアルを推進していく部署に異動することになりました。 所属するチームでは、ドメイン駆動設計(DDD)で開発しています。 チームにジョインすると開発チュートリアルをやることになっており、そこで IntelliJ や Spring Boot での開発の仕方を学んだり、チュートリアルを通して DDD を学んだりします。 今回は、DDD のチュートリアルで実際に作成したドメインモデルがどういう風に成長していったかについて紹介します。 勤怠管理アプリ チュートリアル 初期ドメインモデル 中期ドメインモデル 後期ドメインモデル 学んだこと、感想 勤怠管理アプリ チュートリアル お題は GitHub のパブリックリポジトリに公開されています。 ht

    チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2023/11/30
  • 代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    基盤部(開発部門)の木下です。前回、Java 17 の新機能を使ってドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介しました。 style.biglobe.co.jp 代数的データ型(Algebraic Data Types)を導入するのがポイントなのですが、馴染みのないメンバーも多かったので、実例を使って詳しく解説してみました。関数型プログラミング由来のとても便利な道具です。ぜひ活用してみてください。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに 代数的データ型とは 代数的データ型とは、基となる型を組み合わせて作られる型のことです。 代数的データ型は直和型と直積型の2つからなります

    代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2022/06/29
  • Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    基盤部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用

    Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2022/01/26
    アプリケーションサービスに漏れた業務ロジックをドメインサービスに閉じ込める方法。javaに最近入った言語仕様の活用方法としても参考になる。
  • クラスが増えても大丈夫!成長するソフトウェアを支えるリファクタリングの技術 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    開発部門(基盤部)でエンジニアの育成を担当している高玉です。 基盤部ではさまざまな勉強会を開催しています。先日も、BIGLOBE Styleでその様子をご紹介しました。 style.biglobe.co.jp 「クラスを増やすの、怖くないですか?」 オブジェクト指向プログラミング(OOP)を学んでいた時に聞かれたことです。業務ではJavaやドメイン駆動設計を活用しているので、クラスベースのOOPが題材になることが多いのです。OOPに慣れていない人からすると、クラスの数が増えることで全体を把握しづらくなったり、適切なクラスを見つけるのが大変になりそう、と感じるそうです。 「大丈夫!クラスを増やしたほうが楽になることがあるよ!」 と伝えたくて、この記事を書かせていただきました。何が楽になるのでしょう?それは、ソースコードを読むこと、です。「クラスを増やすと、ソースコードを読むのが楽になる?

    クラスが増えても大丈夫!成長するソフトウェアを支えるリファクタリングの技術 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2021/11/24
    オブジェクト指向の学習として新人さんにぜひ読んでほしい記事。これからドメイン駆動設計(DDD)を始める方にも読んでもらおう。
  • 自分で工夫しながら学ぶJava〜新人が2カ月で開発に参加するまで〜 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    こんにちは。 2021年4月に新卒入社した小泉です。 5月からサービス開発部に配属になり、慣れない業務に苦戦しています。 配属先では開発で使用する言語として、Javaを採用しています。 しかし、今までJavaを触ったことがなく、ゼロから勉強する必要がありました。 にもかかわらず、OJTコーチが設定してきた課題はSpring Frameworkを使ってAPIを完成させるというとても高いもの。開発に参加するのは一筋縄ではいきません。そんな高いゴールに向かいつつ自分で工夫しながら学んで、なんとか開発に参加できるレベルになれました。 今回は、新人が配属されてから2カ月でどのようにJavaを勉強したかを紹介したいと思います。 で学ぶ ゴールを明確にして手を動かす ありのままを学ぶ まとめ 参考図書 スッキリわかるJava入門 スッキリわかるJava入門 実践編 Java言語で学ぶデザインパターン入

    自分で工夫しながら学ぶJava〜新人が2カ月で開発に参加するまで〜 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2021/08/05
    「ありのままを学ぶ」て大事。大人になると考えすぎて諦めてしまいがちだけど、まずはそのまま受け入れることも重要。
  • Astroで構造化されたTerraformを管理してみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    Terraformコードの構造化が進み、変更するたびになんどもterraform applyを叩くはめになったことはありませんか。 実行する順番を間違えてトラブルになったことはありませんか。 そんな悩みを抱えているときに見つけたAstroというツールを紹介します。 自己紹介 対象の読者 Terraformコードの構造化と直面した課題 Astroとは Astroを使ってみる Astroをインストールする astro.yamlファイルを用意する 1. モジュールを追加する 2. モジュール間の依存を追加する その他 実行計画を確認してみる 実際に構築してみる 環境を破壊(destroy)する Astroを使うときのTips applyしたら即実行 .astroディレクトリのcacheは定期的に消しましょう 実行時のログ Terraformのローカルモジュールを使うとモジュールパスが変わってしま

    Astroで構造化されたTerraformを管理してみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2021/03/19
    “Terraformコードの構造化が進み、変更するたびになんどもterraform applyを叩くはめになったことはありませんか。 ”
  • 自作キーボードの沼を覗いた👀~社内アドベントカレンダーの様子をお伝えします! - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    社内アドベントカレンダー、2020年も盛り上がりました! BIGLOBEでは2006年から社内ブログを運用し続けています。社内ブログは社内の誰でも書くことができ、社内ポータルサイトの一番目立つところに最新記事が表示されます。社内のお知らせに利用する人、ただ単に面白かったことを社内に共有する人など、様々な使い方がされています。 そんな社内ブログが一番盛り上がるのは12月です。それは社内アドベントカレンダーというイベントが開催されるからです。 もともとのアドベントカレンダーは、12月1日から25日のクリスマスの日までの専用のカレンダーです。25個の窓の中に、お菓子やおもちゃが隠されていて、一日ずつその窓を開けて、中のものを楽しむ使い方をします。その習わしをもとにしたブログ企画がITエンジニア界隈で定着しているアドベントカレンダーです。25日分のカレンダーを準備し、参加者が持ち回りで1日1記事を

    自作キーボードの沼を覗いた👀~社内アドベントカレンダーの様子をお伝えします! - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2021/02/17
    “いきなりフルサイズのものは作らずに、部品数が少なくキットの値段も手頃なテンキーを作ってみました。” テンキーから始めることにより沼の敷居を下げるのかw 危険w
  • BIGLOBEで1年間業務をすると、どれだけDDDのスキルが向上するか - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    基盤部(開発部門)の小野田です。 私は 2019 年に中途採用で BIGLOBE に入社して以来、主に既存システムのリニューアル案件に関わり、その中で、モデリングの経験を多く積んできました。記事では業務で得たモデリングの知見を基に 鉄道料金計算問題 を再モデリングした結果と 1 年前のモデリング結果とを比較して、1 年間でどれだけスキルアップしたかを紹介したいと思います。ここで紹介する内容は、同じ名前のオブジェクトでも性質が異なれば別の値オブジェクト ( Value Object: VO ) としてモデリングしたほうが良いことを示す実例となります。 1 年前のモデリング結果は DDD くらいできるようになりたいよねって話 をご覧ください。 style.biglobe.co.jp なお、この記事の内容やプログラムは教育用に作成した架空のものであり、実在のサービスや団体などとは一切関係あり

    BIGLOBEで1年間業務をすると、どれだけDDDのスキルが向上するか - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2021/01/13
    同じ課題を1年後にやると見える景色が変わる話。何度も繰り返すの大事
  • セルフラーニングを後押しするBIGLOBEの新人エンジニア研修~インターネットにあふれる良質なコンテンツをフル活用🚀~ - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    開発部門(基盤部)でエンジニアの育成を担当している高玉です。 基盤部では2020年度から新人エンジニア向けの研修を実施しています。テクニカルスキルについては、インターネットで公開されているコンテンツを活用しているのが特徴です。決して手を抜いているわけではないですよ!ちゃんとした狙いもあります💪どのコンテンツもすぐに試せるものばかりです。ITエンジニアとしてさらにスキルアップしたい方や、リモート環境での研修に困っている教育担当者のお役に立てば幸いです。 新人エンジニアに好評だった研修と利用したコンテンツ テスト駆動開発(Test Driven Development:TDD) GitHubMarkdown UNIXコマンド、UNIX哲学 リーダブルコード インターネットで公開されているコンテンツを使った学習のメリット 新人エンジニアに好評だった研修と利用したコンテンツ テクニカルスキ

    セルフラーニングを後押しするBIGLOBEの新人エンジニア研修~インターネットにあふれる良質なコンテンツをフル活用🚀~ - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2020/12/23
    今年の集大成。
  • プログラミング初級者から上級者まで一緒に楽しめるコードゴルフ大会開催のコツ - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    こんにちは。基盤戦略グループでエンジニアの育成をしている藤田です。 コードを書くのって、エンジニアにとっては最高に楽しい時間ですよね! これからプログラミングを楽しみながら学びたい方、在宅勤務のストレスを吹き飛ばしたい方にオススメのイベント「コードゴルフ大会」について紹介します! ビッグローブでは社内でIT技術の勉強会やLT大会などのイベントが頻繁に開催されています。そういったイベントをフォローして盛り上げるのも私の仕事です。 今日は、先日行われた社内コードゴルフ大会について紹介します。 コードゴルフ大会とはプログラミングをして、そのコードの短さを競う大会です。 大会といってもチャット上での「息抜きにコードゴルフすっぞ」という書き込みから始まったゆるい大会です。 この大会がプログラミング初級者から上級者まで参加できる楽しいイベントだったので、その内容と開催のコツを公開します。 コードゴルフ

    プログラミング初級者から上級者まで一緒に楽しめるコードゴルフ大会開催のコツ - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2020/08/26
  • 世界初への挑戦!インターネットを快適にするNAT64/DNS64とは? - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    はじめまして。BIGLOBEのN澤です。 最近は気軽に外出しづらい世の中ですので、休日はステイホームで動画サイトを楽しむことが増えてきました。お気に入りの動画は、かつて一世を風靡した某冬ソングの女王が最近の流行りの曲をピアノで引き語りながら暴走 (暴奏?) する動画です。 ということで、今はインターネットで誰もが手軽にさまざまなコンテンツを楽しむことができる時代です。特に光ファイバーのような定額の固定回線では、「ギガが減る」ことを気にする必要がないため、動画のような大容量のコンテンツを楽しんでいる方も多いのではないでしょうか。そのような背景もあり、インターネットのトラフィックは毎年、指数関数的に増加する傾向にあります。 増え続けるトラフィック、どうする? IPv4?IPv6? IPv4 over IPv6とは? NAT64/DNS64とは なぜNAT64/DNS64に取り組むのか NAT6

    世界初への挑戦!インターネットを快適にするNAT64/DNS64とは? - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
    naosim
    naosim 2020/07/30
    まずは人力で最小限の開発工数に抑えて、サービスが提供可能かを検証するの大事。
  • 1