タグ

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

  • 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の日記
    masa0x80
    masa0x80 2020/11/28
  • チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記

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

    チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記
    masa0x80
    masa0x80 2020/06/27
  • デンエンの思い出 - hitode909の日記

    SUPER PUB DEN-ENは京都の飲み屋。いつ行っても入れて、ビールタワーがあって、よくわからないがどっさり置いてある。実家にいるときから、3回引っ越しているけどデンエンには変わらず通い続ける、家みたいな場所。 2012年 この頃から今とやってること変わりないのは驚きだけど、鴨川でビールを飲んでからデンエンに行っている。この頃はデンエン直行じゃなくてまずはAce cafeとかに行っていた。 鴨川ビール開催した.雨降ってて,風が強くて,周りに誰もいなくて,寒すぎて,始まった瞬間帰りたいって思った.寒すぎるから,しばらくしてAce cafeに行って,世界の山ちゃんに行って,DEN-ENに行って帰ってきた. https://blog.sushi.money/entry/2012/11/12/085023 ハイコンテキストすぎるので説明しないけど醒めない夢見せたげるブームが来ていた。 ht

    デンエンの思い出 - hitode909の日記
    masa0x80
    masa0x80 2020/04/18
  • 海外旅行のしおりをScrapboxで作ったはいいが旅先でオンラインになれるかはわからない、というときに便利なやつを作った - hitode909の日記

    標記のとおり、新婚旅行のスケジュールとか宿泊先とか、ここに行きたいとか、緊急連絡先とか、ありとあらゆる情報をScrapboxにまとめたものの、旅先でうまいことオンラインになれるかはわからないので、エクスポートしてダウンロードしたJSONをlocalhostで見るためのアプリケーションを作った。 以前Scrapbox記法をMarkdownに変換するやつを作っていたので、それを使ってMarkdownに変換したあとShowdownでHTMLにレンダリングして表示している。 github.com 様子 ターミナルから起動すると8080番で起動するという、旅行グッズとは思えないアーキテクチャになっている。 PAGES_JSON=~/Downloads/hitode909.json npm run start トップページ 最近更新した順にページが並ぶ。 MaterializeのCSSを読み込んでいる

    海外旅行のしおりをScrapboxで作ったはいいが旅先でオンラインになれるかはわからない、というときに便利なやつを作った - hitode909の日記
    masa0x80
    masa0x80 2019/03/19
  • ギターピック新発売 - hitode909の日記

    買ってくれ!! ギターピック

    ギターピック新発売 - hitode909の日記
    masa0x80
    masa0x80 2016/09/25
  • ISUCON6に「C0-100%」チームで参加してきた - hitode909の日記

    id:hakobe932とid:hatz48の3人で「C0-100%」というチームで出てきた.結果は予選敗退. アプリケーションエンジニア3人で,テストを書いて安全に作ろうという作戦で進めていた. 準備 ISUCONだからといって乱暴にコードを書かず,普段通りの正しい安全なオペレーションをしよう,という話をして,ISUCON4と5で練習して,便利グッズを整えたり,デプロイの練習をしたりしていた. ローカルでセットアップするスクリプトを用意 Mechanizeでテストを書けるように Devel::Coverでカバレッジを取れるように Devel::NYTProfでプロファイリングできるように CircleCIに乗せる CIが通ったらデプロイ デプロイされたらSlackに通知が来る mackerelで外形監視 ISUCON4の練習ではC0 100%を達成できて,順調な雰囲気だった. 前日に集ま

    ISUCON6に「C0-100%」チームで参加してきた - hitode909の日記
    masa0x80
    masa0x80 2016/09/19
  • 今年が2015年だと思って2015って書いておかしいなとか言って1時間くらい無駄にした - hitode909の日記

    ふだんソフトウェア作ってるけど,僕はエンジニアとしてはめっちゃしょぼい感じで,こないだは今年が2015年だと思って2015って書いておかしいなとか言って1時間くらい無駄にした.1時間後に2016に直したのだけど,すごいエンジニアの人を見てると,その1時間の間くらいでも,すごい活躍されていたりする. みんな1日n時間くらい働いているはずで,すごいエンジニアはそのm倍みたいな時間働かれているわけではない.同じくらいの時間活動していても,活躍度合いは全然違う.ということは?? コードを書くのが速い 速くできるとすごい 腕の筋肉がすごい タイピング速そう 考えるのが速い 人によってそんなに差あるものなのか? 取り組むと効果ありそうなことを見極めるのがうまい いいことできるとすごい やっても大した効果が出ないものは後回しにするとその時間を使って効果のあることをできそう ちょうどいい作りこみ度合いのも

    今年が2015年だと思って2015って書いておかしいなとか言って1時間くらい無駄にした - hitode909の日記
    masa0x80
    masa0x80 2016/05/28
  • ソフトウェア作ってて - hitode909の日記

    ソフトウェア作ってて,「こういうクラスとこういうクラスを作って,こういうデータを持ち,ここからこう呼んで,こういう働きをさせる」とか述べるとき,そのいずれも,まだこの世にはない.そのときに,より良くしようとして,「このクラスとそのクラスをくっつけてこう変えるとすっきりするのでは??」とか述べるけど,ひきつづきまだこの世にはない. ひどいときには,「こういう最強のマイクロサービスがこういう働きをしてくれるんだけど,その場合に,」とか,まだ存在しないサービスについて語りだしたりする.その時点では,こっちのクラスもそっちのクラスも存在しないし,それを助けてくれるマイクロサービスもないのだけど,完成したときにこうなる,というイメージで話している. おままごとしてるときに,「ここは台所」「こっちにキッチン」「台所とキッチンを融合するとすっきりするのでは?」「二階のキッチンでは息子夫婦が」みたいなこと

    ソフトウェア作ってて - hitode909の日記
    masa0x80
    masa0x80 2016/03/20
  • 知識 - hitode909の日記

    コード書いてると,何が起きるのかということを意識しがちだけど,何が起きないかも重要. 車に人が乗るのであって人に車が乗るのではないことはふつうの人は知ってるけど,車と人の関係が明らかに示されていなければ,どちらの場合も考慮することになる. まだ実装されてないだけで,将来的に車が人に乗ることはあるのか,その場合どうなるのが正しいのか,絶対にないのか. 順番も大事で,車に乗ったあとに運転するのであって,運転したあとに乗ることは絶対にない. 車と人,みたいな登場人物が居ることすら分からない場合もあって,クラス一覧を見てると,車の隣に,にんじんというのもあるけど,これは車が壊れたやつ,carがrotしたやつですか,みたいなことになる.車とにんじんの関係性に注目する必要はない. 動くだけのソフトウェアには仕様が分かる文章が残されていないことがある.何が起きて,何が起きないのか,起き得ることはどの順番

    知識 - hitode909の日記
    masa0x80
    masa0x80 2016/02/11
  • なぜひどいコードを書いてはいけないか - hitode909の日記

    ひどいコードは何やってるか分からない ひどいコードが何やってるか分かっても、なぜそうなってるのか、そこを変えるとどうなるか分からない ひどいコードは新たな変更に耐えられず書き直されることになる ひどいコードを書き直すには、ひどいコードがどうなっているか理解し、どこを変えるとどうなるのか理解する必要がある ひどいコードはたいていひどいテストコードが支えていて、テストコードがあったとしてもひどいコードと同様の問題があり、頼れるものが何もない どんなにひどいコードでも、書いた人を憎んではいけない。たとえ自分の書いたコードだとしても、先輩の書いたコードだとしても、ソフトウェアとしてひどい物にはひどいと言っていくことが大切で、だからと言って人に向かってひどいと言ってるわけではない。 最高の仲間たちが日々変化する難しい問題に対処していいコードを書いたり、ときにはひどいコードを書いている、という😇的な

    なぜひどいコードを書いてはいけないか - hitode909の日記
    masa0x80
    masa0x80 2016/02/09
  • ひどいソフトウェア作りたくなくて考えること - hitode909の日記

    ソフトウェア作ってるとどうしようもないひどい状況になったり、知らないプロダクトを読んだらひどい状況になってたりすることがあって、どんなときにそういうことになるのか、必ずそうなるのか、そうなることを予見できないか、完成したソフトウェアを見てひどいかどうか判定できるか、とか気になってる。 作ってる途中に気付けないものか 作る前に気づけることはあるかひどいのは分かってるけどやるしかないときにだけひどいものができるのか時間はあるけどやる気がないとそうなるのかプライベートでなんかあるとそうなるのか書いてから時間が経つと大体のものはそうなるのかコードは正しくて読者が使われてるパターンに理解がないだけなのかパターンの使い方が変だと読めなくなるのか当時と環境、社会情勢や実行環境、データ量、などが変わってひどくなるのかいい技術が発明される前なのでしかたないのかいい技術が発明されたときにキャッチアップすべきか

    ひどいソフトウェア作りたくなくて考えること - hitode909の日記
    masa0x80
    masa0x80 2015/09/27
  • 70ページでドメイン駆動設計の要点を押さえられるDomain-Driven Design Reference - hitode909の日記

    Domain-Driven Design Reference,Amazon見てたら発見して,安かったから買ってみた. ぺらっとしてて,ポケット索引集みたいな雰囲気.エリックエヴァンスのドメイン駆動設計から,要約が抜粋されていて,70ページくらいで,重要な概念を押さえられる.原著は著者の経験を語ってくれるコーナーが大半を占めるけど,このではバサッと切られて,定義だけが載ってる. 前のから10年くらい経ったので,新しい内容も増えてる.ドメインイベントとパートナーシップ,巨大な泥団子.いずれも実践ドメイン駆動設計に出てきた. これだけ読んでドメイン駆動設計さあ始めよう,とはならないだろうけど,でかい読みたくないけど議論には参加したい,とか,どんなものか軽く眺めたい,みたいな人が読むにはてっとり早いかもしれない. 唯一役立ったのが前書きで,エリックエヴァンスのドメイン駆動設計ののことをTh

    70ページでドメイン駆動設計の要点を押さえられるDomain-Driven Design Reference - hitode909の日記
    masa0x80
    masa0x80 2015/09/14
  • 作り直し - hitode909の日記

    ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展

    作り直し - hitode909の日記
  • YAPCでベストトーク賞いただきました #yapcasia - hitode909の日記

    国内最大級の技術カンファレンスであるYAPC::Asia Tokyoで発表して、なんとベストトーク賞をいただきました。 まさかんなことになるとは!!ありがとうございます!!! 資料作ってるときは、こんな話ぜんぜんおもしろくないのでは、とか、発表時間たりないのでは、とか、なにかと不安でしかたなかったけど、意外とうまくいった。 オブジェクト指向やドメイン駆動設計を使って、ていねいにモデリングすれば、最高のソフトウェアを作れるっていう話をして、共感いただけたようでうれしい。 賞品でSurface 3とかKinectとかもらえるようなので、特定の踊りをするとデプロイが始まるとか、ロールバックの踊りとか、そういうものを作りたい。 instagram.com 発表資料はきのうの日記に貼っています。hitode909.hatenablog.com 今日のTシャツはこれです。めっちゃかわいいと思う。XLな

    YAPCでベストトーク賞いただきました #yapcasia - hitode909の日記
    masa0x80
    masa0x80 2015/08/23
    おめでとうございます!!!
  • YAPCでおもしろ発表してきた - hitode909の日記

    YAPCおもしろ発表してきた. はてなブログの開発を振り返って設計の進化と最高の設計を紹介するという話. speakerdeck.com なぜか大人気発表みたいになってて,会場満員で,すみませんこんなところに来ていただいてすみませんというかんじだった. 紹介したはこちら.予約投稿で仕込んであって,発表終わったら,こちらから買ってくださいとかやろうと思ってたけど,すっかり忘れてた. YAPCの発表で紹介した - hitode909の日記 質問たくさんいただいて,よいかんじにおさまったと思う. 「難しくて挫折するという問題がありますよね」「歯をい縛って実装しろって書いてあった」 #yapcasiaE— そらは (@sora_h) 2015, 8月 21 Q: 「コメントの良い書き方は?」 A: 「オブジェクト指向入門下巻に書いてあります」 ↓ 「買って読みます。」 #yapcasiaE

    YAPCでおもしろ発表してきた - hitode909の日記
  • 12月23日(祝)鴨川ビール来てくれ!! - hitode909の日記

    12月23日(祝日)、鴨川ビールします。このおめでたい日をビール飲みまくってお祝いしましょう。 鴨川ビールとは 鴨川ビールとは、鴨川でビールを飲みまくるイベントです。 コンビニなどでビールを大量購入して鴨川に来ることで、鴨川でビールを大量に飲むことが可能になります。 寒すぎる 今回は絶対に寒いので、絶対おもしろい。最強の防寒グッズを集めてこの困難を乗り越えましょう。貼るカイロは使っていいけど、温かい飲み物は禁止というレギュレーションです。 場所 昼過ぎに三条の鴨川の西岸あたりに来てください。たぶん日が暮れるまではいます。 過去の様子 だいたいこんな感じで飲みすぎて睡眠とかできます。 近くの寿司屋で寿司を買ってきてべたりする。上のにぎり2500円のを雑に買ってくる。 ビールはコンビニで売ってるやつで、生ビールとかはとくにない。こういう良くも悪くもない写真を撮影できます。 ヒント 翌日の24

    12月23日(祝)鴨川ビール来てくれ!! - hitode909の日記
    masa0x80
    masa0x80 2014/12/20
    いざ鴨川!
  • Quyo作った - hitode909の日記

    開発合宿で作ったQuyoをはてラボでリリースした.捨てた物の思い出を投稿できるサービス. Quyo | つづろう、モノの思い出 リリースの告知はこちら. つづろう、モノの思い出──新サービス「Quyo」をはてラボにリリースしました - Hatelabo Developer Blog メンバーは大承認と同じで,エンジニアをid:shimobayashiさんと2人でやって,デザインをid:ueday,あとリリース時にはドメインの用意をid:y_uukiさんに手伝ってもらった. 前回の開発合宿と同じアーキテクチャで,すばやく作る作戦で,開発合宿は3日間あるのだけど,2日目の午後には社内リリースして,合宿中に社内でワイワイ遊んでもらいながら開発も続ける,という作戦を展開した.プロトタイピングに向いた構成で,層は薄く,テストは書かない,という作戦. 作戦考えた これは開発中に昼休みに睡眠する様子.前

    Quyo作った - hitode909の日記
    masa0x80
    masa0x80 2014/12/18
  • 「シュッとやる」の解説 - hitode909の日記

    はてなエンジニアセミナーでid:cockscombが「シュッと」と連呼していて,聴衆がざわざわしているようだった. 「シュッとやる」というのは,はてなの社内用語. 関西弁で「シュッと」というのがある.だいたいこれと同じだけど,社内用語では,よりテクノロジー的な意味合いがある. 今風(の)、あか抜けた、 研ぎ澄まされている、 洗練された、スマートな、 しゅっとしたとは - 大阪弁 Weblio辞書 関西にいない人のために説明すると,シュッとした鋭さのイメージで,すばやく正確に今すぐ簡単に,というような雰囲気. ちょっとやろうとしたらハマッたり,時間がかかったり,実装がダサかったり,正しく動かなかったりすると,シュッとしてない. 似た言葉で,「サクッと」というのがあって,これは一般的に使うと思う. Google: サクッと実装 今回は特別に,社内のチャットログから用例を紹介します. 〜くん、

    「シュッとやる」の解説 - hitode909の日記
    masa0x80
    masa0x80 2014/12/02
    明日から使いたい日本語
  • プログラミングとは何なのか - hitode909の日記

    会社でボードゲームしてる人たちがいる。 僕はボードゲーム苦手で、たまにやっても全然勝てない。 将棋とかイメージすると、こっちがこういう手を出すと相手はどうするか、そしてその次は、というのを予測すればよいのだけど、なんかそれがめんどうで、なんでこんなこと考えないといけないのか、とか考えだしてくたびれてしまう。 ずっと論理的に考えるのが苦手で、すぐめんどうになってやめてしまう。 普段、仕事や遊びでソフトウェア作ってるのだけど、よく考えると、ソフトウェアの動作が論理的なだけで、ソフトウェア作るのは勘でできる。 ソフトウェアが正しく動くかどうかは論理的に決められて、電卓アプリなら計算結果が狂ってたら間違っているけど、その電卓アプリがどのように作られたか、には正しさはない。逆立ちして作っても、猿にタイプライターを渡して作っても、計算結果合ってれば良い。 過去のデータとか経験によると猿に書かせるのは効

    プログラミングとは何なのか - hitode909の日記
    masa0x80
    masa0x80 2014/10/17
  • 【朗報】そんなあなたに - hitode909の日記

    コードを書く速度が遅いとお嘆きのあなた!!! なんか、とにかくコードを書く速度が遅いんだけど、何が一番のボトルネックになってるんだろう ...— Cside (@Cside_) 2014, 5月 27 あなた!!! > id:Cside コードを書くのがなんとなくお嘆きのあなた!!!オブジェクト指向入門第二版を読めば、大半の些細な悩みは解決することでしょう!!! 利用者の声 私も愛用しています!!!最高のです!!!最高過ぎて前歯が折れました 滋賀県在住マリンスポーツ氏 はこべさんも途中まで読んだそうです 滋賀県在住マリンスポーツ氏 ある昼下がり、しばゆーの机に下巻があるのを目撃したんです 滋賀県在住マリンスポーツ氏 お求めはこちらから 今ならAmazonプライムに加入することで24時間無料で発送いたします(Amazonが)。 オブジェクト指向入門 第2版 原則・コンセプト (IT Arc

    【朗報】そんなあなたに - hitode909の日記