ブックマーク / sbfl.net (11)

  • JavaScriptで任意のHTML要素をPicture-in-Pictureする

    みなさんはPicture-in-Picture(PiP)という機能を使ったことがありますか。PiPは動画コンテンツなどを浮遊する小窓に表示する機能です。小窓はウィンドウの外側を自由に移動できます。 デスクトップが賑やかになりがちなPCでもPiPは大活躍なのですが、特にスマートフォンにおいては数少ない「ウィンドウ」機能になります。Androidはもちろん、iOS14も対応したことで話題になりました。 これによってスマホ一台あれば、ソシャゲの公式生放送を見ながらソシャゲのイベントを周回する地獄のような行為が可能になりました。 利用者という視点から見ると非常に便利なのですが、開発者から見ると動画しか表示できないのはなかなか使い所が難しくなります。そこで、この機能を使って好きな情報を表示できないか実験してみました。 PiP機能の対応環境 Chrome 70 Firefox 71(制限付き) mac

    JavaScriptで任意のHTML要素をPicture-in-Pictureする
  • 転職したいエントリです。プログラマとして拾ってください

    どうもどうも。古都ことです。転職したい気分になってきたので書きます。 なおこの記事は、転職先が決まるか、諦めるか、反応がなかったら消します。この記事が残っている間は連絡待ってます。(2019/07/25追記 残しておきます) 希望条件 自分の知識や技術をより活かせる職場を探しています。拾ってください。 勤務先:できれば大阪周辺(豊中市から近いとかなり良い)遠いようならリモートワーク可給料:手取り25万は欲しい勤務時間:普通でもフレックスでも業務内容:可能ならばウェブ系がいいです(フロント/サーバ/バック問わず)新しい技術や新しい試みができる、挑戦的な内容開始:8月以降?備考:まだ退職してないです 連絡先 連絡は締め切りました プライベートでの実績 大雑把にはGitHub見てもらえばいいと思いますここと https://github.com/kotofurumiyaここ https://gi

    転職したいエントリです。プログラマとして拾ってください
  • React HooksのuseStateがどういう原理で実現されてるのかさっぱりわからなかったので調べてみた

    Reactのhooks、すごいですよね。関数コンポーネントの自由度があがって色々実現できそうです。 私はReactについては2年ぐらい知識止まってるので、かなり衝撃的でした。ContextとかSuspenseとかいろいろ増えてて今更追いつくのは難しいけど、hooksはちょっと使ってみたいなーと感じました。 そんなhooksですが、使い方はそこそこわかるけど動作原理がさっぱりわからなかったので、ちょっと調べてみました。 そもそもHooksってなに hooksは関数コンポーネントからReactのいろいろな機能をフックでき、自分で汚く実装するんじゃなくてReactが面倒見てくれるよーってやつです。useStateで状態を持たせることができ、useEffectでcomponentDidMountみたいなことを実現、あとほかにもuseXXX系がいろいろ、という感じです。 useStateを例に見てみ

    React HooksのuseStateがどういう原理で実現されてるのかさっぱりわからなかったので調べてみた
  • 正真正銘のReactだけの不純物なしでReact入門

    Reactのチュートリアル、たくさんありますよね。どれも質が高く、どこから手をつければいいかわからなくなっちゃいます。 ですがやはり巷のチュートリアルには面倒な問題もあります。今回は面倒ごとを全部すっ飛ばしてReactでのウェブアプリ作りに入門してみましょう。 Reactを始めるには、まずあれとこれとそれとどれと…… Reactやるには、まずNode.js入れてbabel入れてreact入れてreact-router入れて、ついでにredux入れてreact-redux入れて、redux-saga入れて…… Reactめんどくせえ!!!ってのが正直なところだと思います。はい、私もそう思います。ただ、まあ、色々必要なのも事実なので……。 それでもやっぱり「ReactやるならReactだけやりたい。他はどうでもいい」という気持ちは簡単に捨てられるものではありません。そこで今回はそういう面倒全部

    正真正銘のReactだけの不純物なしでReact入門
  • JavaScriptでも単体テストを導入しよう!ってかテストって何?

    昔はお遊び程度の使われ方をしていたJavaScriptも、格的な開発に使われるようになってからだいぶ経ちました。 開発の規模が大きくなってくると、どうしても「テスト」という考え方からは逃れられません。そこで、JavaScriptの開発でもテストを導入してみましょう。 この記事では、「JavaScriptのテストってどうするの」という方や「そもそもテストって何」という方に向けて、JavaScriptにおけるテストについて紹介します。 テストってなんだろう 個人で普通にプログラミングしていると「テスト」という単語にはなかなか触れる機会がないと思います。ですが、プロジェクトがそこそこの規模になってくるとテストは非常に重要になってきます。 まずはテストとはなんなのか、どういった効果があるのかについて説明します。 単体テスト(ユニットテスト) プログラミングにおいて、特に小さな規模の開発においては

    JavaScriptでも単体テストを導入しよう!ってかテストって何?
  • JavaScriptの「コールバック関数」とは一体なんなのか

    近年のフロントエンドの盛り上がりはすごいですね。プログラミング初心者がJavaScript(最近ではTypeScriptも)から学び始めるなんて昔ではなかなか考えられなかったことです。 そんな世界中で大人気のJavaScriptですが、プログラミングに慣れていても困惑する部分が結構あります。特に初心者にとっては、非同期処理、this、コールバック関数、あたりが難しいのではないかと思います。 非同期処理については前に解説しましたし、thisの解説はネットに大量に転がってるので、今回はコールバック関数について解説します。 コールバック関数ってなんなんだ コールバック関数というとsetTimeoutなんかで使われるアレですね。Node.jsでもたくさん使われます。setTimeoutだと以下のような使い方になります: setTimeout(function() { console.log('He

    JavaScriptの「コールバック関数」とは一体なんなのか
  • NintendoSwitchの購入タイトルが50本行ってたので全部感想書く

    Nintendo Switchの発売から1年以上が経ちました。徐々に発売ソフトも増えてきて、ポケモンなどの大型タイトルも発表されるようになってきました。 Switchはとてもお手軽なハードで、私も次々とソフトを購入してしまいます。そして、そんなこんなしてるうちに購入ソフトがちょうど50行ってました。 VRゲームのときも50で感想記事を書いたので、Switchでも50で感想書き散らしたいと思います。今度は全部のソフトについて。 Nintendo Switch自体について ソフトの話に入る前に、Switch体についてもサクっと感想を書いてみたいと思います。 スペックについて まずはスペック面。任天堂がハイスペックを目指したハードって、なかなかクセのつよいじゃじゃ馬が多いと思うんですが(スーパーファミコン、64、ゲームキューブなど……)、Switchはめちゃくちゃ素直なハードです。PSP

    NintendoSwitchの購入タイトルが50本行ってたので全部感想書く
  • なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)

    ゲームのバグって面白いですよね。進行不可能バグはもちろん論外ですが、ちょっとした不思議なバグはなかなかに楽しめます。 さて、今回話題になったのはWii版(バーチャルコンソール)のマリオ64で、「長時間たつと足場がどんどん浮き上がる」というものです。オリジナル版では起こらず、バーチャルコンソール版だけで起こるというのがミソです。 この摩訶不思議なバグがいったいどうやって起きているのか、確かめていきましょう。 話題のバグ:時間が経つと足場が浮かぶ Automatonなどで記事になった「『スーパーマリオ64』を研究するプレイヤーたちは、Aボタンを押さずステージクリアするために3日間待ち続ける」がゲーマーの間で話題になっています。 このバグは、炎の海から顔を出したり沈んだりするだけの足場が、時間が経つにつれほんの少しずつ炎の海から浮遊するというものです。ゲームを起動したまま3日間放置すると、足場が

    なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)
  • JavaScriptのStreams APIで細切れのデータを読み書きする

    近年、PCに搭載されるメモリは爆発的に増えました。16GBや32GBのメモリが搭載されているのが当たり前の時代です。性能の制限が強いスマートフォンですら4GBほど搭載していることがあります。ストレージの読み書き速度もどんどん加速し、昔では扱えなかったようなデータ量をリアルタイムで処理できます。インターネット回線も同様に大量のデータを扱えるようになりました。 しかし現実的な大きさのデータを一度に扱おうとすると、現代でもそれなりに処理時間がかかります。ユーザはレスポンスに対して敏感で、反応が0.1秒でも遅れるとストレスを感じます。しかし時間がかかるものはかかるのです。この問題は一見どうしようもないように思えます。 そこで登場するのが「データを細切れにして処理する」というコンピュータにおける万能の薬です。細切れにして逐次処理すれば、少しずつデータを処理することができ、素早いレスポンスを実現するこ

    JavaScriptのStreams APIで細切れのデータを読み書きする
  • 他人に読んでもらうJavaScriptコードを書くために

    とりあえず動けばいい、の精神でコードを書ける個人開発とは違い、仕事やオープンソースプロジェクトにおけるコーディングでは、「他人が読むコード」を意識して書く必要があります。 他人が読むのですから、もちろんわかりやすいコードでなくてはなりません。でも、「わかりやすい」とは何でしょう。どうしたら実現できるのでしょう。 この記事では、他人が読む可能性があるコードを書くときに気をつけていた方がいい事項について、いくつか紹介します。 まえがき 私が社会人になって数ヶ月が経ちました。会社では自分でコードを書くのはもちろん、他人の書いたコードをいじるという、今まであまり経験していない作業をすることもあります。 そしてその中で使われている言語にはJavaScriptも含まれます。JavaScriptは平易な言語であり、クライアントサイドでもサーバサイドでも採用できるので、様々な場面で使用されています。 さす

    他人に読んでもらうJavaScriptコードを書くために
  • JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog

    ゲームなどのコンテンツにおいて、「当たり判定」から逃れることはできません。オブジェクトとオブジェクトが衝突したかどうかという判定は、インタラクティブコンテンツにおいて最も重要な部分になるからです。 当たり判定の実装自体は難しくありません。ですが、素朴な実装ですと、対象となるオブジェクトが大量である場合に、十分なパフォーマンスが出ません。これはオブジェクトの多い、現代的なゲームでしたり、弾幕シューティングなどを作るときに大きな障害となります。 この記事では、大量のオブジェクトの当たり判定を処理する、効率的な方法について紹介します。 まずは素朴に実装してみる 当たり判定の処理を語るには、ある程度ゲームの骨組みのようなものが必要になってきます。もちろんクラスなどを使わないベタ書きでもよいのですが、大変読みにくくなってしまいます。ですので、今回は、まず簡易的なゲームエンジンのようなものを作って、そ

    JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog
  • 1