並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

エラーの検索結果1 - 40 件 / 42件

  • ミスを責めるとミスが増え、自己正当化がミスを再発する『失敗の科学』

    人はミスをする。これは当たり前のことだ。 だからミスしないように準備をするし、仮にミスしたとしても、トラブルにならないように防護策を立てておく。人命に関わるような重大なトラブルになるのであれば、対策は何重にもなるだろう。 個人的なミスが、ただ一つの「原因→結果」として重大な事故に直結したなら分かりやすいが、現実としてありえない。ミスを事故に至らしめた連鎖や、それを生み出した背景を無視して、「個人」を糾弾することは公正なのか? 例えば、米国における医療ミスによる死亡者数は、年間40万人以上と推計されている(※1)。イギリスでは年間3万4千人もの患者がヒューマンエラーによって死亡している(※2)。 回避できたにもかかわらず死亡させた原因として、誤診や投薬ミス、手術中の外傷、手術部位の取り違え、輸血ミス、術後合併症など多岐にわたる。数字だけで見るならば、米国の三大死因は、「心疾患」「がん」そして

      ミスを責めるとミスが増え、自己正当化がミスを再発する『失敗の科学』
    • 凄腕エンジニアさんから学んだ例外の話 - Qiita

      はじめに 今携わっているプロジェクトで凄腕エンジニアさんと一緒に開発をさせていただいているのですが、その凄腕エンジニアさんから教えていただいた例外の話がとても勉強になり、 さらにこの例外の話を他のプロジェクトのエンジニアさんに伝えたところ、反応が良く、とても勉強になりました!という声をいただけたので、アウトプットしていきたいと思います。 (この記事の中で凄腕エンジニアさんのことはTさんと呼ぶことにします。) ※【凄腕エンジニアさんから学んだ例外の話】の補足 というQiita記事を書きました。 この記事を読み終わった後に疑問が残った人などは補足資料として読んでいただけると嬉しいです。 例外の考え方の源 Tさんの例外の考え方は http://diveintopython3-ja.rdy.jp/your-first-python-program.html#exceptions ↑こちらのPyth

        凄腕エンジニアさんから学んだ例外の話 - Qiita
      • Apple storeの「まもなくです」は、実は「503」エラーである - CLAYPIER

        2020年11月06日 22:59 情報が古くなっている場合があります。 Apple storeの「まもなくです」は、実は「503」エラーである 今日の午後10時から iPhone Pro Max と Mini がようやく予約注文可能となり、まだかまだかと10時になった瞬間、更新ボタンを押すと「まもなくです」と黒い画面が表示されて、10分経ってもまったく変わらなという経験をされた方も多いのではないだろうか。 今までは「まぁ、色々準備してるのかな~」ぐらいに思っていたのだが、実はこれ、外見からはまったく分からないが「503」エラーなのである。 503エラーとは、サーバーにアクセスが集中しすぎて処理しきれなくなったときに表示されるものだ。 Google Chrome のコンソールを見ると、たしかに503と表示されている。 Apple はエラー画面もオシャレ。 ストアに繋がるかは運次第!! Go

          Apple storeの「まもなくです」は、実は「503」エラーである - CLAYPIER
        • 電子マネーで決済したらエラーが出てめんどくさいことになった話が恐ろしい

          るかぽん @漫画かき @rukapon 許されるなら猫の腹を揉んだまま生きていきたい… ●猫と家電が好きな漫画描き ●マメ知識系エッセイ漫画と創作漫画とうちの猫写真を定期的にアップします(・∀・)b ●お仕事募集中、開放してるDMかメールにて ●コルクラボマンガ専科6期生 rukapons.booth.pm

            電子マネーで決済したらエラーが出てめんどくさいことになった話が恐ろしい
          • その例外、いつキャッチするの?

            はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

              その例外、いつキャッチするの?
            • Web API設計実践入門──API仕様ファーストによるテスト駆動開発

              2024年7月25日紙版発売 柴田芳樹 著 A5判/208ページ 定価2,860円(本体2,600円+税10%) ISBN 978-4-297-14293-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Amazon Kindle honto この本の概要 本書は,著者が1993年から約30年間経験してきたAPI仕様の作成,2003年から20年間経験してきたテストファースト開発/テスト駆動開発の知見をまとめたものであり,一般的なソフトウェア開発者が習得することが容易ではない事柄を,本書を通して学び,実践してもらうことを目的としています。 本書が提唱する「API仕様ファースト開発」はWebサービスにおける大域的なテスト駆動開発の実現に必要なものであり,また,API仕様ファースト開発を実現するにはテスト駆動開発が必要です。API仕様ファースト開発とテスト駆動

                Web API設計実践入門──API仕様ファーストによるテスト駆動開発
              • 和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog

                こんにちは、ウォンテッドリーDev Branch VPoE 室長の髙橋です。 ウォンテッドリーの開発組織であるDev Branchでは、外部から有識者を招いて勉強会を開催したり、技術顧問として知見を取り入れるなど、プロダクト開発により強い組織となるためにさまざまな施策を行っています。 今回、「テスト書いてないとかお前それ @t_wada の前でも同じ事言えんの」 でおなじみのt_wadaさん(和田 卓人さん、以下和田さん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」をウォンテッドリー向けにカスタマイズして講演いただきました。 このストーリーでは、今回の講演の経緯から社内の反応・Q&Aまで、講演に関する詳細をご紹介いたします。 社内講演のきっかけ事の発端は、弊社のVPoEである要(X : @nory_kaname)より、外部エンジニアを招いて勉強会を開催する旨の問いかけ

                  和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog
                • 【ソフトウェア設計】例外処理を考える

                  はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか? 簡潔さは力なり? 予測可能な振る舞いと簡潔さについて ドキュメントとしてのコメント TL;DR 例外は「原則」キャッチしない 業務例外や必ずハンドリングさせたい例外はOptionalなど戻り値の方が便利 だいたい以下の図が言いたい事のすべて 例外処理とは? 「例外処理(Exception Handling)」は言語に依らず普遍的な関心事です。端的に言えば例外処理は異常やシステムの動作に不備が発生した際の特別な分岐処理です。リカバリやリソースの解放、あるいはユーザへの通知などがありますね。

                    【ソフトウェア設計】例外処理を考える
                  • [研究室向け]なぜ君はソースコードのエラーを自分で解決できないのか? - Qiita

                    1. Intro 1.1 タイトルの答え それは,最初から"How"(どうやってこの問題を解決すべきか)だけを考えているからです. 最初に問うべきなのは"Why"(なぜこの問題が起きたか)です. このタイトルの問いも,なぜ?から始まっています.「どうやって自分でエラーを解決するか」だけを考えていると,問題の根本的な原因が分からないため,ずっと自分でエラーを解決することはできません. 1.2 Keyword 最初に自分に問いかけるべき言葉 〇 Why(なぜ?): なぜこの問題が起きたか ✕ How(どうやって?): どうやってこの問題を解決すべきか 1.3 背景 研究室では毎年,いつまでたっても自分でソースコードのエラーや出力の問題を解決できず,進捗が遅かったり開発をあきらめてしまったりする人が発生する.本記事では,なぜ自分でエラー・問題を解決できないのか?を明確にする. <注意書き> この

                      [研究室向け]なぜ君はソースコードのエラーを自分で解決できないのか? - Qiita
                    • エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

                      TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再利用可能なパーツを組み合わせることで、メンテナンス性、可読性、柔軟性の高いソフトウェアを構築する リソースの安全な管理(resource-safety):処理が失敗したとしても、安全にリソースを開放する 型安全性(type-safety):TypeScript の型システムを活用した型推論と型安全性に焦点を当てている エラー処理(error handling):構造化された信頼性の高い方法でエラーを処理する 非同期性(asynchronicity

                        エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
                      • エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita

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

                          エラーが出たら喜べ。エラーをちゃんと出せ。 - Qiita
                        • Goのerrorがスタックトレースを含まない理由 - methaneのブログ

                          Twitterでこんな記事を見かけたので。 zenn.dev ジェネリクスの件もそうですが、Goの言語設計は現実主義なのになにか特別なポリシーによるものだと宗教化されてしまって、ファンには勝手に崇拝されてアンチにはディスられがちだなーと感じます。 Goのエラー処理を改善する実験プロジェクトxerrorsがGo本体のerrorsにマージされた時、 errors.New() はスタックトレースを取得していました。しかしGo 1.13がリリースされる前に削除されました。 削除された理由の1つは、今までの errors.New() のパフォーマンスに依存していたコードの速度が低下しアロケーションが増えることです。 github.com しかし、これが理由だと今まで思ってたのですが、実際にはもう1つより重要な理由がありました。エラーのフォーマットです。エラーに複数のフォーマットを持たせようという提案

                            Goのerrorがスタックトレースを含まない理由 - methaneのブログ
                          • RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog

                            TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グループ バックエンドエンジニアの中野です。今回は、私が所属するチームで gRPC API を開発する際に実践している Rust でのエラーハンドリングについて紹介していきます。 TL;DR エラーの発生原因がわかるようにエラー型を定義することが大切。 anyhow は使わずに自前のエラー型を定義して利用する。 エラーハンドリングを行う目的 そもそもなぜエラーハンドリングを行う必要があるのでしょうか。私が所属する

                              RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog
                            • 大規模な移行バグを修正するための戦術 - Qiita

                              こう見たとき、"FileNotFound"のバグが一番多い。と分かりました。そうすると、"FileNotFound"のバグを修正すると、多くの移行エラーが解消され、効率よく移行が進むと考えられます。しかし、現実問題として、それほど直りませんでした。 "簡単なバグ"とは何か? 前節では、バグの発生頻度が高いものから修正していくとアプローチをしていきましたが、実際問題それほどうまくいきませんでした。端的に、なぜ失敗したか。というと、"バグが直らなかった"からです。仮に"FileNotFound"のバグを直そうとしたとき、2,520個あるログファイルから、ランダムに1つとりだし、どの部分でエラーになっているのかを細かく見ていきます。それで、バグの原因を特定し、直す。という極シンプルなアプローチをするわけですが、「このバグの原因を特定する」ということが、そもそも難しかった。ということです。先にも書

                                大規模な移行バグを修正するための戦術 - Qiita
                              • 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
                                • その監視、必要ですか? - Qiita

                                  この記事は検索エンジンプロダクトを一緒に開発してた同窓会のカレンダーの24日目の記事です。 この記事の想定読者 夜中にメモリ使用率超過のアラートを受け取ってるけど、特に何もする必要がない人 アラートの通知内容だけではよく分からないので、監視ツールの画面や本番環境の状態を目視で確認して影響確認してる人 この記事で想定していない読者 MSP事業者のようなITインフラの監視・安定化、それ自体を目的とされている方 労働の疎外 まずはカール・マルクスの話をしましょう。 マルクスの理論における「労働の疎外」には主に次の四つの側面があります 製品の疎外: 労働者は自分が生産する製品との関係を失います。彼らは自分の労働で作り出した物を所有せず、それが単なる商品として扱われます。 生産活動の疎外: 労働者は自分の労働過程との関係を失います。単調な作業により創造性が抑制され、仕事に対する個人的な充足感が欠けま

                                    その監視、必要ですか? - Qiita
                                  • Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50

                                    Kyoto.go #50 LT https://kyotogo.connpass.com/event/313309/

                                      Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
                                    • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

                                      こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 私達は、高い開発生産性を維持するために、コード品質と開発文化の改善に注力しています。 そのために様々な取り組みを行っているのですが、その 1 つとして Review Committee の活動があります。 Review Committee では、マージ済みのコードを再度レビューし、レビューアとオーサーにフィードバックしたり、レビューで集めた知見を Weekly Report と称して毎週共有したりしています。 この Weekly Report で共有される話題は、Android や iOS といったプラットフォームや、Kotlin や Swift 言語固有の注意点も含まれるのですが、多くの場合はプログラミング一般に適用できるものになるように配慮しています。(ただし、説明のために使うコードは Ko

                                        LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                                      • TypeScript Clearly & Quickly

                                        2024-01-01 quick-lint-js is a JavaScript bug finder. Today, version 3.0 makes it also a TypeScript bug finder! quick-lint-js complements TypeScript with beginner-friendly messages and fast linting. install quick-lint-js 🌐 try in browser code on GitHub Example code used in this article has been adapted from various open source projects, including some Copyright Tiny Technologies, Inc. and Copyrigh

                                        • ちょっと広く例外を学んでみた - Qiita

                                          はじめに 6月に凄腕エンジニアさんから学んだ例外の話というQiita記事を書かせていただいたところ、かなり反響がありました。(2023年07月08日時点で570いいね、550ストック、はてなブックマークが560usersにブックマークされています) コメントなども目を通させていただいたところ、自分に基本的な例外の知識が足りないなと思ったので、いろいろな記事に目を通したり、本を読んだりして、インプットしました。 そのアウトプットとして今回記事を書きます。 エラーと例外 この記事ではエラーと例外という二つの概念は同じ概念で交換可能なものとして扱います。 (ソフトウェア設計のトレードオフと誤りより引用) Javaでは【プログラムではどうにもできない事態が起きた時に発生するものがエラー、そうではないものは例外】というような考え方があったり、他にも【想定内であれば例外、想定外であればエラー】という考

                                            ちょっと広く例外を学んでみた - Qiita
                                          • 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言語のエラーハンドリング
                                                • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

                                                  Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

                                                    Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
                                                  • Claude 3とGPT-4のコーディング性能を比較! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                                                    こんにちは、Technology部のジョシュです。 今日は、最近バズっている生成AIモデル「Claude 3」と「GPT-4」を比べてみましょう! 生成AIが絶え間なく進化し続けるなかで、2024年3月に登場したAnthropic社の大規模言語モデルClaude 3。OpenAI社のGPT-4と比較され、多くの議論を呼び起こしています。 この記事ではこれら2つのモデルを深掘りし、それぞれの特徴、能力、そして生成したコードの結果を比較しながらご紹介します。生成AIのトレンドを知りたい方やAI開発に関心を持つ方々のご参考になれば幸いです。 GPT-4とClaude 3の概要 OpenAI社が開発した言語モデルGPT-4は生成AIを広めたモデルとして非常に有名で、様々なタスクをこなす能力があります。そんな中で3月に登場したAnthropic社のClaude 3は、いくつかの分野ではGPT-4を上

                                                      Claude 3とGPT-4のコーディング性能を比較! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                                                    • Go言語の例外処理がないってのは結局どういうこと? - Qiita

                                                      はじめに はじめまして。インターンをしているイナです。 今回は初心者がGo言語の例外処理がないって本当なの?という部分について概念を中心に調べたものをまとめました。 Q. 例外処理とは まずは兎にも角にも、例外処理とはなんぞやってところからです。 いくつかのサイトで例外処理の定義について調べてみましたが、サイトによって言ってることはバラバラでした。 例外とエラーは一緒です or 違います!例外は想定外 or 想定内&想定外のエラーのことです!など人によって言ってることが違いました。 最初から壁が高すぎ...?と戦々恐々としていましたが、IT用語辞典 e-Wordで気になる部分がありました。 例外は「エラー」(error)と同種の概念で、普遍的に成り立つ両者の明確な違いは無く、同義として扱われる場合が多い。ただし、プログラミング言語や処理系によっては両者に異なる意味合いが与えられている場合も

                                                        Go言語の例外処理がないってのは結局どういうこと? - Qiita
                                                      • Goが循環インポートをエラーにする理由

                                                        循環インポートの問題点 現代のプログラミング言語の多くは1パスでプログラムコードを解釈します。インタプリタ型は当然としてC/C++も例外ではありません。つまり「コンパイル・実行」されるまでにソースコードを2度パースすることはありません。 さらにプログラム言語の多くは多重定義はバグの元なのでエラー扱いになります。なので対策の無いヘッダーファイルをincludeした時、再度同じヘッダーファイルが参照された場合に「多重定義」になってしまいます。 C/C++ではそのような「多重定義」を回避するために「インクルードガード」という対策をヘッダーファイルに施します。C/C++ではプリプロセッサという仕掛けに依存していてコンパイラは重複する定義がそれぞれどこのファイルを読み込んだ結果かを判別できません。なので「インクルードガード」という対策がヘッダーに必要なのです。 しかし、「インクルードガード」は方針が

                                                          Goが循環インポートをエラーにする理由
                                                        • 2024年1月のWindowsパッチが一部デバイスで適用不能 ~原因は回復領域のサイズ不足/Microsoftが対処法を案内

                                                            2024年1月のWindowsパッチが一部デバイスで適用不能 ~原因は回復領域のサイズ不足/Microsoftが対処法を案内
                                                          • neverthrow の全機能リファレンス

                                                            JavaScript/TypeScript で try/catch を使わないエラーハンドリングに利用できるライブラリとしてはそこそこ有名だと思う neverthrow ですがあまり解説された記事が少なく、関数型と手続き型の書き方をいい感じにミックスできるいいライブラリで情報の少なさから選択されないのも勿体なく感じました。ちょうど GitHub のドキュメントを読みながら意訳してまとめた手元の技術メモがありますのでその一助になればと公開します。 neverthrow とは supermacro/neverthrow: Type-Safe Errors for JS & TypeScript プログラムのエラーハンドリングを try - catch ではなく関数型プログラミング由来の Result 型や Either 型と呼ばれる方法で実現する機能を提供するライブラリです。具体的には Res

                                                              neverthrow の全機能リファレンス
                                                            • SESで30万通のテストメールを送信、発生したエラーや遅延を調査してみた | DevelopersIO

                                                              Amazon SESで 不特定多数の宛先にメールを送信する場合、十分なウォームアップと、配信制限(バウンス)に加え、予兆となる配信遅延についても、見逃さないようにしてご利用ください。 Amazon SES、 Gmail 宛に 1日 1万通規模のメール送信に利用できる事を確かめるため、 約1ヶ月かけて 30万通のテストメールの送信を実施。 その送信結果の確認を試みる機会がありましたので、紹介させて頂きます。 SESの設定 認証 Easy DKIM、カスタム MAIL FROM ドメインを設定しました。 DMARC関連設定も実施しました。 SESで送信したメールのDMARCレポートをCloudflare DMARC Management で確認してみた 設定セット IPプールはデフォルトとしました。 Virtual Deliverability Managerは有効化しました。 全てのログをF

                                                                SESで30万通のテストメールを送信、発生したエラーや遅延を調査してみた | DevelopersIO
                                                              • 内部エラーと外部エラー、それからGoのerrorがスタックトレースを含まない理由の考察

                                                                TL;DR Goのerrorは外部エラーを表現するもので、利用者(ライブラリならアプリケーション開発者、アプリケーションならユーザー)に入力値や環境の不備を伝える目的で存在している 一方で、開発中のソフトウェアが思っていたのと違う挙動を示した場合、その調査にはソフトウェアの特性によって異なるツールを使い分ける必要があり、一筋縄では行かない 両者を分けて考えることで、よりよいエラーハンドリングへの議論が初めて進められると考える 背景 Goのerrorがスタックトレースを含まないことは度々Goの欠点として挙げられます。たしかに、一度作ってどこかにデプロイしたソフトウェアがバグっており、スタックトレースがないせいでその原因調査に手間取ったことは筆者も一度のみならず体験しています。 一方で、(しばしばベテランのプログラマから)エラーはノイズを含むべきではないと主張されることも少なくありません。 2

                                                                  内部エラーと外部エラー、それからGoのerrorがスタックトレースを含まない理由の考察
                                                                • 【修正】Microsoft、WinREを更新してBitLockerの脆弱性に対処するスクリプト公開

                                                                  Microsoftは2024年1月の月例アップデートの一部としてCVE-2024-20666に対処する更新プログラム「KB5034441」をリリースしているが、一部の環境では、インストール時にWindows Updateの画面にエラーコード「0x80070643」が表示され、アップデートを継続できないという問題が発生している。 Windows UpdateでKB5034441の適用時に「0x80070643」エラーが発生してしまう場合も、このスクリプトを使用すればエラーを回避して修正できる。 PowerShellスクリプトの概要 CVE-2024-20666に対処するには、WinREパーティションを更新した上で、BitLocker用にWinREの再設定を行う必要がある。今回公開されたPowerShellスクリプトは、その手順を自動化するもの。詳細は次のサポートページにまとめられている。 K

                                                                    【修正】Microsoft、WinREを更新してBitLockerの脆弱性に対処するスクリプト公開
                                                                  • InferでLinuxカーネルのメモリ関連エラーを検出してみる - VA Linux エンジニアブログ

                                                                    1. 静的コード解析 2. Infer 3. 調査環境 4. Inferのビルド 5. Inferで解析できるようにLinuxカーネルソースコードに少し修正を加える 6. LinuxカーネルソースコードをInferで検証 7. 解析結果に対する精査の一例 7.1. 真のバグの例 7.2. フォールスポジティブの例 7.3. 真のバグか判断に困るものの例 8. 結論とこれから 執筆者 : 岡部 究 1. 静的コード解析 普段の開発で品質向上させるためにどのような手法を採用されているでしょうか。おそらくユニットテストや結合テストを代表するテストを使っているのではないでしょうか。 このテスト手法は現実的ですがざっと挙げるだけでも以下の課題があります: 入力と出力をテストケースと呼ばれる例として与えるので全ての場合を網羅することは不可能 テストの網羅率を上げるにはユニットテストのような小さい単位で

                                                                      InferでLinuxカーネルのメモリ関連エラーを検出してみる - VA Linux エンジニアブログ
                                                                    • Next.js AppRouterのエラートラッキング・ロギング手法で悩む

                                                                      なお、middleware.ts でリクエストログを出力してDatadogに構造化してもらうデモコードはこんな感じ。console.logでオブジェクトを文字列として出力している(そうすると1レコードにまとめてくれる)。 import { type NextRequest, NextResponse, userAgent } from "next/server"; import { getSession, withMiddlewareAuthRequired, } from "@auth0/nextjs-auth0/edge"; export default async function middleware( request: NextRequest, event: NextFetchEvent, ) { const response = NextResponse.next(); con

                                                                        Next.js AppRouterのエラートラッキング・ロギング手法で悩む
                                                                      • 【C#】.NETからの例外エラーが発生するコードサンプル - Qiita

                                                                        はじめに .NETのラムタイムからスローされる例外クラスのリファレンスに記述されている発生例のコードを参考に、サンプルコードをまとめてみました。本記事は以下の例外について記述してます。 例外 説明

                                                                          【C#】.NETからの例外エラーが発生するコードサンプル - Qiita
                                                                        • 【Windows10】Update:KB5034441の0x80070643エラー対処備忘録(2024年1月) - Qiita

                                                                          はじめに Windows10 Update でKB5034441の0x80070643エラーが発生する場合の対処方法を備忘録的に軽く記載します。 (色々面倒なことがあったので参考情報を記載します) ある程度再現性を重視して、手順には、PCを普段から使っている人には冗長な内容も記載しています。 目次 前提 エラー概要 対処方法 参考文献 前提 本件エラーの解決を確認した環境等をまとめます。 対象者 Windows UpdateでKB5034441の0x80070643エラーが発生した人 Windows 10 ユーザー Windows 11 ユーザーも対象の可能性あり(実機で未確認) 普段ICT関連に詳しいけど、たまにPowerShellとかになると操作方法忘れる人 普段ICT関連触れている程度の人(ICT見習い系) 動作確認環境 OS Windows 10 version 22H2 CPUア

                                                                            【Windows10】Update:KB5034441の0x80070643エラー対処備忘録(2024年1月) - Qiita
                                                                          • ChatGPTを活用した時短コーディング術5選【プロンプト有】 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                                                                            こんにちは、Technology部のジョシュです。 今回はPythonなどコーディングに使える、ChatGPTを活用した時短コーディング術を5つご紹介します。 コーディングとコード問題の解決は未経験者にとって難しく、繰り返し作業が続くことがあります。時間を節約するための補助役として、ChatGPTを最大限に活用しましょう! 生成AIを業務で活用するには… 生成AIをビジネスや業務で活用するためには、導入時に直面する課題・リスクについても考慮する必要があります。生成AIの活用をご検討中なら、こちらのページで紹介している生成AIコンサルティング・導入支援を得意とする会社へご相談してみてください! 1.コードを解釈する 「ぱっと見た感じは問題ないコードに見えるけど、内容を理解できない箇所がある……」と悩んだことはありませんか? プログラミング初心者だけでなく、誰もがそのような状況に立つことがあり

                                                                              ChatGPTを活用した時短コーディング術5選【プロンプト有】 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                                                                            • TypeScriptで開発中、Stringとstringの違いでエラーに遭遇。 - Qiita

                                                                              こんにちは。 株式会社HRBrainでフロントエンドエンジニアをしているみつです。 とはいえ、技術が足らないなぁとか、 無理やりコーディングしているなぁとか、感じている日々 先日、そんな無理やりコーディングの最中、 「念のためString使って文字列だよってしとこ〜」と軽い気持ちで使っただけなのにね・・・ new String()になんか怒られたのでその共有です 目次 ★先に結論 ★これが、エラー ★これは、エラーじゃない String(MDNより) string(サバイバルTypeScriptより) ★何のエラーだった? ★さらに言うと・・・ ★まとめ 参考URL ★先に結論 Stringは、オブジェクトだからstring型とは同じものではない。 ★これが、エラー const something = '何かしらの値' const text: string = new String(som

                                                                                TypeScriptで開発中、Stringとstringの違いでエラーに遭遇。 - Qiita
                                                                              • Windows Update で KB5034441 がエラーになってしまうのを今すぐ何とかしたい方向けの手順 - Qiita

                                                                                更新プログラム KB5034441 がエラーになる 2024年01月10日(日本時間) に公開された Windows 10 向けの更新プログラム「2024-01 x64 ベース システム用 Windows 10 Version 22H2 のセキュリティ更新プログラム (KB5034441)」について、「ダウンロード エラー - 0x80070643」などのエラーが発生してインストールに失敗するケースがあるようです。 現在、世界中でこのエラーについての報告があがっているようですので、今後 Microsoft 側で何らかの対処なり案内がなされるのではないでしょうか。それまでこちらのエラーは無視していればよいかと思います。 ただ、今すぐ何としてでもこのエラーを消し去りたい!という事情がある方もいるかもしれませんので、エラー解消のための手順を書いておきます。 エラーの原因は回復パーティションのサイ

                                                                                  Windows Update で KB5034441 がエラーになってしまうのを今すぐ何とかしたい方向けの手順 - Qiita
                                                                                • 「Windows回復環境」(WinRE)の更新方法変更でエラー発生、Microsoftがアプデ失敗の原因を説明/解決策として回復パーティションのサイズを手動変更する手順を解説

                                                                                    「Windows回復環境」(WinRE)の更新方法変更でエラー発生、Microsoftがアプデ失敗の原因を説明/解決策として回復パーティションのサイズを手動変更する手順を解説