mizdra's blog

ぽよぐらみんぐ

target=''_blank" な <a> タグに noopener だけでなく noreferrer も付けるべきか

追記 2020/10/29: モダンブラウザによって noreferrer が自動的に付与されつつある、という説明をしていましたが、正しくは noopener の間違いでした。失礼しました。既に記事の方は修正済みです。 追記終わり。 target="_blank" は新しいタブでリンク先を開…

150B で動く strictly-typed な Event Emitter を作った

超軽量で strictly-typed な (強く型付けされた) Event Emitter を作りました。 github.com 背景 従来 Event Emitter は ブラウザでは EventTarget として、Node.js では EventEmitter として、それぞれ独自に実装されていました。これらは機能的には変わり…

趣味で創作する時は常に何かしら新しいことに挑戦する

普段趣味プログラミングで何か作る時、何かしら新しいことに挑戦するということを意識している 例えば何か触ったことのない技術を導入してみるとか、採用したことのない開発手法を取り入れてみるとか より具体的に言うとHeroku導入してみるとか、TDDで開発し…

Scrapboxのページ内に埋め込まれているアイコンをsuggestして挿入できるUserScript作った

Scrapboxで会議の議事録を取っていると、誰の発言かを記録するために他人のアイコンを挿入したい、という場面が出てくる。Scrapboxでは ctrl+i と入力すれば簡単に自分のアイコンは挿入できるけど、他人のアイコンを簡単に挿入する方法は意外にない。一応以…

画像による Layout Shift が無くなる Web がやって来る

はじめに Web では古来より <img> タグを用いて画像を読み込んでいました. しかし <img> タグにはアスペクト比に関する情報を埋め込むための属性が用意されていません. そのため, ブラウザが画像をネットワークから fetch して読み込みが完了するまで, レスポンシブな …

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

OK Google, 今日のゆゆ式

この記事はゆゆ式 Advent Calendar 2019 21日目の記事です. 20日目はJonah Wilsonさんのゆゆ式BDを持って星を見に行った話でした. ゆゆ式 Advent Calendar 2019 21日目の「今日のゆゆ式」の動画です #ゆゆ式achttps://t.co/tezNbs9JTK pic.twitter.com/NtUvp…

iTerm2 で `cat /dev/urandom` すると印刷ダイアログが出ることがある

皆さんは /dev/urandom と呼ばれるUnixデバイスをご存知でしょうか. /dev/urandom は一言でいうと擬似乱数を出力する疑似デバイスで, catすると以下のようにランダムなバイト列を逐次的に出力してくれます. 出力するバイトの値域に特に制限は無いため, ター…

Review AppsでFirebase Authenticationを使いたい

最近趣味で作っているWebアプリをHerokuにデプロイしてReview Appsを導入したところ, Firebase Authenticationと相性が悪くてちょっとハマったという話. 当該のアプリではFirebase Authenticationを使っていて, ログインボタンを押すとTwitterのOAuth認証画…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

ゆかりスロットをWeb Share APIに対応させた

iOSのSafariにWeb Share APIが来るという話を聞いたので, 趣味で作っている「ゆかりスロット」で試してみることにした. 2月2日時点でまだiOS 12.2はリリースされていないので, Stableな環境で動かしたいならChrome 61+がインストールされたAndroid端末が必要…

『プログラミングRust』輪読会における取り組みについて

はじめに この記事はwhywaita Advent Calendar 23日目の記事です. adventar.org 今日はwhywaitaさんと僕が所属している技術系学生サークル「MMA」ので行われている活動である『プログラミングRust』輪読会について, 開催に至った経緯とその様子を紹介します.…

日向縁さんの誕生日をお祝いしてゲームを作った話

はじめに この記事はゆゆ式 Advent Calendar 2018 9日目の記事です. adventar.org 今回は日向縁さんの誕生日をお祝いしてゲームを作ったので, その紹介をします. 日向縁さんと目 皆さんは「日向縁」というキャラクターを聞いて初めに何を連想するでしょうか.…

ポケモンGO プレイ体験記

この記事はPokémon RNG Advent Calendar 2018 一日目の記事です. adventar.org 今年もPokémon RNG Advent Calendarの季節がやって来てしまいましたが, 皆さんはいかがお過ごしでしょうか. 僕はポケモン最新作を発売初日に購入して真っ先に 「知的財産の表記…

WebAssemblyを使って乱数調整ツールをWebに移植した話

tl;dr C++のツールをWebAssemblyを使ってWebに移植した WebAssemblyへコンパイルする言語としてRustを, JS-WebAssembly間のバインディングにwasm-bindgenを採用した 乱数計算処理をWebAssemblyで実装することで, C++実装と比べて0.2〜0.7倍, JS実装と比べて1…

はてなサマーインターン2018に参加してクイズ大会で優勝してきた

はじめに 大学3回生の id:mizdra です. 普段はJavaScriptを触っていて, Webアプリケーションを作って遊んでいます. 8月から9月にかけて約1ヶ月間, はてなサマーインターン2018に参加してきました. この記事はその体験記となります. developer.hatenastaff.co…

