並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 166件

新着順 人気順

ロギングの検索結果1 - 40 件 / 166件

  • 脳に収まるコードの書き方

    Mark Seemann 著、吉羽 龍太郎、原田 騎郎 訳、Robert C. Martin まえがき TOPICS 発行年月日 2024年06月 PRINT LENGTH 312 ISBN 978-4-8144-0079-9 原書 Code That Fits in Your Head FORMAT Print PDF EPUB ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。 本書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します

      脳に収まるコードの書き方
    • ChatGPTを業務に組み込むためのハンズオン.pdf

      ChatGPTを業務に組み込むためのハンズオン 2023/06/26 一般公開用 デジタル庁 Fact&Data Unit 大杉直也 ↑マイナンバー交付数のダッシュボードを作っているところです 「Microsoft でテストされたアイデアのうち、改善を示すメトリクスを実際に改善できたのは3分の1にすぎない」 (Microsoft社 元Vice President) 「もしあなたが実験主導のチームにいるなら、70%の仕事が捨てられることに慣れてください。それに応じてプロセスを構築しましょう」(Slack社 Director) A/Bテスト実践ガイド p14より 一方で 「アイデアの価値を見積もることは難しい。このケースでは、年間1億ドルの価値ある単純な変更が何か月も遅れていた。」(同著 p5より) こともあります 午前中のアイデアソンで出たアイデアはちゃんと検証するまで価値があるかは不明です

      • しずかなインターネットの技術構成

        こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js

          しずかなインターネットの技術構成
        • 5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる

          はじめに 本稿は、オープンソースの可観測性(Observability)プロジェクトである OpenTelemetry を取り上げた書籍「Learning Opentelemetry」の読書感想文です。従来の可観測性の課題であったデータの分断を解消し、トレース、メトリクス、ログなどの様々なテレメトリデータを統合的に扱うことができる OpenTelemetry は、可観測性の分野における革命的な存在と言えます。 過去10年間で、可観測性はニッチな分野から、クラウドネイティブの世界のあらゆる部分に影響を与える数十億ドル規模の産業へと発展しました。しかし、効果的な可観測性の鍵は、高品質のテレメトリデータにあります。OpenTelemetryは、このデータを提供し、次世代の可観測性ツールと実践を開始することを目的としたプロジェクトです。 learning.oreilly.com 本書の想定読者は、

            5年後には標準になっている可観測性のこと - Learning Opentelemetry の読書感想文 - じゃあ、おうちで学べる
          • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

            この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

              MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
            • RustでWebバックエンドを書き始めてから1年くらい経った

              はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日本でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

                RustでWebバックエンドを書き始めてから1年くらい経った
              • “LLM for SRE“の世界探索 - ゆううきブログ

                ChatGPTが登場した当初、対話や要約、翻訳、コード生成などの典型的な言語タスクができても、SREやAIOpsの研究開発にはあまり関係ないのではないかと正直思っていた。AIOpsでは典型的にはいわゆるObservabilityデータ(メトリクス、ログ、トレースなど)が入力となるため、自然言語ではなく数値のデータを解析することが求められる。自然言語のタスクを研究対象としていなかったため、AIOpsとChatGPTに強い関係性は見いだせなかった*1。 しかし、自分で大規模言語モデル(Large Language Model: LLM)を日常的に使用したり、表題にあるようにSREのためのLLM(LLM for SRE, LLM4SRE)に関する論文を読むうちに、LLMのテキスト生成器としての性質よりもその優れた推論機械としての性質に注目するようになった。特にSREの障害診断は、人間の専門家が推

                  “LLM for SRE“の世界探索 - ゆううきブログ
                • 構造化ログのフォーマット logfmt vs JSON lines - methaneのブログ

                  構造化ログのプラクティスをあちこちで調べていたら、logfmtを推奨する記事を見つけたので調べてみました。 先に結論を言うと、JSON linesを使っておくのが良さそうです。 logfmt について logfmtとはスペース区切りで key=value を並べたフォーマットです。文字列にはクォートとエスケープによってスペースや改行を含められます。 at=info method=GET path=/ host=mutelight.org fwd="124.133.52.161" dyno=web.2 connect=4ms service=8ms status=200 bytes=1653 (logfmt から引用) あちこちで logfmt のリファレンスとして紹介されているのはこの記事です。 https://brandur.org/logfmt 発明されたのはどこか分かりませんが、流行

                    構造化ログのフォーマット logfmt vs JSON lines - methaneのブログ
                  • 2024年のPythonプログラミング - Uzabase for Engineers

                    ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                      2024年のPythonプログラミング - Uzabase for Engineers
                    • Google Cloud案件を1年半程度経験してみてAWSと比較しながら違いを整理してみた - NRIネットコムBlog

                      本記事は 【Advent Calendar 2023】 15日目の記事です。 🎄 14日目 ▶▶ 本記事 ▶▶ 16日目 🎅 はじめに 想定している読者 一覧 まとめてみて 参考 はじめに クラウド事業推進部の小野内です。昨年5月にキャリア入社してから早1年半以上が経ちました。 入社以降、AWS、Google Cloud のデータ分析基盤の開発・運用に関わっておりますが、現在はGoogle Cloud メインでやってます。 試行錯誤の毎日ですが、Google Cloud案件をどんどん盛り上げていきたい所存です。 1年ほど前の投稿記事では、 Google Cloudの学び方について触れましたが、本記事ではGoogle Cloud案件を1年半程度経験してみて、 AWSと比較しながら、Google Cloudの主要なサービスについて、違いを整理しました。 想定している読者 AWS案件に半年以

                        Google Cloud案件を1年半程度経験してみてAWSと比較しながら違いを整理してみた - NRIネットコムBlog
                      • クソコードを読ませない

                        クソコードを読ませない💩 https://uit.connpass.com/event/291443/ 免責事項 「クソコードという言葉を使うな」と思った人、いると思います。 攻撃的で、解像度も荒くて、建設的でない言葉だと私は思っています。 一方で、目にすることも多い言葉であり、具体例に関してはふわりとした共通認識が持たれているのと、そういったコードに対するダメージコントロールの話なので、便宜上クソコードという言葉を使います。とあるソースコードに対してクソコードと呼ぶのはよくないですが、クソコードという概念そのものについて話すことに対しては有益だと思います。 自己紹介 sadnessOjisan JS/TS, Rust, 最近 Go, PHP マイブーム: 優光というラーメン屋 クソコードとは何か クソコードとは何でしょうか? 知りません。 インターネットミーム? https://tog

                          クソコードを読ませない
                        • LangChain クイックスタートガイド - Python版|npaka

                          Python版の「LangChain」のクイックスタートガイドをまとめました。 ・LangChain v0.0.329 (2023/11/3) 1. LangChain「LangChain」は、「大規模言語モデル」 (LLM : Large language models) と連携するアプリの開発を支援するライブラリです。 「LLM」という革新的テクノロジーによって、開発者は今まで不可能だったことが可能になりました。しかし、「LLM」を単独で使用するだけでは、真に強力なアプリケーションを作成するのに不十分です。真の力は、それを他の 計算 や 知識 と組み合わせた時にもたらされます。「LangChain」は、そのようなアプリケーションの開発をサポートします。 主な用途は、次の3つになります。 ・文書に関する質問応答 ・チャットボット ・エージェント 2. LangChain のモジュール「L

                            LangChain クイックスタートガイド - Python版|npaka
                          • ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録

                            事前知識編 システム開発するプログラマも読んでおいたほうがいい資料とか。 今時のシステムならまず仕様や運用に反映される。されてなかったらむしろこっちから確認取りに行った方がいい。 JOGAガイドライン 昔ガチャとかが問題になったときに出てきた協会のガイドライン。 オンラインゲーム安心安全宣言 オンラインゲームにおけるビジネスモデルの企画設計および運用ガイドライン ランダム型アイテム提供方式を利用したアイテム販売における表示および運営ガイドライン オンラインゲームガイドライン 開発環境編 GitHubみたいなPullRequestを出せる環境 GitだけじゃなくてGitHub。必然的に規模が大きくなるのでプルリク出して進めることになります。 CIまで設定をする 最初のうちにCircleCIのようなテストの自動実行する仕組みまで揃えてしまっておいたほうが良いです。後からだとそもそも対応できなく

                              ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録
                            • 非同期ジョブをユーザーアクションに組み込まない

                              (勤務先に投稿した社内ブログの焼き直しです) ある日同僚から ActiveJob の perform_later で Barbeque にキューした非同期ジョブの起動が遅いと言われた。が、非同期ジョブの使い所について個人的な考えを書いてみることにする。 相談は「非同期ジョブの結果をユーザーに返しているため、高速になって欲しい。現状、最大で数分の時間を要す旨のメッセージを表示している」という内容でした。具体的には {内部 API} が重く、一部の処理を非同期ジョブにしていてユーザー体験の悪化につながっているとのこと。 盲目的に非同期にしても嬉しいことはない 結論としては、非同期にするのであれば丁寧にやれば良いけど、そもそも同期的でよくない? と考えて欲しいと返した。 まず、個人的にはユーザーアクション起因かつユーザーへフィードバックする必要のある処理を非同期ジョブにするのは本当に長時間かかる

                              • LangChain で社内チャットボット作ってみた

                                こんにちは、クラウドエース SRE ディビジョン所属の茜です。 今回は、現在最も普及している対話型 AI サービスである ChatGPT で使用されているモデルと、LLM を使ったアプリケーション開発に特化したライブラリである LangChain を用いて社内向けのチャットボットを作成します。 ターゲット 任意のデータを元に回答を行うチャットボットを作成したい方 任意のデータを元に回答させる仕組みを知りたい方 ChatGPT とは ChatGPT とは、ユーザーが入力した質問に対して、まるで人間のように自然な対話形式でAIが答えるチャットサービスです。2022 年 11 月に公開されて以来、回答精度の高さが話題となり、利用者が急増しています。 人工知能の研究開発機関「OpenAI」により開発されました。 執筆時点では、GPT-3.5、GPT-4 という大規模言語モデル (LLM) が使用さ

                                  LangChain で社内チャットボット作ってみた
                                • スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog

                                  *本記事は STORES Advent Calendar 2023 6日目の記事です こんにちは。セキュリティ本部のsohです。 現在、弊社ではスマホアプリ診断内製化の準備を進めています。 同じようにスマホアプリの脆弱性診断を内製化したい、というニーズがある会社は多く存在しますが、実際のところ、スマホアプリを対象とした脆弱性診断士の確保は困難であり、外部ベンダーの方にすべてお願いせざるを得ないケースも多いかと思います。 また、その情報の少なさから、スマホアプリ診断を実施したいと考えている開発者や脆弱性診断士にとっても、「何をやればいいのか」「何から始めればいいのか」がわからないものである場合は多いかと思います。 そこで、この記事では「スマホアプリ診断って実際何をしているのか」と疑問を持つ方をターゲットとして、一般的なスマホアプリ診断の検証要件や検証方法について解説します。 要件とガイドライ

                                    スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog
                                  • TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ - Sansan Tech Blog

                                    Digitization部 Bill One Entry*1グループの秋山です。 はじめに Domain Modeling Made Functionalというスゴ本 補講:Make Illegal States Unrepresentable バックエンドの処理を抽象化する 手続き型プログラミングの典型例 課題1:制約のないエラーハンドリング 課題2:低い可読性 課題3:エラーハンドリングの低い網羅性 Railway Oriented Programming TypeScriptで型安全にエラーハンドリングする ステップ1:サブ関数の出力はResult型で表現する ステップ2:サブ関数にResult型を入力できるようにする ステップ3:サブ関数を連結する ステップ4:網羅的にエラーハンドリングする おわりに 付録 TypeScriptの全文サンプル はじめに エラーハンドリングは重要な処

                                      TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ - Sansan Tech Blog
                                    • 🪵 Go1.21 log/slogパッケージ超入門

                                      はじめに 2023年8月9日(日本の場合)Go1.21がリリースされました🎉。Go1.21ではさまざまな変更点や追加機能が加わります。その中でもGo標準ライブラリに導入される構造化ロギングパッケージlog/slog(以下、slog)を楽しみにしている方は多いのではないでしょうか? 本稿では、slogを実際に触りつつ、機能の解説をしていきます。 TL;DR 本稿の概要をスライドにもまとめているので、ご参考にして下さい。 従来のlogパッケージについて slogの説明に入る前に、Go標準のlogパッケージについて簡単に紹介する。logパッケージを用いると、 io.Writer インターフェースを実装する任意の型にログメッセージを書き込むことができる。しかし以下のような制限があった。 ログレベルをサポートしていない ログレベルはほとんどのログパッケージの定番機能の一つだが、logパッケージには

                                        🪵 Go1.21 log/slogパッケージ超入門
                                      • Vue.js と Nuxt の 2023年まとめ

                                        2023年は Vue.js および Nuxt のアップデートがとっても活発な一年でした。 これだけ多くの、そして多様な進展があると、1年を振り返っておかないと何があったか忘れてしまいそうです。 というわけで Nuxt, Vue.js, Vite 関連の情報をピックアップして🏃‍♂駆け足で振り返ってみます。 (数が多かったので、おもに公式周辺のアカウントから告知されたものが中心です。漏れがあったらすみません。教えていただければ追加します) 🗓2023年1月 2022年の春先に正式に Vue.js 3 がデフォルトのバージョンとなり、2022年11月に Nuxt 3.0 がリリースされました。 年が明けて2023年1月の主だった情報です。 🔼Nuxt 関連 2023年1月17日に公開された Daniel Roe @danielcroe氏による公式ブログ記事 Nuxt: A vision

                                          Vue.js と Nuxt の 2023年まとめ
                                        • Storm-0558による複数の問題を悪用したMicrosoft クラウドサービスへの不正アクセスについてまとめてみた - piyolog

                                          2023年7月11日、Microsoftは中国を拠点に活動をしている脅威アクターより政府機関を含む複数の組織の電子メールアカウントなどに対し不正アクセスが行われていたと公表しました。ここでは関連する情報をまとめます。 利用組織から不審なログ報告受け発覚 Microsoftが今回明らかにしたのは同社のクラウドサービスであるExchange Online(OWA)およびOutlook.comへの不正アクセス事案。同社のサービスを利用する政府機関を含む約25の組織の電子メールデータおよびこれら組織関連とみられる少数の個人アカウントへ第三者がアクセスを行っていた。米国では10のアカウントが不正アクセスの被害に遭ったとされ、米国国務省、米国商務省の長官、駐中国大使、国務省次官補(東アジア担当)らが含まれており、9つのアカウントは東アジア、太平洋地域を担当する職員のものであり、約6万通のメールが流出し

                                            Storm-0558による複数の問題を悪用したMicrosoft クラウドサービスへの不正アクセスについてまとめてみた - piyolog
                                          • Docker/Kubernetes 実践コンテナ開発入門 改訂新版を出版します

                                            こんにちは、ビコーペガサスです。この度、「Docker/Kubernetes 実践コンテナ開発入門 改訂新版」を出版します。本書は2018年に出版した初版を全面改訂したものです。 【新刊】2024年2月24日発売『Docker/Kubernetes実践コンテナ開発入門 改訂新版』本体3,600円+税,山田明憲 著,Docker/Kubernetesを実践で使いこなす!コンテナ開発・運用の第一歩!https://t.co/jRfsDFnuKu pic.twitter.com/dd0qo4DZM1 — 技術評論社販売促進部 (@gihyo_hansoku) February 13, 2024 「改訂新版」のモチベーション 初版の出版から早5年半が過ぎ、コンテナ技術の情報は大きく変化しました。コンテナ技術の基本的な部分は変わらないとはいえ、初版の内容が陳腐化するだけの時間が流れたことは否定しよう

                                            • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog

                                              はじめに この記事を読んで得られること 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 1. 開発環境の構築で使用したツール AWS Lambdaのコンテナサポートを採用 Poetry利用時に開発と本番環境の適切な管理でLambdaデプロイ問題を解決 Poetry利用時に起きた問題 Dockerfileを分けてデプロイできない問題を回避 Mutagen Composeを採用 Dockerの同期遅い問題 Mutagen Composeを利用 2. 開発で活用したPythonライブラリ パッケージ管理 Poetry Ryeも検討したものの採用せず ベースのライブラリ FastAPI Mangum Powertools for AWS Lambda リンター・フォーマッター Ruff Mypy 型アノテーション自動生成ツールの活用 Black テスト Pytest p

                                                【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 1 - RAKSUL TechBlog
                                              • なんかいけそうな気がしたので Code Interpreter でシュッと Web アプリつくってもろた|bbz

                                                ちゃっす(/・ω・)/ 今日も ChatGPT Code Interpreter さんと戯れていましたの。 で、タイトルの通りなのだけれど、仕様書書いて渡したら Web アプリシュッと作ってくれんじゃね?( ・ω・) という闇の遊戯をした。 という話。 目標実行や指示はすれどもワタクシは一切コードを書かぬ!! 普通にエラー修正とか自分でやった方が早いけどやらぬ!! 全てを ChatGPT への指示で完結する!! で、納品されたもの(/・ω・)/ 納品物 トップページ 登録画面 ログイン画面 Activity 一覧 Activity 修正 レポート画面 すごない?( ・ω・) やったこと~ChatGPT との対話を残すでござる( ・ω・) ※ ChatGPT Code Interpreter Plugin が使えないと同じ事はできないぞ☆ 仕様書を提供しますので、 仕様にそった Flask

                                                  なんかいけそうな気がしたので Code Interpreter でシュッと Web アプリつくってもろた|bbz
                                                • データエンジニアリングの基礎

                                                  データエンジニアリングとは、組織内外で日々生成されるデータを蓄積し分析するためのデータシステムを構築し維持管理することであり、急速に注目を集めている分野です。近年ではデータエンジニアリングを支えるツールやクラウドサービスが成熟し、組織へのデータ利活用の導入は容易になりましたが、明確な指針のないままデータシステムの構築を進めると費用と時間を無駄に費やすことになります。本書は「データエンジニアリングライフサイクル」を軸にデータシステムの要件を整理することで、組織の「データ成熟度」に応じたデータシステム構築の指針を与えます。またデータエンジニアの立ち位置を明確にし、組織内でデータエンジニアが果たすべき役割を示します。 まえがき Ⅰ部 データエンジニアリングの基礎と構成要素 1章 データエンジニアリング概説 1.1 データエンジニアリングとは何か 1.1.1 データエンジニアリングの定義 1.1.

                                                    データエンジニアリングの基礎
                                                  • 「全ては会社の競争力を生み出すために」アーキテクチャを刷新し、ドメインモデリングも組織再編もエンジニア教育も一つ一つ丁寧に積み上げてモダナイズを進めた話|CTOロングインタビュー - MonotaRO Tech Blog

                                                    独自のビジネスモデルを持ち、競争優位を獲得しているモノタロウ。事業拡大に合わせて、モノタロウの成長をテクノロジーで支えるTech組織も進化してきました。現在Tech組織は、より高度なビジネス価値を生み出せるようにするため、サプライチェーンの高度化、パーソナライゼーションでの商品検索に着目し、アーキテクチャの再構築とシステムのモダナイズに取り組んでいます。また、そこに向けて組織体制のアップデートやカルチャーの醸成にも力を入れています。 今回は、MonotaRO CTO 普川泰如氏のインタビューから、その実態に迫っていきます。まず第1章ではモノタロウが会社として掲げるビジョンとビジネスの特徴について説明します。それを踏まえて第2章では、そのビジョンやビジネスを実現するためのシステムとその課題、モダナイゼーションについて、第3章ではその技術的な取り組みを実行するためのTech組織の体制について紹

                                                      「全ては会社の競争力を生み出すために」アーキテクチャを刷新し、ドメインモデリングも組織再編もエンジニア教育も一つ一つ丁寧に積み上げてモダナイズを進めた話|CTOロングインタビュー - MonotaRO Tech Blog
                                                    • グノシーのプッシュ通知基盤を紹介します - Gunosy Tech Blog

                                                      こんにちは, プロダクト開発部の今村です. ここ一年ほど, 主にグノシーのプッシュ通知基盤の部分的なリプレイスや機能追加をしていました. この記事ではプッシュ基盤の構成を紹介したいと思います. 概要 FCMのAPIを呼び出す部分 サーバーのスケーリング 送信対象の読み込み 送信の流れ その他の工夫 重複配信の防止 パフォーマンス調整 おわりに 概要 まずはプッシュ通知の種類を整理します. 今回扱うのは, 多数のユーザーに同じ内容を送るような通知です. 重要なニュースが発生したときに送る速報や, キャンペーン情報の通知などが該当します. 対照的に, ユーザーごとに異なる内容を送る通知もあります. 例えば社内で定時プッシュと呼ばれている機能では, ユーザーごとにパーソナライズされた記事を毎日決まった時間に送ります. このような通知はこの記事では (ほぼ) 扱いません. プッシュ通知基盤に求めら

                                                        グノシーのプッシュ通知基盤を紹介します - Gunosy Tech Blog
                                                      • GitHub CI/CD実践ガイド ――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用

                                                        この本の概要 本書はCI/CDの設計や運用について,GitHubを使ってハンズオン形式で学ぶ書籍です。GitHub Actionsの基本構文からスタートし,テスト・静的解析・リリース・コンテナデプロイなどを実際に自動化していきます。あわせてDependabot・OpenID Connect・継続的なセキュリティ改善・GitHub Appsのような,実運用に欠かせないプラクティスも多数習得します。 実装しながら設計や運用の考え方を学ぶことで,品質の高いソフトウェアをすばやく届けるスキルが身につきます。GitHubを利用しているなら,ぜひ手元に置いておきたい一冊です。 こんな方におすすめ GitHubは使っているけれど,プルリクエストぐらいしか利用していない CI/CDというキーワードは知っているけれど,自分で設計したことはない GitHub Actionsには触れているけれど,正直雰囲気で運

                                                          GitHub CI/CD実践ガイド ――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用
                                                        • AWS Black Belt Online Seminar 一覧リストを作成しました (2024.3.8現在) | DevelopersIO

                                                          AWS Black Belt Online Seminar の全リストを一つページにまとめてみました。 AWSの学習に活用してください。 AWS認定トレーニング講師の平野@おんせん県おおいたです。 AWSの学習に最もオススメのコンテンツがAWS Black Belt Online Seminar(以下、Black Belt と略します)です。10年以上前から AWS Japan のみなさんより提供されてきて、AWSを学ぶエンジニアにとってバイブルのような存在です。私を含め、クラスメソッドの多くのエンジニアも、Black Belt にお世話になってきました。 以前は Black Belt のコンテンツ数もそこまで多くなく、1つのページに全リストが表示できていました。しかし、現在は複数ページで絞り込みながら目的のコンテンツを探すスタイルに変更されています。 目的を持って探す場合は便利なのですが

                                                            AWS Black Belt Online Seminar 一覧リストを作成しました (2024.3.8現在) | DevelopersIO
                                                          • フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ

                                                            はじめにTIG DXユニット真野です。 CNCF連載の2本目はクラウドネイティブなフィーチャーフラグの標準とAPI、SDKを提供するOpenFeatureについてです。 フィーチャーフラグとはフィーチャーフラグとはコードを変更せずに、フラグを使って機能を有効/無効化する開発/デプロイ手法のことです。一般的なユースケースとしては、特定のユーザーに対して再起動とか再デプロイをせずに、新機能を有効化したいといった場合に役立ちます。信頼度が高くなったらより段階的に広範囲に対象を広げていくと安心ですね。この使い方だけであれば、カナリアリリースを想像しますが、他にも次のようなユースケースが考えられます。 初期から契約している特別な顧客(あるいはプレミアムプランに契約している顧客)に向けて開発した機能を提供する バグが見つかったので、該当機能を無効化してアプリの振る舞いをロールバックする 繁忙期にシステ

                                                              フィーチャーフラグを管理するためのOpenFeature | フューチャー技術ブログ
                                                            • 【2024年】AWS全サービスまとめ | DevelopersIO

                                                              こんにちは。サービス開発室の武田です。このエントリは、2018年から毎年公開しているAWS全サービスまとめの2024年版です。 こんにちは。サービス開発室の武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2024年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2023年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 247個 です。 まとめるにあ

                                                                【2024年】AWS全サービスまとめ | DevelopersIO
                                                              • Express と handlebars で動き続ける日経 — HACK The Nikkei

                                                                Nikkei Advent Calendar 2023の 14 日目は IDE がやっていきます。いま Web チーム内の基盤改善を専門とするチームで活動しています。自分が入社するより前に作られてメンテナンスがあまりされていなかったシステムを、現代でも戦えるようにするお仕事をしています。メンテナンスを放置することはセキュリティ的によくないので、メンテナンスを専業で行っています。最近の自分の仕事は、今日紹介する rnikkei と呼ばれるマイクロサービス群の Node.js バージョンを、v12 から v18(一部は v20) まで引き上げることです。この rnikkei は当初「爆速の日経」と呼ばれていた頃に設計・実装されたサービスです。今日はそのような過去に作られたサービスにもう一度スポットライトを当ててみようと思います。 see: https://marketing.itmedia.c

                                                                  Express と handlebars で動き続ける日経 — HACK The Nikkei
                                                                • もう一度読むObservability Engineering - じゃあ、おうちで学べる

                                                                  はじめに 本書『Observability Engineering』は、複雑化の一途をたどる現代のソフトウェアシステムに立ち向かうための、強力な武器となる一冊であり本稿はその読書感想文です。Observability Engineering を今から知りたい方はもちろん、Observability Engineering の基礎を改めて学びたい方もぜひお読みください。この記事もかなりの長さになるので普通に書籍を読んだほうがいいかもです learning.oreilly.com 「Observability:可観測性」という言葉は、近年ソフトウェアエンジニアリングの世界で大きな注目を集めています。しかし、その概念の本質を理解し、実践に移すことは容易ではありません。 本書は、そのオブザーバビリティについて、その基本的な考え方から、具体的な実装方法、そして組織への適用まで、幅広くかつ深く解説して

                                                                    もう一度読むObservability Engineering - じゃあ、おうちで学べる
                                                                  • Go言語のAPIサーバーの冗長なエラーログを40%削減した話 #LayerXテックアドカレ - LayerX エンジニアブログ

                                                                    こんにちは。バクラク申請・経費精算エンジニアの@upamuneです。先週末は30kmのトレイルレースがありましたが、今週末はフルマラソンがあるので満身創痍です。 この記事はLayerXテックアドカレ2023の22日目の記事です。 私はなぜか3日分もテックアドカレに入れてしまったのですが、2回目の今回はAPIサーバーのエラーログを40%削減した話をします。 昨日は@tataneによるバクラクの Vue3 移行戦略と詰まったポイント #LayerXテックアドカレ - LayerX エンジニアブログでした。明日は@trsによる入社エントリーです!楽しみですね。 はじめに 弊社では基本的にGo言語を利用してAPIサーバーを実装しています。エラーが発生したら、調査しやすいようにエラーログを出力して調査しやすくしていますが、1つのエラーに対して複数回の冗長なエラーログが出力されるという問題がありました

                                                                      Go言語のAPIサーバーの冗長なエラーログを40%削減した話 #LayerXテックアドカレ - LayerX エンジニアブログ
                                                                    • UbieにおけるGo言語のエラーハンドリング

                                                                      背景 Ubieでは以下の記事にあるように、一昨年から新しく始めるプロジェクトにはGoとTypeScriptを積極的に採用しています。私は本来プロダクトセキュリティが主な専門領域なのですが、公私ともに普段からGoでツールやサービスの開発をしているため、社内のGo言語の普及をサポートしたりプロダクト開発に参加したりしています。 Go言語で開発したことがある方はご存知かと思いますが、Goは標準パッケージで提供されているエラーハンドリングは最低限の機能しか提供されていません。これは、CLIツールなどではエラーの内容が簡潔に表せてよいのですが、サーバサイドアプリケーションのようにエラーにまつわる情報を詳細に残してあとから調査に利用する、という場面では不向きです。特に本番環境でしか再現しないようなエラーの場合は、いかに関連情報を残せているかが、問題の解決に大きく影響します。 先日も話題になっていました

                                                                        UbieにおけるGo言語のエラーハンドリング
                                                                      • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog

                                                                        はじめに 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 3. アーキテキチャ及びディレクトリ構造 オニオンアーキテクチャを採用 オニオンアーキテクチャとは 誕生の背景 依存関係逆転の原則の活用 採用理由 参考になった記事 ディレクトリ構造 全体の構成 api schema apiとusecaseの間のデータ構造を提供する役割 schemaはパスオペレーション関数のリクエストとレスポンスの構造を提供する役割 usecase domain infrastructure core container_config exception 参考にしたもの まとめ はじめに ラクスルグループのノバセルで新卒2年目のエンジニアをしています田村(tamtam)です。 第1回では、AWS Lambda x FastAPIによるPythonモダンAPI開発を実現する上で役立つであろ

                                                                          【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog
                                                                        • 10万件超のChatGPTアカウントが盗まれてダークウェブで取引されていることが判明、企業の機密情報が漏えいする危険も

                                                                          シンガポールを拠点とするサイバーセキュリティ企業のGroup-IBが、「10万件を超えるChatGPTのアカウントがマルウェアによって盗まれ、ダークウェブで取引されている」と報告しました。ChatGPTはデフォルトでユーザーのクエリとAIの応答履歴を保存しているため、ChatGPTアカウントへの不正アクセスは企業の機密情報や個人情報の漏えいにつながる危険性があるとのことです。 Group-IB Discovers 100K+ Compromised ChatGPT Accounts on Dark Web Marketplaces; Asia-Pacific region tops the list | Group-IB https://www.group-ib.com/media-center/press-releases/stealers-chatgpt-credentials/ Tr

                                                                            10万件超のChatGPTアカウントが盗まれてダークウェブで取引されていることが判明、企業の機密情報が漏えいする危険も
                                                                          • AWS継続的セキュリティ実践ガイド ログの収集/分析による監視体制の構築 | 翔泳社

                                                                            クラウド上のシステムの安全はどこから手をつければいいのか? AWSのセキュリティ、その考え方と実践 オンプレミス環境中心だったエンタープライズシステムはいまや、クラウド環境への移行が本格化しています。特に、手軽にスモールスタート可能なパブリッククラウドへの移行はすっかり一般的になりましたが、機密性の高いデータを誤って公開してしまったり、適切な設定がされていなかったりと、クラウド環境ならではのセキュリティインシデントが発生するようになってしまったのもまた事実です。 このような現代において、クラウドを主戦場とするシステム管理者/開発者には、従来どおりの、つまり「オンプレミス/クラウド共通の」セキュリティ管理を学ぶことはもちろん、「クラウド特化型の」セキュリティ管理の原則を学ぶことも必須となっています。それは、責任共有モデルなどクラウド固有の考え方を正しく知ることでもあり、同時に、クラウド利用に

                                                                              AWS継続的セキュリティ実践ガイド ログの収集/分析による監視体制の構築 | 翔泳社
                                                                            • 【C#】明日から使える ASP.NET Core ロギング術! - ねののお庭。

                                                                              登壇版 ConsoleFormatter HttpLogging ConsoleFormatterOptions.IncludeScopes W3C Trace Context ExceptionHandler DbDataSource HttpClientFactory まとめ References 登壇版 .NET ラボ 2023/07/22 で発表した資料です。 スライドはこちら。 スライドはアニメーション豊かなので、スライドと本投稿合わせながら見るといいかもです。 登壇のアーカイブはこちら。 30 分程度です。 ConsoleFormatter ログはだいた標準出力、まぁコンソールに出力しますよね。 そしてコンソールにログを出力するといっても、当然ながら複数のフォーマットがあります。 C# で現在ロガーとしてデファクト的に使われている Microsoft.Extensions.Lo

                                                                                【C#】明日から使える ASP.NET Core ロギング術! - ねののお庭。
                                                                              • オフェンシブ視点による Cloud Security 入門 ~AWS 編~ - blog of morioka12

                                                                                1. 始めに こんにちは、morioka12 です。 本稿では、AWS 環境における攻撃者のオフェンシブな視点で Cloud Security の入門として紹介します。 1. 始めに 免責事項 想定読者 2. クラウドにおける脅威 クラウドの重大セキュリティ脅威 11の悪質な脅威 クラウドサービス利用に関連するリスク Top 10 AWS セキュリティ構成ミス Top 10 3. AWS 環境における攻撃者の観点 3.1 AWS 環境の外部からの観点 3.2 AWS 環境の内部からの観点 4. MITRE ATT&CK Framework for Cloud (IaaS) 4.1 初期アクセス (Initial Access) 4.2 実行 (Execution) 4.3 永続化 (Persistence) 4.4 権限昇格 (Privilege Escalation) 4.5 防御回避

                                                                                  オフェンシブ視点による Cloud Security 入門 ~AWS 編~ - blog of morioka12
                                                                                • Laravel 11 アプリケーション構造移行ガイド

                                                                                  はじめにLaravel 11の新機能に 合理化したアプリケーション構造 “Streamlined Application Structure” というものがある: Laravel 11では、既存のアプリケーションに変更を加えることなく、新しいLaravelアプリケーション向けに合理化したアプリケーション構造を導入しました。新しいアプリケーション構造は、Laravel開発者がすでに慣れ親しんでいるコンセプトの多くを保持しながら、よりスリムでモダンなエクスペリエンスを提供することを目的としています。 https://readouble.com/laravel/11.x/ja/releases.html#structure 該当プルリクエスト で Slim skeleton と題されている通り、初期構造が大幅に簡略化されている。 一方、既存のアプリケーションをアップグレードする場合: Larav