kamada-mathのブックマーク (490)

  • オブザーバビリティ研修実践編

    株式会社サイバーエージェント AI事業部 2024年度エンジニア新卒研修 オブザーバビリティ研修実践編(一部社内向けの内容)

    オブザーバビリティ研修実践編
  • 【CloudWatch RUM × X-Ray】フロントエンドからバックエンドを一気通貫でトレースする方法 | DevelopersIO

    CloudWatch RUMではX-Rayを利用してフロントエンドからのHTTP通信をトレースを確認することができ、さらにX-Rayに対応したバックエンドサービスにトレースIDを送信することで、フロントエンドからバックエンドまで同一のトレースIDで確認することが可能になります。 はじめに CloudWatch RUM (Real User Monitoring)はフロントエンドのモニタリングに関するサービスです。 ページを開くまでに掛かる時間やAPI実行時のエラー発生を検知することができます。 CloudWatch RUMではX-Rayを利用してフロントエンドからのHTTP通信をトレースを確認することができ、さらにX-Rayに対応したバックエンドサービスにトレースIDを送信することで、フロントエンドからバックエンドまで同一のトレースIDで確認することが可能になります。 今回はそのための構成

    【CloudWatch RUM × X-Ray】フロントエンドからバックエンドを一気通貫でトレースする方法 | DevelopersIO
  • そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか

    遠きに行くには必ず邇きよりす.高きに登るには必ず卑きよりす.何事にも順序というものがあります.Rust の学習もそうです. そこで,前提知識がほぼ無い状態から Rust を学ぶときに,どんな順序が良いのか,考えてみました. コンパイル時と実行時の区別. Rust を学ぶとき,何がコンパイル時に起こって何が実行時に起こるか分からないと困ります.特に,型検査と借用検査がコンパイル時に行われることは,それらの基的な規則を知る際に大切です.そこで,最初に Hello world を書く時点で,コンパイル→実行という流れを押さえておくべきでしょう. コンパイルエラーの読み方. まずコンパイルエラーを読むという基的な姿勢を身に付けるのは大切です. 公式ドキュメントの場所. まず公式ドキュメントを読むという基的な姿勢を身に付けるのも大切です. Hello world 周辺の基文法. 例えば以下の

    そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか
  • JavaScript で then を使うのは避けよう(await / async の初級者まとめ)

    JavaScript において、特に苦手とする人が多い印象のある Promise ですが、await と async の文法が導入されたことで、Promise の仕様を深く理解しなくても非同期処理を自然に書けるようになってきたのではないかと思います。 極論ですが、JavaScript の非同期処理は async await new Promise のみで、(ほぼ)全て表現可能です。特別な理由がない限り then を使わないようにしましょう、ということを周知するのがこの記事の目的です。 なお記事では Promise の rejected の状態についてほとんど解説しておりません。基を理解したら、別記事でぜひ学んでみてください。 Promise とは? Promise は、少し乱暴に説明すると「実行が終わっていないかもしれない何らかの関数」を包んだオブジェクトです。 普通の関数とは違って、

  • AWS Observability Best Practices

    Home Home Guides Data types Tools Curated recipes FAQ Contributors オブザーバビリティとは¶ 概要¶ オブザーバビリティとは、観測対象のシステムからのシグナルに基づいて、継続的にアクション可能な洞察を生成および発見する機能です。つまり、オブザーバビリティを使用すると、システムの状態を外部出力から理解し、(修正)アクションを実行できます。 対処する問題¶ コンピュータシステムは、CPU 時間、メモリ、ディスク領域などの低レベルのシグナルや、API 応答時間、エラー、トランザクション毎秒などの高レベルかつビジネス上のシグナルを観測することで測定されます。 システムの可観測性は、その運用と開発コストに大きな影響を与えます。観測可能なシステムは、操作者に意味のある実行可能なデータを提供し、(インシデント応答の高速化、開発者生産性の向

  • Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services

    Amazon Web Services ブログ Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 記事は、Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade checklist, Part 1 を翻訳したものです。 Amazon Aurora MySQL 互換エディション バージョン 2 (MySQL 5.7 互換)は 2024 年 10 月 31 日に標準サポートの終了が予定されています。Amazon Aurora MySQL バージョン 2 の標準サポートの終了タイムラインについて

    Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services
  • [Software Design連動企画] 実践クエリチューニング | gihyo.jp

    この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、RDBMSを使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスとSQL構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」

    [Software Design連動企画] 実践クエリチューニング | gihyo.jp
  • フロントエンドから Amazon S3 にマルチパートアップロードしたい - カミナシ エンジニアブログ

    はじめに Presigned URL(*) などで、Amazon S3 へのアップロード処理を実装していると、大きなサイズのファイルをアップロードしようとしたときに、以下のような課題に直面することがあります。 一回のPUT リクエストでアップロードできるサイズの上限が 5GB まで 単一の HTTP リクエストでアップロードするため、大きなサイズをアップロードしようとしたときに問題が起きる。例えば、アップロードの処理の途中で失敗したとき、最初からやり直しになる。 このようなときに活用したいのが、マルチパートアップロードです。マルチパートアップロードとは、その名の通り、アップロード対象のオブジェクトを小分けにしてアップロードする方法です。 AWS の SDK には、マルチパートアップロードが簡単に行えるような API が用意されているものの、多くは、S3 にアップロードを行うことができる I

    フロントエンドから Amazon S3 にマルチパートアップロードしたい - カミナシ エンジニアブログ
  • 令和のHTML / CSS / JavaScriptの書き方50選

    Web制作技術は日々進化しており、会社やプロジェクトによっては昨今の環境に適さない書き方をしているケースも時折見受けられます。 そこで今回は「2024年のWeb制作ではこのようにコードを書いてほしい!」という内容をまとめました。 質より量で、まずは「こんな書き方があるんだ」をこの記事で伝えたかったので、コードの詳細はあまり解説していません。なので、具体的な仕様などを確認したい方は参考記事を読んだりご自身で調べていただけると幸いです。 1. HTML 画像周りはサイトパフォーマンスに直結するので、まずはそこだけでも取り入れていただきたいです。また、コアウェブバイタルやアクセシビリティも併せて理解しておきたい内容です。 Lazy loading <img>にloading="lazy"属性を付けると画像が遅延読み込みになり、サイトの読み込み時間が早くなります。

    令和のHTML / CSS / JavaScriptの書き方50選
  • 【エンジニアの海外挑戦記】岩永氏が語る、10年かけた移住計画。狭いチャンスを自分の道につなげられたわけ 

    TOPコラムITエンジニア海外チャレンジ・ガイドブック【エンジニア海外挑戦記】岩永氏が語る、10年かけた移住計画。狭いチャンスを自分の道につなげられたわけ OpsBR Software Technology Inc. 代表 岩永 亮介 ソフトウェア業界で15年以上、物理的なデータセンター運用から、世界最大規模の分散システムの運用、多数の業界のお客様のシステム設計支援、フロントエンドからバックエンド、データベース管理者、DevOps やテスト設計・実装、アーキテクチャレビュー、などを経験。特に、運用に関する改善や設計は得意で、OpsBR Software Technology Inc. を立ち上げた。カナダのバンクーバー在住。経歴は、Autify で Staff Software Engineer、Sr. Technical Support Engineer、Amazon で Sr. S

    【エンジニアの海外挑戦記】岩永氏が語る、10年かけた移住計画。狭いチャンスを自分の道につなげられたわけ 
  • 楽観的更新を行うための React の useOptimistic フック

    楽観的更新を行うための React の useOptimistic フック 2024.05.12 React v19 では楽観的更新を行うための `useOptimistic` フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 React v19 では楽観的更新を行うための useOptimistic フックが導入される予定です。楽観的更新とは、ユーザーの操作に対して非同期処理の完了を待たずに UI を更新する手法のことです。楽観的更新によりユーザーの操作に対して即座にフィードバックを提供できるため、UX の向上につながります。 楽観的更新を使用している例として、X(旧 Twitter)のいいねボタンがあります

    楽観的更新を行うための React の useOptimistic フック
  • GitHub Actions ワークフロー設計のTips ~スムーズな依存関係管理と並列実行~ - 電通総研 テックブログ

    こんにちは。XI AIトランスフォーメーションセンター所属の山田です。 今回は比較的にライトな内容で、GitHub Actionsのワークフロー設計のTipsを紹介したいと思います。 紹介するワークフロー ここで紹介するワークフローは、Node.js系アプリケーションで静的解析、テスト、ビルド実行を想定したものになります。 依存関係インストール用のジョブ このワークフローの特徴は、依存関係の解決に重点を置き、取得した依存関係をキャッシュエントリに追加することを目的とするsetupジョブを配置している点です。 setupジョブの定義部分を抜粋すると以下になります。 jobs: setup: runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Check out repository uses: actions

    GitHub Actions ワークフロー設計のTips ~スムーズな依存関係管理と並列実行~ - 電通総研 テックブログ
  • Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal

    こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ

    Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal
  • 【ハンズオン】RemixでTODOアプリを作ってReactの違いを体感しよう【TypeScript/Supabase/TailwindCSS】 - Qiita

    【ハンズオン】RemixでTODOアプリを作ってReactの違いを体感しよう【TypeScript/Supabase/TailwindCSSTypeScriptハンズオンRemixtailwindcssSupabase はじめに Reactを使っていてステートがクライアントとサーバーで辻褄が合わなくなった そんな経験がReactをある程度使ったことがある人はおそらく経験したことがあるはずです。 Reactにおいて状態管理は誰でも使いやすく直感的である半面、クライアントとサーバーの状態を意識する必要が有ります。 どのタイミングでステートの変更をサーバーでも行うのか難しく思う場面もしばしばあります。 今回は最近巷でReactと並んで見かけるようになったRemixについてハンズオン形式で学べるような記事を書いていきます。 ハンズオンを通してRemixの特徴であったり、SupabaseやTail

    【ハンズオン】RemixでTODOアプリを作ってReactの違いを体感しよう【TypeScript/Supabase/TailwindCSS】 - Qiita
  • "簡単なプログラミング言語を作るライブコーディング" の中身をRustで作ってみた - でこてっくろぐ ねお

    以下youtube動画はCで簡単なプログラミング言語を作っているのですが、同様のものをRustで作ってみました。 www.youtube.com 成果物 github.com ./run_test でテストが動きます フィボナッチ数列を表示している様子 $ cargo run 'F[P(a) F(b + a b)] F(1 1)' Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs Running `target/debug/lang 'F[P(a) F(b + a b)] F(1 1)'` 1 1 2 3 5 8 13 21 34 55 89 144 233 …(以下オーバーフローするまで続く なぜこれを行おうとしたか 最近、ユーチューバーになろうと思っていたのです。で、私がyoutubeで見せられそうなことと言ったら

    "簡単なプログラミング言語を作るライブコーディング" の中身をRustで作ってみた - でこてっくろぐ ねお
  • コンピュータ・サイエンスやりたくなって1年ちょっとコツコツやってる/やったことたち - でこてっくろぐ ねお

    私は経済学部出身でWeb系エンジニアをやっているわけだが、コンピュータ・サイエンスはずっと学びたいと思っていた。 そんな中、Turing Complete FMというpodcastに出会ってその気持ちが更に強くなり、ここ1年くらい、子育ての合間にコツコツコツコツとコンピュータ・サイエンス周りのことを学んでいた。このエントリでは、学んでいたこと、及び子育ての合間にどうやって時間を捻出しているのかをまとめた。 目次: やっている/やったこと コンピュータサイエンス系のPodcastを聞く コンパイラを書く(ペンディング中) OSの作り方を学ぶ RustでOSを書く(ペンディング中) Rustを学ぶ プログラミングコンテスト系のサービスをやってみる LeetCode Atcoder 計算理論の初歩を学ぶ 白と黒の扉を読む 大学の教科書で使われているような書籍で学ぶ システムのパフォーマンスについ

    コンピュータ・サイエンスやりたくなって1年ちょっとコツコツやってる/やったことたち - でこてっくろぐ ねお
  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
  • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

    どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条

    エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
  • 【未経験者大歓迎】RAG超入門:AWSが推奨するRAGを体験するハンズオン - Qiita

    2024/5/5更新:生成AIに興味を持った方向け、続編を投稿しました。 「Qiitaに聞いた!!」をAmazon Bedrockで作った!(Claude 3でRAG) タイトルはふざけてますが、プロンプトエンジニアリングにより投稿と同様の内容を行う解説をしています。 (BedrockのClaude 3モデルと、Google検索を使った構成です) 生成AIはとても注目度が高い技術ですが、すこしとっつきにくいところがあるかもしれません。新しいモデルや活用手法が毎日のように登場し、ウォッチし続けるのはかなり大変です。 タイミングを逃して入門できていない方向けに、 とりあえず作って体感してみよう というコンセプトで、ハンズオン記事を作成しました。🎉🎉🎉 ハンズオンの内容は「RAG」です。RAGは生成AIの活用法としてよく出てくるキーワードです。ハンズオンでは、ただのRAGではなく最先端の

    【未経験者大歓迎】RAG超入門:AWSが推奨するRAGを体験するハンズオン - Qiita
  • 要件定義、基本設計、詳細設計の流れを総復習

    はじめに 📘 この記事は ラクス Advent Calendar 2023 の7日目の記事になります。 要件定義から基設計、さらに実装や保守運用に至るまでの一貫した経験を何度か積んできましたが、毎回 「要件定義って具体的に何の項目が必要だっけ?」 「基設計との違いって何だったっけ?」 「基設計と詳細設計の区別って?」 といった疑問が頭をよぎってきました。 そんなわけで、これまでの経験を振り返りつつ、開発プロセスについて1からまとめていくことで頭の中の大掃除を行なっていきたいと思います🧹 この記事の対象者 🎯 開発プロセスについて学びたい方 要件定義の基を学びたい人 要件定義と基設計の違いがわからない人 一緒に開発プロセスについて復習したい方 前提 記事中の一部(特に要件定義や基設計、詳細設計のサンプル)を自動生成で作成してます。一貫性の無い内容があるかも知れませんが、あく

    要件定義、基本設計、詳細設計の流れを総復習