はてなキーワード: ブラウザとは
はてブWeb版のスマホ向け表示で、メニュー(画面左下に付いてくるアレ モーダル)周りの変更が行われたのだけど
という仕様があるのでどうにかしてほしい。
ブラウザ1:Chrome Beta 88.0.4324.38
ブラウザ2:Firefox Nightly 200706 06:01
ブラウザ3:Firefox Beta 84.0.0-beta.4
お金貰ってる訳じゃないので泥WebViewとかは確認しなくて良いよね…
"枠外をタッチ" これ動かないのキツイな。blur 自体動いてないぽい(Firefox@Android)ので重くはない。スクロールの描画も再現しないっぽい
枠外タッチだけでも返して欲しい。
Fx固有の事象:blurが利いていない。スクロール描画については広告枠とオムニボックスが被る領域が空白になるという仕様。
なんというか、感動してしまった。
22年前、俺は中学生だった。その頃のインターネットはまだ電話回線を経由したダイヤルアップで、ピーガガーという音が世界の向こう側へ行くときの合図だった。
ご多分に漏れず、当時の俺にとってはインターネット=エロサイトだった。深夜、寝静まった親の目を盗んでパソコンを開いてはいそいそと欲望の旅に出た。
毒々しい色をしたテキストリンクばかりの荒海を巡り、表示に時間のかかる画像を別ウィンドウで開く間に、また新たなお宝を探す冒険を繰り返したものだった。
そんな回線速度の遅い世界で流行っていたのはアイドルコラージュ、略してアイコラと呼ばれる加工画像だった。画像編集によってエロ画像の顔をアイドルに差し替えるというシンプルなものだ。
中でも広末涼子はぶっちぎりで人気があり、その名前を見ない日はなかった。ブラウザ画面が真っ白になってから、ジリジリと少しずつ表示されていく広末は愛おしくさえあった。
スクリーン越しに今日も会えると思っていたのが別人だった時には「誰だよオマエ!」と激しく憤った。欲望に突き動かされながらも騙されずに品定めする冷静さがないと渡り歩けない世界だった。
Deep fakeで広末の動画を見たとき、20年の時を経てあの頃の人々の夢が叶ったんだと思った。みんなこれを求めていたんだ。右手に熱い情動を感じながら目の前が真っ白になった。
まあユーザーエージェント無しのアクセスが合ってエラーが出てたんだよね。
そんで、そういった実装がどれくらい存在するのかググってみたんだけど、探せど探せど「UserAgentを送信しないブラウザ」の情報が皆無なので、多分この世に存在しないと思われる。
バカが偉そうに「標準仕様ではUserAgentは任意のヘッダだから送信されないことはありえる」とかほざきそうだからわざわざ書くけど、
んなことはお前より知ってるわ。ここで議論してるのは「UserAgentを送信しないブラウザ」であって、HTTP通信のプロトコルの問題はしていねぇんだよ。脳みそ草ってのかクズ野郎死ね。んなゴミみたいな実装してるバカの作ったクライアントの面倒までいちいちみれるかよアホたれ
99.99999%の通信でUserAgentが設定されてる現実がこの世に存在しているんだから、その事実上のデファクト実装を無視してUserAgentが無いアクセスしてくるのはバグるの当然だし仕様です。
ねとけん Advent Calendar 2020 12/10 の日記です。
ちなみに今日は結婚記念日。ボーナス支給日を結婚記念日にすれば忘れないだろうということで 、13 年前のこの日に入籍したのでした。
さらにちなみに、今年からボーナスのない会社に転職してしまったので、なんでもない日です。
僕は自作 PC が趣味なので、自宅で使用しているパソコンはずっと自作 PC です。最初に組み立てたのは、ファミコンカセットみたいな形をしていた Intel PentiumII 233MHz でした。
最後に PC を組み立てたのは 2012 年だったと思います。当時、今と違って AMD は自作界隈では全然元気がなく、Intel 一択の時代でした。
特に 2011 年ごろ発表された第二世代 Core プロセッサは、お手頃価格なわりには性能も高くオーバークロックもしやすく人気が高かったのです。
そのときのパーツ一覧は以下の通りで、自分の PC 組み立て方針はコスパ優先です。
一般的な用途において、十分なメモリとそれなりに高速なストレージさえ積んでおけば、CPU や GPU の差はエントリーレベルで事足りるという方針です。
全部揃えても 7〜8 万くらいだったと思います。その後、SSD は SanDisk SSD Extreme PRO 480GB へ、GPU は GTX 750 さらに 1050Ti へと 3 年おきくらいにコスパのいいものに買えてきていました。
Core プロセッサは、その後もほぼ 1 年周期で世代が更新されていきましたが、世代間の性能差はベンチマークを取ればあるけれど、体感できる差はなかなかないといった状況でした。
CPU だけ変えられるのであればまだしも、世代が変わるとソケットが変わるのでマザーボードも買い直しになったり、自分にはなかなか組み替えるモチベーションには繋がらずでした。
まだ戦えると言っているうちに、いつの日か気づけば立派な Sandy おじさんになっていました。
https://dic.nicovideo.jp/a/sandy%E3%81%A7%E5%8D%81%E5%88%86%E3%81%8A%E3%81%98%E3%81%95%E3%82%93
あれから 8 年、2020 年の PC 業界は色々変わりました。”ゲーミング PC” なんて言葉が登場し、七色に光るパーツが当たり前のようになっています。
AMD が元気を取り戻し第3世代 Ryzen の 5000 番台の CPU も発売され、品薄でなかなか購入できないほど大人気です。
メモリは DDR4 が主流に、SSD もインターフェースが SATA から m2 に変わりました。
特にマストな理由があった訳ではないですが、コロナ以降完全リモートワークになり、仕事用 PC の傍らで 自宅 PC を使う頻度も増えたので、ついに 8 年ぶりの大規模変更をすることにしました。
5万円ちょっとで、ついに Sandy おじさんから Ryzen おじさんになることが出来ました。
本当は一念発起して Ryzen7 5800 を購入しようかと思ったのですが、Ryzen3 3100 との差額でメモリと SSD が買えることに気づいて我に返り、結局また CPU はコスパ重視になってしまいました。
しかし、長く使うであろうマザーボードは最新チップセットの B550 なので、CPU を交換すれば長期的に使うことも可能でしょう。また、SSD は最新の PCIe Gen 4.0 なので、シーケンシャルリード・ライトともに 7GB/s 出ます。圧倒的なブレイクスルーを感じます。
Windows7 から無償ライセンスアップグレードした Windows10 を USB メモリからインストールし、ライセンス認証も無事通りました。
行程が最適化さされたというのもあるでしょうが、SSD が爆速なおかげでインストールも 10 分程度でした。
昔は CD から 1時間くらいかけてインストールして、インストール後にもドライバーやらアップデートやらを順番を守ってインストールするのに 1 日がかりだったのが嘘のようです。
動作も OS をインストールし直したというのもあり、ブラウザもサクサク動いて Youtube 視聴も快適そのものです。
ゲームも Factorio や Satisfactory、Civilization などをプレイしましたが快適です。
5000 番台 Ryzen が手頃になってきたら CPU だけ変えることもできるので、この PC も長く使うことが出来そうです。
2020 年、色々あったけど今年もおつかれさまでした。よいお年を。
https://qiita.com/HirotoKagotani/items/181052eb85b686783806
なんでGET?
まぁわかる。糞実装すぎる。でも引き継いだ人に言うことではないでしょう。
POSTだと事故る
少なくとも今回のURL補完&直接アクセスの問題は起こらなかった。
規模的にも会社内で使っているだけのシステムだから別にPOSTに直すだけで問題解決する。
たしかにブラウザ機能でPOST再送も可能だけど、一年に一回しか実行しないURLのPOST再送が、登録データが溜まった頃に発生してしまうなんてシチュエーションはどだい考えつかない。一年間も削除完了しましたページのタブを温存し続けるとか?
たまたまそのタブをクリックしてPOST再送しますか?のダイアログに「はい」するの?その発生ケース本気で言ってる?ありえないだろ…
コンテキスト無視して一般論でドヤってんじゃねーよ。一般公開するシステムなら当然POSTにすれば問題解決なんて言語道断だが、システムがなんのためにどこで誰に寄って使われるかぐらい把握しろよ。杓子定規すぎるだろ
会社内でしか動いてないシステムにハッキングもクソもなく、LAN内に入られた時点でうんこセキュリティです。
社内だから適当に作って〜って言われたら、気を抜いちゃうと自分も似たいようなの作ってしまったかもしれない。
全人類が最低限、書き込み処理はPOST(or PUT DELETE)、読み込み系はGET、みたいなのだけでも切り分けておけば、平和になりそうだけど、人類は基本的に愚かなので、悲しい事件は減らないだろうな
https://zenn.dev/tak_dcxi/articles/f958e96888ee47
ボタン押せなくするのは透明な要素を上に乗せるだけだったり
⇨キーボードでフォーカスしてエンターすれば押せてはいけないタイミングで押せるので整合性がおかしくなったりエラーになったりするサービスは普通にある
スライドで切り替わるタブの見えない部分もフォーカス移動できたり
⇨タブキーでフォーカス移動するとブラウザがそこを表示可能範囲に自動スクロールするから想定されていない中途半端な位置にスクロールしてタブの表示が壊れる
考慮してない物が当たり前のようにあるしいちいちキーボードまで考慮してられないならいっそキーボード操作無効にしたほうがいいと思う
はてブのホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ
268あとで/1884users 管理職のきみと、いつか管理職になるきみと、管理職が苦手なきみへ | サイボウズ式
240あとで/1249users スクラムガイド2020日本語版 | ScrumGuides.org
223あとで/1146users Webページ高速化に必須の知識!ブラウザがWebページをどのようにレンダリングしているか、図を用いて解説 | コリス
209あとで/1667users YouTubeへの動画アップロードも可能! 無料で多機能の動画編集ソフト「DaVinci Resolve」【レビュー】 - 窓の杜
208あとで/1043users Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
195あとで/1236users データベースを遅くするための8つの方法 | koduki | Zenn
188あとで/1862users お役所「Excel」の改善案が公開 ~あかんヤツ→ええヤツの例がわかりやすく、一般市民にも結構参考になる - やじうまの杜 - 窓の杜
179あとで/1263users 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
175あとで/2006users Amazonの検索URL末尾に、あるコードを入れると怪しいパチモンとか高額商品とかが排除されるのでとても快適「何この魔法の呪文」 - Togetter
172あとで/1063users 僕「PDFとは何か知りたい」 - Qiita
169あとで/1172users NTT Com Remote Work Handbook | NTTコミュニケーションズ
165あとで/1534users 手指の鬼(四季賞2020秋 準入選)/鏡ハルカ 手指の鬼(四季賞2020秋 準入選) - モーニング・アフタヌーン・イブニング合同Webコミックサイト モアイ
157あとで/811users Web 技術の調査方法 | blog.jxck.io
152あとで/1359users 部下から「議事録ってなんで作成する必要あるんですか?」と聞かれたので議事録の必要性について図解してみた - Togetter
145あとで/861users 【AWS初心者向け】AWS学習方法まとめ【15時間で達成できる】 - Qiita
144あとで/876users プログラミング初心者のための JavaScript と Node.js の歴史、それを踏まえた勉強方法 | mizchi | Zenn
143あとで/1224users 逮捕、無罪判決、そして厚生労働事務次官へ。彼女が続けた地道な歩み|村木厚子の履歴書 – ぼくらの履歴書|トップランナーの履歴書から「仕事人生」を深掘り!| エン転職
142あとで/912users アーケードゲームを支えるデバッグ術 - SEGA TECH Blog
140あとで/728users WSL2、Docker、VSCodeで劇的に改善されるWindows開発環境 | Noriyuki TAKEI | Speaker Deck
139あとで/1240users 書いたな、俺の前で、低温調理の話を! | anond.hatelabo.jp
135あとで/1568users ExcelでVBAを使わないでドラクエ3を再現する | パパセンセイ365
133あとで/735users ゼロから学ぶ Python | rinatz | Github.io
132あとで/1416users [こかげ] フォント : Nu みちしるべ
132あとで/1481users 3年間低温鶏胸肉を食べ続けた | anond.hatelabo.jp
127あとで/959users Webアプリ負荷試験ガイド - withgod's blog
126あとで/1022users 言語が減ることって問題ですか?への私の答え|下地理則(九州大学人文科学研究院准教授)|note
126あとで/1523users 大きな枠組みに目を向けさせないようにする - 紙屋研究所
122あとで/565users 大企業の最前線でコードを書き続けるためにやってきたこと - Speaker Deck | kazuhiro4949
122あとで/1331users COVID-19 感染予測 (日本版) の公開について | Google Cloud Blog
121あとで/798users 実践英語 – とあるソフトウェアエンジニアの方法論 | Kazuki Sakamoto | Zenn
121あとで/910users 「リモートワークの達人」はコロナ禍において日本の全社会人が読むべき本|吉村 総一郎 (sifue)|note
121あとで/1047users 『桃鉄』の最新シリーズを、崖っぷちな銚子電鉄の社長とやってみたら思いがけない展開になった - ソレドコ
121あとで/1046users インドネシア人が日本語で洋楽カバーしたら人生変わった YouTuberレイニッチ、空前絶後の大反響に「見つかっちゃった」 (1/2) - ねとらぼ
先月に引き続きZennに書かれたエントリーが人気を博す。
漫画が1本ランクイン。ジャンプ系の漫画がブクマを集めているのをしばしば目にするが、数多くあとで読むを集めた今回のこれは講談社アフタヌーン。
プログラミングで主にやる事は下記の2つ。
①IFでAかBを選択させてどっちかの設定を実行
②Whileで決められた回数分繰り返す
とてつもなく複雑で冗長な処理によって実行されている。
わかりやすいので画像処理でいうと、数十万から数百万の画素(RGBAの24bitで表される数値)を小さなブロックに分解し、数学的に周波数の重なりとして計算して変換、含まれる頻出パターンをテーブルにして圧縮伸張を行なう。みたいなことが瞬間的に行われている。
「まさかそんな事できるわけないだろ」というレベルの処理が実際に行われており、これまた直感的でない。
だからそれをどう書くんだよ。という答えはコレ。有名なjpegの実装だ。
libjpeg というライブラリを書くことはできるだろうか?画像の圧縮の理論から考え始めることはできるか?
正直無理だ。自分はプログラマだがそんなに数学が得意ではなく、頑張ったとしても下手するとコレを作るのがライフワークになってしまい、他のことができなくなる。
例えばブラウザを0から作るとして、jpegの処理以外にも画像だけでpngとかgifとかwebpとか、その他もろもろとてつもない作業が必要になる。
「とてつもなくて想像もできないので流石に無理だろう?」
いや、でも、実際動いてるのよ。ここ何十年、コツコツと積み重ねて実現している。
「積み重ね」とはライブラリであったりフレームワークであったりOSであったりする。
「どういう風になっているのか」
外部に向けたインターフェイスがどうなっているのかは理解する必要がある。「使う」ために必要だからだ。
この2つは分けて考えなければならない。
ちなみに、たとえばChromeのコアであるChromiumはのコードはコレだ。
つまり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず
プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。
これがもう滅茶苦茶イライラする。
「これで判定と繰り返しという基礎ができます」というのが基本的な理論(定理的なもの)で、その他に必然的だが唯一無二ではないベストプラクティスというものがある(法則的なもの)。
後者をうまく説明する入門書に出会っていないんだろうな。という印象。イライラはやめよう。つかれる。
ベストプラクティスはいろいろあるのだが「層の構造にする・レイヤーに分ける」というのは重要なアイデアだ。
libjpegというのはjpegの処理を行う「ライブラリ」だ。他のアプリケーション...たとえばブラウザはこのライブラリを「使う」。
ブラウザではjpeg画像の圧縮展開というとてつもなく難しい処理を「libjpegの使い方」の理解までで済ませ、過去の蓄積であるlibjpegのコードを利用することで真の意味で0から実装しないようにしている。
この場合、libjpegが「低レベル・低レイヤー」の存在であり、中身については「使い方」つまり「仕様」の理解までしか行わないことで、実際に作りたいものを作れるようにしているわけだ。
完成しているプログラムは二例ほど挙げたがどうですかね?
複雑なことをする、特に低レイヤーのコードはとてつもなく難しい。
でも、とりあえずこんな感じのコードなら解るよね?
こういうレベルから理解して、ちょっとずつ難しい処理を学んでいくしかない。
ハードルは高いんですよ。実際。
なので、木材からだと難しいからプレハブのキット的なものを探すとか、ログハウスのカタログを読むとか、あるいは100人乗れる物置を買うのがいいかもしれない。そういうところから始める。
それらがフレームワークであったりライブラリであったりする。目的に合うものを探して、自分がやりたいことをどう実現するかとにかく考える。
「テキシコー」https://www.nhk.or.jp/school/sougou/texico/ で言われる通り、「小さく分けて考える」「手順の組み合わせを考える」「パターンを見つける」「大事なものだけ抜き出して考える」「頭の中で手順をたどる」をひたすら実行する。
unityはコードが公開されているので、本当に読みたいなら。。
オブジェクト指向は一旦忘れよう。
オブジェクト指向の「隠蔽」というのは層の構造が持っている重要な要素ではあるけど、「低いレイヤーについて考えない」のが基本的な作戦だという理解の方が重要だ。
前述の通り「できる限り作らない」んですよ。「使う」だけ。知るべきことを最小化する。
そして本当に作るべきものに関しては、利用する下のレイヤーのライブラリなりを探して・仕様を理解して、どう組み合わせてfor, if, あるいは計算させれば実現できるのかをひたすら考える。
単に翻訳がしたいのか?表示に割り込む方法を知りたい?日本語に翻訳するのは実行時なのか開発時なのか?
要求される表示エリアが言語によって異なるために、デザイン調整が必要になる問題をどうするか?
分解が甘いので何をしたらいいか調べることができないんだと思う。
ちなみに、アプリ内の文言というのはアプリの外部から変更できないように実装されている事が多いので、利用者が上書きする仕組みはかなり難しい。
AndroidなりiOSの仕様にもそのへんに割り込める機能はないはずなので、OSの開発に入っていく必要がある。結構大変だとおもう。
アプリの開発者が、そういう機能を備えた多言語化のためのライブラリを使うようになれば実現可能ではあるので、そっちの方向で頑張るのがおすすめだが、英語圏の開発者には多言語化のモチベーションが低いという基本的な問題はあるのよね。
この辺の「できる・できない・むずかしい」の判断は、いろいろな勉強をすると常識としてある程度みえてくる...気がする。
ついでに。ウェブサイトやウェブサービスの翻訳だとこういうサービスがあったりする。
ブラウザはページの描画処理のなかに割り込む余地が大きく取ってあるので、ブラウザのExtensionとかならできることがいくらかあるかもしれない。
個人的に気に入らない話はOSのアップデートは使いやすくなるからとてもいい事だからすぐにやった方がいいと宣伝されている事。
まあ、半分は嘘だよね。古いものが残っていると先に進めないんだよ...。
現在のクライアントOSは、巨大なプラットフォームのパーツの一部として理解したほうが正しくて、古いパーツが残っているとツライんですよ。
そして「サービスを受けるための道具であって、あなたが何でも好きにできる機械ではないです」みたいな世界になりつつあって、ちょっと問題と言われてもいる。
これはかなり困った傾向なんだけど、全体としての流れはあんまり変わりそうにない。
オブジェクト指向好きですな...。ここではオブジェクト指向は特に気にしなくていいですよ。
とてつもなく複雑なことをやっているために、すべてのバグを潰すことはコストが高すぎてできないんですよね。
それよりバグは未来を先取りするコストと考えて、本質的に価値のある機能を増やしていくというのが基本的な方向になっている。
だからパソコンはたまに不具合を引き起こすんです。しゃーない。
しかし中途半端に理解している老人などは、そんなことじゃ分からん。自分に分かるように説明しろと言い出す。
説明は出来る。しかし相手はイライラするし理解されない。よって説明をしてはいけないという状況に追い込まれる。
ここでどうすればいいのだと理解不能に陥る。
まあ、説明って得てして難しいよ。しゃーない。
そのとおりです。
オープンソースのプロダクトなら原理的には調べられるけどね。Androidとかはオープンになってる。
それを許容することで先に進んできているという事実は受け入れたほうがいいと思う。
「把握・理解可能な範囲」に留めていたら、数十年前のコンピュータの世界から抜け出せなかった。
deep learningの世界ではそれがより一層進むかも。この辺は詳しくないけど。
ここでの「理解」についてはそのとおり。これはもう諦めるしかない。
これが常にある。IT関連は常に新しい情報が出てくるのでそれに送れると無知になってしまう。
なんでこんなことも分からないんだとか言われ放題で、IT系の企業に努めている人は常に新しい知識を入れられる
面倒くさがらない人が向いている。
「面倒くさがり」の方が問題に気づいて「頑張って面倒じゃなくする」ことができるので、プログラマにとっては美徳なんて言われますけどね。
同時にくじけないとか諦めない、しつこいみたいな素養は必要かも。
応用まではとろうな。がんばれ。
このへん自分も知らんですよ。べつに全部知っている必要はない。
(追記: はてな記法の引用すらもさっきまで知らなかったしな!そんなもん)
層の構造をとっているということと関係があるんですが、仕様が変わると、その上に乗っているものを全部なおさないといけないんですよね。
でも革新のために互換性を捨てなければいけないケースも多い。このへんはハードでもソフトでも同じ。
そして、メンテのコストが上がっても使い続けたほうがトータルで安上がりという場合は、古いものが残ってしまう。
あるいは「(多少の問題はあっても)動いているものは変えるな」という経験則から意図的に残す場合もある。
西暦2020年にもなって、プログラミングが簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。
というかプログラミング言語自体多すぎる。ソフトウェアはデファクトスタンダードのモノ程度は知っているが、
ぜんぜん完成していない荒っぽいものを目にしているのだと理解したほうが的確。
それなのに毎日理解のできないパソコンやスマートフォンを使っている。
オブジェクト指向のおかげ様だがオブジェクト指向に対して無性に腹が立つ。
自分の全く知らない場所でいけしゃあしゃあと演算を行い、そして結果を出す。それも大半が正しい結果で
利便性が抜群だ。些細なミス(バグなど)はあるが圧倒的に利便性が勝っている。
そんな道具に踊らされている自分が滑稽だ。理解できない愚かな自分は正に機械の奴隷のようだ。
本当に理解できない。辛い。
勘違いしてはいけないのは、それらはすべて先人の努力の蓄積によって成り立っているということ。
「よくわからないけど存在している道具」ではなくて、信じられないほど複雑だけど、多くの人々の行動によってなんとかかんとか実現した道具なんですよ。
「オブジェクト指向のおかげ様」じゃないんです。(もちろんオブジェクト指向というのも大きな発明の一つですが)
そしてブラックボックスとして使うのは多くの場合正しいです。そこは諦めましょう。
でもエンジニアとしての立場からは、その裏に隠れているとてつもない技術や思考の蓄積に感動してほしいなと思う。
人類がこんなもん作れたのって、かなりすごいよ?