並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

myserviceの検索結果1 - 27 件 / 27件

  • カスタマイズで広がるAWS Copilotの実践力 - KAYAC engineers' blog

    SREチームの橋本です。SRE連載の7月号になります。 カヤック社内では弊社藤原のecspressoをAmazon ECSのデプロイツールとして活用していますが、AWS公式のデプロイツールAWS Copilot(現在v1.29)もそのオールインワン的な性質から、開発・運営リソースが限られるプロジェクトでは選択肢に入るようになってきました。 今回はそのAWS Copilot活用のため、背後にあるAWS CloudFormationテンプレートをカスタマイズする手法を紹介します。 AWS CopilotとCloudFormation AWS CopilotはECSなどのデプロイを簡単にするCLIツールですが、実態としてはManifestと呼ばれるYAMLの設定ファイルからCloudFormationテンプレートを生成し、各種リソースを作成・管理するものです。 AWS Copilotは内部的にC

      カスタマイズで広がるAWS Copilotの実践力 - KAYAC engineers' blog
    • 新たなJavaScript RPCライブラリをCloudflareがオープンソースで提供 ー Web開発・マイクロサービス開発を進化させる可能性も

      4月6日、CloudflareはCloudflare WorkersにJavaScriptネイティブのRPC(Remote Procedure Call)システムを追加した。 4月6日、CloudflareはCloudflare WorkersにJavaScriptネイティブのRPC(Remote Procedure Call)システムを追加した。 この新機能により、クライアント・サーバー間はもちろん、Worker間の通信も、ほぼボイラープレートなしでシームレスに行えるようになる。 ※RPC(Remote Procedure Call)とは、異なるコンピュータシステム間、または同一システム内の異なるプロセス間で、あたかもローカルのプロシージャ(関数やメソッド)呼び出しのように通信を行う手法。この手法を用いることで、開発者はネットワークの詳細を意識することなく、簡単にシステム間でデータを交換

        新たなJavaScript RPCライブラリをCloudflareがオープンソースで提供 ー Web開発・マイクロサービス開発を進化させる可能性も
      • We've added JavaScript-native RPC to Cloudflare Workers

        We've added JavaScript-native RPC to Cloudflare Workers04/05/2024 Cloudflare Workers now features a built-in RPC (Remote Procedure Call) system enabling seamless Worker-to-Worker and Worker-to-Durable Object communication, with almost no boilerplate. You just define a class: export class MyService extends WorkerEntrypoint { sum(a, b) { return a + b; } } And then you call it: let three = await env.

          We've added JavaScript-native RPC to Cloudflare Workers
        • Announcing `async fn` and return-position `impl Trait` in traits | Rust Blog

          Announcing `async fn` and return-position `impl Trait` in traits The Rust Async Working Group is excited to announce major progress towards our goal of enabling the use of async fn in traits. Rust 1.75, which hits stable next week, will include support for both -> impl Trait notation and async fn in traits. This is a big milestone, and we know many users will be itching to try these out in their o

            Announcing `async fn` and return-position `impl Trait` in traits | Rust Blog
          • decoratorを使ってログ出力コードの削減し可読性を上げた話 - NTT Communications Engineers' Blog

            この記事では TypeScript ver4.x にて実験的な機能である decorator を使い、ログ出力コードを削減・コードの可読性を上げた経験を紹介します。 はじめに 背景 decorator とは decorator を使ったログ出力方法の検討 decorator を使ったログ出力の実装 実装時にハマったこと等 関数定義方法の変更 非同期・同期両方に対応 クラス名の取得 ログメッセージの統一 その他考慮した点 ライブラリの利用 実践結果 良かった点 悪かった点(苦労した点) まとめ 参考文献 はじめに こんにちは、NeWork 開発チームの加藤です。普段はオンラインワークスペースサービス NeWork の開発エンジニアをしています。 今回は TypeScript ver4.x にて実験的な機能である decorator を使った事例紹介をします。我々開発チームではログ出力のための

              decoratorを使ってログ出力コードの削減し可読性を上げた話 - NTT Communications Engineers' Blog
            • Prismaのテストでデータ削除を高速化する

              背景 ユビーではNode.jsのアプリケーションにおいて、DBのORMにPrismaを採用しています。Prismaに限らず、実際のデータベースを使ったテストにおいてはテストを実行するごとにデータを削除することでテストごとのデータの干渉を防いでテストの安定性を保つという手法が用いられます。今回はPrismaでテスト時にデータ削除するときのパフォーマンス改善の事例について紹介します。 今開発しているアプリケーションでは以下のように、DBを用いるテストを実行する前に全てのテーブルを truncateするという素朴な方法でテストDBの掃除を行っていました。 import { Prisma, PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); export async function cleanupDat

                Prismaのテストでデータ削除を高速化する
              • TypeScript 版 Mackerel API クライアントライブラリを作った - Object.create(null)

                作りました. jsr.io リポジトリはこっち. github.com (2024-05-12 現在, 筆者は Mackerel を開発している株式会社はてなの社員ですが, これは個人プロジェクトで, API ドキュメントなどの公開されている情報に基づいて作成されています.) なぜ JSR になんか publish したくなった 乗るしかないこのビッグウェーブ TypeScript で Mackerel を操作するちょっとしたスクリプトを書きたかったが, 意外とクライアントライブラリがなかった 単に JSON を fetch してくるだけなら簡単だが, それだけでは型もないし使いづらい 使い方 1. JSR からインストール # Deno deno add @susisu/mackerel-client # Node.js npx jsr add @susisu/mackerel-clie

                  TypeScript 版 Mackerel API クライアントライブラリを作った - Object.create(null)
                • Cloud Runサービスを「認証が必要」に設定したらブラウザからアクセスできなくなった - G-gen Tech Blog

                  G-gen の佐々木です。当記事では Cloud Run 利用時のよくあるトラブルとして、「認証が必要」の設定を行ったサービスにブラウザからアクセスできない事象とその原因、対処法について解説します。 事象 原因 解決策 Identity-Aware Proxy(IAP)を使用する Identity Platform を使用する Cloud Run プロキシを使用する 事象 Cloud Run にデプロイしたサービスの URL(*.a.run.app の URL)にブラウザからアクセスすると、ブラウザに以下のエラーメッセージが表示される。 Your client does not have permission to get URL / from this server. ブラウザに表示されるエラーメッセージ 原因 Cloud Run の設定画面では、すべてのユーザーがサービスにアクセスでき

                    Cloud Runサービスを「認証が必要」に設定したらブラウザからアクセスできなくなった - G-gen Tech Blog
                  • ScalaのRPCライブラリAirframe RPCを使うとNext.js風に簡単にサーバ=クライアント通信できる - Lambdaカクテル

                    Scalaの便利かつモジュラーなライブラリ群であるAirframeシリーズに収録されているAirframe RPCで遊んでみたところ、とても面白かったので紹介。 wvlet.org wvlet.org あらすじ Airframeとは Airframe RPC Scala(JVM)とScala.jsとでサーバクライアント通信を行う プロジェクト構成 API定義 サーバ実装 フロントエンド実装 まとめ あらすじ 先日社内でちょっとした理由があってNext.jsを集中的に書く機会があった。最近のNext.jsにはServer Actionsという機能があり、クライアントサイドからサーバサイドの関数をほぼ透過的に呼び出すことができる。これを使って、Prismaを使ったCloudSQLへの操作がものすごく短距離で可能になり、感銘を受けた。 nextjs.org Server Actionsを使うと、

                      ScalaのRPCライブラリAirframe RPCを使うとNext.js風に簡単にサーバ=クライアント通信できる - Lambdaカクテル
                    • Some notes on NixOS

                      Hello! Over the holidays I decided it might be fun to run NixOS on one of my servers, as part of my continuing experiments with Nix. My motivation for this was that previously I was using Ansible to provision the server, but then I’d ad hoc installed a bunch of stuff on the server in a chaotic way separately from Ansible, so in the end I had no real idea of what was on that server and it felt like

                      • リバースプロキシを使ってAmazon API Gatewayのプライベートエンドポイントにカスタムドメイン名を実装する | Amazon Web Services

                        Amazon Web Services ブログ リバースプロキシを使ってAmazon API Gatewayのプライベートエンドポイントにカスタムドメイン名を実装する この投稿は、プリンシパル・ソリューション・アーキテクトのHeeki Park氏、シニア・アプリケーション・アーキテクトのSachin Doshi氏、シニア・ソリューション・アーキテクトのJason Enderle氏 の投稿を翻訳したものです。 Amazon API Gateway は、開発者が Virtual Private Cloud (VPC) 内からのみアクセス可能なプライベート REST API を作成することが可能です。プライベート API へのトラフィックはセキュアな接続を介して送信され、AWS ネットワーク内、特にお客様が管理している VPC 内に留まり、パブリックインターネットから保護されます。このアプローチ

                          リバースプロキシを使ってAmazon API Gatewayのプライベートエンドポイントにカスタムドメイン名を実装する | Amazon Web Services
                        • HTTP API のカスタムドメイン名の設定 - Amazon API Gateway

                          翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 HTTP API のカスタムドメイン名の設定 カスタムドメイン名は、API ユーザーに提供できる、よりシンプルで直感的な URL です。 API のデプロイ後、お客様 (およびその顧客) は、以下の形式のデフォルトのベース URL を使用して API を呼び出すことができます。 https://api-id.execute-api.region.amazonaws.com/stageここで、 api-id は API Gateway によって生成され、 region (AWS リージョン) は API の作成時に指定され、 stageは API のデプロイ時に指定されます。 URL のホスト名の部分 (つまり api-id.execute-api.region.am

                          • ASP.NET Core でコントローラーやサービスの実行時にログを自動挿入する

                            var builder = WebApplication.CreateBuilder(args); builder.Services.AddControlers(); builder.Services.AddScoped<IMyService, MyService>(); ここで、コントローラーやサービスに対して変更を加えることなく、コントローラーやサービスの処理の前後にログを挿入することを考えます。 コントローラーに対するログの挿入 アクションフィルター コントローラーについてはアクションフィルターを利用することで、コントローラーの処理前後に対して処理を埋め込むことができます。 アクションフィルターには同期型の IActionFilter と非同期型の IAsyncActionFilter の 2 種類のインターフェイスがありますが、いずれかを実装すれば良いです。同期型のインターフェイス

                              ASP.NET Core でコントローラーやサービスの実行時にログを自動挿入する
                            • ECS タスクの各コンテナ単位のパフォーマンスメトリクスを取得する方法

                              ECS での標準的に利用できるメトリクスとしては、サービス単位での CPU 利用率、メモリ利用率であり、タスク毎にどんなパフォーマンスなのかというのはわかりません。そこで Container Insights を利用することで、マネジメントコンソールからは現在値になりますがタスク単位での平均 CPU 使用率、メモリ利用率の他、サービス単位で時系列のネットワーク I/O、ストレージ I/O などが確認可能になります。これらでも充分有用なのですが、タスクにサイドカーも備えるなど複数コンテナで構成しているケースで、時には調査のため “コンテナ単位” でのパフォーマンス値を確認したいことがあるかもしれません。一発でグラフなどに出せるわけではありませんが、そんなシーンで利用できる Tips を紹介します。 はじめに 今回の Tips を利用するには対象のクラスタで Container Insight

                              • AWS-CDKを用いたAmazon ECS構築 - Qiita

                                前提条件: VPC、サブネット、セキュリティグループは作成済み ECS,ECRを使用する際のIAMロールは作成済み 言語はtypescriptを使用 ローカル環境で実行する クレデンシャルキーは発行済み Docker Desktopはインストール済み ローカル環境構築: #プロジェクト用にディレクトリを作成 mkdir my-ecs-project #移動 cd my-ecs-project #CDKプロジェクトの初期化 cdk init app --language typescript #モジュールのインストール npm install @aws-cdk/aws-ec2 @aws-cdk/aws-ecs @aws-cdk/aws-ecr @aws-cdk/aws-iam @aws-cdk/aws-ecr-assets import * as cdk from 'aws-cdk-lib'

                                  AWS-CDKを用いたAmazon ECS構築 - Qiita
                                • 【Spring】共通処理の種類と実装方法 - Qiita

                                  共通処理の種類と概要 Filter javax.servlet.Filterインターフェースを実装するフィルターを作成することで、リクエストやレスポンスに対して共通の処理を適用できます。フィルターはWebアプリケーションのフロー内の特定のポイントで実行されます。 AOP(アスペクト指向プログラミング) AOPを使用して、アプリケーションの横断的な関心事(ログ記録、トランザクション管理など)を切り出すことができます。@Aspectアノテーションを使用してアスペクトを定義し、関連する処理を適用するポイントカットを指定します。 HandlerInterceptor HandlerInterceptorインターフェースを実装するカスタムインターセプターを作成し、共通の前処理や後処理を実行できます。これにより、リクエストの前後にログ出力、セキュリティチェック、リソース解放などを行うことができます。

                                    【Spring】共通処理の種類と実装方法 - Qiita
                                  • 【システム開発戦略編 その3】モジュラーモノリス - FJCT Tech blog

                                    ネットワークサービス部のid:a8544です。 連載22回目の今回は、わたしたちが採用しているアーキテクチャのパターンである モジュラーモノリスについてご紹介します。 以前の記事『【システム開発戦略編 その1】 ドメインドリブンでクリーンなアーキテクチャを意識した開発』で、 DDD・クリーンアーキテクチャの適用例についてご紹介しました。しかし、わたしたちの開発しているシステムのアーキテクチャを特徴づける重要な要素はもう一つあり、 それが今回ご紹介するモジュラーモノリスです。 ⛰️ モジュラーモノリスとは モジュラーモノリスについては、すでに多くの書籍・Webサイト等で解説されています。 そのためここで改めて詳しく解説することはしませんが、Kamil Grzybekのブログ記事 Modular Monolith: A Primer によれば、 モノリス はちょうど1つのデプロイ単位で構成され

                                      【システム開発戦略編 その3】モジュラーモノリス - FJCT Tech blog
                                    • Flutter✖️AppsFlyerでディープリンク・ディファード(遅延)ディープリンクを実現する - Qiita

                                      Firebase Dynamic Linksが非推奨となったことにより、AppsFlyerやAdjustがその代替手段として上がっています。今回はAppsFlyerについて実装したことを紹介します。 背景 QRコード(URL)の読み込みから、アプリの特定の画面へ遷移させたい 例:QRコードを読み取ったユーザーに、アプリの画面で割引クーポンを取得したことを表示 アプリをインストールしている場合は特定の画面へ遷移させる アプリをインストールしていない場合はストアへ遷移させる iOSであればAppStoreへ、AndroidであればGooglePlayストアへ遷移させる インストール後に特定の画面へ遷移させる 用語の整理 ディファード(遅延)ディープリンクについての参考サイト ユニバーサルリンク/AppsLink/URIスキームなどの参考サイト AppsFlyer Onelink 公式ドキュメン

                                        Flutter✖️AppsFlyerでディープリンク・ディファード(遅延)ディープリンクを実現する - Qiita
                                      • Eclipse MicroProfile Rest Clientを試す - CLOVER🍀

                                        これは、なにをしたくて書いたもの? Eclipse MicroProfileに含まれている、Rest Clientをちょっと見ておこうかなと。 今まで何回か別のテーマを扱っている時に使っているのですが、完全に雰囲気で使っていたのでこの機会に、と。 Eclipse MicroProfile Rest Client Eclipse MicroProfile Rest Clientは、Eclipse MicroProfileのプロジェクトのひとつです。 eclipse/microprofile-rest-client / MicroProfile Rest Client Eclipse MicroProfile 6.1にはRest Client 3.0が含まれています。 ドキュメントページはなく、GitHubリポジトリーと GitHub - eclipse/microprofile-rest-c

                                          Eclipse MicroProfile Rest Clientを試す - CLOVER🍀
                                        • ECSとALBを使った基礎的なシステム構成

                                          作成するシステム構成 ここでは、次のようなシステム構成を構築します。 HTTPSでリクエストを受ける基礎的なWebサーバーの構成です。 インターネットからのHTTPSリクエストをApplication Load Balancerで受け、HTTPリクエストとしてECS Taskへと転送します。 ネットワーク構成としては、2つのAvailability ZoneにそれぞれPublic Subnetを配置し、可用性を高めます。 近年はSSL化していないWebサイトに対して、検索エンジン・Webブラウザが警告を出すようになりました。 そのような状況もあり、インターネットへ公開するWebサーバーは基本的にHTTPSに対応していることが実質的に必須条件となっています。 なので、実際に使われるシステムとしては、HTTPSでリクエストを受けるシステム構成が基礎的な構成であると考えられます。 また、システム

                                            ECSとALBを使った基礎的なシステム構成
                                          • React+TypeScriptでOpenAPIを使う - Qiita

                                            React+TypeScriptでOpenAPIを使ってRESTで通信 お仕事でAndroid+kotlinサーバサイドでOpenAPIを使ってREST通信のアプリを開発していたのですが、ひょんなことからWebアプリも開発することになりました。 ここ10数年くらいはサーバサイドばかりでフロントエンドやってなかったのですが、折角ならReact+TypeScrptで作ってみようと思い立ちました。 サーバサイドは今までと同じように、kotlin + sprintBoot3 + OpenAPIです。 OpenAPIのインタフェース(json、yaml)の作り方は変わりません。上記の記事の②の方法、サーバサイドの実装から作ります。 この時に1点注意しなければならないのは、サーバサイド側のControllerクラスのアノテーションの付け方で、 @RestController class MyContr

                                              React+TypeScriptでOpenAPIを使う - Qiita
                                            • CKAD) Init Container - Qiita

                                              アプリ(本番)コンテナの実行前にすでに動作するコンテナ アプリ(本番)コンテナが実行する前に事前作業が必要の場合、利用する Init Containerがすべて実行された後、アプリ(本番)コンテナを実行 Init Containerはいつも完了を目標として実行される 各Init Containerは次のInit Containerが実行する前に完了されるべき PodのInit Containerが失敗したら、Init Containerga成功するまでリランする apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app.kubernetes.io/name: MyApp spec: containers: # Init container が実行完了になったら実行される - name: myapp-container im

                                                CKAD) Init Container - Qiita
                                              • ASP.NET Core Razor Pages でのDIコンテナの利用 (ASP.NET Core プログラミング)

                                                プログラム プロジェクトの作成 ASP.NET Core Webアプリケーションを作成します。 サービスの実装 Webアプリケーションから参照するサービスを実装します。今回は MyService というサービスを実装します。 MyService.cs ファイルを作成し、下記のコードを記述します。 MyService クラスはexec というメソッド1つのみ実装されています。execメソッドは「"Hello! DI Container World!"」の文字列を戻り値として返すシンプルなメソッドです。また、MyServiceのインターフェイスを IMyService として実装します。 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespa

                                                  ASP.NET Core Razor Pages でのDIコンテナの利用 (ASP.NET Core プログラミング)
                                                • API Gateway リージョン別カスタムドメイン (Route 53は他アカウント) - ふにノート

                                                  エンジニアAPI Gatewayで作成したリージョン別 REST API に独自ドメインでアクセスしたいです。ドメインは他AWSアカウントのRoute 53で登録しています。 AWS経験5年以上の僕が詳しくご説明します。 本記事の内容 API Gateway カスタムドメインの説明 他アカウントのRoute 53で登録したパブリックDNSのドメイン(独自ドメイン)を、API Gateway リージョン別REST APIにカスタムドメインを設定する API Gateway カスタムドメインとは 本記事では、API Gatewayのリージョン別REST APIにおけるカスタムドメインについて記載します。HTTP APIや、エンドポイントタイプが [エッジ最適化] のREST APIなどはふれません。 API呼び出しURLをパブリックDNSのドメイン名(独自ドメイン)に変更できる API Gat

                                                  • CLUB NTT-West【NTT西日本公式】|ログイン

                                                    CLUB NTT-West会員のみなさまへ 2023年3月31日よりサービス提供を開始予定の「ひかり電話ネクスト」へサービス移行をされた場合、CLUB NTT-Westの会員資格の条件(『CLUB NTT-West』会員規約第2条)を満たさなくなるため、“会員資格の喪失に伴う退会の扱い“とさせていただきます。 CLUB NTT-Westの退会に伴い、退会となるまでに累積したポイントは失効となりますのでご注意ください(『CLUB NTT-West』会員規約第11条)。 『CLUB NTT-West』会員規約はこちら> 「ひかり電話ネクスト」の詳細はこちら>

                                                    • 【kubernetes】Pod間に依存関係を持たせるときの一工夫 - 半農半エンジニアの記録

                                                      Kubernetesにアプリをデプロイするにあたり、Podが1つということはあまりないと思う。 かつ複数のPod(AとB)を、Aが起動できてからBを起動させる、みたいに依存関係を持たせるのは一般的に考えられるユースケースだと思う。WEB + DBなんかは特に。 本記事はそんな話。 docker-compose depends_onやlinks Kubernetes PostStart initContainers containersとの違い nslookupは微妙? netcatでやってみる まとめ docker-compose dockerをインストールすればdocker-composeもKubernetesもインストールできる。 まだKubernetesよりdocker-composeで複数コンテナ作ってみる人のほうが多いのではと思う。のでdocker-composeでのやり方と比較

                                                        【kubernetes】Pod間に依存関係を持たせるときの一工夫 - 半農半エンジニアの記録
                                                      • ASP.NET Core DIのライフタイムの種類 - アレがアレでアレ

                                                        ASP.NET CoreのDIで設定できるライフタイムについてのメモです。 DIについては特に説明しません。 インスタンスのライフタイム docs.microsoft.com 公式ドキュメントにはService lifetimesと書かれていますが、注入するインスタンスのライフタイムは以下の3つから選択することができます。 Transient Scoped Singleton Transient Transientは指定したクラスのインスタンスが要求される度に毎回新しく生成します。 インスタンスはリクエストの終了時に破棄されます。 AddTransient拡張メソッドで設定します。 Scoped Scopedはリクエストごとにインスタンスを生成します。 Transientと違い、1リクエスト内では同じオブジェクトを使い回すようです。 Entity FrameworkのDbContextはデ

                                                          ASP.NET Core DIのライフタイムの種類 - アレがアレでアレ
                                                        1