並び順

ブックマーク数

期間指定

  • から
  • まで

481 - 520 件 / 3590件

新着順 人気順

ビジネスロジックの検索結果481 - 520 件 / 3590件

  • ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード

    株式会社ビープラウドが主催するIT勉強会「BPStudy」。#151となる今回は、設計の代表格であるオブジェクト指向、モデリング、そして設計にフォーカスをあて、LT大会を開催しました。「ドメイン駆動設計に取り組んだ15年でわかったこと 」に登壇したのは、ドメイン駆動設計に15年取り組み続けている増田亨氏。ビジネスルールと値オブジェクトと型という3つのキーワードを軸に、ドメイン駆動設計をソフトウェア開発に落とし込む方法論について語りました。講演資料はこちら ビジネス活動に起因する複雑さに立ち向かうドメイン駆動設計 増田亨氏(以下、増田):よろしくお願いします。私は2006年ぐらいからドメイン駆動設計に実際に取り組んで、15年ぐらいやっているんですけど、今日はそれを私なりにわかったことというか、けっこう最近振り切ってこうやってますよという内容を、みなさんの参考になればと思って少しお話しします。

      ドメイン駆動設計に15年取り組んでわかったこと 「ビジネスルール・値オブジェクト・型」が3つのキーワード
    • フロントエンド開発でのコード分割とアーキテクチャ設計

      フロントエンドエンジニアとしての経験はまだ浅い私ですが、さまざまなプロジェクトを経験し、常に新しい技術やアーキテクチャに挑戦してきました。 そして、その経験を通して、コードの分割とアーキテクチャの設計が、可読性、保守性、拡張性を向上させるためにどれほど重要なものかを実感してきました。 それらの経験を共有するため、今回はChatGPTと共同で、私の考えを言語化し 私がフロントエンド開発におけるコードの分割とアーキテクチャの設計について学んだ経験を共有したいと思います。 それでは、なぜコードの分割が重要なのか、分ける必要があるのか、そしてどのようにして分割すればいいのかについて詳しく見ていきましょう。 そもそも、なぜコードを分割するのか? ソフトウェアエンジニアリングの世界では、コードの分割は重要な概念であり、それはさまざまな理由から推奨されています。 コードを適切に分割することには、多くのメ

        フロントエンド開発でのコード分割とアーキテクチャ設計
      • minne iOS 2024年の開発環境 - Pepabo Tech Portal

        minne事業部モバイルチームのエンジニアをしております、@umatoshiです。最近はパルワールドに夢中で、全力で配合に取り組んでいます。 好きなパッシブスキルは脳筋です。 現在私は、minneのiOSアプリを開発しており、最新バージョンのXcode(執筆時点では15.2)対応とiOS15サポート終了予定等、2021年当時の記事からアップデートしたので、採用している新技術や開発効率を上げるための工夫をはじめとしたトピックを、minneのiOSチームに興味がある方へ向けて共有したいと思います。 去年はiOSDC 2023でブース出展もしていて、弊社から登壇もしていてminneについて紹介しています。こちらもどうぞ。 概要 まずiOS 14のサポートを終了しており、SwiftUI、 GraphQL、 SPM(Swift Package Manager)、 Combine、 Swift Con

          minne iOS 2024年の開発環境 - Pepabo Tech Portal
        • XState + Apollo Clientでフロントエンドのステート管理 | メルカリエンジニアリング

          こんにちは。メルカリのSoftware Engineerのsotaです。 この記事は、Mercari Advent Calendar 2021 の18日目の記事です。 先日限定公開が始まったmerworkのWebフロントエンドでは、より良いUXを実現するためにコードの段階から設計していこう、というテーマをもとに、ライブラリやフレームワークの選定を行なっています。その中でAPIのデータやアプリケーションのステート管理にはXStateとGraphQLクライアントであるApollo Clientを採用しています。今回はこれらのライブラリを採用した経緯やどのように運用しているかについて解説します。 XStateについて XStateはステートチャートに基づいた状態遷移を管理するJavaScriptライブラリです。ReduxやMobXのようなフロントエンドのステート管理ライブラリと比較すると、XSt

            XState + Apollo Clientでフロントエンドのステート管理 | メルカリエンジニアリング
          • AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します | Amazon Web Services

            Amazon Web Services ブログ AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します AWS AppSyncはGraphQLのマネージドサービスで、単一または複数のデータソースのデータに安全にアクセスしたり、操作したり、結合するための柔軟なAPIを作成でき、アプリケーション開発をシンプルにすることができます。多くの場合、異なったデータソースは異なったユースケースに合わせて最適化され、データが配信されるスピードも異なっていることでしょう。その基になるGraphQLスキーマで定義されているデータフィールドもかなり多様です。 たとえば、eコマースアプリケーションでは、在庫量を表すデータフィールドは頻繁に更新されますが、顧客プロフィールの更新は時々です。トランザクションIDに

              AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します | Amazon Web Services
            • 【イベント参加レポート】ドメイン駆動設計を導入するためにやったこと - RAKUS Developers Blog | ラクス エンジニアブログ

              ■ 目次 ドメイン駆動設計のプラクティスでカバーできること、できないこと 前提知識: DDDの目的 スムーズに進んだこと 苦戦したこと・していること プロダクトを活用していただくための取り組み まとめ 巨大レガシーシステムの戦略評価とリファクタリングにおけるDDDの活用事例 DDDの導入理由① コアドメインを定めて開発の費用対効果を高めるため 取り組んだこと 苦戦したこと DDDの導入理由② レガシーシステムの技術的負債解消 苦戦したこと 苦労していること 基幹システムの変更を楽で安全にする 参画していた案件 参画案件のテーマ 現場でやっていること 結果 感想 こんにちは 配配メール開発課所属 Jazumaです。 1/17 (月)にオンラインでドメイン駆動設計導入事例の勉強会がオンラインで開催されました。 modeling-how-to-learn.connpass.com 平日の夜にも関

                【イベント参加レポート】ドメイン駆動設計を導入するためにやったこと - RAKUS Developers Blog | ラクス エンジニアブログ
              • AWS Cost Categories でコスト集計作業を効率化 - Safie Engineers' Blog!

                こちらは セーフィー株式会社 Advent Calendar 2022 の 14日目の記事になります。 はじめまして。セーフィーでインフラエンジニアをしている近江です。 セーフィーでは AWS の各サービスごとのコストを詳細に把握するため、"AWS Cost Categories" という AWS のサービスを使用しています。本記事では AWS Cost Categories とは何か、どのようなシーンで活用できるのか、実際の設定方法、気をつけるポイントについて書いていきたいと思います。 AWS Cost Categories とは コストカテゴリとは 利用料金 AWS Cost Categories を活用できるシーン コストカテゴリの作成とルール設定 ルールに継承された値 (INHERITED VALUE) を使用する 気をつけるポイント コストカテゴリで使用できるディメンション OR

                  AWS Cost Categories でコスト集計作業を効率化 - Safie Engineers' Blog!
                • マネーフォワードクラウド確定申告Androidアプリの設計方針 - Money Forward Developers Blog

                  こんにちは! マネーフォワードクラウド確定申告アプリ のテックリードを勤めている須田です。 本記事では2020年3月〜本格開発開始して8月にリリース。現在継続運用中である、Androidアプリの設計方針を共有します。 設計方針を定めることで実現したいこと 関心の分離がされている ビジネスロジックの関心事と、技術的な関心事が適切に分離されるようにします。特に、Androidにおいては、UIの表示ロジックと、その他のビジネスロジックが適切に分離されていなければ、クラスの肥大化などの問題が発生します。 テストのしやすい設計にする テストをしやすい状態であれば、コンポーネントの粒度が適切に保てている可能性が高く、疎結合に実装できています。新規立ち上げの段階なので、TDDは実践しませんが、グロースフェーズ、成熟フェーズになった際にいつでもTDDに移れるようにします。 複数人でも素早く開発できる 複数

                    マネーフォワードクラウド確定申告Androidアプリの設計方針 - Money Forward Developers Blog
                  • SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能

                    SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能 Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 編集部 2022-01-31 14:24 「Kubernetes」ユーザーであればご存じのように、「Rancher」はさまざまなインフラを横断して複数のKubernetesクラスターを実行、管理するための完全なソフトウェアスタックとして人気を集めている。そして今回、Linuxおよびクラウド分野の大手であるSUSEは、Rancher Labsの買収以降初となる新プログラムとして、「Rancher Desktop 1.0.0」をリリースしている。 「Rancher Desktop」は、Kubernetesコンテナー管理の学習や試行、テストを可能にするオープンソースのプロ

                      SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能
                    • 善悪を超えて

                      Smoozという国産ブラウザアプリがサービスを終了して、私はなんだか無性にイライラしてしまった。 WEBとセキュリティを専門としないので関連記事をざっと見た感じだと、 本文・タイトルの一部をごっそり取得するというのが通信の秘密を侵害していた上記が原因?の脆弱性が存在する利用規約に書いてあること、告知したことと、実際にやっていることが違う無料ユーザにはDOMを勝手に操作し広告を挿入していた、というのがWEBページ著作者の同一性保持権を侵害していた、あるいは"マナーが悪い"といった感じが主とした批判理由で、批判記事が書かれた数日後、アスツール社は利用規約を変えるでもなく、サービスの一時停止でもなく、サービスを終了させた。 私のイライラの原因に、登場人物は4人いる。 Smoozを開発したアスツール社、 批判記事を書いたreliphone、 mala氏、 そしてお前ら reliphoneへ最初、あ

                        善悪を超えて
                      • 「本日クラスターに入社したUnity Engineerが読む記事」の紹介 - Cluster Tech Blog

                        こんにちは、クラスターでUnity Engineerをやっている獏星(ばくすたー)です! 突然ですが、この記事を読んでいるという事はあなたは本日クラスターに入社したUnity Engineerのはずです。 もし違う場合でも、「そうか、自分は本日クラスターに入社したUnity Engineerだったのか…」と受け入れて読んで下さい。ただし入社ツイートは無しで。 そして本記事を読んでいるあなたに朗報です。 つい先日、クラスターに入社したUnity Engineer向けの社内用オンボーディング資料として「本日クラスターに入社したUnity Engineerが読む記事」が作成されました!そのまんまのタイトルですね。 社内slackの投稿風景 クラスターではエンジニアのオンボーディングフロー改善に日々取り組んでおり、その一環として資料整備が進みました。 そこで今回は本日クラスターに入社したUnity

                          「本日クラスターに入社したUnity Engineerが読む記事」の紹介 - Cluster Tech Blog
                        • SBI生命がETLを「AWS Lambda」で実装、専用サービスGlueから置き換えた理由

                          クラウドサービスを使い、サーバーレスでプログラムコードを実行する「FaaS(ファンクション・アズ・ア・サービス)」を構築する企業が相次いでいる。AWS Lambda(ラムダ)に代表されるFaaS基盤のクラウドサービスを利用すれば、開発者は仮想マシンやコンテナなどの実行環境を構築・管理する必要がなくなり、開発のスピードアップに寄与する。コードの実行が終わると必要に応じてITリソースを解放する仕組みなので料金が比較的安く、コスト削減にもつながる。 FaaSの構築はDX(デジタル変革)に向けたシステム開発・改善のスピード向上や、クラウドコスト削減などに欠かせない。SBI生命保険はFaaSによってETL(抽出/変換/ロード)を実装しデータウエアハウス(DWH)システムを構築した。DWHプロジェクトの軌跡を見ていこう。 管理コストや作業負荷をFaaSで解消 「経営の意思決定に必要なデータや分析処理を

                            SBI生命がETLを「AWS Lambda」で実装、専用サービスGlueから置き換えた理由
                          • 【開催報告&全資料まとめ&QA公開】Amplify Meetup #02 | Amazon Web Services

                            Amazon Web Services ブログ 【開催報告&全資料まとめ&QA公開】Amplify Meetup #02 新年明けましておめでとうございます!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの木村公哉(@kimyan_udon2)です。私は年始早々、厳かな気持ちでこのブログを書き始めたのですが、気づけば2月に突入しておりました。皆様いかがお過ごしでしょうか? 年をまたいで2020年11月27日に「Amplify Meetup #02」を開催しました。「Amplify Meetup」はAWS AmplifyのユーザーとAWS Amplifyに興味のあるエンジニアのみなさんでLTなどを通して盛り上がるコミュニティーイベントです。タイトルに「#02」とありますように、今回は第2回目の開催となります。第1回目の盛り上がりも開催報告ブログにまとまっております。継続し

                              【開催報告&全資料まとめ&QA公開】Amplify Meetup #02 | Amazon Web Services
                            • WEARのAndroidアプリをBottomNavigationにリプレイスした際の状態保存について - ZOZO TECH BLOG

                              はじめに こんにちは。WEAR部の鈴木(@zukkey59)です。 普段は、「ファッションコーディネートアプリ WEAR」のAndroidアプリを担当しています。 実は最近、コツコツとやっていたリプレイスがおわり、AndroidアプリのBottomNavigation化がリリースされました! 今回は、ドロワーメニューからBottomNavigationへリプレイスした際に悩んだFragmentの状態保存について、紹介します。 背景 今までのWEARのAndroidアプリは、iOSアプリと異なりドロワーメニューという古いUIのままだったため、BottomNavigationでの実装を行うことにしました。 実装を進めていると、BottomNavigationの項目の切り替えを行うことでリストのデータやスクロールの位置が保存されない現象に遭遇しました。 BottomNavigationの項目切り

                                WEARのAndroidアプリをBottomNavigationにリプレイスした際の状態保存について - ZOZO TECH BLOG
                              • なぜか遅いAPIをDatadog Continuous Profilerで調べて高速化した話 - LIVESENSE ENGINEER BLOG

                                こんにちは、かたいなかです。 みなさんが関わっているシステムでなぜか遅くて悩まされている処理はないでしょうか? 最近、遅いAPIをDatadog Continuous Profilerを使用して調べました。どのように問題解決までつなげたかを記事にまとめます。 www.datadoghq.com TL;DR 特定のAPIが遅い問題が発覚 Continous Profiler導入 Continuous Profilerで計測してみると・・・ 問題修正 実際のところ まとめ 参考 TL;DR 遅い処理を改善しようと思ったらまずは計測してみること。 計測することで実は単純な問題であったことに気付けるケースがたくさんあります。また、的はずれな推測を元にでたらめな変更を繰り返してしまう事態を防げます。 通常のDatadog APMで原因がわからない場合には、Continuous Profilerで可視

                                  なぜか遅いAPIをDatadog Continuous Profilerで調べて高速化した話 - LIVESENSE ENGINEER BLOG
                                • マイクロサービスにおけるリコンサイルの話 | メルカリエンジニアリング

                                  この記事はMerpay Advent Calendar 2021 の23日目の記事です。メルペイPayment Platformチームの @foghost がお送りします。 本記事は決済システム開発の観点でリコンサイルを通して防ぎたいリスクについて説明した後、メルペイでリコンサイルについての取り組みについてご紹介します。 リコンサイルとは リコンサイルで検索するとwikipediaではリスク管理の手法の1つと書かれています。人間の様々の活動においてミスが必ず発生するので、リコンサイルはそれら活動の結果が期待通りになっているかどうかを再度確認することで、誤差を検知して様々なリスクを回避することができます。 定義だけ説明してもピンと来ない方が多いかと思いますが、実は普段の生活でも広い意味でのリコンサイルが必要となる場面が多いです。例えば以下の売店で買い物するときの流れを考えてみましょう。 お客

                                    マイクロサービスにおけるリコンサイルの話 | メルカリエンジニアリング
                                  • よりよい開発手法 - ソフトウェア設計を考える

                                    ソフトウェア開発の問題点 従来のウォータフォール方式で、フェーズ分けと分業を重視し、手続き的なモジュール構造でソフトウェアを開発するやり方には次の問題があります。 大量のドキュメントの作成に膨大な時間と費用がかかる(工程が多く、必要な人員がふくらむ) フェーズ分けと分業のため、関係者の間の認識合わせが難しい(伝言ゲーム) ちょっとした変更でも、調査・修正・確認に膨大な時間がかかる(変更がやっかいで危険) 一方、アジャイルと呼ばれる開発のやり方は、以下の問題が起きがちです。 ソフトウェアの規模が大きくなると、どこになにが書いてあるか理解ができなくなる 増築・改築の繰り返しが、全体の構造と品質を劣化させる 全体を俯瞰したり構造を確認するための情報がなく、変更の影響がわかりにくい ちょっとした変更でも、調査・修正・確認に膨大な時間がかかる(変更がやっかいで危険) どちらのやり方でも 変更がやっか

                                      よりよい開発手法 - ソフトウェア設計を考える
                                    • FastAPI ディレクトリ設計|巣籠 悠輔

                                      最近、アプリケーションを開発する際のバックエンドはもっぱら FastAPI を使っています。Python ベースの、軽量で高速なフレームワークです。 実装を繰り返す中で行き着いた、個人的に開発を進めやすいディレクトリ構成をまとめました。 ※ただし、個別のファイルの中身に関しては言及するとボリュームが増えてしまうので、本記事では触れません。あくまでも全体感のみをお伝えする内容になります。 まず、下記が全体感です(User と Book がモデルとして存在しているとします)。 # ディレクトリ・ファイル構成全体 ├── app │   ├── __init__.py │   ├── cruds │   │   ├── __init__.py │   │   ├── users.py │   │   ├── books.py │   │   └── domains │   │      ├──

                                        FastAPI ディレクトリ設計|巣籠 悠輔
                                      • Security-JAWS DAYSで登壇したAmazon Verified Permissionsについての補足 - カミナシ エンジニアブログ

                                        こんにちは、普段ほとんど家で冷房を使わないので、時々都会に行くと建物の中が寒すぎてびっくりするセキュリティエンジニアリングの西川です。 先日Security-JAWS DAYS(https://s-jaws.doorkeeper.jp/events/155024)に登壇させていただきました。30回記念という節目に登壇できたことがただただありがたかったです。運営のみなさま本当にありがとうございました。 登壇資料はこちら https://speakerdeck.com/kaminashi/advantages-and-disadvantages-of-separation-of-responsibilities-using-amazon-verified-permissions 今日は登壇資料をふまえつつ、時間の関係で話せなかったことなどについて書いていきたいと思います。 おさらいも踏まえてご

                                          Security-JAWS DAYSで登壇したAmazon Verified Permissionsについての補足 - カミナシ エンジニアブログ
                                        • Laravelを活用したゲームサーバーチューニング 通信時間100ms以内を実現するための工夫

                                          2019年6月5日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第20回となる今回のテーマは「Laravelを用いたゲームサーバーのチューニング」。株式会社ナウプロダクション主任の木村竜氏が、Laravelを活用したゲームサーバーチューニングの極意を語ります。前半パートとなる今回は、「通信時間100ms以内を達成するための工夫」と題して、高速なLaravelを実現するための考え方を語ります。講演資料はこちら Laravel開発における勘所 木村竜氏:ナウプロダクションの木村竜です。よろしくお願いいたします。 (会場拍手) 本日はLaravelの懸念事項の払拭をメインで話させていただきます。Laravelのどんな機能が便利か、などの側面についてのお話はあまりないんですけど、その点

                                            Laravelを活用したゲームサーバーチューニング 通信時間100ms以内を実現するための工夫
                                          • Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub

                                            こんにちは、モバイル開発のandrekandore (かんちゃん)だ! ※ この記事のどこかにiOSDC Japan 2023のチャレンジトークンが隠されているよ! はじめに この記事は、Kotlin Multiplatformを用いて実現しようとしたこと、運用してみた結果の振り返りについての紹介である。特にSwift・iOSの技術者の観点からどのような課題があったかについて解説する。 iOS / Androd 両プラットフォームをまたがる課題 モバイルアプリ開発においてよく課題としてあがるのは、各プラットフォームにまたがる「ビジネスロジック」の共通化である。 モバイルでは、ウェブとの差異はもちろん、AndroidやiOSアプリとの(仕様・実装の)差異が開発時間の増加につながってしまうことがある。各プラットフォームの差異を埋め合わせることに時間を割くことが、ユーザへの新規機能の実装時間を減

                                              Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub
                                            • GCPで完結させたゲームプラットフォームのアーキテクチャ 開発期間は短くしつつ、自由度を失わないための工夫

                                              GCPで完結させたゲームプラットフォームのアーキテクチャ 開発期間は短くしつつ、自由度を失わないための工夫 これが新しいデザインパターン - mspoを支えるGCP&Looker 2019年11月18日、グーグル・クラウド・ジャパン合同会社にて「第9回 Google Cloud INSIDE Games & Apps」が開催されました。ゲーム業界で活躍するインフラ、サーバーアプリケーションエンジニア、テクニカルリーダーを対象に開催される本イベント。今回は、GCPを活用するさまざまな企業が集まり、最新の活用事例を語りました。プレゼンテーション「これが新しいデザインパターン - mspoを支えるGCP&Looker」に登壇したのは、アイレット株式会社代表取締役社長の齋藤将平氏と、ガンホー・オンライン・エンターテイメント株式会社CTOの菊池貴則氏。ガンホーの子会社であるmspo株式会社

                                                GCPで完結させたゲームプラットフォームのアーキテクチャ 開発期間は短くしつつ、自由度を失わないための工夫
                                              • composed_of を使って Rails で値オブジェクトを扱う - Sansan Tech Blog

                                                DSOC サービス開発部でエンジニアをしている石畑です。普段は Rails で名寄せサービスを作っています。 今回は Rails で値オブジェクトを扱うのに ActiveRecord の composed_of が便利なので、紹介します。 値オブジェクト 値オブジェクトは DDD でも紹介されている概念です。多くのわかりやすい解説が世の中にあるので、詳しくは検索してもらえればと思いますが、ものすごく大雑把に説明すると「各属性で等価を判断できる不変なオブジェクト」です。 例えば「とあるスーパーでお肉を売る」を考えたときに、最初「300 円」で売っていた「お肉 A」を途中タイムセールで 100 円引きの「200 円」で売ったとしても「お肉 A」は値段を変更する前と「同一のお肉」です。 お肉のセール そのため、「お肉」の同一性は属性で判断することはできず、バーコードのような識別子で同一性を追跡し

                                                  composed_of を使って Rails で値オブジェクトを扱う - Sansan Tech Blog
                                                • Storybook Tutorials

                                                  Storybook は開発時にアプリケーションと並行して動きます。Storybook を使用することで、UI コンポーネントをビジネスロジックやコンテキストから切り離して開発できるようになります。この文書は React 向けです。他にも React Native、Vue、Angular、Svelte、Ember 向けのバージョンがあります。 React 向けの Storybook を構築する Storybook を開発プロセスに組み込むにあたり、いくつかの手順を踏む必要があります。まずは、degit を使用してビルド環境をセットアップしましょう。このパッケージを利用することで、テンプレート(アプリケーションの一部をデフォルト設定で構築したもの)をダウンロードし、開発ワークフローの短縮に役立てることができます。 それでは、次のコマンドを実行してください: # Clone the templa

                                                    Storybook Tutorials
                                                  • Java Beans の大罪 〜 getter/setter を捨てて美しきオブジェクトの世界で生きよ〜 - A Memorandum

                                                    まえがき はじめに Java Beans の誕生 サーバサイドの台頭 Struts と BeanUtilsの興起 Enterprise JavaBeans ORM の台頭 getter/setter は良くない習慣です なぜ getter/setter は悪なのか 悪の囁きに対する処方箋 まとめ まえがき 以下のコードを見てください。 Car car = new Car(); car.getEngine().getFuelContainer.setFuel(Fuel.litreOf(30)); もしあなたが、このコードに違和感を感じたのであれば、以下の記事を読む必要はありあません。 はじめに 開発の現場では今なお、疑問を挟む余地なく Bean という言葉が使われ、それに付随する getter/setter の呪縛に囚われ続けた状態が続いています。 この慣習は広く蔓延し、多くの開発者の思考を

                                                      Java Beans の大罪 〜 getter/setter を捨てて美しきオブジェクトの世界で生きよ〜 - A Memorandum
                                                    • Okta Customer Identity Cloud(旧 Auth0)のForms for ActionsがEAになったよ - ドワンゴ教育サービス開発者ブログ

                                                      はじめに こんにちは。ドワンゴ教育事業バックエンドエンジニアの金子です。 Okta Customer Identity Cloud(旧 Auth0。以下 Okta CIC)の新機能「Forms for Actions」(以下 Forms)がEarly Accessになりました。本番環境での使用も想定されているステージです。 教育事業での採用も見据えて、どんな機能なのか調べてみたので内容を紹介します。 Forms for Actionsとは Okta CICの認証フローをカスタマイズできる機能です。 ログイン成功時のActions1内でFormを呼び出し、ユーザーへ表示できます。 例えば下記のようなユースケースが想定されています。 プログレッシブプロファイリング 規約への同意の取得 サインアップ・ログインフローの追加ステップ メールアドレス検証の必須化 決済情報の入力 など 何がうれしいのか

                                                        Okta Customer Identity Cloud(旧 Auth0)のForms for ActionsがEAになったよ - ドワンゴ教育サービス開発者ブログ
                                                      • さまざまなAWSサービスの品質を支える運用監視の要 Amazon CloudWatch

                                                        この連載ではこれまでに、コンピューティングやデータベース、ストレージ、ネットワークなど各種システム開発に役立つさまざまなAWSのサービスを紹介してきました。読者の皆さまはこれらを活用して、AWSでシステムを提供する準備がそろそろ整ってきたところかと思いますが、忘れてはいけないのは運用監視です。今回は安定したシステム運用を実現する「Amazon CloudWatch」を紹介します。 アマゾン ウェブ サービス ジャパン パートナーアライアンス統括本部 ISV パートナー本部 櫻谷 広人 氏"> 講師 アマゾン ウェブ サービス ジャパン パートナーアライアンス統括本部 ISV パートナー本部 櫻谷 広人 氏 何をどのレベルで提供するのか 運用監視を行う目的とは 今回の記事を担当するAWSジャパンの櫻谷です。今回のテーマは運用監視ですが、まずは運用監視を行う目的を確認しましょう。システムはユー

                                                          さまざまなAWSサービスの品質を支える運用監視の要 Amazon CloudWatch
                                                        • 目的を選ぶだけでクラウドアーキテクチャを作ることができるユーザ体験を目指して - NTT Communications Engineers' Blog

                                                          この記事は、 NTT Communications Advent Calendar 2023 10日目の記事です。 そして、DevOpsプラットフォームの取り組みを紹介する9回目の記事です。Qmonus Value Streamについては、当プロダクトの連載記事をご覧ください。 はじめに こんにちは、イノベーションセンターのQmonus Value Stream チームに所属している松本です。 私たちQmonus Value Stream チームのミッションはNTTコミュニケーションズおよびNTTグループ向けDevOpsプラットフォームであるQmonus Value Streamを開発してプロダクトチームに提供し、プロダクトチームを課題解決に集中させることでプロダクトの成功に寄与することです。 本記事は、そんなDevOpsプラットフォーム Qmonus Value Streamを使ってユー

                                                            目的を選ぶだけでクラウドアーキテクチャを作ることができるユーザ体験を目指して - NTT Communications Engineers' Blog
                                                          • 業務アプリケーションを作るツールは、kintoneが最も良いなと感じたわけ|goza(ござ先輩 / YUMOTO Michitaka)

                                                            明けまして、おめでとうございます。今年度も「ITプランナーを増やしたい」マガジンを、どうぞよろしくお願い致します。 ITプランナーというか、ビジネスとITを融合できる人材を増やすには、成功体験に勝るものはない。成功体験とは、自分自身の業務やチームの業務といったものをITを使って変革して狙った成果を出すことを指しています。 エンジニアが足りてない昨今、プロダクト開発が増えてくればコーポレート部門に専念するエンジニアは、減っていくでしょう。IT企画力向上のためにも、プログラミング経験が乏しい方でも使える都合の良いツールを、昨年の秋頃から探しました。 だいたい10近いツールを体験した中で、以下の観点から評価させて頂き、最もバランスの良い選択肢が「kintone」だったのでご案内します。何かしらの参考になれば幸いです。僕の観点なので、良い悪いじゃないのでご留意を。 開発ツールの選定基準- マーケッ

                                                              業務アプリケーションを作るツールは、kintoneが最も良いなと感じたわけ|goza(ござ先輩 / YUMOTO Michitaka)
                                                            • 新規でAndroidアプリを作る際に役立った考え方 #famm年賀状2022 #android #kotlin - Tech Blog

                                                              こんにちは、Androidエンジニアのtsutouです。 今年は夏ごろから去年iOS版をリリースしたFamm年賀状アプリのAndroid版を開発し、無事リリースすることができました。 play.google.com 半年ほどで新規アプリをリリースまで持っていくのは大変でしたが、外部のメンバーと協業し、吸収できたポイントがたくさんありました。 その時に役立った知見/考え方を共有できればと思います! どんなアプリ? Fammで使っている写真を加工して使ったり、好きな文字を印字して、簡単に年賀状が注文できるアプリです。 マイデザイン機能や宛先登録機能で、再注文もしやすい設計になっています。 ぜひ!今年は年賀状を! 😙 さまざまなテンプレートがあり、写真の穴のパターンも膨大にあるので、開発者側から見るととても画像の加工周りが1番の壁になりそうだなという印象で、実際にそうでした。 まず、設計的な部

                                                                新規でAndroidアプリを作る際に役立った考え方 #famm年賀状2022 #android #kotlin - Tech Blog
                                                              • Reduxを使ってiOSアプリケーション開発 Reduxの基本からコードの構造まで解説

                                                                2018年12月12日、株式会社サイバーエージェントにて「CA.swift」の 第7回が開催されました。AbemaTVやAmeba、AWAなどを担当しているiOSエンジニアが登壇し、それぞれのチームの開発ノウハウを惜しみなく語るイベント。今回は、『iOSアプリ設計パターン入門』の著者2名を含む5人のエンジニアが、iOS開発における知見を披露します。プレゼンテーション「Redux w/ iOS」に登壇したのは、フリーランスiOSエンジニア杉上洋平氏。講演資料はこちら Redux with iOS 杉上洋平氏:みなさんこんばんは。よろしくお願いします。Reduxについて本を書かせていただいたんですけれども、その中で本に付随してサンプルコードのアプリケーションをつけているんですけれども、本日はそちらのコードについて解説したいと思います。よろしくお願いします。 まず自己紹介ですけれども、杉上と申し

                                                                  Reduxを使ってiOSアプリケーション開発 Reduxの基本からコードの構造まで解説
                                                                • Lambdaのログ出力にオススメしたいNode.jsのライブラリ DAZN Lambda Powertools | DevelopersIO

                                                                  CX事業本部@大阪の岩田です。 先日のブログでPythonのライブラリLambda Powertoolsについてご紹介しました。今日はNode.jsのLambda向けに色々な便利機能を提供してくれるDAZN Lambda Powertoolsについてご紹介します。 環境 今回利用した環境です ランタイム: Node.js 12.x dazn-lambda-powertools-layer: 1.15.6 DAZN Lambda Powertoolsとは? Node.jsで利用できるAWS Lambda用のミドルウェアを集めたライブラリです。GitHubのリポジトリはこちらです。 https://github.com/getndazn/dazn-lambda-powertools 概要についてはREADMEに貼られている以下の画像を見て頂くのが分かり良いですが、 構造化ログ(JSONログ)の

                                                                    Lambdaのログ出力にオススメしたいNode.jsのライブラリ DAZN Lambda Powertools | DevelopersIO
                                                                  • gRPCのServer-Streaming RPCを用いたPUSH通知の実現事例 | Fintan

                                                                    はじめに このドキュメントは、gRPCを用いてサーバからクライアントへのPUSH通知を実現した事例をまとめたものです。 ここでいう PUSH 通知とは、通常のクライアントからサーバへのリクエストではなく、何かしらの契機によりサーバからクライアントへ送信される通知を指します。 例えばチャットツールでよくあるように、誰かのメッセージが入力されたらチャット参加者全員に通知されるというものです。 gRPCを利用してみた事例は現時点でも多く存在しますが、サーバ側からの通知の実現方法を述べた情報は調べた限りでは多くありませんでした。 本ドキュメントは、gRPC での PUSH 通知をどのように実装するのか?、そして、その時の課題にどのようなことがあるのか?という情報を提供することを目的としています。 TL;DR サーバからの PUSH 通知を、gRPC の Server Streaming RPC と

                                                                      gRPCのServer-Streaming RPCを用いたPUSH通知の実現事例 | Fintan
                                                                    • SBテクノロジー、Azure OpenAI Service と連携する独自システムを開発し、社内利用開始 | SBテクノロジー (SBT)

                                                                      ホーム ニュース リリース プレスリリース 2023年のプレスリリース SBテクノロジー、Azure OpenAI Service と連携する独自システムを開発し、社内利用開始 SBテクノロジー、Azure OpenAI Service と連携する独自システムを開発し、社内利用開始 ~Microsoft Teamsなど業務アプリへ活用し効率化を推進、社内活用で得られたノウハウをもとにサービス開発にも着手~ 印刷する SBテクノロジー株式会社(本社:東京都新宿区、代表取締役社長 CEO:阿多 親市、以下 SBT)は、Azure OpenAI Service と連携する独自システムを開発し、2023年6月より全従業員約1,000人が利用を開始しましたのでお知らせいたします。 独自開発したシステムは、Microsoft ソリューションにおける豊富な開発実績を応用したビジネスロジックが組み込まれて

                                                                        SBテクノロジー、Azure OpenAI Service と連携する独自システムを開発し、社内利用開始 | SBテクノロジー (SBT)
                                                                      • DDDを実践するための手引き(リポジトリパターン編)

                                                                        以前DDDの入門記事を書いたのですが、ここではリポジトリパターンについて深掘って取り上げます。続編ぽいタイトルですが、そんなにつながりはないのでコレ単体で読めます。 はじめに リポジトリパターンは、DDDで有名になった、ドメインモデルの永続化のためのデザインパターンです。 今やいろいろなところで「Repository」という名前を冠するクラスを目にするようになりましたが、誤解されたり誤用されることも多くあります。 ここではリポジトリパターンの意図や本質を理解することを目指します。リポジトリパターンには役立つ考え方が詰まっているので、このパターンを採用しなくても知っておくときっと役に立つと思います。 なお実装例はKotlinで書きますが、オブジェクト指向の言語であればだいたい同じ感じです。 リポジトリ(Repository)とは? 日本語訳は「保管庫」です。オブジェクトを保管しておき、必要な

                                                                          DDDを実践するための手引き(リポジトリパターン編)
                                                                        • 日比谷音楽祭おさんぽアプリ2020 開発の裏側を語る / クライアント編 | BLOG - DeNA Engineering

                                                                          前回に引き続き、『 日比谷音楽祭公式おさんぽアプリ2020 』(以下、おさんぽアプリ)のクライアント編をお伝えします。 この記事の概要 事前に新機能で必要なUI・ロジックを洗い出すことで効率的に開発した gRPCによりモックを簡単に作ることができ、サーバー/クライアントで同時に開発できた 時間と慣れが必要なSupernovaについてデザイナーさんと進め方を工夫した 最大9曲の音楽を同期して再生するため、audioplayersを活用した Flutterの良かった点、悪かった点、辛かった点を振り返った 今年のおさんぽアプリでは、FlutterやgRPCなど、いま話題の新しい技術を使用しています。 クライアントの開発メンバーは20新卒4名(石田・海老沼・小野・渡部)と21卒内定者1名(砂賀)、フルリモートでの開発、かつ0からの開発ということで、大きな挑戦をしました! 本記事では、内定者のみでど

                                                                            日比谷音楽祭おさんぽアプリ2020 開発の裏側を語る / クライアント編 | BLOG - DeNA Engineering
                                                                          • ServerlessDays Tokyo / Fukuoka 2019 を開催します - yoshidashingo

                                                                            サイダス の 吉田真吾(@yoshidashingo)です。 今年もサーバーレスなカンファレンスの季節がやってきました。 今回は2016年に初回開催をおこなったTABLOIDで開催します。 https://tokyo.serverlessdays.io/ また、今年は東京に加え、初の福岡開催も決定しました。 ※福岡のウェブサイトは近くアップされます。 ServerlessDays Tokyo 概要 日程 2019/10/21(月) ワークショップ @ DMM(六本木一丁目) 2019/10/22(火・祝) カンファレンス @ TABLOID(芝浦) 想定参加人数 400名 ServerlessDays Fukuoka 概要 日程 2019/12/13(金) ワークショップ 2019/12/14(土) カンファレンス 想定参加人数 120名 ServerlessDays Tokyoはスピーカ

                                                                              ServerlessDays Tokyo / Fukuoka 2019 を開催します - yoshidashingo
                                                                            • オニオンアーキテクチャとは何か - Qiita

                                                                              概要 オニオンアーキテクチャはJeffrey Palermo氏により考案されたアーキテクチャパターンである。伝統的な階層化アーキテクチャとオブジェクト指向の考え方を踏襲しつつ、これまでよりも保守性、テスト容易性、依存性の点で優れたアプリケーションを構築することを目的としている。本記事ではこのオニオンアーキテクチャとは何かについてPalermo氏の記事を参考にして考察する。 前提となる知識 オニオンアーキテクチャを理解する上で前提となるいくつかの知識を挙げる。 オブジェクト指向 オニオンアーキテクチャはオブジェクト指向を前提としたアーキテクチャである。 階層化アーキテクチャ オニオンアーキテクチャは多層アーキテクチャを利用している。 依存性逆転の原則 オニオンアーキテクチャでは依存性逆転の原則がオブジェクトのモデリングに利用されている。 ドメイン駆動設計 Entity, Repository

                                                                                オニオンアーキテクチャとは何か - Qiita
                                                                              • 『Micro Frontends』という記事を読んだのでまとめる

                                                                                ※こちらの記事は過去に個人のブログで投稿したものになります。 最近、マイクロフロントエンドという技術を知っていろいろ調べていたら以下のような記事を見つけました。 マイクロフロントエンドとは何か、非常に分かりやすくまとまっています。 なので日本語で要約・加筆して後で読み返しやすくしていこうと思います。 マイクロフロントエンドとは マイクロフロントエンドとは、 単体で実行可能な、サイトから切り出された特定のUI領域 であり、Webフロントエンドの新たなアーキテクチャです。 この特徴から以下のようなメリットがあります。 インクリメンタルアップグレード シンプルで分離されたコードベース 独立したデプロイ 自立したチーム インクリメンタルアップグレード マイクロフロントエンドは単体で実行可能にするため、使用するフレームワーク、ライブラリが他のマイクロフロントエンドと共通ではありません。 このため、他

                                                                                  『Micro Frontends』という記事を読んだのでまとめる
                                                                                • ZOZOFIT iOSアプリ開発の全貌 - ZOZO TECH BLOG

                                                                                  はじめに こんにちは、計測プラットフォーム開発本部アプリ部の中岡、永井、東原です。私たちのチームではZOZOMAT、ZOZOGLASSといった既存の計測機能の改善と、新規計測アプリの研究開発を担当しています。 その新規計測アプリとして、ZOZOFITというボディーマネジメントサービスを2022年の夏に米国でローンチしました。この記事では、ZOZOFITのiOSアプリを新規開発するにあたって、どのような技術要素を取り入れたかについてご紹介します。 目次 はじめに 目次 ZOZOFITとは 計測機能とその実装・統合 計測機能について 計測機能の実装・統合について iOSアプリの技術要素 使用技術 対応OS UIフレームワーク CI/CD パッケージ管理 その他ツール アーキテクチャ プロジェクト構成 今後の課題 おわりに ZOZOFITとは ZOZOFITは、ZOZOグループのZOZO App

                                                                                    ZOZOFIT iOSアプリ開発の全貌 - ZOZO TECH BLOG