unarist はてなハイク市民 (銅 49日)

unaristさんのエントリー

id:unaristのミニブログ

8 fans

書き込むには、ログインまたはユーザー登録を行ってください。 初めての方へ

unarist

Hatena::Let

Let保存ガチャ、今日は4回目で成功した。
unarist

Firefox

返信先のろまんば
これもどうぞ
🌐各言語の入力メソッド - みずぴー日記 https://mzp.hatenablog.com/entry/2017/10/22/192324
unarist

Firefox

返信先のろまんば
まあ他実装で動くように実装していたなら差異が減ってありがたいわねーという感じも。
ちょうど最近こんなことを調べていたし https://twitter.com/unarist/status/986977026836840449
unarist

Hatena::Let

↓なにか埋め込みコンテンツを無限にロードしようとしてるみたいで落ち着かない
unarist

Hatena::Let

ecmascript 6 - What does the Reflect object do in JavaScript? - Stack Overflow
https://stackoverflow.com/a/25585988/2818869

# Reflect.get(target, name, receiver) って receiver[name] じゃいかんのかしらと思ってしまったけど
# target[name] 自体は Proxy を迂回しないと無限ループになるわ。そりゃそうだ。
unarist

Hatena::Let

ふと昔書いた
const originalProp = Object.getOwnPropertyDescriptor(window, 'innerWidth');
Object.defineProperty(window, 'innerWidth', Object.assign({}, originalProp, {
get: (val = originalProp.get.call()) => (val <= 1024 && val >= MIN_WIDTH) ? 1025 : val
}));
というコードにその辺使えるかしらと雑に思ったものの、特に使いどころなさそう。

# ちなみにこれはwindow.innerWidthを見てレイアウト変更かけるJS対策
unarist

Hatena::Let

返信先のろまんば
# Object.{observe,prototype.watch}() と比べると対象への参照をリダイレクトできない場合(configurable/writableでないプロパティを参照してる・<strong>直接参照抱えられてる</strong>等)に監視できないのが惜しいといえば惜しいかしら
unarist

Hatena::Let

昨今のモジュール化の流れ、グローバル空間を汚染しないのはいい話だけれど、いじりポイントが減ってしまって悲しい。
http://let.hatelabo.jp/unarist/let/hJmcxa3yjMtI
これもメッセージ的なものを投げれば内部処理を呼びだせるじゃんと思っていたら、masterでは"メッセージを投げる関数"にレスポンスを整形するロジックを移されてしまって、そんな関数外から探せんやんけという話で。

# inject対象からなるべく独立して動いた方がお互い安全、それはそう
unarist

Hatena::Let

返信先のろまんば
同じサイト向けに複数のletやuserjsで書いてるとどうしても無駄に見えてしまい、先日のrequireの話になるんですよね。おかげで最近MutationObserverが必要なスクリプトを新しく作ることに抵抗があったりします。
unarist

JavaScript

返信先unarist
貼ろうとしてたのこっちだったかもしれない。
upload progress? · Issue #21 · whatwg/fetch https://github.com/whatwg/fetch/issues/21
どっちもどっちだけれど。
unarist

Hatena::Let

each skeleton、Mastodonの(Bookmarklet|UserScript|WebExtensions)書く人が書かされるやつだ
unarist

JavaScript

upload progress? · Issue #89 · github/fetch https://github.com/github/fetch/issues/89
さいで。
unarist

UserScript

まあMIMEに関してはGistじゃなくてGithubの方に置けばpages経由でよしなにできるから…。
// だけど折角複数ファイルをまとめられるんだし、やっぱし bl.ocks.org 的な機能あるに越したことはない
unarist

UserScript

返信先unarist
そうやって雑にやりたいなら結局ライブラリ向きではないという説はある。
unarist

UserScript

UserScriptを色々書いていると、まして同じサイト向けに複数書いてると、共通部分を切り出したくなるのだけど、だからといって同じrepoに置いた別ファイルをrequireするとせっかくその場でソース見れて改造できるUserScriptの利点がーーーってなるのでやだ。

// ついでにライブラリの更新を反映するために各UserScriptを更新とかだるいけど、
// 雑にこしらえたライブラリのことだから結局個別に確認するのが安心とかいうのはある。

そうして今日もコピペをするのだ。
unarist

Hatena::Let

ブックマークレットに設定とかプラグインとか設けたくなる。そんなことやろうとするなという気もするけど、ブックマークバーにボタンを置けてどこでも手動起動できるUserScriptみたいに使ってるので…。
// UserScriptも設定インターフェイス作るのは面倒だが、保存はGM_*とかやりようはある
unarist

JavaScript

interval * i 秒後に予約して順番にやるのこわいから、面倒でもキューを持ちまわして完了したらshiftして再帰ってやる今日この頃。でもやっぱり面倒。
unarist

Hatena::Let

https://gist.github.com/unarist/e7ee9237764cc5cd2a3b4a531db8b5ee
fork元とのdiff出すやつ、数revisionまたいだdiff見たいことがあったのでよくあるUIで足しました。というか、ソース中のLet(に限らない)URLは普通にリンクしたい気がしてきたので、こっち一本にするかも。
unarist

Hatena::Let

CodeMirrorをLet編集画面で使うuserscript、コードの前半をごりごりいじって構文ぶっこわれてる時にlint走ってフリーズすることがあるのが難点か。

そんなこんなでVSCodeに移しつつT/UBoxをまた拡張した。ちょっとごちゃごちゃしてきたなあ。
unarist

Hatena::Let

返信先unarist
今度はブックマークレット作成しようとすると既存のブックマークレットの編集になり、New Bookmarklet を押すと502…どうしろと。
▼はてなハイクの今月のスポンサー

表示内容を選択