Chrome拡張機能でコールバック地獄を解決する

Chrome拡張機能の非同期APIはコールバックにより実装されています. 例えば, 拡張機能ごとに用意されるストレージからデータを取得する場合, ストレージへのアクセス中にJavaScriptの処理が中断されるのを防ぐため, 非同期APIが用意されています. // backgrou…

#NowPlaying for Google Play Music 拡張機能の v1.0.0 をリリースしました

はじめに 先日公開した Google Play Music 向けの #NowPlaying 拡張機能 がアップデートして v1.0.0 になりました Chrome Web Store からインストール addons.mozilla.org (AMO) からインストール 新機能 Firefox のサポート ユーザカスタム設定をサポート …

Google Play Music 向けの #NowPlaying 拡張機能を公開しました

はじめに Google Play Music 向けの #NowPlaying 拡張機能, ありそうで無かったので作りました. chrome.google.com 上記の拡張機能をインストールすると, 右下に曲のシェアボタンが表示されるようになります. 右下の共有ボタンを押すと共有するSNSメッセージ…

WebAssembly 開発環境構築の本を公開しました

はじめに Rust を用いて WebAssembly の開発環境を構築する手法を紹介する電子書籍を執筆・公開しました. WebAssembly へのコンパイルが可能な言語である Rust を用いて, WebAssembly の開発環境のテンプレートを作成する内容となっています. wasm-dev-book.…

遅刻可視化ツールの紹介

はじめに 個人開発で遅刻可視化ツールを作って Dentoo.LT #19 で話してきたのでその紹介です. I Found Slakoth!!! 遅刻可視化ツールの紹介 from mizdra www.slideshare.net 遅刻がテーマということでアイコンはナマケモノをモチーフにしたポケモンである「ナ…

Vue.js+TypeScriptを試した際の雑感

Vue.js, 良いですよね. ドキュメントも充実しているし, 読みやすいし, 個人開発する分には素早く楽しく開発できてとっても良いライブラリだなと思っています. ただ, 開発をしているとやっぱり「型が欲しい!」という気持ちが生まれてしまうものです. そういう…

2017年を振り返って

"今年"は2017年, "来年"は2018年のことを指します. 去年同様, 今年も1年の振り返りをします. 例年通り雑にやっていきます. 今年も年が明ける前に投稿出来なかった. 残念.*1 1月 この頃は去年の12月にやっていたReact+Reduxで****ツールを作る作業の続きをし…

Pokémon RNG Advent Calendar 2017 を振り返る

はじめに この記事はPokémon RNG Advent Calendar 2017 25日目, 最終日の記事です. 今年はポケモンの最新作が完全新作ではなくマイナーチェンジだったこともあって「カレンダーが埋まりきらないのではないか」などの心配がありましたが, 無事埋まったのでひ…

Scalaで乱数ツールを書く話

はじめに この記事はPokémon RNG Advent Calendar 2017 10日目の記事です. adventar.org 乱数調整で楽しむ方々の間では乱数調整を支援するツールのことを乱数ツールと呼んでいます. 僕も乱数ツールを作成する内の1人であり, 時々ツールを作成しますがツール…

Emtimerの紹介

はじめに この記事はPokémon RNG Advent Calendar 2017 一日目の記事です adventar.org 今年もPokémon RNG Advent Calendarの季節がやって来ました! ポケモン最新作も発売したことですし, 皆さんの乱数調整への意気込みもいっそう高まっていると思います. …

Headless Chrome を使って自動車学校の技能教習の予約が空いたら通知するスクリプトを書いた

最近, 免許を取るために自動車学校に通っていたのですが, 技能講習の予約が一杯で中々教習が進まず困っていました. 通っていた教習所ではオンラインで技能講習の予約を取れるサービスが公開されていたので, また最近話題の Headless Chrome を触ってみたいと…

Dockerを学んだ際の備忘録

概要 お盆の間にDockerについて勉強した序にDockerをどう学んでいったか (どの記事を読んだか, どういう流れで学んだか) を軽く纏めておきます. 目標 以前作ったWebアプリケーション (タイマー) をDockerに載せる. Dockerize前のリビジョン 学習の流れ 開発…

2016年を振り返って

"今年"は2016年, "来年"は2017年のことを指します. 去年同様, 今年も1年の振り返りをします. プログラミングの話題が中心ですが, 割りと雑です. 今年も年が明ける前に投稿出来なかった. 残念. 1月, 2月 Pro Gitを読みました. それ以前にもGitの入門資料に目…

Pokémon RNG Advent Calendar の主催をした話

Pokémon RNG Advent Calendar 2016 24日目の記事です. www.adventar.org 今日は一部の界隈ではクリスマス・イブと呼ばれる日だそうですが, 僕はゆゆ式のニコ生一挙放送が行われる日だと認識しています. この記事も画面左半分でゆゆ式を視聴しながら書いてい…

ポケットモンスター・ポケモン・Pokémon・は任天堂・クリーチャーズ・ゲームフリークの登録商標です.

当ブログは @mizdra 個人により運営されており, 株式会社ポケモン及びその関連会社とは一切関係ありません.