並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 220件

新着順 人気順

errorの検索結果81 - 120 件 / 220件

  • Promise のキャンセルについて - Qiita

    [ English version ] JavaScript と Node.js についてのこの徹底した投稿では、Promises のキャンセルの歴史、なぜNode.jsに関係があるのか、そして async/await APIで使おうとしたときに注意すべきことについて学ぶことができます。 この投稿は、JavaScript の Promise API をよく理解していて、 Node.js の経験がある方のためのものです。 歴史 2014 年に Promise API がブラウザに導入されて以来、人々は Promise で他に何ができるかを調べていました。ブラウザに最初に登場した関連APIは、HTTP リクエストのための fetch() でした。 HTTP リクエストの問題は、サーバーのリソースを消費することであり、サーバーに送信されるリクエストの数が多い場合はお金がかかります。このため、特に

      Promise のキャンセルについて - Qiita
    • Goodbye CSS Modules, Hello TailwindCSS

      Our frontend codebase is a single-page application powered by Create React App (CRA), written in TypeScript, and using GraphQL for the API. The existing styling approach used CSS Modules without a design system. CSS Modules are CSS files in which all class and animation names are scoped locally by default. They get compiled as part of the build step—with bundler technology like Webpack—and are nat

        Goodbye CSS Modules, Hello TailwindCSS
      • Scripting with Go — Bitfield Consulting

        The Unix shell is pure wizardry. With the right incantation of shell spells, you can organise files, process text, compute data, and feed the output of any program to the input of any other. We might even say, paraphrasing Clarke’s Third Law: Any sufficiently clever shell one-liner is indistinguishable from magic. In this article we’ll explore a package called script that aims to sprinkle some Uni

          Scripting with Go — Bitfield Consulting
        • Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ

          エムスリーエンジニアリンググループ/BIRの滝安(@juntaki)です。 BIRはビジネスインテリジェンス&リサーチの略で、そこでは医療従事者の会員向けアンケートをベースに、製薬会社へのマーケティング支援を提供する事業を行っています。BIRではエムスリーではじめてGoを導入し、今ではほとんどの新規システムをGoで立ち上げています。(一部でKotlinもつかっています) Goでは、interfaceの使い方を知ることで、依存関係、コンポーネントの責務を整理した設計を考えることができます。 この記事ではGo導入当初にメンバに説明した、interfaceの基本的な使い方やTipsを整理していきます(すでに、Goをよく知っている人には当たり前すぎるかもしれません)。 また、この記事の後にBIRのメンバーがGo関連記事をいろいろ書く予定となっています! interfaceの使い方 interfac

            Goのinterfaceの使いかた 基礎編 - エムスリーテックブログ
          • 非同期処理に疲れた方に、ReactQueryの処方箋

            この記事について 本記事は、下記のReactQuery公式ドキュメントの内容をベースに、自分なりに噛み砕いてまとめたものになります。 ReactQuery公式ドキュメント サンプルコードの一部は公式サイトから引用しています。 前置き 【呼称について】 ReactQueryはSolidやVue、Svelteへの対応を進めており、現在の正式な名称はTanStackQueryになっています。 ReactQueryの方が耳馴染みのある方も多いため、この記事では、ReactQueryと呼ぶことにします。 【内部実装のイメージについて】 以下、「内部実装のイメージ」となっているアコーディオンの箇所は、ReactQueryの内部実装が実際にそうなっているということではなく、 「こういうふうなコードをイメージすると理解しやすそう」という意図で書いています。 基本的には読み飛ばしていただいても大丈夫な箇所で

              非同期処理に疲れた方に、ReactQueryの処方箋
            • Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ

              こんにちは、TIGの辻です。Go 1.16連載の3記事目です。 Go1.16でアップデートがあった io/ioutil パッケージが "deprecated" になる話題のまとめです。 サマリ Go1.16から io/ioutil パッケージの機能が os と io パッケージに移行した これから新しく実装するコードは io や os パッケージの新しい関数を使うことが推奨される io/ioutil パッケージが "deprecated" になるが "deprecated" といっても将来壊れる、ということではない 既存のコードは動作し続ける go fix コマンドは未対応 内容Go1.16から io/ioutil パッケージに含まれる関数が "deprecated" になります。関連するプロポーザルは #40025 と #42026 です。Package names で良くないパッケージ

                Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ
              • UbieにおけるGo言語のエラーハンドリング

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

                  UbieにおけるGo言語のエラーハンドリング
                • [React🐣 ]宣言的UIの構築をシンプルなプロセスで理解する

                  この記事で話すこと この記事ではReact入門者の方、UIの状態管理についてよく悩んでしまう人を対象に書いています。 いきなり複雑な状態管理を考え出すのではなく、そもそも宣言的UIの構築プロセスを頭の中に置いてそのコンポーネントの状態を特定し、整理することで管理する状態を明確にします☺️ 宣言的UIの構築プロセスを通し、react入門・初心者がいきなり状態管理を考え出して手が動かなくなる状態を脱却することを目的にしています。 宣言的UIの構築をフォームコンポーネントを例に4STEPで理解する 今回は「入力値を送信するテキスト入力フォーム」を例にとって4stepでプロセスを理解する コンポーネントの状態を列挙してみる 状態変化のきっかけのトリガーを特定して、フローを作る useStateを使って状態を宣言する 状態のリファクタリング(今回は不要・重要でない状態変数を削除する) 目標:最初から

                    [React🐣 ]宣言的UIの構築をシンプルなプロセスで理解する
                  • Optimizing SQLite for servers

                    SQLite is often misconceived as a "toy database", only good for mobile applications and embedded systems because it's default configuration is optimized for embedded use cases, so most people trying it will encounter poor performances and the dreaded SQLITE_BUSY error. But what if I told you that by tuning a

                      Optimizing SQLite for servers
                    • M1 mac上のDockerコンテナ内でChromiumを動かそうとしてやったこと&やろうとしてること - savanna blog

                      savanna.ioの開発をお手伝いしている masa-iwasaki です。現在進行中の案件で調査が甘いところもあるのですが、表題の件について同じく行き詰まってる or 今後行き詰まる人が居るかもしれないので自分が試行錯誤した結果を共有します。ちなみにsavanna公式ブログでは初の開発エントリのようです。 tl;dr Docker Desktop for Apple silicon では linux/amd64 なDockerイメージではGoogle Chromeが動かない QEMUのバイナリエミュレーションが完璧では無くcore dumpする arm64 Linux向けのGoogle Chromeは存在しない Chromiumを使いたいのだが 最新バージョンのChromiumを使おうとするといろいろある 回避策・解決策の検討 背景 savannaではRailsを利用して作られていて、

                        M1 mac上のDockerコンテナ内でChromiumを動かそうとしてやったこと&やろうとしてること - savanna blog
                      • GoのWebアプリケーションでステータスコード499を記録する | おそらくはそれさえも平凡な日々

                        この記事は、Go 4 Advent Calendar 2020の16日目の記事です。 さて、ある日、Goで書かれたHTTP APIサーバーのdeployをしたところ、急に500エラーの発生率が上がったことがありました。しかし幸いにもユーザー影響は出ていません。どうしたのでしょうか? ALBログの調査 このシステムはAWSのApplication Load Balancer(ALB)からプロキシされていますが、エラーリクエストに対応するALBのログを調べるとステータスコード460が記録されていました。460を調べると以下のように書いてあります。 The load balancer received a request from a client, but the client closed the connection with the load balancer before the id

                          GoのWebアプリケーションでステータスコード499を記録する | おそらくはそれさえも平凡な日々
                        • トランザクション中の文の失敗の扱いの違い - Write and Run

                          (読みづらいタイトルだな) ことの発端はこのツイート。 MySQLは、以下を満たさないという理解でいいのか? エラーが出た時にPostgreSQLのようにロールバックを行わないので Atomicity(原子性)・・・トランザクションの実行結果は「全て成功」か「全て失敗」のいずれかでなければならない#mysql— imaharu (@imaharuTech) July 2, 2020 さすがの MySQL でもそこを破ってくることはないだろうと思いつつ、トランザクション野郎としてはちゃんと確かめねばならないと思い、早朝にも関わらず布団から出てラップトップを開いた(午前10時)。 実験1 以下のような docker-compose.yml と sql/script.sql を用意し、実験をする。 version: '3.3' services: db: image: mysql:8 envir

                            トランザクション中の文の失敗の扱いの違い - Write and Run
                          • WSL2でMySQLを起動するときは mysqld --daemonize を使う - そーだいなるらくがき帳

                            WSL2ではPID 1がinitd問題によってsystemdが起動できません。 そのため、systemctlが使えなくてMySQLが起動できないってなるのですが、yoku0825さんにやり方を教えてもらったのでメモとして残します。 そんなムズくないです。最近のmysqldには--daemonizeがあるのでそれを使えばokです— yoku0825 (@yoku0825) 2021年8月2日 つまりroot権限で mysqld --daemonize を叩けばOK。 ただ /var/run 配下は再起動時に /var/run/mysqld/ がなくて失敗すると思うので起動はフォルダを作って権限を付けてあげましょう。 $ mkdir /var/run/mysqld $ chown mysql:mysql: /var/run/mysqld $ mysqld --daemonize これでMySQ

                              WSL2でMySQLを起動するときは mysqld --daemonize を使う - そーだいなるらくがき帳
                            • Node.js v15ではunhandled rejectionでプロセスがエラー終了する

                              今月20日にInitial Releaseが予定されているNode.js v15ですが、ここでのunhandled rejectionの挙動変更について解説します。 unhandled rejectionとは async関数内でthrowされたエラーや、rejectされたPromiseが、.catch()などでハンドリングされずにrejectされたままになっている状態を、unhandled rejction(またはunhandled promise rejction)と呼びます。Node.js v14では、unhandled rejectionが発生すると次のような警告が出力されます。 $ node -e "Promise.reject()" (node:22145) UnhandledPromiseRejectionWarning: undefined (Use `node --trac

                                Node.js v15ではunhandled rejectionでプロセスがエラー終了する
                              • 僕が仮想通貨Botを作るときに手放せない便利なPythonライブラリを9個紹介します|くりぷとべあー

                                こんばんは!くりぷとべあーです。 今日は僕がBotを作るときによく使っている便利なPythonライブラリを紹介します。Botで〜と書き始めたのですが、読み返してみると自動取引以外でも便利かもです。 CCXTやTA-libといった有名すぎるものは避けて書いたので、みなさま何かしら気づきはあるんじゃないかと思います。 tl;drはTweetしておいたので、そっち見て、知らないのがあれば読むとかでも全然いいかもです。 僕が仮想通貨Botを作るときに愛用している便利なPythonライブラリたちを紹介してみました! Pythonチョットワカル勢の皆様は知ってるものも多いかと思うのでtl;drを連ツイにぶら下げておきます。 気になるものあったらぜひ読んでみてください🤗 (1/5)https://t.co/DQewBZf4Tb — くりぷとべあー🫡 (@cryptoo_bear) August 26

                                  僕が仮想通貨Botを作るときに手放せない便利なPythonライブラリを9個紹介します|くりぷとべあー
                                • 次なる`pkg/errors`を探して - カンムテックブログ

                                  エンジニアの宮原です。 今回はGoでスタックトレースを取得するライブラリ選定についての記事です。 この記事は 【Gophers Talk】スポンサー4社による合同LT & カンファレンス感想戦で発表したものです。 発表スライドはこちらから確認できます。 この記事の目的 この記事ではpkg/errorsからの移行先を探すための参考情報を提供することを目的とします。 Goのエラーハンドリングのやり方等についてこの記事では触れないこととします。 pkg/errors とはなにか pkg/errorsとは、githubのREADMEを引用すると Package errors provides simple error handling primitives. とあり、直訳すると、「エラーハンドリングの基礎を提供するパッケージ」となります。 pkg/errorsを利用することで、Go本体にはないスタ

                                    次なる`pkg/errors`を探して - カンムテックブログ
                                  • SWR vs React Query - fsubal

                                    (※ この記事は API およびそこから導かれる設計のしやすさ観点での比較をしています。実際にキャッシュが有効に効いたか、などについてはまた別の機会に )

                                      SWR vs React Query - fsubal
                                    • Rust エラー処理2020 - 電気ひつじ牧場

                                      このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基本 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基本的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基本 Result<T, E> Rustには例外

                                        Rust エラー処理2020 - 電気ひつじ牧場
                                      • Go 1.13時代のエラー実装者のお作法 - Qiita

                                        Goアドベントカレンダーその2の3日目のエントリーです。 Goではエラー処理の方法としてはプリミティブな方法しか提供しておらず、他の言語のユーザーからやいのやいの言われてきました。Go2でそれを改善するぞからプロポーザル募集でいろいろ意見を募っては二転三転みたいな感じで、Go 1.13ではだいぶおとなしい感じに機能拡張されました。基本的な方向性としてはgithub.com/pkg/errorsから少し機能を取り込んだ感じです。 すでに、数多くのエントリーやらプレゼンテーションやらでGo 1.13の利用者視点でのerrorsの変更点については触れられてきましたので詳しくはそちらをご覧ください。サマリーとしては下請けのパッケージで出てきた詳細なエラーをラップして扱うための便利な機構がいろいろ追加された感じです。 これらでは主にアプリケーションコードの実装者というかライブラリの利用者向けの説明が

                                          Go 1.13時代のエラー実装者のお作法 - Qiita
                                        • ChatGPTでHARファイルを解析してWebアクセスの問題点を検出する - Taste of Tech Topics

                                          9月になりましたが、まだまだ暑い日が続きますね、昼間に出歩く際にはネックリングが手放せない菅野です。 Webアプリケーションで問題があった際には、よくブラウザの開発者ツール等を確認してエラーや、遅延の原因を探ったりしますよね。 今回は上記のようなエラー解析、問題解析をChatGPTで簡単に実施できないか検証していきます。 とはいえ、ブラウザの開発者ツールをそのままChatGPTに渡すことはできないため、開発者ツールから生成したHARファイルをChatGPTのAdvanced Data Analysisで解析してもらいます。 「Advanced Data Analysis」というのは、少し前まで「Code Interpreter」と呼ばれていたChatGPTの機能のことです。 名称変更されただけで挙動は変わっていないようです。 個人的には「Code Interpreter」の方が好きだったの

                                            ChatGPTでHARファイルを解析してWebアクセスの問題点を検出する - Taste of Tech Topics
                                          • Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ

                                            概要TIG DX所属の多賀です。最近は設計をしつつ Go も触れて引き続き楽しく仕事してます。 今回は、errors package を一部利用して、エラーコードベースのエラーハンドリング処理を実装しました。また、morikuni/failure を利用した実装への書き換えも試してみています。 エラーコードベースの例外ハンドリングについて前提としてGoで書かれた HTTP APIサーバーに対してのエラーハンドリングについて記載します。 エラーコードベースの例外ハンドリングについてですが、アプリケーションで発生するエラーを事前にラベリングしてコード化し、コードをもとにエラーハンドリングを実施することとします。発生時の運用対応や影響について、事前に一覧で整理することで、運用負荷を下げる意味があると考えています。(補足: Futureではメッセージコードと呼称することが多いですが、一般的な命名で

                                              Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ
                                            • iPhone で交通系IC(Suica、PASMO、ICOCA、…etc.)を読み取ってみよう! - Qiita

                                              運転免許証、物販向け電子マネー(楽天Edy、nanaco、WAON)に引き続き、今回は交通系ICである Suica、PASMO、ICOCA などの残高を iPhone で読み取ってみましょう! 環境 開発 Xcode Version 11.3 (11C29) Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15). macOS Catalina 10.15.2(19C57) 実機 iPhone 11 Pro (A2215、MWCC2J/A) iOS 13.3 (17C54) 実行結果 Xcode プロジェクトの作成 Create a new Xcode project から iOS の Single View App を作成します。 Capability と Entitlements の設定 Project

                                                iPhone で交通系IC(Suica、PASMO、ICOCA、…etc.)を読み取ってみよう! - Qiita
                                              • git checkoutを禁止してgit switch & git restoreを強制する養成ギブス git-switch-trainer - Qiita

                                                git checkoutを禁止してgit switch & git restoreを強制する養成ギブス git-switch-trainerGit git-switch-trainerはgit checkoutの使用を禁止して、git switchとgit restoreに慣れるためのコマンドです。 switchとrestoreはcheckoutから分離した機能であり、コマンド名が作業を適切に表現するようになりました。 機能的には大きく変わらないため今まで通りcheckoutを利用しても問題ありません。 既存のユーザよりもこれから学ぶユーザへの学習ハードルを下げるための機能追加と考えると良いと思います。 既存ユーザの方でも新しいコマンドを使いたいという方はcheckoutの癖が抜けきれないと思うので、このツールを使うと矯正することができます。 準備 siwtchやrestoreはGit 2

                                                  git checkoutを禁止してgit switch & git restoreを強制する養成ギブス git-switch-trainer - Qiita
                                                • The 7 Biggest Excel Mistakes of All Time

                                                  Excel has dominated the spreadsheet market since the 1990s, and it remains a powerful tool for data analysis. Unfortunately, its very power makes it incredibly dangerous even in the hands of experienced users — and how many employees can truly claim to have mastered the program’s complexities? If you use Excel expense-report templates in your business, it’s fatally easy for user error to creep int

                                                    The 7 Biggest Excel Mistakes of All Time
                                                  • 【PHP9】ついに未定義変数が使えなくなる - Qiita

                                                    PHP9以降、致命的エラーになります。 以下は該当のRFC、Undefined Variable Error Promotionの紹介です。 投票期間は2022/03/14から2022/03/28です。 2022/03/21時点では賛成30反対6の賛成多数であり、ほぼ確実に可決されます。 Undefined Variable Error Promotion Introduction 未定義変数とは、使用する前に値がまだ初期化されていない変数のことです。 未定義変数にアクセスすると、現在はWarning: Undefined variable $varnameの警告E_WARNINGが表示され、その変数値はNULLであるかのように扱われますが、実行が中断されることはありません。 しかし、これは意図しない挙動である可能性が高いでしょう。 この挙動を変更して例外を出すためにカスタムエラーハンドラ

                                                      【PHP9】ついに未定義変数が使えなくなる - Qiita
                                                    • TypeScript Compiler API を使って ts-expect-error を一括挿入する - ドワンゴ教育サービス開発者ブログ

                                                      こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 TypeScriptを使用しているプロジェクトでコンパイラの設定を変更したら既存のソースコードがコンパイルに通らなくなった……という経験はないでしょうか。 先日あるリポジトリでnoUncheckedIndexedAccessというコンパイラオプション(TypeScript4.1以降で使用可能)を有効化した1ところ、既存ソースコードの200箇所以上がコンパイルエラーになりました。これを全て手作業で直すのは大変ですし、その間にも直さないといけないコードは増えていくかもしれません。 そこでTypeScriptのCompiler APIを使用し、コンパイラから得られるコンパイル時のエラー情報を利用して@ts-expect-error2を挿入するスクリプトを作成しました。その過程と結果を書きましたので、次のような方々の参考になれば幸

                                                        TypeScript Compiler API を使って ts-expect-error を一括挿入する - ドワンゴ教育サービス開発者ブログ
                                                      • Next.js の Error を丁寧に扱う

                                                        Next.js には組み込みのエラーフォールバック機構が存在します。pages/404.tsxとpages/500.tsx、Unhandled Error を捉えるpages/_error.tsxが組み込みフォールバックです。https://nextjs.org/docs/advanced-features/custom-error-page 実アプリケーションにおいてはこれだけでは不十分なケースが多く、意図的なもの・そうでないものをハンドリングしログ収集に繋げるなど、きちんとエラー設計をしたいところです。 TypeScript 4.4 で try catch の推論が変更になった 話が少しそれますが、TypeScript 4.4 で try catch 文の catch 引数errの推論がanyからunknownに変更になりました。この変更はuseUnknownInCatchVariab

                                                          Next.js の Error を丁寧に扱う
                                                        • Web VitalsとJavaScriptエラーの可視化 - フロントエンドにおけるObservabilityとは / visualize-web-vitals-and-javascript-error

                                                          Node学園 35時限目 オンライントライアルでの発表資料です。 Webアプリ・サイトの開発におけるObservabilityは、ユーザー体験(UX)の低下がいつどこで発生するかを検出し、開発者が改善にかかる時間を短縮するのに役立つ原因を把握することです。 構築をするには下記の3つのステップに区切ることができます。 ログを集める ログの詳細を可視化する ログの詳細から、改善に必要な意味合いだしを行う 最後の意味合だしを行うステップでは、情報を下記の3つのレベルに分類します。 エラー:空白ページの原因 警告:50ミリ秒を超えるハングアウト その他:デバッグなどの情報 この資料では、上記のステップを元に、AmplifyとQuickSightを活用したフロントエンドにおけるObservability向上の基盤を実装する方法を紹介しています。Observabilityの獲得により、フロントエンド開

                                                            Web VitalsとJavaScriptエラーの可視化 - フロントエンドにおけるObservabilityとは / visualize-web-vitals-and-javascript-error
                                                          • ReactのSuspenseを使った非同期処理のエラーハンドリング

                                                            「フロントエンドLT会 - vol.8」で発表したスライドです。 https://rakus.connpass.com/event/255095/

                                                              ReactのSuspenseを使った非同期処理のエラーハンドリング
                                                            • Node.jsでUnhandled Rejectionsのときにexis statusが0となる問題を回避する

                                                              Node.jsでUnhandled Rejectionsが発生してprocessが終了すると、Exit Statusが0となる問題とその対策についてのメモです。 追記: Node.js 15+からUnhandle Rejectionが発生するとプロセスがExit Status 1で終了する動作がデフォルトとなりました Node.js v15ではunhandled rejectionでプロセスがエラー終了する 事前知識: Async FunctionはPromiseを返す関数定義です。 その辺について詳しくは次のサイトを読んでください。 JavaScript Promiseの本 非同期処理:コールバック/Promise/Async Function · JavaScript Primer #jsprimer 今回のサンプルコードは次のリポジトリにあります。 azu/unhandled-rej

                                                                Node.jsでUnhandled Rejectionsのときにexis statusが0となる問題を回避する
                                                              • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

                                                                Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript で

                                                                  neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
                                                                • https://longliveruby.com/articles/art-of-errors-in-ruby

                                                                    https://longliveruby.com/articles/art-of-errors-in-ruby
                                                                  • 【Go】profefeでContinuous Profilingをやっていく話 - Mirrativ Tech Blog

                                                                    こんにちは、サーバーエンジニアの牧野です。 今回はGoで開発しているアプリケーションでContinuous Profilingを実践するために導入した profefe を紹介したいと思います。 Continuous Profilingとは Continuous Profilingとは、ざっくり言うと本番環境で継続的にプロファイリングすることを指します。Continuous Profilingができると、本番環境でのみ発生するパフォーマンスの問題を捉えることができたり、継続的にプロファイリングすることで問題が発生する前後の状態を比較することができます。 Goには pprof というプロファイリングのための標準パッケージがあり、プロファイリング自体は容易に行うことができますが、Continuous Profilingを実現するとなると、以下のような課題と向き合う必要があります。 本番環境でオー

                                                                      【Go】profefeでContinuous Profilingをやっていく話 - Mirrativ Tech Blog
                                                                    • 【第12回】Go言語(Golang)入門~MySQL接続編~ – 株式会社ライトコード

                                                                      package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" ) func main() { _, err := sqlConnect() if err != nil { panic(err.Error()) } else { fmt.Println("DB接続成功") } } // SQLConnect DB接続 func sqlConnect() (database *gorm.DB, err error) { DBMS := "mysql" USER := "go_example" PASS := "12345!" PROTOCOL := "tcp(localhost:3306)" DBNAME := "go_example" CONNECT := USER + ":"

                                                                        【第12回】Go言語(Golang)入門~MySQL接続編~ – 株式会社ライトコード
                                                                      • pipeエラーのハンドリング - Carpe Diem

                                                                        概要 write: broken pipeといったクライアント側の強制的なコネクション切断でのエラーハンドリングをする際の知見まとめ。 環境 golang/go 1.13.3 事前知識 知っておくと良い知識を先に説明します。 そもそもpipeとは pipeはプロセス間通信をするための単方向のデータチャネルです。IOストリームを扱います。 読み出し側と書き込み側それぞれのfdを経由してプロセス間の通信を可能にします。 例えば親子プロセスで通信を行いたい場合、親プロセスでpipeを開きそれをforkして子プロセスを用意します。 ref: https://inzkyk.github.io/ocamlunix-jp/pipes.html そして親プロセスの書き込みfd・子プロセスの読み出しfdをそれぞれクローズすれば、以下のように子プロセス→親プロセスへ通信することができます。 pipeはシンプル

                                                                          pipeエラーのハンドリング - Carpe Diem
                                                                        • Web VitalsとJavaScript Errorの可視化

                                                                          こんにちは、@watilde です。Amplifyの開発者体験体験の向上をすべく、ツイートのウォッチやGitHubでの反応などしています。もう去年のことですが、最近はcliの改善としてcreate-react-appのようにinitの実行時にREADMEの生成を行うPRなど作ったりしてます。参考: aws-amplify/amplify-cli#5808 この記事は英語で書いた Improve UX by observability in front-end with Amplify and QuickSight を自分で日本語に意訳してみたものです。Node学園 35時限目 オンライントライアル でも同様の内容を発表予定です。 JavaScriptのエラー例 JavaScriptは100%動いているのか 私達の作るWebアプリ・Webサイトが様々なデバイスで100%動作しているかは、実態

                                                                            Web VitalsとJavaScript Errorの可視化
                                                                          • Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape

                                                                            本記事はNext.js Advent Calendar 2020の9日目です。 tl;dr Vercel以外でもIncremental Static Regenerationは可能 試した範囲ではフルに機能するのはコンテナで動かした場合のみ AWSのサーバーレスで動かすのは現時点で絶望的 はじめに 早速ですが、みなさん、次世代のStatic Site Generation(SSG)と言っても過言ではないIncremental Static Regeneration(ISR)はご存知でしょうか。 一応知らない人のためにすごく簡単に説明をすると、『リクエストに対して静的にビルドされたページを返しつつ、有効期限が過ぎたら非同期で静的ページの再生成をSSRで行う』っていうものです。Cache Controlにおけるstale-while-revalidateと同じような考え方が適用されたものとも言

                                                                              Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape
                                                                            • Golang IO Cookbook

                                                                              In the last couple of days I made a program called Horcrux which allows you to split a file into any number of horcruxes, a subset of which can then be recombined to resurrect the original file. In the process I learnt a lot about the io.Reader and io.Writer interface, and thought I would do a writeup to help build intuition for all the people out there who inevitably will find themselves using th

                                                                                Golang IO Cookbook
                                                                              • DatadogでフロントエンドのJSエラーを収集してサービス改善 - Qiita

                                                                                この記事は、弁護士ドットコム Advent Calendar 2019 - Qiita の11日目の記事です。 要約 DatadogでブラウザーのJSエラーの収集を始めた。 1日に発生するJSエラー数を、1/4まで削減することができた。 エラー発生検知が、数時間から15分以内になった。 サービスの課題 以前、Sentryを弁護士ドットコムサービスが稼働しているowned k8sの片隅で運用していたが、運用負荷が高く、廃止。 サーバーサイドの監視は、きちんとやっていましたが、フロントの監視がおざなりになってました。 一部のページでは、Google Tag Manager経由で自作エラー検知スクリプトを埋め込んでいました。しかし、エラーを、Google Analyticsにイベント通知しているが、情報が少なく、エラーが追えませんでした。 結果、JSやフロントエンドのエラーは検知できませんでした

                                                                                  DatadogでフロントエンドのJSエラーを収集してサービス改善 - Qiita
                                                                                • Rust製のパーサコンビネータnomを解剖する(v6.0.0) - DrumatoのBlog

                                                                                  こちらに移行しました. www.drumato.com

                                                                                    Rust製のパーサコンビネータnomを解剖する(v6.0.0) - DrumatoのBlog