並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 224件

新着順 人気順

errorの検索結果1 - 40 件 / 224件

errorに関するエントリは224件あります。 プログラミングprogramminggolang などが関連タグです。 人気エントリには 『「中国人のAさんがお茶を淹れると会社のネットが繋がらなくなる」そんな訳ないと思いながら調べたら…まさかの日常ミステリー』などがあります。
  • 「中国人のAさんがお茶を淹れると会社のネットが繋がらなくなる」そんな訳ないと思いながら調べたら…まさかの日常ミステリー

    れい(ワイン) @rei_software 最近あったトラブル 証言1「朝ネットが使えないことがある」 俺(WiFi機器のスリープ復帰障害とかかな? 証言2「有線だけダメ。無線はOK」 俺(有線で朝だけっておかしいな?夜も通信してるし 証言3「Aさん(中国人)が来るとネットが使えない」 俺(人依存かよ…どうせ間違いだろ で、調査したら 2020-11-04 08:43:19 れい(ワイン) @rei_software 確かにAさんが出勤してしばらくすると20分ほどネットが使えない端末があるっぽい。 で、出勤してからの行動を見ると ・入室 ・席でカバンを置く ・給湯室でお茶をつくる ・お茶をもって席に ・大抵はメールチェック←このあたりでネットが使えない人が出始める という現象が。 2020-11-04 08:46:26 れい(ワイン) @rei_software そしてさらに調べるとなんと

      「中国人のAさんがお茶を淹れると会社のネットが繋がらなくなる」そんな訳ないと思いながら調べたら…まさかの日常ミステリー
    • 「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita

      再発防止策を書くのは難しい。 良い再発防止策 良い再発防止策について、順位付けするとしたら、 その種類の問題について二度と意識することがなくなる解決策 その種類の問題を開発時に自動的に検知することができる解決策 その種類の問題が発生しても自動的に復旧することができる解決策 その種類の問題が発生しても影響が局所化される、フールプルーフ、フェールセーフになる解決策 と言うのは意識したいと思いつつ、やはり難しい。 再発防止はむずかしい 障害の再発防止策は、 メカニズム ツール ルール チェックリスト の順番に検討せよ。と言われても、急いで書けなんて言われると「次回からは複数人でチェックします。」とか「チェック項目を追加します。」とかいう徹底できなそうな「反省文」になってしまう。 まさにこの有名な猫...。 **「なぜミスを繰り返すのか」「どうすればミスを防げるのか」を真剣に考えていないことがミス

        「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita
      • Firebase入門 フリマアプリを作りながら、認証・Firestore・Cloud Functionsの使い方を学ぼう! - エンジニアHub|Webエンジニアのキャリアを考える!

        エンジニアHub > 記事一覧 > Firebase入門 フリマアプリを作りながら、認証・Firestore・Cloud Functionsの使い方を学ぼう! Firebase入門 フリマアプリを作りながら、認証・Firestore・Cloud Functionsの使い方を学ぼう! Firebaseでは、バックエンドやインフラに精通したメンバーがいなくても、モバイルやWebフロントの開発に集中できます。Authentication、Firestore、Cloud Functions、さらにセキュリティルールまで、クックパッドの岸本卓(@_sgr_ksmt)さんが、実践的に解説します。

          Firebase入門 フリマアプリを作りながら、認証・Firestore・Cloud Functionsの使い方を学ぼう! - エンジニアHub|Webエンジニアのキャリアを考える!
        • フレッツ光の最近の品質の話 - TRY AND ERROR

          NTT東西の提供するFTTHサービス「フレッツ・光ネクスト」では、「IPv6オプション」を利用(IPv6オプションは2012年のある時期以降に新規開通した回線ではデフォルトで利用可能な状態になっている)することにより、NTT東日本、NTT西日本それぞれのエリア内でインターネットを経由しないフレッツIPv6網内折り返し通信が可能であることは、本ブログの読者の多くはご存知かと思います。 IPv6網内折り返し通信は、遅延やパケットロスが極めて少ないことや、PPPoEでのインターネット接続と比較して、スループットが高いこと、ISP契約が不要であることなどにより、安価で高品質なベストエフォートなVPN構築用回線として利用されることがあります。AS59105(HOMENOC)でも、拠点間の回線は Ether over IP トンネルやGREトンネルなどをIPv6網内折り返し通信の上で構築して利用してい

            フレッツ光の最近の品質の話 - TRY AND ERROR
          • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

            こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

              データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
            • 「whndows. com」ドメインを取得して「windows. com」へのトラフィックを盗み見る手法

                「whndows. com」ドメインを取得して「windows. com」へのトラフィックを盗み見る手法
              • 「エラーする人は自分を信じすぎでは?」ヒューマンエラーの勉強で得た、「気をつける」は対策ではないという考え方

                S U Z U@ 旅行等のサービス研究「客力の磨き方」 @suzukyuin ヒューマンエラーの勉強をすると「気をつける」は対策ではありませんと、教え込まれるので。全てのものにフールプルーフ&フェールセーフをするようになるので、エラーが減ります。 エラーする人は自分を信じすぎでは?って思ってる。 2020-06-18 21:21:45 S U Z U@ 旅行等のサービス研究「客力の磨き方」 @suzukyuin 得にルーティーンで決まってることの途中でイレギュラートラップ(例えば話しかけられる、電話かかってくるとか途中の流れをインターセプトされる状況)が起きると、全部スッこ抜けて大事故につながるエラーを起こすので、そう出来ない仕組みを作るとかね。 とにかく「人は間違える」って思うの大事 2020-06-18 21:24:36 S U Z U@ 旅行等のサービス研究「客力の磨き方」 @suz

                  「エラーする人は自分を信じすぎでは?」ヒューマンエラーの勉強で得た、「気をつける」は対策ではないという考え方
                • 今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ

                  こんにちは、m3 エンジニアリンググループ CTO 矢崎(id:Saiya)です。 過去に Go 言語の仕様を一通り見た経験があったのですが、久しぶりに Go のコードを最近読み書きした際に、ここ数年の Go 言語やエコシステムの進化による変化もあり、発見やハマりが多々ありました。 Go 言語公式のロゴもスピード感ありますね。 同じような迷い・回り道をしてしまう方ももしかしたらおられるのではないかと思いますゆえ、 エムスリー Advent Calendar 2020 6 日目の記事として、筆者が実際に「最初から知っていれば時間を無駄にしなかったのに...!」と感じた知見をざっくばらんにシェアいたします。 本記事がどなたかの一助になりますと幸いです。 なお本記事の内容は筆者個人の理解・自身で直接読み書きしたユースケースの範囲での知見であり、全ての Go 利用事例に当てはまらない点も含みうりま

                    今どきの Go の書き方まとめ (2020 年末版) - エムスリーテックブログ
                  • メインフレームの異常処理 - Qiita

                    はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されていて、メインフレームのとあるコプロセッサのドライバを書いたりしていました。この際、その異常処理における考え方を体験する機会が多々あり、当時のその経験が20年後の現在でも大いに役にたっていると感じていたからです。 そもそもメインフレームは、これまで長年にわたっ

                      メインフレームの異常処理 - Qiita
                    • 高速逆平方根(fast inverse square root)のアルゴリズム解説 - 滴了庵日録

                      高速逆平方根とは? C言語のコード 検証 アルゴリズムの要点 [1] 逆平方根の計算を対数・指数の計算に置き換える [2] 浮動小数点型の内部表現を利用した対数・指数の近似計算 [2.1] 対数の近似 [2.2] σの最適値 [2.3] 整数型での解釈 [2.4] 逆平方根の計算とマジックナンバー0x5F3759DF [3] ニュートン法による収束で精度アップ 感想 高速逆平方根とは? 高速逆平方根(fast inverse square root)とは、平方根の逆数 を高速に計算するアルゴリズムです。平方根の逆数は逆平方根とも呼ばれます。逆平方根はベクトルの正規化などに用いられるので、これを高速に計算できるアルゴリズムには大きなご利益があります。 参照: Fast inverse square root - Wikipedia C言語のコード 高速逆平方根の関数を示します。0x5F375

                        高速逆平方根(fast inverse square root)のアルゴリズム解説 - 滴了庵日録
                      • MySQLで発生し得る思わぬデッドロックと対応方法

                        はじめに この記事は実際の業務で発生した MySQL のデッドロックとそのいくつかの回避方法や対応方法を(テーマは変えて)手元で実行できるコードを用いて解説する記事です。具体的には「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターンの記事で紹介されている「1on1 チャットサービス」で紹介されているデッドロックとデータベースレイヤでは同じ状況だったのですが、記事で紹介されている方法とは別の方法でデッドロックを回避する必要があったため、同じ状況に遭遇した人の助けになればという思いで記事を書きました。また、こちらの記事が無ければ私自身も現象を理解するのにもっと苦労したと思うので、この場を借りてお礼申し上げます! 出金サービス履歴登録サービスを例に考える コードと説明が https://github.com/shuntagami/withdrawal_

                          MySQLで発生し得る思わぬデッドロックと対応方法
                        • エンジニアだけが優遇されるのではない組織をつくりたい - Unknown Error

                          ※ 2つの意味で解釈できるようなタイトルだった*1ため、より伝えたいことが明確になるタイトルに訂正しました。ご指摘いただいた皆様ありがとうございました。お詫び申し上げます この記事はEngineering Manager Advent Calendar 2019の17日目の記事です。 手前味噌だが、所属している会社のエンジニア組織はだいぶ良い感じになってきているという自負がある。最近書いた自社のブログのエントリも多くの方に共感いただいた。 hackerslab.aktsk.jp 一つ一つの組織活動に対してこれって本当にあるべき姿なんだっけというのを問い続けながら地道な改善を続け、組織としての練度が大分高まってきた。 結果として、自社のあらゆる組織の中で、エンジニア組織は一番改善が進んでいる。*2 一方で、そこはかとなく、「このままで良いんだろうか」というモヤモヤがある。 会社はエンジニアの

                            エンジニアだけが優遇されるのではない組織をつくりたい - Unknown Error
                          • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

                            こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基本的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

                              ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                            • Go の命名規則 | micnncim

                              本記事は Go Advent Calendar 2019 11 日目の記事です。 Go はシンプルな言語機能・シンタックスが特徴であり、命名規則にもそのシンプルさが表れています。 本記事では、公式や著名な Go エンジニア、OSS などから見られる Go らしい命名規則を紹介します。 今更なテーマかもしれませんが、意外にも公私共々で命名規則が意識されていないコードを時折見かけるので、自戒も込めて記します。 誤った内容があれば Twitter でご指摘いただければと思います。 パッケージ名簡潔にするEffective Go では、short, concise, evocative なパッケージ名が望ましいとされます。 これはパッケージ名に限らずほとんどあらゆる命名において役立つ指針だと思います。 また、「パッケージ名は一言で何をするかを表すエレベーターピッチだ」という Dave Cheney

                                Go の命名規則 | micnncim
                              • GPT-4でPythonコードをエラーがなくなるまで自動修正・実行繰り返すAIツール「ウルヴァリン」 | テクノエッジ TechnoEdge

                                ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他 コンピューターはプログラムコードで動作しますが、このコードは人間が記述している以上、どうしてもエラーを含んでしまうことが避けられません。 しかし、最近は大規模言語モデルを使ったGPTなどジェネレーティブAIの急速な進歩により、目的とする処理を文章として渡すだけで、AIがある程度プログラムコードを出力できるようになってきました。 そして、BioBootloaderと名乗る開発者による新しい試みでは、プログラム開発の際にどうしても必要となるデバッグ作業を、GPT-4をベースとするAIで行うことを可能にしました。このツールは、プログラムを自動修正することから、似た能力を持つアメコミヒーローにちなんで「Wolveri

                                  GPT-4でPythonコードをエラーがなくなるまで自動修正・実行繰り返すAIツール「ウルヴァリン」 | テクノエッジ TechnoEdge
                                • Promiseをthrowするのはなぜ天才的デザインなのか - Qiita

                                  ReactのConcurrent Modeが最初に発表されたのはもう1年近くも前のことです(記事執筆時点1)。Concurrent Modeはたいへん奥深い機能で正式版がたいへん待ち遠しいですが、Concurrent Modeの代名詞として多くのReactユーザーに知られているのはPromiseをthrowするというAPIデザインです。Concurrent Modeでは、コンポーネントがレンダリング時にPromiseをthrowすることで、レンダリングをサスペンドした(Promiseが解決されるまでレンダリングできない)ことを表します。 Concurrent Modeに関しては筆者の既存記事Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理などをご参照いただきたいのですが、ここではPromiseをthrowするということ自体に焦点

                                    Promiseをthrowするのはなぜ天才的デザインなのか - Qiita
                                  • Chat GPT-4にDDDのドメインモデルを考えさせたら凄かった件

                                    バックエンド兼インフラエンジニアのrevenue-hackです! DDD(ドメイン駆動設計)でドメインモデル考えますよね? その時にGPT-4にやってもらったらどうなんだろう?とふと思い、実際にユースケースからドメインモデルを作ってもらいました! ↓記事移行しました!↓

                                      Chat GPT-4にDDDのドメインモデルを考えさせたら凄かった件
                                    • その例外、いつキャッチするの?

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

                                        その例外、いつキャッチするの?
                                      • 明日から使える実践エラーハンドリング

                                        class: center, middle # 明日から使える<br/><strong>実践</strong><br/>エラーハンドリング Scala関西Summit 2018 11/10 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * Tech to Value 代表取締役 * Opt Technologies 技術顧問 <img src="../images/opt_logo_1.jpg" alt="Opt Technologies" width="450" style="margin-left: 0px" /> * F-CODE CTO <img src="../images/f-code_logo.png" alt="f-cod

                                        • すぐにAPIを体験!public-apis 100以上のJavaScript axiosサンプル集

                                          はじめに このページは、プロトアウトスタジオのAPIにつなげる授業に関連して、よりAPIの多様さ、広がりを深掘りします。 まだ、JavaScriptに慣れていなくても「なるべくシンプルにAPIを体験する」ことを目指して、 public-apis というフリーで使えるAPIを集めてリストにしているサイトから、手順が少なくAPIにつなげられるシンプルに取得できるものを中心に、直接取得できるURL・Node.js axios await/async ソースコードを一つ一つトライしています。 慣れてきたら、自分で public-apis のサイトを直接読んでみて、巡ってみましょう! APIピックアップ数 最終更新日 2020/6/8 104 個のAPIをピックアップ中! 参考資料 public-apis の豊富なAPIリストをベースにAPIつなげていきます。 ピックアップルール 手順が少なくAPI

                                            すぐにAPIを体験!public-apis 100以上のJavaScript axiosサンプル集
                                          • 決済チームがテストコードを書く際に気を付けていること - UPSIDER Techblog

                                            こんにちは。決済チームでエンジニアとして働いている芦川です。 UPSIDER Tech blog 第2弾として「決済チームがテストコードを書く際に気をつけていること」を紹介しようと思います。 TL;DR 100%のテストカバレッジを目指す テストはブラックボックスを優先して記述、どうしても到達できない場合はホワイトボックス 最初のテストケースは、テスト対象が動作する最も一般的なケースであるべき 私たちは日々大量のコードを書いており、そのシチュエーションは多岐にわたります。 そういった環境において、動作確認からのコード改修のコストを考えた場合、自動テストの有無によって生産性に大きく差が出ることは容易に想像ができます。また、既存のサービスに改修を加えるために、そのサービスの概要を把握したい場合、良いテストコードはドキュメントとして役立ちます。 以前、私はテストコードを一切書かないプロダクトの開

                                              決済チームがテストコードを書く際に気を付けていること - UPSIDER Techblog
                                            • My new error...

                                              2023 年度の僕のエラーハンドリング について書きたい。 昨日Safe Data Fetching in Modern JavaScriptを読んでいて、fetch に限った話ではないが一家言ある内容だったので書きたくなった。 おそらくやりすぎだとか非効率と言われる点はあると思うので、みんなの一家言も教えて欲しい。 対象は Typescript での サーバー開発想定だが、TS であればクライアント開発にもほとんどに当てはまる話だと思う。 例外のスローではなく Result 型を使う Result は失敗するかもしれないという文脈を与えてくれる型 エラーハンドリングの戦略として例外を投げるのではなく、Result 型を返すやり方がある。 Result 型というのは export type Result<T, E> = Ok<T> | Err<E>; export interface Ok

                                                My new error...
                                              • JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA

                                                JavaScriptの仕様であるECMAScriptはEcma Internationalによって定められています。ECMAScript 2015(ES6)の登場以降は、ECMAScript 2016、ECMAScript 2017・・・と、年次で仕様が更新されています。ECMAScript 2022(ES2022)は2022年6月22日のEcma InternationalのGA 123rd meetingにて、ECMAScript 2023(ES2023)は2023年6月27日のGA 125th meetingで承認されました。 ES2022とES2023はすでに多くのブラウザやNode.js環境で利用可能です。本記事では新仕様と使いどころを紹介します。 ES2023 - 配列の非破壊操作 ES2023では配列を非破壊で操作できるメソッドが追加されています。非破壊とは、元の配列を変更せ

                                                  JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA
                                                • AWS、複数のアベイラビリティゾーンで稼働していたアプリケーションでも大規模障害の影響があったと説明を修正。東京リージョンの大規模障害で追加報告

                                                  AWS、複数のアベイラビリティゾーンで稼働していたアプリケーションでも大規模障害の影響があったと説明を修正。東京リージョンの大規模障害で追加報告 2019年8月23日金曜日の午後に発生したAWS東京リージョンの大規模障害について、AWSは追加の報告を行い、複数のアベイラビリティゾーンで稼働していたアプリケーションでも障害の影響があったことを認めました。 下記は大規模障害の報告ページです。赤枠で囲った部分が、8月28日付けで追記されました。 当初の報告は、障害の原因が空調装置のバグであり、それが引き金となってサーバーのオーバーヒートが発生したことなどが説明されていました。 そして障害の影響範囲は単一のアベイラビリティゾーンに閉じており、 複数のアベイラビリティゾーンでアプリケーションを稼働させていたお客様は、事象発生中も可用性を確保できている状況でした。 と説明されていました。 複数のアベイ

                                                    AWS、複数のアベイラビリティゾーンで稼働していたアプリケーションでも大規模障害の影響があったと説明を修正。東京リージョンの大規模障害で追加報告
                                                  • Go で実装しながら gRPC を理解する

                                                    Written by @ryysud Jul 10, 2019 00:00 · 5125 words · 11 minutes read #gRPC はじめに gRPC の理解が浅く gRPC を利用するプロダクトの開発で困ったので調べてまとめてみました。 gRPC について Google が開発した RPC フレームワークで、gRPC を使うと異なる言語で書かれたアプリケーション同士が gRPC により自動生成されたインターフェースを通じて通信することが可能になる。Go で書かれたサーバーに Java で書いたクライアントが接続可能になるイメージ。通信プロトコルには HTTP/2 が使われ、データはバイナリデータでやりとりする仕様。 gRPC の前身は Google 社内で10年以上運用されていた Stubby というもので、多くの機能が標準規格に基づいていないことから長い間 OSS と

                                                      Go で実装しながら gRPC を理解する
                                                    • ドメインモデルの完全性と純粋性 - kawasima

                                                      ドメインモデルには、完全性と純粋性、そしてアプリケーション性能の3つ全てを同時に満足させることは難しい場合があるという話。

                                                        ドメインモデルの完全性と純粋性 - kawasima
                                                      • そうです。わたしがReactをシンプルにするSWRです。

                                                        この記事について SWR について色々と学んだので、その知見をここで共有したいと思います 💪 ※ 基本的に以下の公式サイトの情報を参考にしています 📖 そのため、この記事で出すサンプルコードなどは主に上記の公式サイトから引用させてもらっています。予めご了承ください 🙏 SWR とは何か? SWR は、Next.js を作っているVercel 社が開発しているデータフェッチのための React Hooks ライブラリです。"SWR"と言う名前は、 stale-while-revalidate の頭文字をとって名付けられています。そのため、SWR はstale-while-revalidateに基づいた処理と設計になっています。 stale-while-revalidateについて解説したい所ですが、解説するとすごく長くなってしまうため、ここでは「 キャッシュをなるべく最新に保つ機能 」

                                                          そうです。わたしがReactをシンプルにするSWRです。
                                                        • TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO

                                                          みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返したり throw を用いるやり方をしていましたが、次第にTypeScriptが持つ型を生かし、できるだけ型安全に異常系を表現したいと考えるようになりました。そして試行錯誤した結果、いい感じの落とし所に落ち着いたので、その内容についてお伝えしたいと思います。 また記事の後半では、異常系の型を実装する中でハマった点についてもお伝えしたいと思います。 TypeScriptの異常系表現について 1. nullやundefinedを返す 冒頭でも述べたよう

                                                            TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO
                                                          • Go のエラーハンドリング

                                                            私が Go のエラーハンドリングについて最初に記事にしたのは2015年のことだが,あれから Go も少しずつ変わってるし,私も当時よりは多少なりと理解が進んだと思うので,今まで書いた駄文を「全部入り」で本の形にしてみようと思う。 主な内容: * エラー評価の基本 * エラーの階層化 * サードパーティのパッケージ * ぼくがかんがえたさいきょうのえらーろぐ * Panic と Recover 寄付(サポート)歓迎。ご笑覧のほどを。

                                                              Go のエラーハンドリング
                                                            • Loggingモジュールではじめるログ出力入門 / Introduction to Python Logging

                                                              PyCon JP 2021 登壇資料: https://2021.pycon.jp/time-table/?id=272259

                                                                Loggingモジュールではじめるログ出力入門 / Introduction to Python Logging
                                                              • レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「WEBアプリケーションのDockerコンテナ移行」にまつわる検証を進めているので、その中間報告を共有しようかと思います。 本検証での想定環境 CIに不必要な部分は後回し 既存アプリでコンテナ化の障害になった部分 OSコマンドを利用している ミドルウェアとの密結合 オンライン系とバッチ系の密結合 ひとまず目指す状態 プロセス相乗りの影響 ログが複数出力される まとめ 続きの記事も書きました。 tech

                                                                  レガシーシステムをDockerコンテナ化する場合に直面した4つの壁 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                • TypeScriptのError Handling - mrsekut-p

                                                                  TypeScript/JavaScriptの言語思想的にはtry/catchを使ってerror handlingをするのが普通

                                                                    TypeScriptのError Handling - mrsekut-p
                                                                  • TypeScript エラー処理パターン - Object.create(null)

                                                                    M 年前にも N 年後にも人類は同じ話をしている. まとめ エラーの発生方法は throw と return に大別できる throw には簡潔さ, return には明瞭さと型安全性といった特徴がある どちらの方法がより適しているかはプログラムの規模, エラーの種類, ハンドリングの方法などが判断の材料になる 実際にどちらの方法を使うかは上の判断材料と, フレームワークやプロジェクトのコーディング規約なども合わせて複合的に決めるのがよい エラー発生方法の分類 まず前提として, 関数から呼び出し元にエラーを伝える方法は以下の 2 つに大別できます. 逆にこの記事ではこれ以上の具体的な方法についての議論はしません. throw エラーを throw して呼び出し元に伝える方法です. 例えば以下のようなものが当てはまります. throw new Error("...") Promise.rej

                                                                      TypeScript エラー処理パターン - Object.create(null)
                                                                    • Go1.13以後のエラーハンドリングについて語ろう / Let's talk about error handling after Go 1 13

                                                                      Go1.13以後のエラーハンドリングについて語ろう / Let's talk about error handling after Go 1 13

                                                                        Go1.13以後のエラーハンドリングについて語ろう / Let's talk about error handling after Go 1 13
                                                                      • Logging Best Practices: The 13 You Should Know

                                                                        Log Analytics Logging Best Practices: The 13 You Should Know When you search for things on the internet, sometimes you find treasures like this post on logging, e.g. creating meaningful logs. This post is authored by Brice Figureau (found on Twitter as @_masterzen_). His blog clearly shows he understands the multiple aspects of DevOps and is worth a visit. Our thanks to Brice for letting us adapt

                                                                          Logging Best Practices: The 13 You Should Know
                                                                        • Effective Error Handling in Golang

                                                                          Introducing Earthly Cloud. Consistent, repeatable builds. Advanced caching for speed. Works with any CI. Get 6,000 build min/mth free! Learn more. Introducing Earthly Cloud. Consistent, Fast Builds, Any CI. Get 6,000 build min/mth free! Learn more.

                                                                            Effective Error Handling in Golang
                                                                          • 「メリハリのある TypeScript」で運用しながら型安全性を高めやすい TypeScript リプレースを行う - Mobile Factory Tech Blog

                                                                            こんにちは、21 卒エンジニアの id:d-kimuson です。 モバイルファクトリーでは、最近のプロダクトではフロントエンドに TypeScript を採用していますが、僕がアサインされているプロダクトは歴史が長く JavaScript で書かれていて、今回 TypeScript へのリプレースを行いました。 既存プロダクトの TS リプレースではしっかり型付けすることは難しいので、型チェックオプションを緩くしてリプレースすることが多いと思います。しかし、既存コードからリプレース後のコードまで全て型安全性が担保できなくなってしまうので、後からの strict 化は非常に大変になってしまいます。 今回のリプレースでは、型チェックオプションは緩くしない代わりに @ts-nocheck や @ts-expect-error を使用することで、段階的に型安全性を高めやすい形でリプレースを行いま

                                                                              「メリハリのある TypeScript」で運用しながら型安全性を高めやすい TypeScript リプレースを行う - Mobile Factory Tech Blog
                                                                            • エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

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

                                                                                エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
                                                                              • 他言語プログラマが最低限、気にすべきGoのネーミングルール

                                                                                概要 タイトルの通り、他言語から入門した人が最低限気にするべき、ネーミングルールをまとめました。 対象読者 Goの基本構文を理解している人を対象読者としています。 この記事で説明すること、説明しないこと 説明すること Goのファイル名、変数名などの名前付けに関するルールや慣例などを説明します。 説明しないこと 名前付け以外で気をつけるべきGoの書き方[1] がいくつかあります。 しかし、それらに関してはこの記事では説明しません。 筆者のバックグラウンド プログラマ歴はもうすぐ8年程で、Goの他には以下のような言語の経験があります。 JavaScript TypeScript PHP Ruby Java Scala Goは少し前に書いて、一時期書かない時期が続いていましたが、最近また書いています。 トータルするとGoの経験は1年半程度です。 意識すべき名前付けルール package名 利用し

                                                                                  他言語プログラマが最低限、気にすべきGoのネーミングルール
                                                                                • 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のブログ

                                                                                  新着記事