You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
こう見たとき、"FileNotFound"のバグが一番多い。と分かりました。そうすると、"FileNotFound"のバグを修正すると、多くの移行エラーが解消され、効率よく移行が進むと考えられます。しかし、現実問題として、それほど直りませんでした。 "簡単なバグ"とは何か? 前節では、バグの発生頻度が高いものから修正していくとアプローチをしていきましたが、実際問題それほどうまくいきませんでした。端的に、なぜ失敗したか。というと、"バグが直らなかった"からです。仮に"FileNotFound"のバグを直そうとしたとき、2,520個あるログファイルから、ランダムに1つとりだし、どの部分でエラーになっているのかを細かく見ていきます。それで、バグの原因を特定し、直す。という極シンプルなアプローチをするわけですが、「このバグの原因を特定する」ということが、そもそも難しかった。ということです。先にも書
Fixing a Memory Leak in a Production Node.js AppJanuary 12th, 2023 — 15 min read A few months ago, I wrote about my migration from Postgres to SQLite. I ended that with a "to be continued" because I had a number of issues related to memory and CPU spikes that I couldn't really explain. For a while I thought it was bugs in LiteFS (which I'm using to get distributed SQLite for my distributed node ap
を読んで思い出したのでご紹介です。 元の記事と同様に以下の関数 sum について、 function sum(nums, acc = 0) { console.log({ nums, acc }); if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } この関数sumの引数 (nums と acc) の呼び出しごとの変化を見たい場合は、所謂プリントデバッグや debugger を使うのは一般的なテクニックとしてよく知られていますが、このような関数呼び出し時の引数を知りたい場合はmonitor(function)という関数を使うことで同様の効果を得ることが出来ます。 この場合は monitor(sum)とした後に、関
こんにちは、スマートニュース株式会社の紀平です。 SmartNews のアプリ内では、最近 WebView を使った機能を多数公開しております。そのうちの一つにショッピングチャンネルという機能があるのですが、今日はそのショッピングチャンネルのタイムセール枠で以前発生した、謎のプチフリーズ問題の調査手法をご紹介します。 tl;dr 特定の Android 端末でプチフリーズが発生した 再描画領域を減らすことで現象は改善した Chrome の Tracing 機能を利用し、ブラウザのソースコードまで参照して、ついに根本原因まで突き止めた タイムセールで起こった問題 タイムセールは、SmartNews のショッピングチャンネル内において WebView で提供されている、期間限定のお得な商品をアグリゲーションした機能です。EC サイト各社のご協力の上にご提供しております。内部は HTML5 で開
10年以上前の昔話であり、そんなこともあったのねという話。あるいはエンタープライズサポートってそんなことやってるのねという話。 カーネルメモリダンプLinuxカーネルをエンタープライズに使おうとした企業、富士通やIBM、日立といった企業がこぞってカーネルに入れようとした機能がカーネルがパニックした時に「なぜコケたのか」調べるための機能であった。その最たるものがメモリダンプだった。この機能はカーネルパニックが起きた後のメモリをディスクに吐き出す。この吐き出されたメモリイメージをダンプと呼び、これをデバッガに食わせて原因調査をする。 カーネルデベロッパはパニックが起きたら再現条件を探して理詰めでバグを探すのが得意だが、顧客先でパニックが起きたら「再現させてくれ」とは中々言えないのでこの機能はサポートには重要だった。そして、ダンプ調査の技を持つエンジニアも居た。 地雷型メモリ破壊パニック色々と調
Explore and Troubleshoot your WebGL scenes easily. Spector is a tool aim to WebGl developers willing to know what happens on their context. It enables capturing all the available information from a frame. You will be empowered to look at your entire commands list with their associated visual states and context information. You will be able to Explore and Troubleshoot your WebGL and WebGL2 scenes e
はじめに Dockerであんなコンテナやこんなコンテナを動かしてると、なんかうまく動かなくて、デバッグのためにtcpdumpとかstraceなどのツールが使いたくなることが稀によくあります。 そんな時、デバッグ対象のコンテナ内にツールを一時的にインストールしちゃうというのが、まぁ簡単で分かりやすいんですが、デバッグ対象のコンテナを汚すのはできれば避けたいところです。 Dockerのコンテナの分離というのは、結局のところLinuxのリソースの名前空間の分離であるので、逆に同じ名前空間を共有すれば、デバッグ用に立てた隣のコンテナから、デバッグ対象のコンテナのネットワークやプロセスの状態を観察することも可能です。 また、docker buildはDockerfileを標準入力から受け取ることもできるので、ワンライナーにしてデバッグ用のコンテナをシュッと呼び出せるようにしてみました。 TL;DR
When it comes to debugging JavaScript, the faster the better. Here are our top tips for faster and more efficient debugging. Debug JavaScript fasterKnowing your tools can make a significant difference when it comes to getting things done. Despite JavaScript's reputation as being difficult to debug, if you keep a couple of tricks up your sleeve errors and bugs will take less time to resolve. We've
Android Nから 縦横という概念自体がなくなる ので、デザイナーが対応できるかも考慮が必要。(-land就職子はdeprecated。-sw320などを使う) WebView有無 WebViewをアプリの一部として使う場合、レイアウト崩れを誰が解決するかを確定させておく必要がある。Android 4.3以下、4.4、6.0でそれぞれWebViewの挙動が多少変わったため、必ずOSバージョン選定と一緒に、WebViewの挙動チェックを行う端末も選定しておく。 「既存コンテンツをWebViewで表示する」案件 これは多くの場合炎上する。 なぜなら、そのように「既存コンテンツを再利用」するということは、モバイルコンテンツに対するコスト意識が希薄で、「簡単に考えている」からだ。 大抵のリスク説明は「そんな風には考えていない」「簡単でしょ」とと言われる傾向にある。 例えばレイアウト崩れの問題が
elmah.io - Error logging, uptime monitoring, and device insights for JavaScript apps. Everything from Vanilla JS to React, Angular, and Vue.js is supported and elmah.io can also monitor your server CatchJS - Screenshots, click trails, email notifications, remote object logging, intelligent error grouping. Extremely lightweight, only 1.78KB. Errorception - translate error messages to English; stack
Sentryとは 様々な言語から送信されたイベントログを表示してくれるやつです。OSSです。サービスでも提供されています。今回はサービス版でjsのエラーログ収集をやってみました。 Sentry使用開始までの手順(簡略) アカウント作成 チームとプロジェクトを作成 jsへの組み込み 動作確認 1. アカウント作成 以下のURLへアクセスし、アカウントを作成します。 https://www.getsentry.com/signup/ 2. チームとプロジェクトの作成 チームとプロジェクトを作成します。プロジェクトを作成する際にプラットフォームを選択する必要があるので、そこでJavaScriptを選択します。 3. jsへの組み込み Sentryへエラーログを送信するコードを仕込みます。 基本的にドキュメントの通りにやればできます。 https://docs.getsentry.com/host
Easy mocking of any system you integrate with via HTTP or HTTPS Getting Started To get started see the guide for mocking or proxying or the code examples. What is MockServer For any system you integrate with via HTTP or HTTPS MockServer can be used as: a mock configured to return specific responses for different requests a proxy recording and optionally modifying requests and responses both a prox
Vantage gives you a new perspective into your live node application not previously available. An extension of Vorpal, Vantage turns your live Node app into a immersive CLI. Accessible remotely or locally, Vantage lets you build your own API for your application and import community extensions, introducing a new means of live diagnostics and activity for your dev and prod environments. First-class
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く