並び順

ブックマーク数

期間指定

  • から
  • まで

641 - 680 件 / 3634件

新着順 人気順

ビジネスロジックの検索結果641 - 680 件 / 3634件

  • 詰まるところ、「クラウドネイティブ」で何をすればいいのか

    詰まるところ、「クラウドネイティブ」で何をすればいいのか:草間一人×青山真也 クラウドネイティブ対談(3)(1/2 ページ) 青山真也氏と草間一人氏に、クラウドネイティブに関してじっくり語ってもらった対談の内容を、4回に分けて掲載している本連載。今回は第3回として、「結局、クラウドネイティブで何をすればいいのか」をテーマとした部分をお届けする。 本連載では、2019年7月の「Cloud Native Days Tokyo 2019」でCo-chairを務めた草間一人氏と青山真也氏に、クラウドネイティブに関してじっくり語ってもらった対談の内容を、4回に分けて掲載している。第1回は「クラウドネイティブは、どう誤解されているか」、第2回は「CNCFのCloud Native Trail Mapを、クラウドネイティブ活動の指針としてどう考えるか」についてお届けした。今回は第3回として、「結局、クラ

      詰まるところ、「クラウドネイティブ」で何をすればいいのか
    • NestJS Way より TS Way を意識したバックエンド設計事例と Tips - Mobile Factory Tech Blog

      こんにちは!BC チームでエンジニアをしている id:d-kimuson です。 最近、弊チームで構築した社内向け Web API のバックエンド設計をしたので事例として紹介しようと思います。 フレームワークとして NestJS を採用していますが、NestJS Way よりも TS Way を意識した設計をしており、このエントリの主題でもあるため、TS Backend の設計事例として読んでいただければと思います。 対象システムの概要 社内の他サービス向けの Web API で、他チームのサービスを経由してエンドユーザーに届く中間システム チーム内のサービスからもチーム外のサービスからも叩かれる想定 チーム外からも叩かれるため、なんらかのスキーマを共有したいというモチベーションがある → 2023 年現在で標準的な OpenAPI Specification (以後 OAS と呼びます)

        NestJS Way より TS Way を意識したバックエンド設計事例と Tips - Mobile Factory Tech Blog
      • Google のオープンソースの Windows 管理ツール | Google Cloud 公式ブログ

        ※この投稿は米国時間 2021 年 1 月 30 日に、Google Cloud blog に投稿されたものの抄訳です。 世界各地の Google 社内チームが使用する Windows のパソコン、ノートパソコン、サーバーを管理するには注意が必要です。新しいツールが絶え間なくリリースされ、高い期待が寄せられるうえ、安全性の高さ、コードベースであること、スケーラブルであることなど、組織の厳しいニーズにも応えなければなりません。ここにさらに、グローバルに分散したビジネスと在宅勤務に関する追加要件が加わるとなれば、問題が発生する可能性は高まるばかりです。 本日は、Google の Windows Operations(WinOps)チームが使用しているツールの一部と、それらを作成(およびオープンソース化)した理由についてご説明します。私たち WinOps チームは、ノートパソコンとデスクトップ

          Google のオープンソースの Windows 管理ツール | Google Cloud 公式ブログ
        • Rails: 私の好きなコード(3)"正しく書かれた" concerns(翻訳)|TechRacho by BPS株式会社

          概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Code I like (III): Good concerns 原文公開日: 2022/10/10 原著者: Jorge Manrubia -- 37segnalsのエンジニアです 日本語タイトルは内容に即したものにしました。concernsについては以下の記事もどうぞ。 Rails API: ActiveSupport::ConcernとModule::Concerning(翻訳) Railsのconcernsは長年に渡って多くの批判にさらされてきました。果たしてconcernsはあらゆる問題を解決するのか、それとも全力で避けるべきなのでしょうか?私の考えとしては、concernsの問題は「いくらでも好き勝手に使えてしまう」ことであり、それならばconcernsで自分の足を撃ち抜くのも無理はありません。concernsは、結局

            Rails: 私の好きなコード(3)"正しく書かれた" concerns(翻訳)|TechRacho by BPS株式会社
          • LayerXのミッションを再定義しました|福島良典 | LayerX

            どうもLayerXの福島です。今回のnoteではLayerXのミッションの再定義の意図、ミッションを決めていく中でどんな事を考え、何を優先し、何を諦め、結果そのプロセスの中で改めてこういう社会にコミットしていきたいんだというものが自分の中でも再整理できたため、その過程をメモがてらnoteにしておこうと思います。 きっかけLayerXの改定前のミッションは「Evaluate Everything」です。ブロックチェーン技術が作っていく信用の再編、価値の再編が起こった後の社会では、すべてのものが評価できる、される社会だよねという思いを込めて作った、それなりに考え抜かれた言葉でした。 しかしある日、採用で、クライアントとの面談で、社内で、LayerXさんが目指してる社会ってどんな社会ですか?どんなことを実現していく会社なんですか?と聞かれたとき、ミッションについて語るわけです。「LayerXのミ

              LayerXのミッションを再定義しました|福島良典 | LayerX
            • ローコード開発のOutSystemsが、マイクロサービス化した次世代版「Project Neo」を発表

              ローコード開発のOutSystemsが、マイクロサービス化した次世代版「Project Neo」を発表:「面倒なくスタートアップ企業と同じようなアプリが作れる」 OutSystemsが、同社のローコード開発プラットフォームで、コンテナとクラウドを活用する次世代版、「Project Neo」を発表した。マイクロサービス化しており、スタートアップ企業と同じようなアプリケーションサービスの開発と運用が、一般企業でも煩雑な作業なしにできるとしている。 OutSystemsは2021年11月17日(日本時間)、同社のローコード開発プラットフォームで、コンテナとクラウドを活用する次世代版を発表した。「Project Neo」という開発コード名で呼んでいるが、既にパブリックプレビュー版をリリースした。正式な提供開始は2022年を予定している。 OutSystemsは、大規模で複雑なアプリケーション/シス

                ローコード開発のOutSystemsが、マイクロサービス化した次世代版「Project Neo」を発表
              • Javaを愛する25の理由 | Post Blog

                IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am

                  Javaを愛する25の理由 | Post Blog
                • LambdaとGoを使ったサーバーレスWebAPI開発実践入門 | フューチャー技術ブログ

                  はじめにこんにちは、TIGの辻です。 業務アプリケーションのビジネスロジックをサーバーレスで実装することも増えてきました。AWSサービストリガによるLambda関数起動の記事にもあるようにAPI GatewayとLambda関数を組み合わせてHTTPサーバを提供することも容易にできます。バックエンドのWebAPIをLambda関数で動かすユースケースがよくあるパターンです。Lambda関数とアプリケーションロジックの実装は密結合になりやすいですが、HTTPサーバで動作するように実装して、Lambda関数として組み込むと、従来のHTTPサーバを実装するノウハウを活かしつつ、サーバレスで動作するバックエンドのWebAPIを構築できます。 本記事ではGoを用いてサーバレスなWebAPIサーバをAWS上に1から構築するチュートリアルです。 go-swaggerに閉じた入門記事として、以下もおすすめ

                    LambdaとGoを使ったサーバーレスWebAPI開発実践入門 | フューチャー技術ブログ
                  • iOS/Androidチーム合同でユニットテストクロスレビューを行っている話 - スタディサプリ Product Team Blog

                    こんにちは。2020年6月から Quipper に参加している @omtians9425 です。現在新規プロジェクトにおいて Android アプリ開発を担当しております。 今回は弊プロジェクトの iOS/Android チーム合同で行っている、ユニットテストのケースを相互にレビューし合う取組みについてお話します。 背景 弊プロジェクトのモバイルチームでは、プロジェクト開始当初からテスト方針について QA エンジニアと共に議論してきました。そこで、プラットフォーム間の品質・実装差分をなるべく減らすための取り組みとして、ユニットテストケースをお互いにレビューするのはどうか、というアイディアが出ました。 弊チームでは、各プラットフォームにおける適切なデザインや独自仕様の実装を除き、アプリの中核となるビジネスロジックについては iOS/Android で原則共通になると考えています。一方で言語や

                      iOS/Androidチーム合同でユニットテストクロスレビューを行っている話 - スタディサプリ Product Team Blog
                    • ZOZOTOWN検索マイクロサービスにおけるキャッシュの導入とその効果 - ZOZO TECH BLOG

                      はじめに こんにちは。検索基盤部 検索基盤チームの佐藤(@satto_sann)です。検索基盤チームでは、 ZOZOTOWNの検索周りのシステム開発に日々取り組んでいます。 本記事では、ZOZOTOWNの検索マイクロサービスにおけるキャッシュ導入で得られた知見や工夫点について紹介します。検索に限らずマイクロサービスへキャッシュの導入を検討されている方の参考になれば幸いです。 目次 はじめに 目次 キャッシュの導入背景 負荷とレイテンシの悪化 ABテストの仕組みをマイクロサービスへ移設する上での問題 キャッシュ導入の検証 Cache Stampede Cache Stampedeの対策 2重キャッシュ 分散していたキャッシュの統合 キャッシュの有効期限 定められたタイミングでの情報反映 キャッシュ導入後の構成 キャッシュ制御の設計 【A案】アプリケーション層とドメイン層の間 【B案】ドメイン

                        ZOZOTOWN検索マイクロサービスにおけるキャッシュの導入とその効果 - ZOZO TECH BLOG
                      • マイクロサービス実装に不可欠「Saga」とは

                        GMOアドマーケティングのM.Hです。 近年のソフトウェアは、従来のモノリシックなアーキテクチャからマイクロサービスアーキテクチャへと大きくシフトしています。この変化に伴いトランザクションはより複雑となり、分散トランザクションが一つの大きな課題となってきます。この記事では、この課題に対処するためのSagaパターンに焦点を当て、その設計、利点、欠点、および他のパターンとの比較について詳しく説明します。 マイクロサービスと分散トランザクション マイクロサービスアーキテクチャの基本概念 マイクロサービスアーキテクチャは、各サービスが独立して動作し、それぞれが異なるデータソースにアクセスできるという特性を持っています。このため、従来の単一のデータベースを使用するモノリシックアプローチとは異なり、分散トランザクションが一般的です。このような分散環境では、トランザクションの整合性を保つための新しいアプ

                          マイクロサービス実装に不可欠「Saga」とは
                        • Javaでクリーンアーキテクチャする方法 Part.5:クリーンアーキテクチャの課題と解決

                          開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.5はクリーンアーキテクチャの課題と解決について。動画はこちら。 Presenter は捨てよう みなさんも課題わかったかな。1個目が、まずMVCフレームワーク合っていないよね。2つ目が、DIする、ユースケースを作るたびにControllerを修正しなきゃいけない。さらにもう1個が、とにかくいっぱいクラス作るの大変だよね。 それぞれ解決してみましょう。まず1個目、Presenterが使えない問題ですね。これJavaで話していますけど、僕もともとC#とかでこれやっていたんですね。そのときにいろいろ考えた結果、ちょっと怒られるかもしれないけど、捨てました。具体的にどうやったかというと、素

                            Javaでクリーンアーキテクチャする方法 Part.5:クリーンアーキテクチャの課題と解決
                          • 出前館アプリ開発における体制変化に伴う取り組み React Nativeを活用した継続開発のためのルール作成

                            2021年11月10日と11日の2日間、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2021」がオンラインで開催されました。そこでSoftware Engineerの植松氏と黒澤氏が「出前館におけるReact Nativeアプリ開発のこれまでとこれから」というテーマで登壇。まずは、LINEが出前館の開発に関わっている背景と、体制変化の中でアプリチームが取り組んできたことについて共有します。 自己紹介 植松啓誠氏(以下、植松):本日は「出前館のReact Native開発のこれまでとこれから」という題目で発表します。植松と黒澤です。よろしくお願いします。React Nativeという文脈上、2人のバックグラウンドから紹介させてください。 私は植松と言います。2019年に通称UIT、Frontend開発センターに、フロントエンドのエンジニア

                              出前館アプリ開発における体制変化に伴う取り組み React Nativeを活用した継続開発のためのルール作成
                            • アナリティクスエンジニアの募集を始めました

                              こんにちは、データテクノロジーユニット D3M 部の @beniyama こと山邉と申します。 D3M とは Data Driven Decision Making の略で、下記の組織概要にありますように『データマネジメントを通して経営資源としてのデータの価値を引き出し、意思決定の速度と精度を最大化する』ための組織になります。 具体的には、経営の意思決定やプロダクト戦略の策定など、様々なデータ利活用に対するデータ環境の要件を整理し、それを満たすための BI ダッシュボードやデータマートの構築など各種モニタリング基盤の整備などを行っています。 データ推進室組織概要(2022/09 現在) この度、データを活用した意思決定やプロダクト開発のスピードを加速させるべく、D3M 部において『アナリティクスエンジニア』の募集を新たに始めたので紹介させていただきます。 アナリティクスエンジニアとは De

                                アナリティクスエンジニアの募集を始めました
                              • \非公式/ Go Conference 2022 Spring スポンサー企業4社 アフタートークに2名登壇しました - BASEプロダクトチームブログ

                                2022/4/28(木)にオンラインで開催された「\非公式/ Go Conference 2022 Spring スポンサー企業4社 アフタートーク」にBASEからも2名が登壇しました。 andpad.connpass.com イベントについて 今回登壇させていただいたイベントは先日開催された「Go Conference 2022 Spring」にスポンサーとして協賛していた4社で行われたイベントです。主催のANDPADさまお誘いありがとうございました。 gocon.jp 当日は弊社含めて次の4社(敬称略)のGopherの発表とパネルディスカッションが行われました。 株式会社Showcase Gig BASE株式会社 株式会社LayerX 株式会社ANDPAD (順番は当日の発表順) 当日のTwitterハッシュタグは#gocon2022_4sponsorでした。 BASEとGo Conf

                                  \非公式/ Go Conference 2022 Spring スポンサー企業4社 アフタートークに2名登壇しました - BASEプロダクトチームブログ
                                • Serverless Days Tokyo 2023に参加してきました!(前編) - Qiita

                                  日比谷のクラスメソッド社さん会場に100名以上が集結するオフラインイベントです! ※リアルタイムの走り書きのため、誤り等あればお知らせください🙏 KEYNOTE / Alex Debrie (AWS Data Hero) 有名なDynamoDB Bookを執筆された方です! サーバーレスの歴史 オンプレミス〜EC2の登場〜Lambda登場の変遷 Herokuから始まった12-Factor Appの話 イベントドリブン: SQS, S3, SNS, そしてDynamoDBの登場 DynamoDBの登場 DynamoDBが早くから人気を得た理由: サーバーレスと相性がいい VPCが不要、接続上限なし、IaCと高速プロビジョン、メンテウィンドウなし これがRDSだったら…ほとんど実現できない! フルマネージド、マルチテナンシー! サーバーレスの今、これから AWS以外のサーバーレスサービスの台

                                    Serverless Days Tokyo 2023に参加してきました!(前編) - Qiita
                                  • Repositoryパターンにおける、MVC + Service + Repositoryの役割をもう一回整理してみる

                                    Repositoryパターンにおける、MVC + Service + Repositoryの役割をもう一回整理してみる 最近いろんな技術書を読み始めたり、コード設計的なところを調べてみたりして、 ふわっとなんとなく使っているRepositoryパターンにおける「Model」「View」「Controller」「Service」「Repository」のそれぞれの役割についてもう一回整理してみました。 役割をきちんと分かっていないと、形だけのRepositoryパターンになってしまいきれいなコードが書けなくなってしまいます。 というわけで、れっつごー! Viewはユーザーと直接触れ合う場所 Viewは役割がわかりやすいので今更書かなくても、、と思ったのですが、一応。 Viewは「画面の表示」「画面表示のための判断・処理」を行う場所です。 LaravelだとbladeやVueやReactなどが

                                      Repositoryパターンにおける、MVC + Service + Repositoryの役割をもう一回整理してみる
                                    • MVVM with Combineチュートリアル for iOS - Qiita

                                      struct OpenWeatherAPI { ... static let key = "<your key>" // Replace with your own API Key } これが完了したら、プロジェクトをビルドして実行します。メイン画面には、タップするボタンが表示されます。 「ベスト天気アプリ」をタップすると、詳細が表示されます。 現時点ではそれほど見栄えが良くありませんが、チュートリアルの終わりまでには見栄えがよくなります。 :] MVVMパターンの紹介 Model-View-ViewModel(MVVM)パターンは、UIデザインパターンです。これは、集合的にMV*として知られるパターンのより大きなファミリーのメンバーです。これらには、モデルビューコントローラー(MVC)、モデルビュープレゼンター(MVP)などが含まれます。 これらの各パターンは、アプリの開発とテストを容易

                                        MVVM with Combineチュートリアル for iOS - Qiita
                                      • Microsoft Power Fx の概要 - Power Platform

                                        Power Fx は Microsoft Power Platform 全体で使用されるロー コード言語です。 汎用、厳密な型指定、宣言型、そして関数型のプログラミング言語です。 Power Fx は、人が使いやすいテキストで表現されています。 作成者が Excel のような数式バーまたは Visual Studio Code のテキスト ウィンドウで直接操作できるローコード言語です。 ローコードの「ロー」は、言語の簡潔でシンプルな性質によるものであり、一般的なプログラミング タスクを作成者と開発者の両方にとって容易にします。 これにより、プログラミング経験のない人向けのコードなしから経験豊富な専門家向けの「プロコード」まであらゆる開発が実現し、新たに学ぶことや書き直しの必要がないので、さまざまなチームが協力して時間と費用を節約できます。 Note Microsoft Power Fx は

                                          Microsoft Power Fx の概要 - Power Platform
                                        • Anthosの話についていくための最低限の知識をまとめてみた | フューチャー技術ブログ

                                          はじめにこんにちは、TIGの越島と申します。 GCP連載2021第9弾です。今回技術ブログに初参加させていただきます。テーマはAnthosです。 Anthosは2019年にGoogleが発表した、「ハイブリッドクラウド・マルチクラウド環境に対応したアプリケーション管理プラットフォーム」です。発表から2年ほど経って、エンタープライズ向けのシステム構成を検討する際に名前が挙がることも増えてきている実感があります。そんなAnthosですが、構成要素が多くて中々全体像が掴みきれない人も多いのではないかと思います。 今回は、「Anthosって何だかよく分からん」という人が、Anthosの話題についていくための最低限の知識をまとめてみようと思います。この記事を読んだ方が、次どこかでAnthosの話題が出たときに、「あ〜はいはいAnthosね」とある程度自信を持って言えるようになることを目指しています。

                                            Anthosの話についていくための最低限の知識をまとめてみた | フューチャー技術ブログ
                                          • CTOやEMを目指すエンジニアが意識したい事業視点と、副業起点の学習サイクル | Offers Magazine

                                            ▲登壇時の写真 はじめまして、様々なバックエンドの開発をしている竹澤(@ex_takezawa)です。 PHPやGo、Scalaなどを用いてWebアプリケーションからビッグデータを扱う分析システムや、基盤システムを行っています。 今回は、これまでエンジニアとして経験したことを踏まえて、視野を広げることや事業性を理解してシステム開発を行うことの大切さなどを紹介していきます。 みなさんのエンジニアとしてのキャリアにとって少しでも参考になれば幸いです。 副業を起点としたエンジニアの学習サイクル 副業のススメ まず、エンジニアの副業ですが、個人的には、収入が増えるというメリットがフォーカスされがちですが、本業とは異なる事業、会社の規模、ドメイン領域に触れることが出来るという点に大きなメリットを感じています。 副業で得意な開発スキルを伸ばす、ということも当然できますが、本業とは異なるドメイン領域に触

                                              CTOやEMを目指すエンジニアが意識したい事業視点と、副業起点の学習サイクル | Offers Magazine
                                            • ドメインイベントによるイベント駆動の実装

                                              プロローグ 膨れ上がる要件、複雑化していくAPI システムを開発していると、どんどん要件が増え、一つのAPIの呼び出しで様々な処理を行う必要が出てくることがあります。 例えば予定を登録するAPIを実行したら、DBにデータを保存し、Googleカレンダーにもイベントを作成し、予定の開始時刻直前に通知を出すためのタスクを登録したり、同様に終了時刻直前に通知を出すためのタスクを登録したり・・・。 この様に1つのAPIに対する要求が増えてくると、プログラムが複雑になり、それぞれの処理のエラーハンドリングなどが増え制御が難しくなっていきます。 また、Googleカレンダーに連携するなど、外部サービスに依存する場合はそことの通信コストがかかり、レスポンスを返すのが遅くなったり、外部サービスがダウンしている場合はAPIも失敗することになり、システムの可用性が下がります。 非同期処理の必要性 処理をシンプ

                                                ドメインイベントによるイベント駆動の実装
                                              • 新電子書籍流通システムのアーキテクチャを解説 - Tech Do | メディアドゥの技術ブログ

                                                はじめまして、エンジニアの回路(@qazx7412)です。 今回は先日(といっても少し時間が経ってしまいましたが…)プレスリリースでも発表させて頂いた新電子書籍流通システム(以下、配信システム)についての話をしようと思います。 ​ 配信システムとは 2017年に株式会社メディアドゥ(以下、メディアドゥ)は株式会社出版デジタル機構(以下、出版デジタル機構)を買収、合併することになりました。 これによってメディアドゥにはもともと運用していた md-dc と出版デジタル機構由来の eBook の2つの基幹システムが並行して稼働することになりました。 この2つの基幹システムは、それぞれ「各出版社から電子書籍のデータをお預かりして各電子書籍書店へ提供する」というほとんど同じ機能を持ったシステムです。 そのため合併をしてからは、「同じ機能を持った2つシステムが同時に稼働し、それぞれに同じデータを登録す

                                                  新電子書籍流通システムのアーキテクチャを解説 - Tech Do | メディアドゥの技術ブログ 
                                                • DAZN はイベントベースの動画ストリーミングを大規模にオーケストレーションするために AWS Step Functions をどのように利用しているか | Amazon Web Services

                                                  Amazon Web Services ブログ DAZN はイベントベースの動画ストリーミングを大規模にオーケストレーションするために AWS Step Functions をどのように利用しているか 本ブログは、DAZN の Russ Johnson と、AWS の Corneliu Croitoru、Chris Fane によって共同執筆されています。 このブログ記事では、グローバルなスポーツエンターテイメントプラットフォームである DAZN が、ライブスポーツストリーミングイベントを自動化するために、軽量でモジュラー式かつ拡張可能なオーケストレーターを構築するために、Amazon Web Services(AWS)の AWS Step Functions をどのように使用したのかをご説明します。DAZN はこのアーキテクチャにより、イベントの分類設定と耐障害性の要件に基づき、ジャスト

                                                    DAZN はイベントベースの動画ストリーミングを大規模にオーケストレーションするために AWS Step Functions をどのように利用しているか | Amazon Web Services
                                                  • DDDとロラン・バルト

                                                    昨年(2021年)12/16に増田亨さん主催のイベント「エヴァンス本のススメ」に参加した際、エヴァンス本の読み方と絡めてロラン・バルトの「エクリチュール」概念を紹介したのですが、あまりに唐突でちょっと喋っただけでは伝わらなかったろうなと思うので改めて記事にまとめたいと思います。 ここではタイトルに「DDDと…」としていますが、本質的にはエヴァンス本や他の技術書籍に限らず、より広くプログラミングやソフトウェアの書き方とロラン・バルトの『零度のエクリチュール』についての話です。 TL;DR 技術書やプログラミングを、言語、プログラミングスタイル、そして指導的設計思想(=エクリチュール)の3つのレイヤーに意識しながら読んでみましょう。 エヴァンス本のDDDでは、Smalltalk的なメッセージパッシングによるオブジェクト指向が指導的設計思想として背景にあります。 是非はともかく、そうした設計思想

                                                      DDDとロラン・バルト
                                                    • ロバストPython 型チェックを効果的に導入するための考え方 - iimon TECH BLOG

                                                      こんにちは、株式会社iimonでエンジニアをしている遠藤です。 本記事はアドベントカレンダー8日目の記事となります。 昨日に引き続きアドベントカレンダーを担当させていただきます。 はじめに 今回は既存のプロジェクトに型チェックを効果的に導入するための考え方について書いていこうと思います。 というのも、既存のPythonプロジェクトに型チェッカツール(mypy)が導入された際に、どのコードにどこまで明示的に型アノテーションをつけるのが良いのか考えたことがありました。既存のすべてのコードに型をつけきるには大きなコストがかかります。また、型アノテーションを詳細にすると、コードが明確化する分、コードへの型アノテーションの追加や型チェッカツールのエラー解消などにより多くのコストがかかるようになります。 そこで、最近読んだ「ロバストPython」で参考になった記載を自分なりにまとめてみました。 3つの

                                                        ロバストPython 型チェックを効果的に導入するための考え方 - iimon TECH BLOG
                                                      • 予約販売長期化 PJ の開発の裏側 - BASEプロダクトチームブログ

                                                        はじめに BASE でプロダクト開発をしている @rry です。 さいきん BASE では 予約販売 App にて「長期の予約商品」を設定できるようになりました! baseu.jp 🗓️予約販売期間が1年先まで延長可能 🧵製作や入荷に時間がかかる商品も取り扱いやすく 🎄季節の限定商品を事前に販売開始も◎ 今までの予約販売 App では最長で8週間までしか予約設定することができず、オーナーさんからのフィードバックでも「8週間先も設定できるようにしてほしい」という要望が多かったため、このたび予約販売長期化 PJ として機能改修を行いました。 この PJ の裏側を開発目線からご紹介していこうと思います。 PJ 概要 PJ キックオフから10/19リリースまでの期間:約8ヶ月 PJ メンバー:開発エンジニア 2-6人、QA エンジニア 1人、PM 1人、デザイナー 1人 アジャイル・スクラム

                                                          予約販売長期化 PJ の開発の裏側 - BASEプロダクトチームブログ
                                                        • アーキテクチャの原則 - .NET

                                                          このコンテンツは eBook の「ASP.NET Core および Azure での最新の Web アプリケーションの設計」からの抜粋です。.NET Docs で閲覧できるほか、PDF として無料ダウンロードすると、オンラインで閲覧できます。 "プログラマーがプログラムを記述するやり方で建設業者がビルを建てたなら、最初にやって来たキツツキによって文明は破壊されてしまうでしょう。" - Gerald Weinberg ソフトウェア ソリューションを設計する場合は、保守容易性を念頭に置く必要があります。 このセクションで概説する原則は、クリーンで保守性の高いアプリケーションをもたらすアーキテクチャを決定する上で役に立ちます。 一般に、これらの原則に従うことで、明示的なインターフェイスまたはメッセージング システムを介してやり取りするコンポーネントでなく、アプリケーションの他の部分と密結合されて

                                                            アーキテクチャの原則 - .NET
                                                          • 【特別対談】 Flutterエンジニアの今オレ x iOSエンジニアの過去オレ - LayerX エンジニアブログ

                                                            こんにちは。バクラク申請・経費精算チームでモバイルエンジニアをしている @_chocoyama です。社内のラジオ好きコミュニティに属しているのですが、自分の推し番組を紹介したところ誰にも刺さらず、コミュニティに属しているのにソロ活動している今日このごろです。 この記事はLayerXテックアドカレ2023の29日目の記事です、前回は Tomoaki さんが「バクラクのAI-OCRを支える性能モニタリングの仕組み #LayerXテックアドカレ - LayerX エンジニアブログ」を書いてくれました。 本日の記事では、Flutterアプリを開発している現在の私(以降、今オレ)と、iOSネイティブアプリを開発をしていた過去の私(以降、過去オレ)が対談した内容となっています。 Flutterに対してふわっとしたイメージしかないネイティブアプリエンジニアの皆さんの参考になると幸いです。 ご挨拶 過去

                                                              【特別対談】 Flutterエンジニアの今オレ x iOSエンジニアの過去オレ - LayerX エンジニアブログ
                                                            • AWS Step Functions コールバックを利用した外部システム連携 | Amazon Web Services

                                                              Amazon Web Services ブログ AWS Step Functions コールバックを利用した外部システム連携 Shared Delivery Teams で Sr. Cloud App Architect を務める Zach Abrahamson による記事です。 AWS Step Functions を使用すると、複数の AWS サービスを調整してサーバーレスワークフローに落とし込めるため、アプリケーションの開発と更新を迅速に行うことができます。Step Functions を使用すると、AWS Lambda や Amazon ECS のようなサービスを機能豊富なアプリケーションに統合するワークフローを設計および実行できます。 ワークフローは一連のステップで構成され、あるステップの出力が次のステップの入力として動作します。Step Functions は各ステップを自動的

                                                                AWS Step Functions コールバックを利用した外部システム連携 | Amazon Web Services
                                                              • Lookerの継続的インテグレーション(CI)ツール『Spactacles』が正式リリースされました! | DevelopersIO

                                                                この度、下記ブログエントリにてLookerの継続的インテグレーション(CI)ツール『Spectacles』のGA(general availability)版公開が発表されました。 Introducing Spectacles 個人的には暫く前にその名前を知った(後述)ので『ようやく来たか...!』という感じです。 当エントリでは、そんな『Spectacles』の内容について、概要周りの情報をサラッと紹介したいと思います。 目次 製品概要 価格 関連ドキュメント まとめ 製品概要 Spectaclesでは、LookML及びコンテンツにエラーが無いかどうかをテストすることが出来ます。継続的インテグレーション(CI)の手順の中でLookerがビジネスにとって信頼性と正確性を維持していることを確認することが出来、結果として全ての人のLookerエクスペリエンス向上が期待出来ます。 Spectac

                                                                  Lookerの継続的インテグレーション(CI)ツール『Spactacles』が正式リリースされました! | DevelopersIO
                                                                • 長く維持されるシステム構成図のつくりかた 〜 PlantUML で継続的に AWS/GCP/Azure アーキテクチャ図をメンテする仕組み 〜 - Qiita

                                                                  最新バージョンについては適宜 公式サイト をご確認ください。 AWS アイコン最新バージョン(2022/09/11 時点) 2022/09/11 時点の AWS Icons for PlantUML の最新バージョンは v13.1 です。 このバージョンにすると、アイコンが最近っぽい感じに変わります(語彙力 記事中のバージョンは古くなっているので、適宜以下のように読み替えてください。 インポートするアイコンによってはパス名が変わっていることがあるので、エラーが出たら適宜 アイコン一覧 を見て現在のパス名に修正してください。 (一文字だけ小文字が大文字になっているなど、微妙に変わっている場合があります) 最新バージョンについては適宜 公式サイト をご確認ください。 本記事は株式会社 Works Human Intelligence の アドベントカレンダー の 20 日目の記事となります。

                                                                    長く維持されるシステム構成図のつくりかた 〜 PlantUML で継続的に AWS/GCP/Azure アーキテクチャ図をメンテする仕組み 〜 - Qiita
                                                                  • Amazon VPC Lattice でサービス間の接続、セキュリティ、モニタリングを簡素化 — 一般提供開始 | Amazon Web Services

                                                                    Amazon Web Services ブログ Amazon VPC Lattice でサービス間の接続、セキュリティ、モニタリングを簡素化 — 一般提供開始 AWS re:Invent 2022 で、プレビュー版の Amazon VPC Lattice を紹介しました。これは Amazon Virtual Private Cloud (Amazon VPC) の新機能であり、サービス間の通信の接続、保護、モニタリングを一貫して行うことを可能にします。VPC Lattice では、ネットワークアクセス、トラフィック管理、モニタリングのポリシーを定義して、インスタンス、コンテナ、サーバーレスアプリケーション間でコンピューティングサービスを接続できます。 3月31日、VPC Latticeが一般公開されたことをお知らせできることを嬉しく思います。プレビュー版と比べると、次の新機能にアクセスでき

                                                                      Amazon VPC Lattice でサービス間の接続、セキュリティ、モニタリングを簡素化 — 一般提供開始 | Amazon Web Services
                                                                    • React でやってはいけないBad Practiceを12個まとめました (TypeScript版) - ロカオプ技術ブログ

                                                                      概要 01. 過剰なProp Drilling 02. 過剰なimport 03. component内に過剰にビジネスロジックを記述する 04. 過剰なre-render 05. ナンニデモuseEffect 06. ナンニデモ && 07. ナンニデモ三項演算子 08. propsをそのまま使用する 09. React.VC、React.VFCを使用する 10. 無名関数を使用したonXの汚染 11. インラインスタイルを使用する 12. import React from 'react'; を使用する まとめ 参考記事 概要 みなさんこんにちは。フルスタックエンジニアの高瀬 @takasehiromichi です。 Reactは、記述の自由度が高い一方で、Bad Practiceとされるものがあり、「よくない」書き方が存在します。 エンジニアによって、Bad Practiceを把握し

                                                                        React でやってはいけないBad Practiceを12個まとめました (TypeScript版) - ロカオプ技術ブログ
                                                                      • コーディングとタスクの高速化でより効率的な開発を Flutter開発で押さえておきたいポイントとTips

                                                                        NTT Tech Conferenceは、NTTグループのエンジニアたちが一堂に会し、NTTグループ内外のエンジニアたちと技術交流を行うためのカンファレンスです。ここで「Flutterアプリ開発スタートアップ with Tips」をテーマに神原氏が登壇。続いて、Flutter入門時のポイントと開発のTipsを紹介します。前回はこちらから。 Flutter入門時に押さえておきたいポイント 神原健一氏(以下、神原):続いて入門時に押さえたいポイントということで、Flutterアプリのファイル構成、画面の作り方、ビジネスロジックの効率的な実装を紹介していきます。Flutterアプリを作っていくときには、プロジェクトを作ったあとに生成されます。 特に重要なファイルが2つあります。1つがソースコードで、main.dartというファイル。そしてpubspec.yamlというライブラリ、もしくはいろいろ

                                                                          コーディングとタスクの高速化でより効率的な開発を Flutter開発で押さえておきたいポイントとTips
                                                                        • 「単体テストの考え方/使い方」を読んでテストの本質を学ぶ(第1部) - Qiita

                                                                          はじめに どうもこんにちは、もきお(@mokio_50)です。 今までなんとなく書いてきたテスト。テストの質について考えたことって意外とないですよね?えっ、それは自分だけだって?笑 そんな自分にテストの考え方を改めて考えさせてくれた本がこちら。今回から3部に渡ってこの本の要約というか感想文をつらつらと書き連ねたいと思います。 書籍情報 質の高いテストを行い、ソフトウェアに価値をもたらそう! 著作者名:Vladimir Khorikov 編集者名:須田智之 Unit Testing Principles, Practices, and Patternsの翻訳書。 1章 なぜ単体(unit)テストを行うのか? 1章では主に以下について記載されていました ・なぜ単体テストを行うのか ・テスト網羅率(カバレッジ)について ・価値のあるテストとはなにか 個人的に2つ目が読んでて興味深かったです。それ

                                                                            「単体テストの考え方/使い方」を読んでテストの本質を学ぶ(第1部) - Qiita
                                                                          • TSyringe - JavaScript/TypeScript向けの軽量DIコンテナ | Folioscope

                                                                            Vim Vixen では Clean Architecture 風の設計をしており、扱うモデルやレイヤー毎にクラスを作成します。 現在はクラス数が 100 を超えて、クラスにインスタンスをいちいち渡したり、インスタンスの作成と管理が面倒になってきました。 そこで Vim Vixen では Dependency Injection (DI)コンテナを導入することにしました。 いろいろ探してみると、すでに JavaScript/TypeScript 用の DI コンテナがいくつか存在するようです。 その中で(巨人の肩に乗るつもりで)Microsoft の「TSyringe」という軽量 DI コンテナを採用しました。 https://github.com/microsoft/tsyringe TSyringe はデコレーター(Java のアノテーションのようなもの)で DI するクラスを指定した

                                                                            • monorepoをなぜ採用したか、及び大まかな構成: 三井物産デジタルアセットマネジメントでの事例|Matsumoto Yuki

                                                                              皆さんこんにちは、代表取締役CTOの松本(@y_matsuwitter)です。最近買ったSonyのlinkbudsがめちゃ快適で感動しています。骨伝導イヤホンから乗り換えました。 さて、再びLayerXアドベントカレンダー(概念)がスタートするようです。もはやアドベントとは何なのか分からなくなっておりますが、継続してブログ書いていこうというチームでの決意表明となります。 今回は私が見ているプロジェクトの一つでmonorepoを採用し、その立ち上げ最中となりますので、まずはその採用目的や大まかにどのような構成をとったのかという話をさせてください。今レポジトリ構成でmonorepoを検討中の方の参考になればと思います。 背景今回取り上げるmonorepoは、三井物産デジタルアセットマネジメントにおける業務効率化、特に物件等の運用に関わる業務の改善プロジェクトにて採用したものとなります。もともと

                                                                                monorepoをなぜ採用したか、及び大まかな構成: 三井物産デジタルアセットマネジメントでの事例|Matsumoto Yuki
                                                                              • セーブデータの再設計をして開発速度を爆上げした話 - Qiita

                                                                                はじめに ヘレの海底都市計画 ~箱庭に空気を植えるSLG~ というゲームの開発に携わらせていただきました。 主にいくつかの主要な機能の全体的な設計と実装、UI の MVP モデル設計、また開発中に問題が生じた際の抜本的な再設計を担当しました。 本記事では、開発中の事例を交えて、何を考えてどう設計して、なにが良くて何が良くなかったかを考察しようと思います。 私が設計について学び始めた際、設計ができる人はどうしてその設計に至ったのかがわからずにもどかしい思いをしたので、当時の自分の様な設計を学び始めた人にとって助けになればと思います。 この記事で言いたいこと 設計の大切さを具体例を用いて伝えたい どういう筋道で設計を行ったのかを共有することで、設計の雰囲気を掴む一助になりたい ×この記事で言っていないこと × この事例がセーブデータ設計の最善手である × この事例において行った設計が最適解であ

                                                                                  セーブデータの再設計をして開発速度を爆上げした話 - Qiita
                                                                                • 10年先を見据えてJavaからKotlinへ  LINE Androidアプリの基盤を支えるOSSライブラリLich

                                                                                  LINE Developer Meetupは、LINEが定期的に開催する技術者向けミートアップです。#70はKotlinがテーマです。大石将邦氏が、LINE Androidアプリの開発を加速するために開発され、現在はOSSライブラリとして公開されている "Lich" について紹介しました。 LINEアプリの課題 大石将邦氏(以下、大石):「LINE Androidアプリの基盤を支えるOSSライブラリLich」というタイトルで発表いたします。LINE株式会社の大石と申します。よろしくお願いします。 最初に自己紹介させてください。私はLINEコミュニケーションプラットフォーム開発室に所属しています。最近組織変更があり名前が変わりましたが、基本的にいわゆるみなさんが使われているメッセンジャーアプリのLINEの基盤部分の開発を担当しています。 以前はLINE DEV DAYの2019とか2020に

                                                                                    10年先を見据えてJavaからKotlinへ  LINE Androidアプリの基盤を支えるOSSライブラリLich