並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 10981件

新着順 人気順

namespaceの検索結果361 - 400 件 / 10981件

  • OOMしたCronJobのメモリ制限を「いい感じ」に増やし、不必要な課金・障害対応を減らす - エムスリーテックブログ

    初めまして、2024年3月後半にエムスリーのAI・機械学習チームで10日間インターンに参加させていただいた東(@azuma_alvin)です。 もしタイトルが何かに似ていると感じた方がいれば、只者ではないと思われます。 洗練されたデザインでかっこいいと思ったエムスリーオフィスの受付の写真 この記事では、KubernetesのCronJobでOOM(Out Of Memory)が発生した時に「いい感じ」にメモリ制限を増加させてくれるbroomの開発経緯とその実装についてお話しします。 また、インターン期間で感じたエムスリーという「ギーク集団」の中で開発する楽しさについてもお伝えできればと思います。 2週間でゼロ(nil)から開発したbroomは、OSSとしてGitHubで公開しているのでコントリビュートお待ちしております! github.com CronJobのOOMとは CronJobのO

      OOMしたCronJobのメモリ制限を「いい感じ」に増やし、不必要な課金・障害対応を減らす - エムスリーテックブログ
    • CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話 - ZOZO TECH BLOG

      はじめに こんにちは。SRE部の巣立(@ksudate)です。 ZOZOTOWNのマイクロサービス基盤では、GitHub Actionsを利用したCDパイプラインを構築しています。しかし、管理するマイクロサービスが増えるにつれて運用負荷が高まりつつありました。 本記事では、ZOZOTOWNのマイクロサービス基盤のCDパイプラインが抱える課題と、それらをFlux2でどのように解決したのかを紹介します。また、Flux2の導入にあたり工夫したポイントを紹介します。 目次 はじめに 目次 Flux2の導入背景 マイクロサービス基盤のCI/CDパイプラインが抱える課題とこれまでの対策 Flux2とは? Flux2によるGitOpsの実現 Flux2の導入で工夫したポイント Flux2の管理 GitRepositoryとKustomizationの管理 Flux2によるkustomize build

        CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話 - ZOZO TECH BLOG
      • 【C#】async/awaitのキャンセル処理まとめ - Qiita

        はじめに C#におけるasync/awaitを使う上で、絶対に意識しないといけないものは「キャンセル処理」です。 正しく処理をキャンセルしないとメモリリークを起こしたり、デッドロックやデータ不整合を引き起こす可能性があります。 今回はこの「async/awaitにおけるキャンセル処理」について話します。 対象 C#におけるasync/await全般 Task/ValueTask/UniTaskすべてに共通します Unity含む C#のasyc/awaitについてイマイチ自信が持ててない人 先に「結論」 asyncメソッドはCancellationTokenを引数に取るべき await対象が引数にCancellationTokenを要求する場合は省略せずに渡すべき OperationCanceledExceptionの取り扱いを意識するべき 解説 そもそも「キャンセル」とは何を指すのか そも

          【C#】async/awaitのキャンセル処理まとめ - Qiita
        • Simplifying serverless best practices with AWS Lambda Powertools for TypeScript | Amazon Web Services

          AWS Compute Blog Simplifying serverless best practices with AWS Lambda Powertools for TypeScript This blog post is written by Sara Gerion, Senior Solutions Architect. Development teams must have a shared understanding of the workloads they own and their expected behaviors to deliver business value fast and with confidence. The AWS Well-Architected Framework and its Serverless Lens provide architec

            Simplifying serverless best practices with AWS Lambda Powertools for TypeScript | Amazon Web Services
          • 2021年 SRv6 入門 - hiroportation

            SRv6について2021年までに取集した情報を整理して入門書を作りました。 とりあえずSRv6に触れたい方向けの内容になっています。 1. SRv6 概要 1.1. SRv6 とは 1.1.1. セグメントルーティング 1.1.2. IPv6 1.2. どういうところで使われているのか? 1.3. 今どういう状況? 2. SRv6 詳細 2.1. SRv6の仕組み 2.2. SRv6 Function 2.3. SRv6 Control Plane 2.4. Flex-Algo (Flexible Algorithm) 2.5. TI-LFA 2.6. SRv6 OAM (Operation, Administration, and Maintenance) 2.6. 今後のSRv6 3. SRv6を実際に使う 3.1. iproute2 【ハンズオンツール】 3.2. VPP 3.3.

              2021年 SRv6 入門 - hiroportation
            • k9s で k8s Surfing (kubectl には戻れない) - Qiita

              とりあえず以下の手順を試す。 :ns 打つと namespace 一覧。 j か ↓ で、namespace を選んで、 return で、namespace 内の pods 一覧。 :svc 打つと、選んだ namespace 内の service 一覧。 画面下部に View (<pods> <ns> <po> <svc>) が並んでいる。view のひとつ前に戻る時は p 。 return で潜っていった時は、 esc で抜ける。 control+a で、エイリアスが確認できる。 ? でヘルプ。 何か選んで y で、yaml が見れる。 何か選んで e で、yaml が編集できる。 何か選んで l で、ログが見れる。 namespace を渡り歩いていると、0、1、2、3、4、のように数字でアクセスできる namespace が増えていく。 そして何と言っても Port Forwar

                k9s で k8s Surfing (kubectl には戻れない) - Qiita
              • フロントエンドのLinterやCIを改善した話

                この記事は 株式会社エス・エム・エス Advent Calendar 2023 の21日目の記事です。 介護事業者向けの経営支援サービス「カイポケ」のリニューアルプロジェクトでフロントエンド開発をしている @hush_in です。 今年の4月にエス・エム・エスに入社しました。 入社してからフロントエンドのLinterやCIを改善した話をします。 忙しい人向けまとめ ESLint の recommended 系 extends を追加 全般 eslint:recommended plugin:import/recommended TypeScript plugin:@typescript-eslint/recommended-type-checked plugin:@typescript-eslint/stylistic-type-checked plugin:import/typescri

                  フロントエンドのLinterやCIを改善した話
                • お客さま影響に基づく実践的なアラート方法 | メルカリエンジニアリング

                  この記事は、Merpay Advent Calendar 2021の16日目の記事です。 こんにちは、メルペイSREチームのfoostanです。普段はキーボードのことばかり話していますが、本業ではSREチームの一員としてソフトウェアエンジニアリングをしたりEM(Engineering Manager)をしています。 SREチームの重要な役割の一つはサービスの信頼性を高め、当たり前のようにメルペイを使えるようにすることです。信頼性を高めるためにはサービスが止まらないようなシステム構成にすることが重要ですが、サービスが異常な状態になったとき、関係者に状況を知らせるためのアラートを適切に上げることも重要です。そこで本記事ではお客さま影響に基づく実践的なアラート方法についてご紹介します。 適切なアラートとはなにか まずはどのようにアラートを上げるのが適切か考えてみます。アラートを上げる目的のひとつ

                    お客さま影響に基づく実践的なアラート方法 | メルカリエンジニアリング
                  • ECS タスクメタデータエンドポイントを使ったバッチ処理コンテナのリソースモニタリングツール kobanzame を作りました - ようへいの日々精進XP

                    追記 (2020/06/15) Container Insights は GA しています! tl;dr kobanzame 作ったもの 仕組み なんちゃってプラグインアーキテクチャ 使い方 設定ファイル 実行 Example 参考 それ, Container Insights で良いんじゃないのか おっしゃるとおり じゃあ, なぜ, 俺は kobanzame を作ったのか 以上 追記 (2020/06/15) Container Insights は GA しています! 2020/06/14 現在はベータ版として提供されていますが この記述は誤りで Container Insights は 2019 年 11 月には既に GA されておりますので, ここで訂正させて頂きます. aws.amazon.com 確認不足で誤った情報を記述してしまい大変申し訳ございませんでした. tl;dr 以

                      ECS タスクメタデータエンドポイントを使ったバッチ処理コンテナのリソースモニタリングツール kobanzame を作りました - ようへいの日々精進XP
                    • 【初心者向け】手を動かして覚えるDocker入門 - Qiita

                      はじめに 本記は「Dockerをこれから触ろう/学ぼうとしている人向け」の記事になります! Dockerの歴史 実際にDockerを動かすハンズオン が記載されています! Dockerとは そもそもDockerて何もの? 一言でいうと、「軽量な仮想環境」を構築するツールです。 今までエンジニアが開発を行う際、「Hyper-V」や「Vagrant」「VirtualBox」など、PC上に仮想のPCを作成する仮想化ツール( ハイパーバイザー型)を利用してきました。 便利な上記のツールですが、それらは皆大きな課題を抱えていました。 「環境構築に時間がかかる」「起動にも時間がかかる」「ファイルサイズが大きい」 そんな課題を解決してくれるのが、Dockerというコンテナ型の仮想化技術です。 従来のハイパーバーザー型の仮想化技術とは違い、アプリケーションの実行をホストOSが行っているため、「GuestO

                        【初心者向け】手を動かして覚えるDocker入門 - Qiita
                      • EPUB Generatorをつくろう - Tech Do | メディアドゥの技術ブログ

                        メディアドゥでは、エンジニア有志によって執筆された【Tech Do Book】という合同誌を発行しています。 本日はその中から、Tech Do Book vol.1 【1章 EPUB Generator をつくろう】を紹介します。 はじめに EPUB生成ツールの作り方を通じて、EPUBフォーマットの理解について深めましょう。 スコープ シンプルなテキストベースのEPUBファイル生成ツールの作り方をまとめます。対象とするEPUBのバージョンは3.0です。 なお、コミックのような画像コンテンツを含むEPUBファイルの生成はここでは取り扱いません。 でき上がるもの 書籍ID、出版社、タイトルや目次内容、本文などをPOSTすると、EPUBファイルとしてダウンロードできるようになります。 図:フォームイメージ 必要な知識 HTML基礎 XML基礎 Spring Bootの簡単な使い方 EPUBフォー

                          EPUB Generatorをつくろう - Tech Do | メディアドゥの技術ブログ 
                        • GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ

                          はじめに ブンブンハローテックブログ。エムスリー AI・機械学習チームでエンジニア兼YouTuberをやっています河合と笹川です*1。本記事は、AIチームが社内向けに提供を初めたビジュアライズアプリケーションに関する解説の記事です。 GKE上のStreamlitサーバのホスティング設定と、機械学習エンジニアが社内向けの可視化を行う際の一例として、参考となれば幸いです。 はじめに Background Streamlitとは Streamlitの特徴 アプリケーション、インフラ構成 おわりに We're hiring Background 一般的に「機械学習エンジニアが社内向けの可視化アプリケーションを作る」といったケースでは、以下のようなシステム利用が考えられるかと思います。 HTML、xlsx、Googleスプレッドシートなどを作成、配布する S3、GCSのようなストレージの静的サイトホ

                            GKEでStreamlitをホスティングして社内用アプリを作った話 - エムスリーテックブログ
                          • Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog

                            KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)

                              Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog
                            • 第798回 Ubuntuのセキュリティを支えるAppArmor入門 | gihyo.jp

                              Ubuntuではセキュリティ対策の一環としてAppArmorを採用しています。AppArmorを使えば、任意のプログラムに対して、意図しないファイルやデバイスのアクセスを阻害したり、サブプロセスに対するセキュリティ制約をかけたりできます。今回はあまり意識することのないものの、知っておくといつか役に立つかもしれない、実際に役に立つ時はあまり来てほしくないAppArmorについて紹介しましょう。 AppArmorとMACとLSMと 「AppArmor」は「名前ベースの強制アクセス制御で、LSMを用いて実装されている仕組み」と紹介されることがあります。これはどういう意味でしょうか。 まずはAppArmorの特徴となる「名前ベース(もしくはパス名ベース)」についてですが、これは「セキュリティ設定を対象となるファイルパスを元に設定する」ことを意味します。つまりファイルパスごとに、何を許可し何を許可し

                                第798回 Ubuntuのセキュリティを支えるAppArmor入門 | gihyo.jp
                              • Namespace, What and Why

                                The presentation deck for RubyKaigi 2024 about "Namespace on read".

                                  Namespace, What and Why
                                • [PATCH 000/190] Revertion of all of the umn.edu commits - Greg Kroah-Hartman

                                  linux-kernel.vger.kernel.org archive mirror help / color / mirror / Atom feedFrom: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Linus Torvalds <torvalds@linux-foundation.org>, Aditya Pakki <pakki001@umn.edu>, Kangjie Lu <kjlu@umn.edu>, Qiushi Wu <wu000273@umn.edu>, x86@kernel.org, Bjorn Helgaas <bhelgaas@googl

                                  • ベストな「How」は「Why」でしか規定できない––メルカリがマイクロサービスに移行した理由と、その軌跡

                                    2019年9月24日、株式会社メルカリにて、エンジニア向けイベント「Mercari Bold Challenge ~CTOとエンジニアが赤裸々に語る 変化と挑戦~」が開催されました。社員数は1,800人を超え、40ヵ国以上の国から多様な人材が集まり急成長を続けるメルカリ。一方で、急成長に伴って新たな課題も生まれています。そこで今回は「Bold Challenge(大胆な挑戦)」というテーマで、メルカリのエンジニア組織の変化と挑戦について、そのリアルを語ります。プレゼンテーション「なぜMicroservicesか?」に登場したのは、株式会社メルカリ Software Engineer, Microservices Platformの中島大一氏。講演資料はこちら メルカリ、マイクロサービス化の歴史 中島大一氏:「なぜMicroservicesか?」というタイトルで発表させていただきます、@de

                                      ベストな「How」は「Why」でしか規定できない––メルカリがマイクロサービスに移行した理由と、その軌跡
                                    • 〜運用しやすいプレビュー環境を求めて〜 Gateway APIで作るサービスメッシュレスなプレビュー環境 - LIVESENSE ENGINEER BLOG

                                      みなさん、プレビュー環境してますか?どうも、かたいなかです。 以前、記事や登壇でIstioベースのPreview環境の構築方法をご紹介しました。 made.livesense.co.jp 外向けに発表したものの、Istioの運用工数や学習コストがネックとなってしまい、実際の転職会議の開発環境の導入にはいたっていませんでした。 最近になってGateway APIの実装例も増えてきて、Istio以外にもプレビュー環境でのヘッダを元にしたルーティングの実現において、現実的な選択肢となりそうなツールが増えてきました。そこで、Gateway APIのEnvoyによる実装であるEnvoy Gatewayを用いて、サービスメッシュを使用しないプレビュー環境の構築を試してみたため、この記事では構成例をご紹介します。 なお、今回の記事の中ではプレビュー環境の説明等について前回の記事と同様の説明を再度する箇所

                                        〜運用しやすいプレビュー環境を求めて〜 Gateway APIで作るサービスメッシュレスなプレビュー環境 - LIVESENSE ENGINEER BLOG
                                      • 4年以上待ってたEKSの改善がようやく出てきた件 - inductor's blog

                                        はじめに これは、Kubernetesアドベントカレンダー2の20日目の記事です。 これの話です。 aws.amazon.com ただし俺はもうEKS全然使ってないから意味ない件😢 なんの話? 待ってたとは 4年前に、AWSでコンテナ使ってる人ならお馴染みのaws/containers-roadmapにこんなIssue(もとい、Feature Request)を作りました。 github.com また、これに関連するIssueとしてはその半年ほど前に作られていて github.com 自分としてはこのIssueを立てる前から技術選定の時点でずっと悩んでいたポイントだったので、かれこれ5年近く待っていたことになります。ようやくリリースされて本当によかった。まあ今はいらないんだけど、、、 どんな内容か これまでのEKSの課題点 EKSでクラスター管理者や運用者を指定する上で欠かせないのが、K

                                          4年以上待ってたEKSの改善がようやく出てきた件 - inductor's blog
                                        • 入門 EKS on Fargate - Qiita

                                          プロダクションで EKS on Fargate を(できるだけ)使うことを目標に EKS on Fargate に入門します。 Managed Node Groupとの使い分けなどについてもまとめます。 ※ 本記事は 2019/12/14 時点の情報に基づいています。 Fargate、EKS on Fargateとは FargateはAWS上で「仮想マシンの管理なしにコンテナをデプロイできるサービス」です。 元々はAWS独自のコンテナオーケストレーションシステムであるECSの一機能と思われていましたが、EKS on Fargateが登場した今では、「ECS・EKSどちらでも動く、コンテナ化されたワークロード向けのサーバレスコンピュートエンジン」という体でブランディングされているようです。Fargateの公式ページ冒頭でも以下のように紹介されています。 AWS Fargate is a se

                                            入門 EKS on Fargate - Qiita
                                          • ecspresso v2とTerraform null_resourceで一発構築 - KAYAC Engineers' Blog

                                            SREチームの藤原です。 この記事はTech KAYAC Advent Calendar 2022 5日目の記事です。 この記事では筆者が開発しているAmazon ECSデプロイツール ecspresso (v2)と、Terraformのnull_resourceを組み合わせて、 TerraformによるECS関連リソース作成とecspressoによるECSサービスのデプロイを一発で実行する手法について説明します。 ecspresso とは github.com ecspressoは筆者(fujiwara)が開発している、Amazon ECS用のデプロイツール(OSS)です。ECSにタスク定義とサービスをデプロイするツールはAWSが作っているものを含めて世の中に多々ありますが、ecspressoは次のような特徴を持っています。 Go 言語で書かれた OSS (MIT LICENSE) です

                                              ecspresso v2とTerraform null_resourceで一発構築 - KAYAC Engineers' Blog
                                            • 「開発はVue.jsでしたいけど、TypeScriptを入れたい問題」をどうするか フロントエンド開発のお悩み相談

                                              Vue.jsに関する勉強会「Roppongi.vue #2」が2019年7月31日に開催されました。Vue.jsをさまざまな角度から掘り下げ、知見をシェアします。トークセッション 「最近のフロントエンドぶっちゃけどうっすか?」に登壇したのは、フロントエンドエンジニアで活躍するpotato4d氏とkahirokunn氏。昨今のフロントエンド界隈事情をディスカッションします。 gRPC-webは伸びしろがある tadano:Q3.「みんなにもっと知ってほしい知識や、積極的に広めたいモノはありますか?」。 potato4d:それこそ今の話ですが、gRPC-webは伸びしろがあると思っています。あと、異なる言語間で通信できるというところで、IDLという概念がこれから重要になってくると思っています。BFF層も、これから過労死するぐらい使われていくことになると思う。 例えばBFF層がTypeScrip

                                                「開発はVue.jsでしたいけど、TypeScriptを入れたい問題」をどうするか フロントエンド開発のお悩み相談
                                              • シンタックスハイライトをライブラリなしで簡単に!Custom Highlight APIの魅力 - コハム

                                                Syntax Highlighting code snippets with Prism and the Custom Highlight API 記事は上記記事を意訳したものです。 ※当ブログでの翻訳記事は元サイト様に許可を得て掲載しています。 ウェブ上の構文ハイライトの一般的な仕組みは、すべてのトークンを要素で囲み、適切なクラスを割り当て、CSSを使って色付けすることです。 CSS Custom Highlight APIのおかげで、DOMツリーにを散りばめてカラー情報を追加するステップを省略できます。 Custom Highlight APIの基礎 ブラウザサポート 静的コードスニペットの構文ハイライト 仕組み ステップ1:セットアップ ステップ2:コードのトークン化 ステップ3:トークンとハイライトの関連付け Custom Highlight APIの欠点 制限されたスタイリングオ

                                                  シンタックスハイライトをライブラリなしで簡単に!Custom Highlight APIの魅力 - コハム
                                                • Introducing the Docker Desktop WSL 2 Backend | Docker

                                                  What’s Changed Since the Tech Preview Earlier this year, we released a technical preview of our vision for the future of Docker development on Windows using WSL 2. We received lots of feedback from Windows Insiders via different channels, and collated common failure cases. We also used it ourselves a lot, and took the time to evaluate its architecture. Based on this analysis, we worked hard to red

                                                    Introducing the Docker Desktop WSL 2 Backend | Docker
                                                  • Announcing TypeScript 4.7 - TypeScript

                                                    Today we’re excited to announce the availability of TypeScript 4.7! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript and adds syntax for types. Types help describe what kinds of values you’re working with and what kinds of functions you’re calling. TypeScript can use this information to help you avoid about mistakes like typos, missing arguments, or forgetting

                                                      Announcing TypeScript 4.7 - TypeScript
                                                    • Amazon Auroraに2種類のオートスケーリングポリシーを組み合わせてコストを削減しました - Nealle Developer's Blog

                                                      こんにちはSREチームの宮後(@miya10kei)です。最近、DisplayLink対応の変換アダプターをGETし、トリプルディスプレイ化していろいろ捗っています! 前回から少し時間が空いてしまいましたが、今回はAmazon Auroraに対して2種類のオートスケーリングポリシーを組み合わせた事例を紹介します。 背景 Park DirectではデータベースにAmazon Aurora(Provisioned)を利用し、Writerインスタンス1台、Readerインスタンス2台の構成で運用しています。 ReaderインスタンスのCPU利用率には次の傾向がありました。 ReaderインスタンスのCPU利用率の推移 CPU利用率の傾向 平日 08:00~18:00までCPU利用率が(相対的に)高い状態が続き、18:00を境に低い状態になる。 休日 平日と同じ傾向だが全体的にCPU利用率が低い状

                                                        Amazon Auroraに2種類のオートスケーリングポリシーを組み合わせてコストを削減しました - Nealle Developer's Blog
                                                      • 🔭 RustでOpenTelemetryをはじめよう | Happy developing

                                                        本記事ではRustでOpentelemetryをはじめることを目標に以下の点について書きます。 OpenTelemetryの概要RustのapplicationにOpenTelemetryを導入する方法前半は公式docを読みながら登場人物を整理し、後半は実際にdocker-compose上でそれらを動かします。 またRustではtracing-opentelemetry crateを利用します。 tracingについては別の記事で基本的な仕組みについて書いたのでopentelemetry固有の処理について述べます。 sample code traceの設定については、別の記事に詳しい説明を書きました。 OpenTelemetryとは最初にOpenTelemetryについての現時点での自分の理解は以下です。 OpenTelemetryとは文脈により以下のいずれかを指す CNFNのprojec

                                                          🔭 RustでOpenTelemetryをはじめよう | Happy developing
                                                        • A Guide to Secrets Management with GitOps and Kubernetes

                                                          Rationale The entire premise behind GitOps is to use Git as the source of truth for infrastructure and application configuration, taking advantage of Git workflows, while at the same time, having automation that realizes the configurations described in Git repositories (GitOps operators when we are deploying to Kubernetes). That said, both infrastructure configuration and application configuration

                                                            A Guide to Secrets Management with GitOps and Kubernetes
                                                          • The Problem with Using a UUID Primary Key in MySQL — PlanetScale

                                                            Universally Unique Identifiers, also known as UUIDs, are designed to allow developers to generate unique IDs in a way that guarantees uniqueness without knowledge of other systems. These are especially useful in a distributed architecture, where you have a number of systems and databases responsible for creating records. You might think that using UUIDs as a primary key in a database is a great id

                                                              The Problem with Using a UUID Primary Key in MySQL — PlanetScale
                                                            • SREエンジニアが目指すGKE共通デプロイ基盤の完成形 - ぐるなびをちょっと良くするエンジニアブログ

                                                              こんにちは。開発部門 開発部 Data AI Strategyセクション データ基盤 Unitの小野です。 2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 ここ一年ほど、DAOという組織改善プロジェクトを推進していく中で、Google Kubernetes Engine (GKE)を使ったGKE共通デプロイ基盤の整備も進めてきました。 ※ DAOについての詳細はSREエンジニアが組織改善プロジェクトを立ち上げてみたを参照ください SREエンジニアの責務の一つは、プロダクトのリリースサイクルを極限まで短くし、次々と新しいサービスを世の中にリリースすることです。ChatGPTのような誰でも簡単に扱えるAIモデルが誕生したことで、プロダクト開発競争は今後ますます激しくなっていくと予想しており、SREエンジニアの責務の重要性をヒシヒシと感じています。 そう

                                                                SREエンジニアが目指すGKE共通デプロイ基盤の完成形 - ぐるなびをちょっと良くするエンジニアブログ
                                                              • プロジェクト内のライブラリをロードしつつ、ブラウザで動作するPHPStan Playground - pixiv inside

                                                                こんにちは。開発支援チームでpixivのコーディング環境の向上をしているyosatakです。 pixivではPHPStanを活用して、スクリプト言語であるPHPのコーディング上のミスをデプロイ前に検出しています。 inside.pixiv.blog PHPStanは開発者にエディタを強制したりせずに静的な型検査ができるだけではなく、入力のアサーション関数などに対してPHPStan拡張を書くことでリクエストパラメータなどの不確定な入力に厳密に型をつけ、PHPで安全にコーディングすることができるようになります。 それでも、10年以上メンテナンスされつづけているpixivのソースコードに型を付けていくのは容易ではありません。 PHPStanで特定のファイルの解析を掛けたい場合は、autoloadするファイルをbootstrapFilesに指定されたphpstan.neon(.dist)が設置され

                                                                  プロジェクト内のライブラリをロードしつつ、ブラウザで動作するPHPStan Playground - pixiv inside
                                                                • Understanding all of Python, through its builtins

                                                                  Python as a language is comparatively simple. And I believe, that you can learn quite a lot about Python and its features, just by learning what all of its builtins are, and what they do. And to back up that claim, I'll be doing just that. Just to be clear, this is not going to be a tutorial post. Covering such a vast amount of material in a single blog post, while starting from the beginning is p

                                                                    Understanding all of Python, through its builtins
                                                                  • PHP 8 Attribute シンタックスの変遷 - Shin x Blog

                                                                    PHP 8 の新機能の一つ、Attribute の形式が紆余曲折ありながら最終的に #[] となりました。実用上は #[] 形式だけ覚えておけば良いのですが、シンタックスの変遷は興味深いものだったので残しておこうと思います。 Attribute Attribute 仕様の変遷 8.0.0alpha1: <<>> 8.0.0alpha2 8.0.0beta1: @@ @@ の問題 8.0.0beta4: #[] #[] の注意点 さいごに Attribute PHP 8 の Attribute は、他のプログラミング言語によくあるアノテーションです。クラスやメソッド、プロパティ、関数に付与することで任意の処理を追加することができます。PHP では従来 Doc コメントでこれを指定する文化がありましたが、これを言語仕様として実装したものです。 <?php declare(strict_type

                                                                      PHP 8 Attribute シンタックスの変遷 - Shin x Blog
                                                                    • Amazon CloudWatch での Prometheus メトリクスの使用 | Amazon Web Services

                                                                      Amazon Web Services ブログ Amazon CloudWatch での Prometheus メトリクスの使用 Imaya Kumar Jagannathan、Justin Gu、Marc Chéné、および Michael Hausenblas 今週の初めに、AWS は CloudWatch Container Insights での Prometheus メトリクスモニタリングの公開ベータ版サポートを発表しました。この記事では、ユーザーがプロビジョニングする AWS クラスター上の Amazon Elastic Kubernetes Service (EKS) および Kubernetes で、コンテナ化されたワークロードに新しい Amazon CloudWatch 機能を使用する方法をご紹介します。 Prometheus は Cloud Native Compute

                                                                        Amazon CloudWatch での Prometheus メトリクスの使用 | Amazon Web Services
                                                                      • Rails初心者がハマったCapistranoの環境変数 - dely Tech Blog

                                                                        こんにちは。 delyコマース事業部エンジニアのjohnです。 もともとは開発部でiOSエンジニアとしてクラシルのiOSアプリ開発をやっていましたが、今年のはじめから新規事業のコマース事業部でwebのフロントエンドやRailsアプリケーションとかいろいろと開発をしています。 この記事は「dely Advent Calendar 2019」の16日目の記事です。 昨日はSREの井上さんによる「10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019」という記事でした。 tech.dely.jp 今回は、Capistranoを使ってRailsアプリケーションをデプロイしたときに環境変数でハマった話を書きます。 なかなか、これ系の記事が少なかったので、gemの中を見るところまでしてみました。 1つのサーバーを使いまわしてのデプロイの話です。インフラがコード化(Infrastructur

                                                                          Rails初心者がハマったCapistranoの環境変数 - dely Tech Blog
                                                                        • データレイクをGitライクに使いたい!lakeFSを使ってみた | DevelopersIO

                                                                          はじめに lakeFSは、ざっくり言うとデータレイクをGitのようなリポジトリぽく取り扱うソフトウェア/サービスです。Gitライクなので、ブランチの作成、バージョン管理、ロールバックなどをCLIまたはGUIにて実行できます。 現在、クラウドストレージをデータレイクとして使う場合にはAWS S3/Google Cloud Storage/Azure Blob Storageなど複数の選択肢があるかと思いますが、lakeFSをインターフェースとして入れることで、実際のストレージがどこにあるかを意識することなくデータレイクを取り扱えるため、マルチクラウドなデータ分析基盤においてより力を発揮します。 lakeFSにはローカル環境に導入するオープンソース版と、SaaSとして提供されるlakeFS Cloudがあります。 今回はオープンソース版でクイックスタートをやってみます。環境はMacBook P

                                                                            データレイクをGitライクに使いたい!lakeFSを使ってみた | DevelopersIO
                                                                          • 施工管理サービスの非同期処理基盤をBlue/Greenデプロイ化しました[後編] - ANDPAD Tech Blog

                                                                            こんにちは、アンドパッドSWEの あかりです。 最近子供が産まれて、よく抱っこ写真を撮るのですが、写真を振り返るといつも自分だけ同じ服装をしているのを少し恥ずかしく思ってきた今日この頃です。 ちなみに、息子は毎曜日服装が違うほど服を持っていて、家族一のおしゃれになっていますw 1. 概要 最近、アンドパッドで最も古くから稼働している施工管理サービスについて、その非同期処理基盤をBlue/Greenデプロイ化しました。このデプロイフローの変更は大きく2段階を踏んで実現しています。本記事では、その後半部分の「非同期処理基盤を実際にBlue/Greenデプロイ化した話」について説明します。前半部分に当たる、非同期処理基盤から定期実行ジョブの処理基盤を抽出・分離した話についてはこちらの記事をご参照ください。 2. 前提の説明 施工管理サービスの非同期処理基盤をBlue/Greenデプロイ化しました

                                                                              施工管理サービスの非同期処理基盤をBlue/Greenデプロイ化しました[後編] - ANDPAD Tech Blog
                                                                            • neue cc - csbindgen - C#のためのネイティブコード呼び出し自動生成、或いはC#からのネイティブコード呼び出しの現代的手法について

                                                                              ネイティブコードとC#を透過的に接続するために、RustのFFIからC#のDllImportコードを自動生成するライブラリを作成し、公開しました。Cysharp初のRustライブラリです!先週にプレビューを出していましたが、しっかりした機能強化とReadMeの充実をして正式公開、です! Cysharp/csbindgen crates.io/crates/csbindgen めちゃくちゃスムーズにネイティブコードがC#から呼べるようになります。すごい簡単に。超便利。こりゃもうばんばんネイティブコード書きたくなりますね……!ただし書くコードはRustのみ対応です。いや、別にRustでいいでしょ、Rustはいいぞ……! しかしまず前提として言っておくと、ネイティブコードは別に偉くもなければ、必ず速いというわけでもないので、極力書くのはやめましょう。C#で書くべき、です。高速なコードが欲しければ

                                                                              • Cloudflare Workers + KV + honoで簡単なAPIサーバを作る

                                                                                Cloudflare Workers + KV + honoで簡単なAPIサーバーを作ってみたくて、ebaというモックAPIを作成できるAPIサーバーを書いてみた。突然適当なメソッドと適当なURLで適当なレスポンスを返すAPIが欲しくなったときに使える。 使い方としては、1) 専用の名前空間を作って、2) 好きなエンドポイントを設定する、だけ。こんな感じ。 # 名前空間の作成。パスワードも適当に設定しておく。 $ curl -X POST 'https://eba.razokulover.workers.dev/' -H 'X-REQUEST-TYPE:register' -d '{"password": "xxxxxxxx"}' {"namespace": "your-unique-namespace", "password": "xxxxxxxx"} # エンドポイントの作成 # GE

                                                                                  Cloudflare Workers + KV + honoで簡単なAPIサーバを作る
                                                                                • typeorm + absurd-sql on Browser のロマン構成

                                                                                  ロマン構成が動いたので紹介します。 コード: https://github.com/mizchi/absurd-sql-example-with-typeorm デモ: https://heuristic-perlman-94f8f4.netlify.app tldr Steam の某クリッカーゲームをやってたら放置ゲーでも作りたい気分になってきた。 複雑なデータを管理するならブラウザ内に本物の sqlite を持ってきたい sqlite は持ってこれたけど TS の中で 生 SQL 書くのがだるかった(補完支援がない)ので ORM でラップしたい Typeorm + absurd-sql の構成を試したら色々大変だったけど動いた つまりブラウザでこのコードが動く。 // ... @Entity() class User { @PrimaryGeneratedColumn() id: nu

                                                                                    typeorm + absurd-sql on Browser のロマン構成