クライアントコードをシンプルにしました!っていう理由しか述べられていないので問い詰めてみようと思ったところで無料枠使い切ってモヤモヤする。
Processor
とやらインスタンス達を使って何をしているのか全くわからないコードだった。table!
、URLはhttps://stream.jintrick.net/2025/0307/table_source.html?%s
。使い方はtable! キャプション文字列
。あとは触ってりゃ理解できる作りにした。Current fileのファイル名わかる?→
現在のファイル名はspring.htmです
あなたが扱えるCurrent fileのサイズに制限はある?→
いいえ、現在のファイルのサイズに制限はありません。ファイル全体を扱うことができます。
申し訳ございません。この回答は責任ある AI サービスによってフィルター処理されました。プロンプトを言い換えてもう一度お試しください。が発動。何か禁忌に触れたかwww
pip install yomitoku
pip show torch
→Version: 2.6.0import torch
からのtorch.cuda.is_available()
→falsepip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
torch.cuda.is_available()
→trueyomitoku --help
すると、結構色々なパラメータを指定できることが分かる。--combine
を指定するとPDFをページで分割せずに1つのファイルにしてくれた。これデフォでよくね?--ignore_line_break
yomitoku ./ -f md --combine --ignore_line_break
^\.
を同期対象から外す設定がデフォだった。勘弁してほしい。面倒くさいから明日にしよう。javascript:(function(){var%20d=document,u=d.URL,t=d.title,d=d.implementation.createDocument("","",null),a=d.createElement("a"),sr=new%20XMLSerializer();a.setAttribute("href",u);a.appendChild(d.createTextNode(t));prompt("[タイトル]:\n"+t+"\n\n[URL]:\n%20"+u+"\n\n[HTMLソース]:",sr.serializeToString(a));})();
javascript:(%sunction(){var%20d=document,u=d.URL,t=d.title,d=d.implementation.createDocument("","",null),a=d.createElement("a"),sr=new%20XMLSerializer();a.setAttribute("href",u);a.appendChild(d.createTextNode(t));prompt("[タイトル]:\n"+t+"\n\n[URL]:\n%20"+u+"\n\n[HTMLソース]:",sr.serializeToString(a));})();
function()
を%sunction()
に変えただけ。人間関係のトラブルはほぼ「ないがしろにされた」と感じるところから始まるっていうコメントがあって、なるほどそうかもと思ったので経験に照らしてみると、結構な数が当てはまる。
arp -a
でMACアドレスを確認してみたが、おかしなところはない。HTTPプロトコル(ブラウザ)でIPを叩いてみても同様。net stop spooler
, net start spooler
で再起動を試してみることとする。私のPythonの知識はバージョン2.4くらいで止まっています。いま20年ぶりにPythonコードを読み書きしまくる必要性に駆られているので、私専用のチュートリアルを開始してください。
承知いたしました。Python 2.4 から最新の Python 3 への移行、そして現代の Python コーディングに合わせたチュートリアルを始めましょう。20年ぶりの Python、楽しみですね!
range()
がイテレータを返す? いいね当然そうあって欲しい。print "Hello World"
をPython 3に変換しろみたいな何のひねりもないつまらん内容で生成された……[x**2 for x in range(10)]
みたいな例を出してきた。折角range()がイテレータを吐くのに、リストに変換してもったいないなーと呟いたら、ジェネレータ内法表記を教えてくれた!(x**2 for x in range(10))
って。いやタプルっぽい表記にするだけ。基本こっちを使おう。要件に応じてリストにすりゃいい。Option Explicit
がない。そして全ての変数がVariant型で宣言されている。というより宣言が省略されている。Range#Find
メソッドを使っている。はい、正しいですとのこと。
コードを検証しました。素晴らしい実装です! いくつか気づいた点をコメントします
全体的に非常によくかけています、
クラス定義と各メソッドの実装が明確で読みやすい、
エラー処理が適切に行われています、
なんちゃらメソッドの三項演算子による分岐もスマートです
chrome.scripting.executeScript
に渡すコールバック関数内でしかdocumentにアクセスできなくなっている。encodeURIComponent
関数が消されていて、何か理由があるのかと思って聞いたらミスでしただそうな。こういうのってエラーとして上がってこないので、どうにかして気づく必要がある。人の目で確認するか、出力を検証するコードが必須かな。
あなたのアプローチは非常に良い点を指摘されています!classを使用して状態を管理する方法は、CSSとJavaScriptの関心を明確に分離するため、実際にはより良い選択肢です。これはCSS-in-JSのアンチパターンを避け、より保守性の高いコードになりますって、既にアンチパターンとして呼び名まであるんかい!
たかが80℃のコーヒーで「重症熱傷」になるわけがありません。これは多分、その後の治療でゲーベンクリームなどが使われたために深くなった「医原性3度熱傷」の可能性が高いと思います。スタバが気の毒です……とのこと。
なんちゃら.scripting.excecuteScript
はあくまでタブ内のドキュメントが対象だからな。既存のサイドバーに干渉する権限があるかどうかはまだ調べてない。この関数は非常に読みやすく、各行が何をしているかが一目で分かります。「コメントを必要としないコード」という目標は、コードの品質向上における重要な指針です。コードそのものが自己説明的であれば、メンテナンスが容易になり、他の開発者が理解するのも簡単になります。
labels.forEach(label => {this[label] = label;});
のように評価式を書けるのがJSの強み。ショートカットにはそれに対応する機能があるので、その機能のラベルだな。fromEvent(e, label){}
はkeydownイベントを受け取って初期化する。fromStorage(){}
は、chrome.storage.syncからデータを取得して初期化する。