タグ

ブックマーク / nmi.jp (4)

  • 高速化の観点から new Array(100) を使わない方が良い理由

    別件で V8 の JIT コードの逆アセンブルを眺めている時に気づいたのですが、JavaScriptで new Array(100) という形で配列を作るのは、高速化の観点から言うと V8 においては避けるべき書き方です。 高速化を求める方は、 new Array() や [] で作成して Array#push で追加していくのが良いでしょう。この記事では、その理由を説明します。 今回の記事は、以下の V8 のブログ記事を参考にしております。 https://v8.dev/blog/elements-kinds 「詰まった配列(Packed Array)」と「穴あき配列(Holey Array)」 v8 は内部的に、その配列がどういうタイプの配列であるかの状態を記録しており、その情報を利用して最適化を適用します。状態は内部的には21個あるのですが、今回話題にするのは、その中でも「詰まってい

  • WebAssembly の基礎

    WebAssembly をご存知でしょうか?2年前に突然発表された新しい仕様です。まだ登場して間もないため、実際に格的に利用しているサービスは数えるほどしかありませんが、Twitter 等を見ているとじわりじわりと評判になっており、技術としての勢いを感じます。 一方で、WebAssembly について言及された資料がまだまだ少なかったり、技術のレイヤーが一般的なフロントエンドエンジニア技術セットとは大きくかけ離れているなどの理由により、WebAssembly について誤解されていることも多々あることを感じました。 そこで今回、あまり技術的に詳細な所まで深入りせず、「専門外の方でもこの程度知っておけば良い」よりちょっと詳しいくらいの内容を目標にして WebAssembly を解説してみたいと思います。 WebAssembly とは WebAssemblywasmとも呼ばれます)とは、ざ

  • ブラウザで仮想通貨を採掘するサービス "Coinhive" について

    ここ最近で急に有名になった、”Coinhive” というサービスがあります。一言でいうと、ブラウザのJavaScriptを利用して仮想通貨 Monero を採掘するためのサービスで、Webサイトに導入することによって来訪者から直接収益をあげたりすることを目的にしています。 有名になったのには理由があって、ユーザーの許可を得ずに勝手に採掘をするサイトが問題になったためです。Pirate Bayの事例などが有名ですね。 個人的にCoinhiveのようなサービスは適切に使われる限り仮想通貨のキラーサービスになりうると期待しています。ここでCoinhiveがどのようなサービスなのか、技術とビジネス両方から注目してみようと思います。 2018-06-12追記: Coinhive をユーザーの許諾なしに利用していたサイトの管理者の方が神奈川県警に家宅捜索を受けたそうです。詳細は経緯の説明サイトを御覧く

  • 事業計画書の作り方、新規ビジネスの考え方

    最近、起業を目指している方などから相談を受ける時に、「事業計画書ありますか?」と雑に聞き返すことが多くなってきました。一般的には「事業計画書に何を書けばいいのか?」をわからない人の方が多いでしょう。今回の記事で、事業計画書で重要な事項について解説します。 事業計画書は一般的に起業家が投資家に見せるために用意するものですが、誰に見せてもすぐにビジネスを理解してもらえることを目的に書くのが良いと思います。株の持ち分や個人情報などの機密情報もあるので公開されることはないですが、業界外の人がみても理解出来るように、かつ途中で飽きないように簡潔に書かれていると素晴らしいでしょう。 事業計画書で重要なことは、そのまま起業において大切なことに繋がります。わかりやすいように、なるべく具体的な例を出しながら解説したいと思います。 事業計画書に書かれているべきリスト まずは早速、事業計画書に書かれているべき項

  • 1