mattn @mattn_jp 納めた後にバグ報告が1つも無く「もしかして完璧な物作っちゃったんじゃね?」と言っていた某同僚氏が作ったツールが、実は一度もお客さんに使われていなかった事が分かり、なぐさめの言葉が見つからない。 2021-07-12 10:24:10
![あまりにも悲しい…納品後にバグ報告が一つもなく「完璧なツール作っちゃったんじゃね?」と思ってたら全然違った](https://cdn-ak-scissors.b.st-hatena.com/image/square/a63ee1e4f51c9b305a71c015027f193e13266680/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2F1800c257ce9c577c1058034b0ba2617d-1200x630.png)
Bethesda Softworksの『Fallout 76』が11月14日にリリースされて以降、さまざまなバグが報告され、そのなかでも珍妙なものはSNSを中心に大きな話題となっている。見た目も奇妙な事例として、複数のプレイヤーからパワーアーマーがパンツ一丁の人体に置き換わるバグが報告されているようだ。 (画像はJamezPlass氏のTwitterより)(画像はWallismanYT氏のTwitterより) So last night while playing Fallout 76, my son's character had the creepiest glitch ever. His power armor molded with his body making what you see below. We were crying laughing as he walked ar
Java 9、10でStringの+=にバグがあるということがStack OverFlowで報告されていました。 Why does array[idx++]+="a" increase idx once in Java 8 but twice in Java 9 and 10? - Stack Overflow どういうバグかというと「s[i++] += i + ""」のようなコードが正しく動かないというものです。 次のコードを実行してみます。 public class PlusEqual { public static void main(String[] args) { System.out.print(System.getProperty("java.version")); String[] s = {"aa", "bb"}; int i = 0; s[i++] += i + "";
iOS 5.1 では、サードパーティアプリの内蔵ブラウザで localStorage が使えないという問題が発生する場合があります。これは iOS 5.1 のバグのようです。Web SQL Database でも同じ問題が起きるようです。 (localStorage とは、ウェブブラウザが内部的に持っている機能で、ウェブページ内の JavaScript から任意のデータを読み書きすることができる入れ物です。Cookie と似ています。例えばユーザーがフォームに入力した情報を JavaScript が裏で localStorage に保持し、ユーザーが次に同じページにアクセスした時に自動的に再入力させるようなことに使われます。) 実際、手持ちのいくつかのアプリで、localStorage が正しく使えないことを確認しています。しかしその問題の発生条件がちょっとややこしそうなのです。 色々ググ
localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照) <input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script> 上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能停止 が発生します。 IE9pp3ではブラウザがクラッシュします。 回避するには テキストフィールドに値を入れるか、A.value を文字列型にキャストすることにより回避できます。 <input id="A" type="text" value="hoge" /><script>localStorage.removeItem(
解決するのにここ2日間かかってしまったバグ。 WebWorkerでworkerプロセスを作る。workerの中でタイマーを回して5分毎にサーバーからデータを取得、そのデータをメインスレッドに返す、というのを実装したが、workerが5分~10分経つと死んでいるというもの。onerrorへの通知も無い。 いろいろ悩んだ末、もしかしてGCされてるんじゃあ……と思ったらその通りのようで、グローバルオブジェクトから参照できる所に突っこんでおいたら死ななくなった。 Operaだと動いているworkerが勝手に殺されたりしないのでChromeのバグかも*1。GCしてくれなくてもworkerを殺す手段としてterminateメソッドが用意されている。自分で作成したworkerは自分で殺した方がわかりやすい。 検証ページ(workerを2つ作って、片方のみglobalオブジェクトから参照可能にしておく)
<!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <div id="for_test"></div> <script type="text/javascript"> var p_elem = document.getElementById("for_test"); var test_elem = p_elem.appendChild( document.createElement("a") ); test_elem.appendChild( document.createTextNode(" @test ") ); test_elem.setAttribute( "href", "http://example.com/" ); </script> </body> </html> という HTML を表示すると、
JavaScriptのオブジェクトをJSONに変換する際、必ずと言っていいほど使われるのがjson2.js。 ECMAScript5(JavaScript2)では、json2.jsの実装をほぼ忠実に仕様として再現しており、Firefox3.5やSafari4ではネイティブの実装が利用できます。 例えば、JSオブジェクトをJSON文字列にしたい場合は、JSON.stringify(value, replacer, space)を利用できます。 valueはJSオブジェクト。 replacerは省略可能で、function(key, value)と言うシグネチャの関数オブジェクトを渡します。JS→文字列の変換ルーチンを独自に提供できます。 spaceは、結果の文字列を人間が読みやすくするための、インデントの数を指定します。 その逆に、JSON文字列をJSオブジェクトに復元したい場合は、JSON
「Top 20 replies by Programmers to Testers when their programs don't work」という記事がありました。 笑えたので訳してみました。 ただ、かなり意訳気味なのでニュアンスが違っている項目があると思います。 詳細は原文をご覧下さい。 ソフトウェアが正しく動作しなかったときの、プログラマからテスターへの返答。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く