s1hit77のブックマーク (882)

  • AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう | Amazon Web Services

    Amazon Web Services ブログ AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう 通常、組織はAWS サービスを活用してワークロードのオブザーバビリティと運用の優秀性を高めています。しかし、多くの場合、オブザーバビリティメトリクスが提供されたときのチームが取るべき対応は不明確であり、どのメトリクスに対処が必要で、どのメトリクスがノイズにすぎないかを理解することは難しい場合があります。たとえば、アラームがトリガーされるまで 10 分以上かかる場合、根的な問題を軽減するためにチームが取れる対処が遅れてしまいます。この問題への理想的な解決策は、ネットワークの障害を防ぐために、オブザーバビリティメトリクスからアラームの起動までの時間を短縮することです。実装やアーキテクチャの制限により、メトリクスデータは常に CloudWatch

    AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう | Amazon Web Services
    s1hit77
    s1hit77 2024/09/01
  • PrismaのTypedSQLがなぜアツイのか

    Prisma界隈で話題沸騰中(自分調べ)のTypedSQLだが、自分の中ではかなりアツいと思っているので、その理由を語ろう。なおTypedSQLの機能とか仕組みについては記述しないのでドキュメントや以下の記事を参照するとよい。 Prismaの難しさ 複雑なクエリを組み立てるのが特に難しい。複雑といっても何10行もあるようなクエリとかではなく、joinとか集計関数がいくつかあるくらいで十分複雑になる。たとえば特定のユーザーに紐づく記事をコメントの数を含めて取得したいとする。クエリは雰囲気こんな感じ。SQLとしては全然難しくない。 SELECT posts.id, count(comments.id) AS cnt FROM posts INNER JOIN users ON posts.author_id = users.id LEFT JOIN comments ON posts.id =

    PrismaのTypedSQLがなぜアツイのか
    s1hit77
    s1hit77 2024/08/30
  • 技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

    技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL はじめに 新たに書きました。 MySQLを使っても会社は潰れない 久々に記事を書いたのでどうぞお手柔らかに... 私が過去2年間で行った技術選定の成功と失敗を振り返り、その学びを共有したいと思います。 文才無いので淡々と箇条書きでいきます Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 注意 意見を押し付けるものではありません。ただ建設的な議論は大事だと思う。 自分の意見は明確に、歯切れのよい表現を意識している。人それぞれだよねみたいな感じに逃げたくない。技術選定に結論はある(過激)。 ただし技術選定にはコンテキストがあり、例えばプロダクトのフェーズや組織の事情によって当然結論は変わる可能性がある。 OSSの開発者さん達は偉大ですごい。あ

    技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
    s1hit77
    s1hit77 2024/08/28
  • 「ゼルダの伝説 ティアーズ オブ ザ キングダム」の空,地上,地底がつながったフィールドを実現したシームレスな制作の過程[CEDEC 2024]

    「ゼルダの伝説 ティアーズ オブ ザ キングダム」の空,地上,地底がつながったフィールドを実現したシームレスな制作の過程[CEDEC 2024] ライター:大陸新秩序 2024年8月22日,ゲーム開発者向けカンファレンス「CEDEC 2024」にて,セッション「『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 〜空、地上、地底、そして制作もシームレスに〜」が行われた。 このセッションでは,「ゼルダの伝説 ティアーズ オブ ザ キングダム」におけるフィールド,およびその制作過程をいかにしてシームレスにつないだのか,その手法が紹介された。スピーカーは,以下の3名である。 任天堂 企画制作部 テクニカルディレクター 堂田卓宏氏 任天堂 企画制作部 プログラミングディレクター 奥田貴洋氏 任天堂 企画制作部 地形プログラミング担当 斎藤智久氏 「ゼルダの伝説 ティアーズ オブ

    「ゼルダの伝説 ティアーズ オブ ザ キングダム」の空,地上,地底がつながったフィールドを実現したシームレスな制作の過程[CEDEC 2024]
    s1hit77
    s1hit77 2024/08/25
  • 「テスト駆動開発」は時を超える技術。凡人が天才と肩を並べるための秘密兵器【米マイクロソフト・牛尾 剛】 - エンジニアtype | 転職type

    連載では、業界の第一線で活躍する著名エンジニアたちが、それぞれの視点で選んだ書籍について語ります。ただのレビューに留まらず、エンジニアリングの深層に迫る洞察や、実際の現場で役立つ知見をシェア!初心者からベテランまで、新たな発見や学びが得られる、エンジニア必読の「読書感想文」です。 著名エンジニアが、独自の視点で「おすすめ書籍」の紹介を行う連載。 今回は、米マイクロソフトのエンジニア・牛尾 剛さんによる『テスト駆動開発』(オーム社)の読書感想文を紹介する。 発売日:2017年10月14日 著者:Kent Beck 訳者:和田 卓人 定価:3,080円 (体2,800円+税) ISBN:978-4-274-21788-3 サイズ:A5 ページ数:344ページ 書籍概要:テスト駆動開発とは単にテスト自動化を行うことではなく、ユニットテストとリファクタリングを両輪とした小さいサイクルを回すこ

    「テスト駆動開発」は時を超える技術。凡人が天才と肩を並べるための秘密兵器【米マイクロソフト・牛尾 剛】 - エンジニアtype | 転職type
    s1hit77
    s1hit77 2024/08/25
  • あなたの知ってる難読地名は?

    ・雑餉隈(ざっしょのくま:福岡県) ・鉄輪(かんなわ:大分県) ・弘前(ひろさき:青森県) ・石神井(しゃくじい:東京) 他には?

    あなたの知ってる難読地名は?
    s1hit77
    s1hit77 2024/08/24
    島根県松江市の出雲郷(あだかえ)。なんで?
  • AWS Athenaの安価な代替手段:Lambda x DuckDB - Qiita

    Athena Amazon Athenaは、標準SQLを使用してAmazon S3に保存されたデータを分析することができる、強力でサーバーレス、インタラクティブなクエリサービスです。複雑なETLパイプラインやデータウェアハウスを設定して管理する必要がなく、大量のデータを処理する組織にとって魅力的なオプションです。ただし、Athenaの価格設定は、予算が厳しい場合など、すべてのユーザーに適しているわけではありません。このブログ投稿では、Athenaの代替となる、低コストで同等の機能を提供できるアルティメットを紹介します。 利点: Athenaの主な利点の1つは、Amazon S3のデータを、複雑なETLプロセスや専用のデータウェアハウスなしに、標準SQLクエリを使用して分析できることです。 Athenaはサーバーレスでもあり、データ量やクエリの複雑さに基づいて自動的にスケールされるため、事前

    AWS Athenaの安価な代替手段:Lambda x DuckDB - Qiita
    s1hit77
    s1hit77 2024/08/24
  • Haystack

    An IDE built on top of a canvas, Haystack takes care of the tedious and confusing parts of coding for you

    Haystack
    s1hit77
    s1hit77 2024/08/24
  • 多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう

    概要 AWS とかで踏み台ホスト経由(ここでは AWS っぽく bastion と呼ぶ)で ssh する必要があるなら ~/.ssh/config は↓みたいにしとくのが良いんじゃないかな? Host bastion Hostname bastionのIPアドレス User bastionのユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 IdentityFile bastion接続用の秘密鍵ファイル名 # ↓の3つはWindowsでは使えないので諦めて ControlMaster auto ControlPath ~/.ssh/cp-%r@%h:%p ControlPersist 10m Host 好きな接続先名 Hostname 接続先のIPアドレス User 接続先のユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 Identi

    多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう
    s1hit77
    s1hit77 2024/08/24
  • カメントツ先生による「猫から学ぶ転倒事故発生と再発防止対応についてのビデオ」あまりの完成度に研修への導入が切望される

    カメントツのサブアカ @Computeroba カメントツ( @Computerozi)のサブアカウントです。老まくら♀とヤンググーさん♀との日常を主にアップいたします。

    カメントツ先生による「猫から学ぶ転倒事故発生と再発防止対応についてのビデオ」あまりの完成度に研修への導入が切望される
    s1hit77
    s1hit77 2024/08/22
  • Lodashの代替ライブラリ、es-toolkitが強力 — 平均2倍高速、バンドルサイズ最大97%削減、移行も容易

    8月17日、海外エンジニア向けメディアInfoQが「es-toolkit, a Modern Lodash Alternative」と題した記事を公開した。 この記事では、JavaScriptのモダンなユーティリティライブラリであるes-toolkitについて詳しく紹介されている。es-toolkitは、Lodashに代わるライブラリとして注目されている。 es-toolkitの特徴 es-toolkitは新たに登場したJavaScriptライブラリであり、LodashやUnderscore.jsの直接的な競合であり、以下のような特徴を持つ。 es-toolkitは、 debounce、delay、chunk、sum、pickなど、日常的に使用するユーティリティ関数を提供する es-toolkitは、最新の JavaScript 環境で2~3倍のパフォーマンスを実現する es-toolk

    Lodashの代替ライブラリ、es-toolkitが強力 — 平均2倍高速、バンドルサイズ最大97%削減、移行も容易
    s1hit77
    s1hit77 2024/08/21
  • 可読性の高いコードを書くための実践ガイド - Qiita

    はじめに ソフトウェア開発において、コードの可読性はプロジェクトの成功に直結する重要な要素です。読みやすいコードは、メンテナンスや拡張を容易にし、チーム全体の生産性を向上させます。 しかし、「読みやすいコード」 の定義は人によって異なります。個々のスタイルや好みによって解釈が分かれることもあるでしょう。それでも、できる限り多くの人にとって理解しやすいコードを書くことが、プロフェッショナルとしての責任です。このガイドでは、そんな読みやすさを意識した具体的なテクニックなどを紹介していきます。「もう知ってるよ!」と思った方も、今一度できているかを確認してみてください。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 注意点 こ

    可読性の高いコードを書くための実践ガイド - Qiita
    s1hit77
    s1hit77 2024/08/21
  • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要ありませんでした。実際に当時はこのような書き方は使われておらず、このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。 優れたコードとは無駄がないシンプルなコードです。丁寧なコードとは無駄な処理を書くことではありません。[ $? -eq 0 ] や [ $? -ne 0 ] は書かないほうが、簡単で読みやすくわかりやすくなります。優れた文法

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
    s1hit77
    s1hit77 2024/08/21
  • 『スタッフエンジニアの道ー優れた技術専門職になるためのガイド』 - snoozer05's blog

    翻訳を担当した書籍『スタッフエンジニアの道ー優れた技術専門職になるためのガイド』(オライリー・ジャパン)が来週(2024年8月26日)発売となります(電子書籍はオライリー・ジャパンのサイトでの販売となります)。書は、2022年にO'Reilly Mediaより刊行されたTanya Reilly著『The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change』の全訳となります。 スタッフエンジニアの道 ―優れた技術専門職になるためのガイド 作者:Tanya Reillyオライリー・ジャパンAmazon 書は、技術専門職としてのキャリア成長に必要な考え方やスキルを、20年を超えるキャリアを持ち、現在も現役で上級技術専門職を務めている著者が、自身の経験をもとに整理・解説し

    『スタッフエンジニアの道ー優れた技術専門職になるためのガイド』 - snoozer05's blog
    s1hit77
    s1hit77 2024/08/20
  • 『ドメイン駆動設計をはじめよう』がわかりやすすぎた|ミノ駆動

    こんにちは、リファクタリング大好きなミノ駆動です。 2024/07/20に発売された『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』を、訳者の増田亨氏よりご恵贈賜りました。 この記事は、この書籍の感想です。 著者の許可を得た上でのだいたんな意訳総評等の前にいの一番で伝えたいポイントです。 エリック・エヴァンス氏の『ドメイン駆動設計』は大変価値の高い知見が網羅されている一方、「ユビキタス言語」や「境界づけられたコンテキスト」といった独特の用語が登場したり、難しい言い回しをしていたり、読解がかなり難しい書籍です。 独自用語が登場するたびに「ユビキタス言語?なんだこれ?」とつまづきを覚え、内容理解に集中できず、読む手が止まってしまったことがある人も少なくないのではないでしょうか。 書『ドメイン駆動設計をはじめよう』は『Learning Domain-Driv

    『ドメイン駆動設計をはじめよう』がわかりやすすぎた|ミノ駆動
    s1hit77
    s1hit77 2024/08/16
  • ブラウザの履歴を操作して「戻る」ボタンで広告を出すやつについて – コーヒーサーバは香炉である

    2023年後半頃から、ブラウザの「戻る」ボタンを押すと、訪問したおぼえのないページが表示されることが増えた。そういうページは大抵、記事風の広告やサイト内の記事へのリンクが大量に並ぶという構成になっている。 こんなレイアウトになってることが多い。 この手法はブラウザバック広告とかブラウザバックレコメンド (あるいはレコメンデーション) とか呼ばれており、国内外の複数のWeb広告会社がこれを提供しているようだ。 たとえば、こちらはGMOアドマーケティングの “TAXEL” が提供しているブラウザバックレコメンド。 【新たな収益・回遊源が誕生!】ブラウザバックレコメンド サイトから離れてしまうユーザーに対し、広告やレコメンド記事を表示させることで、収益化や内部回遊に繋げることを目的としているフォーマットになります。 ……というのがセールスポイントらしいのだが、サイトから離れる人は、サイトから離れ

    s1hit77
    s1hit77 2024/08/16
  • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

    概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

    【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
    s1hit77
    s1hit77 2024/08/14
  • 年100件ほどプロポーザルを読んで作った伝わりやすいプロポーザルのチェックリスト|さとりゅう

    この記事についてこの記事では、日スクラム系カンファレンスのプロポーザルを勝手に沢山読んできた筆者(さとりゅう)が考える「内容が伝わるプロポーザルの書き方」を提案します。筆者がこれまでに読んできた中で、講演内容がどのようなものなのかを伝える目的であるプロポーザルが、その役割を果たすのに不十分な記述のため、当は素晴らしい講演内容が伝わらずに終わってしまっているのではないか、ということを危惧しています。そこで記事では、講演内容がわかりやすいと読み手として感じたプロポーザルを思い出しながら、それがどのような構造であったのかをチェックリスト形式で提案します。このチェックリストを用いて、より多くの伝わるプロポーザルが生まれることを願っています。 動機先日、 株式会社カケハシの小田中さんが素敵なスライドを公開していました。これによって、多くの人がカンファレンスのプロポーザルを書こうというモチベー

    年100件ほどプロポーザルを読んで作った伝わりやすいプロポーザルのチェックリスト|さとりゅう
    s1hit77
    s1hit77 2024/08/13
  • TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ

    ソート順の選択プルダウンがある一覧系ページを実装するとき、選択肢たちの管理方法に頭を悩ませることが多いと思います。 商品一覧ページの概要 ソート順プルダウンの選択肢たち 上の画像に示したような場合だと、 《クエリパラメータ》と《選択肢》の間の相互変換 ?sort=price&order=desc <--> 「価格が高い順」 《select の状態に使うための文字列》と《選択肢》の間の相互変換 <option value={id}>{label}</option> クエリパラメータが sort order の2つあり、それらをそのまま流用できないので 最低限でも、これらの変換ロジックを用意しておく必要がありますね。 この記事では、このような「選択肢と、それにまつわる変換ロジック群」を整理する方法を、高凝集・SSoT (Single Source of Truth; 信頼できる唯一の情報源)

    TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ
    s1hit77
    s1hit77 2024/08/13
  • 誰も教えてくれないSIの本質、SIerの世界観

    記事について 国内の IT 業界について、ネット上では「SIer」VS「Web系」の構図がしばしば見られる。記事は前者、SIer の世界観をひとりの当事者として雑多にまとめたものである。記事としては読み物、特にポエムの類。 対象読者 以下を想定する。 ITエンジニアまたはその卵で、 SIerを知らないWeb系の人 SIerに入社した新人や中途入職者 SIerにてSEまたはマネージャーして働いている者 SIerにてSEではないが裏方で働いている者(開発、研究、調査、教育、管理など) 学習や就労の初歩として参考にしてもいいし、議論やキャリアのダシに使っても良いだろう。 筆者について 吉良野すた: https://stakiran.github.io/stakiran/ 国内の大手 SIer に勤めるサラリーマン。現場には出ておらず、裏方で支えてメシをべている。SI にも IT にもさほど

    誰も教えてくれないSIの本質、SIerの世界観
    s1hit77
    s1hit77 2024/08/12