タグ

ブックマーク / blog.sushi.money (5)

  • JavaScript 長いループ 分割 - hitode909の日記

    ブラウザで長いループや、重い処理をともなうループを回したいとき、同期的にJavaScriptを実行するとメインスレッドがブロックしてしまうので、ちょっとずつ細切れに分割して実行したい、ということがある。 昨日久しぶりに書いたら新たなパターンと出会ったので、これまでにどう書いてて今回どうなったかメモ。 setTimeoutする 以前(10年前とか)はこんなのをよく書いていた。 itemsがでかいArrayで、console.logがすごく重い処理だとして読んでください。 function iterateHeavyTask(items) { const startAt = new Date(); while (items.length > 0 && new Date().getTime() - startAt < 10) { console.log(items.shift()); } if (

    JavaScript 長いループ 分割 - hitode909の日記
    mangakoji
    mangakoji 2020/11/26
  • テスト、正常系から書くか異常系から書くか - hitode909の日記

    今週は同僚と毎日長時間ペアプロしていた。 おもしろかったのが、同僚のテストの書き進め方で、一番複雑な正常系のテストをちゃんと書いてから、その複雑なテストをもとに、いろんな条件を削っていって異常系のテストを作っていく、というところ。 僕は逆で、入力が空なら何も起きない、とか、一番簡単な異常系のテストを書いて、そこだけ通るのを確認して、よしよし、と進めていって、メソッド来の動きは最後に確認して終わる。 変な進め方だな〜(主観)と思って眺めていたけど、たしかに正常系のテストが通っていれば、あとはバリデーションまわりのチェックとか、例外となる場合のチェックをすれば終わりで、異常系のテストがすごい速さで書かれていておもしろかった。 …という話をしたら、チームメンバーたちは正常系のテストから書きはじめるという人が多くて、正しくことを確認してから、1個ずつ前提となる条件を外してみて試す、と聞いて、同値

    テスト、正常系から書くか異常系から書くか - hitode909の日記
    mangakoji
    mangakoji 2020/10/24
    /*コードのifも*/ if(isNG)error();else normal();/*の順にかくけど、実際には正常系で手一杯というか異常が論理的に怒らない方に注力する*/
  • 最悪のフィードバック - hitode909の日記

    最近iPhoneが勝手に震えててイラつく。いま二秒に一回くらいのペースで震えてる。何かしら通知があるから震えるのだと思うけど、画面上には何も出ないのでどうなってるのかわからない。マナーモードだとガンガン震えて最悪だけど、マナーモード解除するとエレクトリックピアノみたいな音がフォンッフォンって鳴って最悪。日中は気づいてないのか、こんな音しなくて、家に帰るとなぜかこうなる。自分の意図とは関係なく電話が震えるのは最悪。 photo by Tobyotter いま気づいたけど、充電するためのケーブルが断線しかかってて、ポチポチしてると、切れたりつながったりを繰り返して、それでこうなってるようだった。充電開始っていうフィードバックは控えめだから、毎秒やってくると意味分からなくなる。何かのアプリが通知送ってるのだろうと思って、設定画面で順番に通知オンとか通知オフとかして二分探索したのは時間の無駄だった

    最悪のフィードバック - hitode909の日記
    mangakoji
    mangakoji 2014/05/24
    何かにつけ、表示や説明が不親切なアップル製品だからじゃないかなぁとか軽く思ったり。仕様の適当さをデバグとOSの出来の良さで追い込むものづくりだからね。
  • 黒歴史を一挙公開!中学生のときにFlashで作ったゲームを公開しました - hitode909の日記

    中学生のとき,部活は科学部に入っていて,べっこう飴を作ったり,ガラス管をガスバーナーで伸ばしてスポイトを作ったり,砂鉄入りのスライムを作ったり,ゲームを作ったり,ソーラーボート大会に出たり,ホームページを作ったりして遊んでた. 文化祭で展示したコンテンツを焼いたCD-Rが出てきたので,このたび黒歴史を一挙公開します. View this post on Instagram A post shared by 趣味はマリンスポーツです (@hitode909) www.instagram.com 中学生のときに作ったインベーダーゲーム これはインベーダーゲームみたいなやつで,弾を打って敵を倒すみたいなやつ.インベーダーゲーム自体はやったことないので,UFOとか防空壕とかない.難易度をスライダーで調整できるのが工夫したところで,上級者は敵の弾を増やして遊んだり,初心者は自機を増やして簡単なモード

    黒歴史を一挙公開!中学生のときにFlashで作ったゲームを公開しました - hitode909の日記
    mangakoji
    mangakoji 2013/10/27
  • 動画をアニメーションGIFに変換するウェブアプリケーション作った - hitode909の日記

    rokugaっていうウェブアプリケーションを作った.ブラウザ上で動画をアニメーションGIFに変換できる.Google Chromeでもちょっと動くけどSafariで見るのが良い. http://rokuga.herokuapp.com/ 使い方 こんな感じで,動画をドロップしてくださいとか言ってる. 1コマずつ出てきて,このコマとこのコマ,この速さ,みたいな指定ができる. 完成したアニメーションGIFは名前を付けて保存しましょう. 特徴 ブラウザで再生できる動画なら何でも変換できる Macなら動画はQuickTime Playerで撮れるので気軽に使える リアルタイムにプレビューしながら仕上がりを確認できる コマ送りは逆再生,行ったり来たり,シャッフルに対応 Herokuで動かしたらCPUが遅くて動画の変換にす時間かかる git cloneしてローカルで動かすとちょっと速い ソースコード→

    動画をアニメーションGIFに変換するウェブアプリケーション作った - hitode909の日記
  • 1