TypeScriptは近年JavaScriptに代わってWebフロントエンド開発で利用されているプログラミング言語です。TypeScriptは開発生産性および開発者体験に優れていることから、開発現場で広く採用されています。TypeScriptを学ぶことは、今後のWebフロントエンド開発では、ほぼ必須といって良いでしょう。この記事ではTypeScriptを使うメリット、ならびに「TypeScript Deep Dive 日本語版」を活用してTypeScriptを短期間で学習する方法を紹介します。 はじめに 筆者はSIer出身のITエンジニアです。ゲーム開発会社などを経由して現在は一般企業でエンジニアとして勤務しています。はじめてTypeScriptの重要さを知ったのは、2018年ごろに「TypeScript Deep Dive」を読んだときでした。そして、今後必ず多くの人に役立つと考え、オリ
setTimeout は、指定された時間以降に指定されたコードを実行する JavaScript の API です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん
Web Vitals Stay organized with collections Save and categorize content based on your preferences. Web Vitals is a Google initiative to provide unified guidance for web page quality signals that are essential to delivering a great user experience on the web. It aims to simplify the wide variety of available performance-measuring tools, and help site owners focus on the metrics that matter most, the
Mozillaは、基本的な情報を入力するとAIが自動的にWebサイトのデザインを作成し、Webサイトの公開まで可能なサービス「Solo」を公開しました。 Soloは基本的に個人事業主が自分のビジネスのためのWebサイトを構築することを想定してWebサイトを作ってくれます。その理由をMozillaは次のように説明しています。 In 2023, website creation is still hard. While choosing a template is straightforward, sourcing images, writing content, and making a visually appealing site are really time-consuming. Add the requirements for showcasing reviews, schedul
2020年11月06日 22:59 情報が古くなっている場合があります。 Apple storeの「まもなくです」は、実は「503」エラーである 今日の午後10時から iPhone Pro Max と Mini がようやく予約注文可能となり、まだかまだかと10時になった瞬間、更新ボタンを押すと「まもなくです」と黒い画面が表示されて、10分経ってもまったく変わらなという経験をされた方も多いのではないだろうか。 今までは「まぁ、色々準備してるのかな~」ぐらいに思っていたのだが、実はこれ、外見からはまったく分からないが「503」エラーなのである。 503エラーとは、サーバーにアクセスが集中しすぎて処理しきれなくなったときに表示されるものだ。 Google Chrome のコンソールを見ると、たしかに503と表示されている。 Apple はエラー画面もオシャレ。 ストアに繋がるかは運次第!! Go
ウェブブラウザはネットワークから様々なリソースを集め、それらを処理して組み合わせてウェブページをレンダリングします。リソースが揃わないとレンダリングできないので、この一連の処理のどこかが遅れるとページの表示も遅くなります。レンダリングをすみやかに開始できるようにウェブブラウザはリソースの取得やその処理を最適化するための API を提供しています。本記事ではそれらを網羅的に紹介し、ウェブアプリの性能改善を図る上でどのようなブラウザ機能が使えるのかを知ってもらうことを目的としています。各機能の具体的な適用事例については他の記事に委ねます。 本記事の内容は記事公開時点での情報に基づいており、閲覧時点では既に古くなっている可能性があります。最新の正確な情報は一次情報源を参照してください。また特定のブラウザ実装について言及する場合は、断りがない限り Chrome を想定しています。誤りや補足、質問な
グーグルは、自社の広告エコシステム内でのサードパーティー製クッキーの廃止を約2年延期し、2023年末とすると発表した。関係する広告業界が変更に対応する時間を設けるための措置だと説明している。 この決定により、グーグルにとっての真の顧客とは誰なのか、そして誰の声を真っ先に聞き入れるのかといった同社の優先事項がはっきりした。私たちはグーグルにとって、売買の対象となる原料に過ぎないのだ。 今に始まったことではないにせよ、グーグルにとって私たちユーザーは搾取するべきリソースに過ぎず、耳を貸す存在ではないことはいらだたしいものだ。サードパーティー製クッキーの使用(特にあからさまな乱用)がユーザーの反感を買い、常に監視下に置かれているような感覚を生んでいたとしても、グーグルはそんなことは気にも留めていないのだ。 アップルやモジラ・ファウンデーション、ブレイブなどの他社が自社製ブラウザーでサードパーティ
Webにおける表現はどんどん進化しています。Webサイトには当然のように動画が埋め込まれるようになり、CSSやSVG、canvasでのさまざまな表現が頻繁に見られるようになりました。さらにAR、VRといった表現も台頭し筆者も毎日ワクワクしながらインターネットの海を泳いでいます。 その中であまりメジャーではないと感じるのは「音」による表現です。もちろん音を用いた素晴らしいWebサイトはたくさんありますが、環境の制約が視覚表現以上に大きいため多くは見られないのでしょう。 とはいえ、音と視覚表現を組み合わせることによって表現できる世界観、インタラクション、その他諸々は計り知れないと筆者は思っています。今後オーディオなどの技術の進歩によって上記で述べた制約も乗り越えられるようになるかもしれません。時代を先どりしたい読者に向けて、今回の記事ではWebで音を扱う技術Web Audio APIについてお
2021年になりましたね。 矢倉眞隆(myakura)です。ウェブ標準やブラウザに興味のあるウェブ開発者です。gihyo.jpでは2009年に「Web標準とその周辺技術の学び方」という連載をしていました。 今回は昨年の泉水さんに代わり、2021年のウェブ標準やブラウザの動向を占おうと思います。2020年は世界もブラウザもそれなりに大きな出来事がありましたので、2020年の動きをまずおさえ、そのうえで2021年はどうなるのかを考えてみました。 W3Cのプロセス改訂でLiving Standardライクな仕様の改訂が増えていく W3Cは2020年9月に、新しいプロセス文書と特許ポリシーを公開しました。 新しい文書プロセスはW3Cの組織の定義や標準化の流れ、意思決定などについて定めた文書です。ここ数年は毎年更新されていますが、2020年はこれまでと比べて最大級とプレスリリースでもうたわれています
2017年のシステムリニューアルで提供を終了していた「タグの一括編集機能」を、PCのブラウザで再びお使いいただけるようになりました。ブックマークしたエントリーに付けた「タグ」を、一括で別の名称に置換、または削除することができます。 再提供に伴い、タグの置換や削除ができるUIも新しくなりました。また、タグで絞り込まれたページの「関連タグで絞り込む」欄と「タグ」欄の上下を入れ替え、一括編集の操作をしやすくしています。 本機能については、これまでにも数多くのユーザーさまから提供再開のご要望をいただいておりました。ご意見をお寄せくださった皆さま、誠にありがとうございました。 タグの一括編集機能の使い方 タグを一括で置換・削除する手順をそれぞれご紹介いたします。 まず、はてなブックマークのヘッダー「ブックマーク」からブックマークの一覧ページにアクセスします。続いて、左カラムにある「タグ」欄から、変更
「フィンガープリント」とは、JavaScriptやCookieなしでウェブサイトのユーザーを識別するための固有識別子で、ユーザーの属性・行動・興味・関心といった詳細な情報をもとにマッチする広告を表示するターゲティング広告に用いられます。そんなフィンガープリントが、JavaScriptやCookieを使わずにどうやってユーザーを特定しているのかがよくわかるサイト「No-JavaScript fingerprinting」が公開されています。 No-JavaScript fingerprinting https://noscriptfingerprint.com/ 今回はGoogle ChromeからNo-JavaScript fingerprintingにアクセスしてみます。アクセスする前に、JavaScriptを使用しないようにあらかじめブラウザから設定しておきます。Chromeの右上にあ
CSSで、期待通りに表示されない、なんかずれてる、ブラウザによって表示が異なる、ということがありませんか? CSSで期待通りに表示されない時に、根本的な原因を見つける方法を紹介します。 その原因がブラウザによるものなのか、CSSの仕様によるものなのか、どのように機能するか知ることで、問題の根本的な原因を見つけることができます。 Finding The Root Cause of a CSS Bug by Ahmad Shadeed 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 注意: ここでの「バグ」はエラーだけではなく、想定外の挙動・振る舞いです。 はじめに CSSの基本的なバグ ドロップダウンメニューの配置 HTMLの置換要素 オーバーフロー要素とインラインブロック要素 インラインブロック兄弟間のスペース まとめ はじめに
『アマゾン転売屋ブラックリスト』はボタン一つでブラックリストの作成から共有までできます。かんたん解説漫画つき。転売屋はこの世から駆逐してやりましょう(´・ω・`)b はいこんばんわ。 実は今腹痛で死にそうになりながらノートを書いています。 予告ではスマホ対応のつもりだったのですが、どうもうまくリンクが動かないので、今回はデスクトップ版を使いやすくまとめました。 2020/09/26 メルカリ、楽天、ヤフオクにも暫定対応しました 2020/09/23 iPhone にも対応しました 2020/09/27 androidにも対応していました。使い方はこちら 前回まで5つに分かれていたブックマークレットですが、これを一つにまとめました(`・ω・´)v 緑で囲った5つが前回までのブックマークレット、それで、赤い丸で囲ったものが今回統合したブックマークレットです(`・ω・´)v 2020/09/27
Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か? 静的なHTMLファイルをWebサーバが配信する仕組みから始まったWebは、サーバ側で動的にHTMLを生成するCGIの仕組みや、Webブラウザ上でJavaScriptを実行してインタラクティブな操作を実現するなどの仕組みを得たことでWebアプリケーション基盤へと発展しています。 現在、Webアプリケーションの仕組みとして代表的なものがSPA(Single Page Application)でしょう。 SPAはWebブラウザ上で多くの処理が行われるためユーザーの操作に対する反応が速く、インタラクティブ性の高い快適なWebアプリケーションを実現できる利点があります。 しかし、これからのWebはサーバサイドレンダ
クラウドのアーキテクチャ図作成ツール「CloudSkew」、Webブラウザから無料で利用可能。AWS/Azure/GCP/Kubernetes/Oracle Cloudなどマルチクラウド対応 クラウドのアーキテクチャ図を作成するためのWebアプリケーション「CloudSkew」が公開されています。 AWS/Azure/GCP/Kubernetes/Oracle Cloud/HashiCorp/Alibaba Cloudなど人気のクラウドやツールのアイコンがあらかじめ用意されており、Webアプリケーションとして提供されているためインストール不要で、誰でも無料で利用可能です。 操作は一般的なドローツールと同じように、左側からアイコンを選んで真ん中の図に置き、アイコン同士を矢印でつなげていくことでアーキテクチャ図が作成されていく、という感じです。 開発しているのは、元マイクロソフトのエンジニアを
巷で話題になっているこの話題、画像をスクレイピングやダウンロードされたくないということで騒がれています。その話に関しては色々な意見があると思ってますがここでは置いておくとして・・・ 技術的にやるとしたら実際どれくらい対策できるの?ということが気になったので、自分の知識で出来る限り対策したものを作ってみることにしました。 最初に 賢い方はわかると思いますが、タイトルは釣りです。 絶対に画像をダウンロード&スクレイピングさせないページは存在しません。ソフトウェアにおいて絶対と言う言葉はまず存在しないのです。ブラウザで表示している以上、仕組みさえわかれば技術的には可能です。 そのため、 「元画像のダウンロードとスクレイピングを非常に困難にしたWebページを本気で作ってみた」 が実際のタイトルかなとなります。 とはいえ、この仕組みであれば大多数の人は機械的にスクレイピングすることを諦めるレベルの作
長い間 Chrome の DevTools を使ってきて、便利だなと思った機能をまとめてみました。 様々な機能があり、これを覚えておくと開発時に役に立つかもしれないので、ぜひ使ってみてください。 この記事は Corome DevTools 公式 を参考にしています。 日本語化 英語が苦手な方は日本語化しましょう。 手順 DevTools を開いたら、歯車マークをクリック Language で日本語を選択 [Reload DevTools] をクリックして DevTools のリロードをする 要素の状態を強制 指定の要素を :hover や :focus などの状態に強制的にすることができます。 そうすることで指定状態時のスタイルを確認することができます。 手順 要素タブをクリックする 状態を変更したい要素を選択する 今回は Google の検索フォームを選択 [:hov] をクリックする
Adobe Flash Playerがセキュリティの問題などから2020年末に終了することが発表され、Flashで作られたゲームなどのコンテンツをなんとか次世代につなげようという試みがいくつか出てきています。 それらの中でも注目を集めているのが、ブラウザ上で動くFlashエミュレータRuffleです。 ruffle.rs Ruffleはユーザーがブラウザの拡張機能やデスクトップアプリとして利用可能なほか、Webサイト管理者側がWebサイト側に設置すればユーザーが特に何もしなくてもFlashコンテンツを再生することが可能です。 つまり、ユーザーかWebサイト管理者側のどちらか一方が導入していれば、Flashコンテンツを再生することができます。 開発は急速に進められており、多くのFlashアニメーションが再生可能なだけでなく、最近では「くまのプーさんのホームランダービー!」「ハム将棋」などの人
コナミデジタルエンタテインメントは「『桃鉄で駅や地理を覚えて勉強になった』や『日本全国の観光名所や物産に詳しくなった』などの声に応えて教育版を開発した」と経緯を説明。1月には、福岡教育大学附属福岡小学校で教育版桃鉄を使った授業を試験的に実施。フィードバックを反映し、正式リリースに向けて開発を進めているという。 桃太郎電鉄シリーズは1988年のファミリーコンピュータ用ソフト以来、さまざまなゲームハードで展開した人気ゲーム。2020年11月発売の最新作「桃太郎電鉄 ~昭和 平成 令和も定番!~」は累計販売本数350万本(2022年3月時点)を突破したとしている。 関連記事 「iOS 16にアプデしないで」 プロセカなどリズムゲームが注意喚起 タップの仕様変更でプレイしにくく セガが、「プロジェクトセカイ カラフルステージ! feat. 初音ミク」iOS版のプレイヤーに対し、「iOS 16」への
サマリ2020年2月にGoogle ChromeはCookieのデフォルトの挙動をsamesite=laxに変更しましたが、2022年1月11日にFirefoxも同様の仕様が導入されました。この変更はブラウザ側でCSRF脆弱性を緩和するためのもので、特定の条件下では、ウェブサイト側でCSRF対策をしていなくてもCSRF攻撃を受けなくなります。この記事では、デフォルトsamesite=laxについての基礎的な説明に加え、最近のブラウザの挙動の違いについて説明します。 (2022年1月29日追記) 本日確認したところ、Firefoxにおけるデフォルトsamesite=laxはキャンセルされ、従来の挙動に戻ったようです(Firefox 96.0.3にて確認)。デフォルトsamesite=lax自体は先行してGoogle Chromeにて実装されていましたが、細かい挙動の差異で既存サイトに不具合が
全ブラウザ対応になったCSSのコンテナクエリについて、基礎から一歩踏み込んだ内容までを解説します。 デモ① SNSリアクションバー(container-type, @container) https://codepen.io/tonkotsuboy/pen/PoBMMZw デモ② 古都めぐり(cqw) https://codepen.io/tonkotsuboy/pen/jOvOqOG Zenn記事 https://zenn.dev/moneyforward/articles/css-container-query Twitter https://twitter.com/tonkotsuboy_com 3/1(水)に「TechFeed Experts Night#14 」で発表した内容です。 https://techfeed.io/events/techfeed-experts-night
今年はmacOSのアップデートによりヒラギノが動かなくなったり、 来年初頭にはWindows7がサポート終了、Edgeのブラウザエンジン変更など、 エンドユーザーの環境を考えなければならない節目の時です。 そこでいつもコピペで済ましているfont-familyについて1から考え直してみます。 全部読もうとしている人はスクロールバーを見てから考えてください。 結果 コピペユーザーのために先に結果を記載します。 ブログ等に転載する場合はこのページのURLぐらい貼ってください。 @font-face { font-family: "Original Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; } @font-face { font-family: "Original Yu Gothic"; src: local("Y
「Midjourney」「Stable Diffusion」などの画像生成AIや、チャットAIボット「ChatGPT」をはじめ、様々なサービスが登場してきた生成AI(ジェネレーティブAI)。 現在SNSでは、「Suno AI」という新たな自動作曲AIサービスが話題です。 神前暁さんやtofubeatsさんといった第一線で活躍する音楽プロデューサーも、試しに「Suno AI」を使ってみた結果をXに投稿。 その自然な出来栄えに、神前暁さんは「アレンジやMixがそれっぽくなるのは想定内だったけどメロも70点くらいのを平気でポンポン出してくる。このサビなんて少し手を加えれば結構売れるのでは?ってレベル」と、驚きを露わにしています。 話題のSuno AIを試してみたけどヤバいですねコレは… アレンジやMixがそれっぽくなるのは想定内だったけどメロも70点くらいのを平気でポンポン出してくる。このサビな
スマートフォンに比べれば進化の速度が遅いものの、パソコンも少し古くなるとOSの動作が重くなったり、サポートが打ち切られたりします。 Googleが新たに早期アクセスを開始した「Chrome OS Flex」はMacやWindowsパソコンに無料でインストールできるOSであり、動作が軽いため古くなったパソコンを蘇らせることができます。 無料でダウンロードできる「Chrome OS Flex」 Chrome OS FlexはGoogleが開発する、無料で利用できるOSです。 元々はCloudReadyという名前で公開されていたChromiumベースのOSでしたが、Googleが買収し、「Chrome OS Flex」として早期アクセスが開始されました。 WindowsやmacOSに比べると軽量なOSであり、古いパソコンを蘇らせることができるでしょう。 利用可能な機能はChromebookと同じ
さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 クラウドコンピューティングサービスを提供するさくらインターネット株式会社(本社:大阪府大阪市、代表取締役社長:田中 邦裕)は、ブラウザから無料で利用できるシェル環境「さくらのクラウドシェル」の提供を2023年5月25日より開始します。 「さくらのクラウドシェル」はオンラインのシェル環境で、すでに開発者向けの環境がインストールされているため、ご自身の環境に手を加えることなくすぐに利用することができます。 基本機能は会員登録不要のプランにて利用可能です。また、必要に応じて会員IDを利用することでアクセス制限を緩和することが可能です。それに伴い、デプロイ・リリース用サーバとしての利用や外部I/Fを利用するようなプログラミング環境としての利用など柔軟に利用できます。
モバイルファーストのウェブデザインは、デスクトップで閲覧する際に重大なユーザビリティ上の問題を引き起こす。長いスクロールページにコンテンツが過度に分散され、余白が広がり、画像やフォントが拡大されるため、ユーザーが情報を把握し、理解することが難しくなるのである。 The Negative Impact of Mobile-First Web Design on Desktop by Kim Salazar, Tim Neusesser and Nishi Chitale on October 13, 2023 日本語版2024年2月6日公開 最近のウェブサイトの多くは、モバイルファーストなアプローチでデザインされている。こうしたページをデスクトップデバイスで表示すると、コンテンツが過度に大きく引き伸ばされて見えることがある。画面を覆い尽くすような画像、肥大化したテキスト、過剰な余白のせいで、
2022年になりました。矢倉眞隆(@myakura)と申します。昨年に引き続き、新春特別企画のブラウザとウェブ標準を担当させていただきます。 なお、取り上げるトピックの数やインパクトの大きさもあり、CSSについては別記事となりました。あわせて読んでいただければ幸いです。 ChromeとFirefoxがバージョン100に到達 昨年の新春企画でもすこし触れましたが、今年はChromeとFirefoxのバージョンが100になります。 Chrome 100は、今年の3月29日にリリース予定です。もともとはもう少し先だったのですが、Chrome 94からリリースサイクルが4週間に短縮されたため、Chrome 100のリリースが早まりました。 Chromeよりも早く4週間のリリースサイクルに移行していたFirefoxも、5月3日にFirefox 100がリリース予定です。 バージョンが3桁になることで
Intro 10 年ほど前に同じことを調べたことがある。 なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codes https://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete 当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。 この問題についてあらためて記す。 仕様策定の経緯 表題の通り、 <form> の method には GET と POST しかサポートされていない。 HTTP には他にも PUT や DELETE といったメソッドもあるのに、なぜサポートされていないのかという疑問から始まった。 仕様が決定した経緯は、以下に残っている。 Status: Rejected Change Descriptio
米Googleは1月25日(現地時間)、2021年3月に発表したサードパーティーcookieに代わる技術「FLoC」(Federated Learning of Cohorts)の開発を停止し、新たに「Topics」と呼ぶ技術のテストを年内に開始すると発表した。 同社は、ユーザーのWebプライバシーを改善しつつ適切な広告を表示するための取り組み「Privacy Sandbox」の技術としてFLoCを開発してきたが、ユーザーを特定できてしまう可能性を指摘されたり、この取り組みが独禁法に違反する可能性があるとされたりと、批判が高まっていた。 Googleは「Topicsは、FLoCのテストからの学習と幅広いコミュニティからのフィードバックに基づいて、FLoCに代わるものとして開発する」と語った。 Topicsの大まかな仕組みはこうだ。Webブラウザが、ユーザーのWeb閲覧履歴に基づいて、そのユ
先日リリースされたChrome 114でPopover APIがサポートされ、HTMLのpopover属性が使用できるようになりました。 今まではポップオーバーを実装するのにはJavaScriptを使用し、ポップオーバーの開閉・フォーカス・アクセスフックなど面倒でしたが、popover属性で実装すると驚くほど簡単で、さまざまなUIコンポーネントに利用できます。 Introducing the popover API by Una Kravets 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスに基づいて翻訳しています。基づいてというのは、貢献部分に関して同ライセンスも含みます。 はじめに HTMLのpopover属性とは ポップオーバーのデフォルト、オーバーライド 自動ポップオーバーと手動ポップオーバー popover属性とdialog要素の違い 近日公開予定の便利な2つの機
TypeScriptは、JavaScriptでも大規模なアプリケーションを開発しやすくすることを目的に開発されたプログラミング言語です。 確かにJavaScriptは元々、大規模な開発を想定した設計ではありませんでした。それでも、JavaScript自体が進化して、大規模開発に対応してゆけば良かったはずです。しかし、実際はそううまくは行きませんでした。代わりに、大規模開発の一部はTypeScriptが引き受けることになったのです。 なぜ、そうなったのでしょうか?その答えはJavaScriptの歴史にあります。TypeScriptが必要な発明で、そして、今もなお必要とされている理由が見えてきます。それでは、TypeScript誕生以前の歴史をひも解いていきましょう。 1990年代JavaScriptの誕生JavaScript誕生以前は、簡単なフォームのバリデーションをするのも、サーバーサ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く