タグ

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

  • 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の日記
    june29
    june29 2020/11/26
  • テスト、正常系から書くか異常系から書くか - hitode909の日記

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

    テスト、正常系から書くか異常系から書くか - hitode909の日記
    june29
    june29 2020/10/23
  • テキストサイトと冷静さ - hitode909の日記

    同僚の昨日の日記から、人の15年前の日記にリンクが貼られていて、現代の文章は普通の散文なのに、15年前はテキストサイト風になっていて感動した。 テキストサイト風はどんなのかというと、突然文字がでかくなり、自分の文章に自分でツッコミを入れながら進行するスタイル(笑) ちょっと真似してやってみたけどできなかった。つっこみどころを配置して、自ら回収していく、というのは文字のデカさの反面、冷静な進行が求められている。 (爆笑)って書きながら文字を大きくするために適切なマークアップを施すには、爆笑しながらタイピングすることはできなくて、爆笑するまえに適切なfontタグを挿入する必要がある。 ツッコミを入れる余裕がないときはいつだろう、と考えていくと、自らにツッコミを入れながら喧嘩する人はいないことに気づく。 今みたいに全人類がSNSを使い、思ったことを何でも書いている時代じゃなくて、もうちょっと限

    テキストサイトと冷静さ - hitode909の日記
    june29
    june29 2020/09/04
  • 自転車を買うとき - hitode909の日記

    自転車を買うとき、地面にくくりつけないと持ち上げて盗まれる、とか、ライトも盗まれるので取り外しましょう、とか、盗難保険に入っては、とか、いろいろとパーツをおすすめされる。 事実として盗まれやすい物なのだろうけど、新しいものを買うときにこれほど盗難のことを心配しないといけないのは体験が悪い。 移動手段、運動手段、といった夢を売ると同時に自転車が盗まれるという心配もセットで販売していることになり、自転車屋としては盗まれるリスクを強調すればするほど自転車屋の売上が上がっていくのも構造的に嫌な感じがする。 お金の問題だけでなく、心の問題でもあって、自転車が大切なら鍵も買うよね、鍵を買わないということは自転車を大切にしないのか? みたいに、良心に訴えかけてくる。 普通に暮らしていて物を盗まれることはほぼないので、自転車だけ異常な状態になっている。サドルだけ盗まれたらどうするのか、とか心配し始めるとき

    自転車を買うとき - hitode909の日記
    june29
    june29 2020/07/31
    自転車と傘は盗難という概念とともに存在している感じありますよね。
  • Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記

    近年のソフトウェア開発では、RenovateやDependabotといった依存関係更新のためのツールが普及していて、ツールの支援を借りながら依存ライブラリを更新していく開発フローが広まってきている。 これらのツールは、package.jsonで管理されているライブラリだったり、Dockerfileで指定しているイメージだったりを自動的に最新版に更新してPull Requestを出してくれるので、人間は内容を確認してマージボタンを押すか、変なところがあったら手直ししてからマージしていくだけでよい。 はてなでの開発フローでも使い倒していて、先月くらいにも、社内で共有して使ってる設定を公開したりしていた。今ではRenovateのない暮らしに戻ることは考えられないくらいに広まっている。 developer.hatenastaff.com 普段、仕事ではPerlTypeScriptを書いていて、T

    Perlの依存モジュールのアップデートを自動化するためのCLIツールを作った。GitHub Actions上で動かしてPull Requestも送れる - hitode909の日記
    june29
    june29 2020/07/29
  • Kindle蔵書一覧をScrapboxで共有する試み - hitode909の日記

    社内のScrapboxで雑誌を共有する試みをした。 共通の蔵書が可視化されておもしろいけど、オープンすぎる気もするのでインターネットに公開するのははばかられそうで、仲間うちで共有するくらいなら便利そう。 「この読んでません」「私もです」みたいな会話のきっかけになる。 Kindle Cloud ReaderのWeb SQL Databaseから蔵書を作る手法を見て、蔵書をハッシュタグにしてScrapboxに流し込んだら共通の蔵書で繋がれるかと試したらはてしない雰囲気になったhttps://t.co/oHcjYAJnUE pic.twitter.com/1dZ5xHtCzJ— 趣味はマリンスポーツです (@hitode909) 2020年7月8日 蔵書共有、新たなメンバーが現れて共通の蔵書が可視化された pic.twitter.com/HW8ZVeifVx— 趣味はマリンスポーツです (@h

    Kindle蔵書一覧をScrapboxで共有する試み - hitode909の日記
  • ■ - hitode909の日記

    Fit Boxing飽きずにちょっとずつやっていて、パンチしたりしゃがんでパンチしたりできるようになってきた。 着々と進んでいったところ、新たな技としてステップが出てきて、前後にステップしながらパンチしたりする。 これによって限界を超えてしまったようで久しぶりに筋肉痛になった。6分間くらい不思議な動きをするだけで翌日おかしな状況になっているのは人間としての頑丈さが低いと思う。 別の話題で、「相手の顎を狙うんだ!」とかアドバイスしてくれて、それを聞くと恐ろしい気持ちになっていく。ただ平和的に運動不足を解消したいのであって、暴力は望んでいない。

    ■ - hitode909の日記
    june29
    june29 2020/07/08
    暴力を望んでいないのわかる… 『リングフィット アドベンチャー』にも暴力があって、特に、おばあちゃんが倒れるまで蹴飛ばすシーンはけっこうつらいんだよな。
  • チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記

    チームでどうやって活躍するか、まだイメージがついてない、振られた仕事をやっているだけで、仕事をしている間は忙しいけど、確認待ちになるとすぐ暇になってしまう、というメンバーの悩みを聞いていた。 巨大なチーム、巨大なプロダクトだと、すぐに全容を把握するのは難しい。その中で、この範囲なら触れています、任せてください、という庭を作るとよいのでは、という話をした。 思いつきで話したわりには意外といいことを言ってるなと思ったので掘り下げて書いてみます。 庭とは 現代では、庭のある家に住んでる人は少ないかもしれない。うちは実家が田舎だったので庭があって、ボールを蹴って回ったり、石をめくってアリを観察したり、隣の家の庭との境界もゆるくて、冒険と言って隣の家の庭で遊んだりしていた。 大人になってからの庭というと、池袋で遊んでた人が「池袋は俺の庭」と言ったり、JR新宿駅の東口を出たら椎名林檎の庭があることが知

    チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記
    june29
    june29 2020/06/27
    エフェクティブ庭。めちゃいい。
  • AfterShokz Aeropex - hitode909の日記

    オンラインミーティングの時間が増えてきていて1日の大半の時間はイヤホンをしている。 左右で分離している形で、片方だけペアリングして左だけから音が出たり、電池が切れたり、耳に物を突っ込みすぎて耳が痛くなったりしていた。 骨伝導イヤホンのAfterShokz Aeropexを買ってみた。耳に物を突っ込まなくてよいのは楽で、無限に喋ってられる。 音が顔にダイレクトに伝わってくるので、周波数によっては顔が共鳴して振動する。papixさんが声を張ると顔が振動する。イコライザーの設定を変えると顔の振動が軽減されるけど、おもしろがって顔を振動させながらミーティングしていた。 デメリットとしては、外で使おうとすると、メガネを掛けて、Aeropexを耳にかけて、マスクもすると、耳に3つの物体がくっついていることになる。 AfterShokz Aeropex 骨伝導ワイヤレスヘッドホン 防水bluetooth

    AfterShokz Aeropex - hitode909の日記
    june29
    june29 2020/06/24
    papix さん………。
  • It Doesn't Have to Be Crazy at Work - hitode909の日記

    土曜に強いチームはオフィスを捨てるを読んだ流れで日曜に読んだ。同じくBasecampの二人の書いたで、仕事に夢中になる必要はなく、そのために時間が分断されない働き方で、無謀な目標や締切、できない量の仕事を持たないようにしています、という。crazy at workは通勤時のcrazy trafficと同じ用法で、狂った人ではなくて狂った状態、とのこと。 basecamp.com Defend Your Timeの章が参考になった。中断しない、中断されないこと、非同期にコミュニケーションすること、の重要さが説かれている。 8時間のフライトは長いけど8時間の仕事は短く感じる。フライトには中断がない 企業は様々なものを守っているが、従業員の時間と注意力を守ることに失敗しがちである status meetingsをおこなわず、かわりに近況を書いて、空き時間に読んでもらっている エキスパートのも

    It Doesn't Have to Be Crazy at Work - hitode909の日記
    june29
    june29 2020/05/25
  • チームのScrapbox3000ページくらいを見返して整理した - hitode909の日記

    会社でScrapboxを使っている。チームごとやプロジェクトごと、話題や趣味ごとにプロジェクトを作っていて、うちのチームは1年3ヶ月くらい使って3000ページほどに達している。 どんどん書いていたのだけど、最近、どこに何があるかわからなくなってきていた。同僚に、ここの仕様はどうでしたっけ、って何度も聞いてしまうことがあったので、これはまずいと思ってちょっと整理していた。 表記揺れを直す One Fact in One Placeということで、どんどんページをマージしていった。ページを同名にリネームするとマージボタンが出現して押すだけなので楽。 よくみるとスペースの有無によって同じ話題のページが2ページに分かれていたり、略称と正式名称と、「(正式名称)まとめ」の3つにわかれたりしていた。情報を探しているときにはどんどんマージしたりしないので、今回マージするぞと見返せてよかった。 サポート担当

    チームのScrapbox3000ページくらいを見返して整理した - hitode909の日記
    june29
    june29 2020/05/17
    素晴らしいなあ。どのツールでも大勢でがっつり使うようになるとメンテナンスが必要になる、という感覚がある。
  • リモート飲み会でめちゃくちゃになっている人をまだ見ていない - hitode909の日記

    現実世界で飲み会しているとめちゃくちゃになる人がたまにいて、机に突っ伏して寝ていて髪の毛がハイボールでびちゃびちゃになっていたり、歩けなくなって肩を担がれて帰っていったり、頭からゴミ箱をかぶったり、道で寝たり、気づくと指がしびれていたり、うちの夫はそこにいますかってLINEがきたり、奥さんが会社まで迎えに来たり、鯖寿司を投げたり、スマホを床に叩きつけて液晶が割れたりする。そういう人をリモート飲み会ではまだ見ていない。突然寝始める人くらい居てもいいと思うけどそれも見ていない。 また、二日酔いになるまで飲むこともなくなっている。おごってもらえるなら飲んでおくか、と飲み続けたり、コース料理なら料理が出てくるのにあわせて飲み続けたりするけど、家では必ず有料であったり、料理がコース状にどんどん出てくることもなく、きのうはチーズと焼豚をちょっと切ってちびちびつまんでいた。それに加えて常時水を飲むように

    リモート飲み会でめちゃくちゃになっている人をまだ見ていない - hitode909の日記
    june29
    june29 2020/05/10
  • あなたがこう感じられているとしたら私はこう感じていますというのを先に話す - hitode909の日記

    思惑うずめく、みたいなときに、きっと相手とゴールは同じなので、先に手を明かしてしまうと楽だと思っていて、「私はこう思います」「一方私はこう思っています」みたいになって、話がすれ違ったら、自分がどこまで先読みしてどう考えているか話すと話が早く終わる。 昨年末、実家に帰るかどうか、電話で母と話しているときに、「毎年帰ってるので今年も帰りましょうか」「忙しいでしょうから帰らなくてもいいですよ」みたいな、まあまあ、そこはなんとか、みたいな雰囲気重視の話になって平行線になった。そのとき母からは「こちらとしては来てもらわなくても何も困らないけど、もし来たくてたまらないのだとしたら、それを断るとかわいそうである、家で待ち受けるという立場を考えると、こちらから断っているのは家に帰ってくるなと言うメッセージを発しているようにも見える、そのように感じているとしたら、そのようなメッセージはなくて、ただあなたたち

    あなたがこう感じられているとしたら私はこう感じていますというのを先に話す - hitode909の日記
    june29
    june29 2020/04/29
    わかる…。ただ、ぼくはこれをやりすぎて前提をしゃべりまくる人間になる瞬間があるので気をつけたいと思っている。
  • 納得しないなりに完成させる - hitode909の日記

    弁当を詰めてて、色合いが悪かったり、全部醤油味だったり、おかずと米がL字になってたり、今日のはいまいちだなーと思いつつも、あと5分で家を出るとか、タイムリミットはあって、完成しないと途中まで詰めた弁当が無駄になる、と考えると、とにかく完成させるしかない。 弁当じゃなくてもいいけど、短いサイクルで、納得しないなりに完成させ続けられるものがあるのは良いことだと思った。楽観的に考えると、売ってるものではなくて家族がべるだけなので、失敗しても家族がひどい目にあうだけ。過去に失敗したときには箸のケースだけを包んでいて箸が入ってないということがあった。

    納得しないなりに完成させる - hitode909の日記
    june29
    june29 2020/03/17
    お弁当、長期に渡ってメンテナンスする必要がないから気が楽。書き捨てのコードと同じモードという感じ。
  • ユーザーがURLを決められるパターン - hitode909の日記

    ユーザーがURLを決められるパターンについて雑談していた。我社のメンバーはサブドメインに名前を入れられるのを見かけるとおもしろがってlogin.とか取る。だからサブドメインだとよろしくない、ということもなくて、ディレクトリにしたとしても、/.well-known/的な仕様が新たに増えたときに、すでに、.well-knownさんがいると困る。いまどき/~hitode909/みたいに~を入れるのは味わいがありすぎる。 ユーザー名として好きなサブドメインを取れるとみんなこぞってlogin.とかadmin.とか取り始めることは知られているけど好きなディレクトリを使えるシステムで/.well-known/とか取られるよりマシな気もする— 趣味はマリンスポーツです (@hitode909) 2020年3月6日 たまに思い出すのが、Scroll To Text Fragmentの話題で、Googleのイ

    ユーザーがURLを決められるパターン - hitode909の日記
    june29
    june29 2020/03/07
    サブドメインじゃなくてパスにする方、example.com/@june29 みたいに @ を入れることで済ませる、みたいなルーティングを採用することが多い近年です。
  • ■ - hitode909の日記

    みすず書房のを手に取ると、この上品な装丁はすばらしい、という気持ちになる。同じKindleで読んでると口にホースが繋がってて水を直接吸ってるような気持ちになる。 Kindleを読んでるとすべてのが同じに見えるし、同時に何冊か読んでると何を読んでるのか分からなくなり、そもそもなんでこのを読みたいと思ったのかも分からなくて最悪、という話をした— 趣味はマリンスポーツです (@hitode909) 2020年3月6日

    ■ - hitode909の日記
    june29
    june29 2020/03/06
    へぇ〜、考えたこともなかったなあ。電子書籍じゃなくてぜんぶウェブページになったらまた感じ方が変わったりするのかしら。
  • ImageMagickでSlackのカスタム絵文字のダークモード対応する - hitode909の日記

    こういうSlackのカスタム絵文字があるとして、背景が透過されているのでダークモードを使っていると黒背景に黒文字になってしまい見えない。 透過部分に白いシャドウを入れられるとよくて、ImageMagickを使うと1コマンドでシャドウを入れることができる。 convert original.png \ \( +clone -background white -shadow 100x8+0+0 \) \ -background none -compose DstOver -flatten -compose Over \ out.pngドキュメント的にはこのあたり。暇なときにImageMagickのUsageをひたすら見ておくと、これImageMagickのUsageで見たやつだと進研ゼミ的に思い出せて便利。 Bluring and Sharpening -- IM v6 Examples 白い

    ImageMagickでSlackのカスタム絵文字のダークモード対応する - hitode909の日記
  • ScrapboxでVJするためのChrome拡張を作った - hitode909の日記

    1月のKyoto.JSの休憩時間にMIDIコントローラとWeb MIDI APIでVJできるとよさそうって話になったので買ってみて、ちょっとずつ触ってみた。過去に作ったツールをMIDI対応する、とか、MIDIの入力に応じて絵を出す、という使いみちに加えて、既存のページにコードを差し込んでエフェクトをかけるのを作ってみた。 Scrapboxにエフェクトをかける Scrapboxプロジェクトのトップページには四角いカードが並んでいるので、これをパーティクルとみなして毎フレーム見た目を書き換えると愉快なビジュアルを出せると考えた。 MIDIコントローラで操作するために、動きのパターンを座標、大きさ、色、背景、ページ全体の変形、などチャンネルがいくつかに整理して、縦フェーダーでエフェクトの種類がかわり、各チャンネルに対応するつまみでエフェクトの掛かり具合が変わるようにした。 こういう構造があって

    ScrapboxでVJするためのChrome拡張を作った - hitode909の日記
    june29
    june29 2020/02/08
    2020 年代にもなると人間が div に合わせてジャンプする。いい時代になった。
  • 話法が移る - hitode909の日記

    将棋界ではひえーっと叫ぶというニュースを見た。話法が移るのはよくあることで、はてなインターンに来ると語彙が「シュッとやる」「最高」「便利」「優勝」としか発話できなくなる。ヒップホップの人は「はい」のかわりに「間違いない」って言う。 news.yahoo.co.jp 最近は、自分は助詞を抜いた文章を書きがちということに気づいて直そうとしている。犬、がんばってる。みたいなやつ。おもしろいのでついやってしまう。犬はがんばっています。と書くのが良い。 缶、いいと思う、缶はがんばってる、こんなに薄いのに一人でがんばってる— 趣味はマリンスポーツです (@hitode909) 2012年4月4日 無意識にやってしまっているけど、こういうおもしろ語づかいを周りの人が真似してしまうのはよくないと思って控えようと思っている。あとは、「〇〇だと思います」じゃなくて「〇〇な気がする」って言うのもやめたい。一

    話法が移る - hitode909の日記
    june29
    june29 2020/02/04
    めちゃ好みの話題だ…。
  • ブラウザVJ用にKORG nanoKONTROL2を買った - hitode909の日記

    画面上にVJ用コントローラが出ていてマウスでポチポチするのがかっこいいと思っていたけど、いつまでもマウスでやっていても成長がないなと思ったので買ってみた。DTMツールやVJツールは持ってないのでWebMidiAPIから利用する以外に使いみちはない。 KORG 定番 USB MIDIコントローラー nanoKONTROL2 BK ブラック 音楽制作 DTM コンパクト設計で持ち運びに最適 すぐに始められるソフトウェアライセンス込み 発売日: 2011/04/29メディア: エレクトロニクス Web MIDI APIはこのときに触っていて、非常にかんたんなことは知っていた。 blog.sushi.money my new gear... pic.twitter.com/625C3DB8AL— 趣味はマリンスポーツです (@hitode909) 2020年1月12日 HTMLの背景色や文字色フォ

    ブラウザVJ用にKORG nanoKONTROL2を買った - hitode909の日記
    june29
    june29 2020/01/13
    コントローラーはだいぶ安いし、こんなん見たらほしくなってしまうな…。