前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS というJavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たないJavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言
データの取得・ルーティング・フォームの値の管理に至るまでJavaScript で制御するようになった結果、本来備わっていた機能を損なう形で実装されるような間違いが起きるケースも発生してしまいました。見た目上操作に不都合がないのですが、修飾キーが有効でなかったりと、とある要素が当然に持っているべき機能が失われていることがよくあります。 昨今の Webフロントエンドの開発においては、React やVue.js などを利用した SPA を採用することが多くなりました。従来の MPA と比較して、リンククリック時やフォーム送信時にページリロードを挟まないので、高速な画面遷移を実現できるため、快適な操作を実現できます。 一方データの取得・ルーティング・フォームの値の管理に至るまでJavaScript で制御するようになった結果、本来備わっていた機能を損なう形で実装されるような間違いが起きるケ

6回目のJavaScript ライジングスター にようこそ!JavaScript疲れから逃れるためにここに来たみなさん、ちょうどいいところに来ましたね。 今回はメタフレームワーク、速度の必要性、界隈のオールスターがテック企業にジョインした話などの話題があります。 しかし、まずはチャンピオンの話です。 今年は誰もが予想していなかった新しい覇者が誕生しました! しかもそれは、なんとコマンドラインツールです! 以下は、2021年の1年間で増加したGitHubのスター数によるランキングです。Webプラットフォームに関するベストプロジェクトを集めたリストであるBest of JSからの一年間の分析です。各プロジェクトをクリックすると、より詳細な情報を閲覧することができます。

パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を含む1000以上のプロジェクトで採用されています。そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js · Issue #536 · faisalman/u

Skip to the content. モダンJavaScript チートシート 画像クレジット: Ahmad Awais ⚡️ イントロダクション 動機 このドキュメントはモダンなプロジェクトでよく見られるJavaScript のチートシートと最新のサンプルコードです。 このガイドは読者にJavaScript をゼロから教えるものではありません。 基礎知識は持っていて、モダンなコードベースに慣れる(例えばReact を学ぶ)のに苦労している開発者を助けるためのものです。 説明の中でJavaScript の諸概念が使われています。 また、議論の余地のあるポイントについてときどき個人的な tips を載せますが、その際はあくまでも個人的なおすすめであることを述べるように気をつけます。 メモ: ここで紹介されている概念のほとんどはJavaScript 言語のアップデート( ES2
JavaScriptやTypeScriptのコードには?.のような記号やasのようなキーワードが使われます。こういった記号やキーワードはGoogleで検索しづらく、意味を調べるのは難しいものです。 この索引は、JavaScriptとTypeScriptの記号やキーワードから、その名前や意味を調べられるようにするためのものです。コードを読んでいて未知の記号やキーワードに出くわしたら、その意味や使い方を調べる手がかりにしてください。 ここで扱う記号とキーワードには、JavaScript由来のもの、つまり、JavaScriptとTypeScriptに共通して使えるものと、TypeScriptでのみ使えるものを併記しています。JavaScript由来のものにはのマークを、TypeScript固有のものにはマークを表示しています。 記号! 論理否定演算子 (logical not operator

PDF.jsはJavaScriptで作られたPDFビューアです。(厳密にはPDF読み込みを行うパーサ、描画を行うレンダラ、画面UIのビューアがセットになっているもので、ライセンスはApache License 2.0です) Mozilla Foundationが開発していてFirefoxのPDFビューアとして採用されているため品質が高いJavaScriptでPDFを読み込んでCanvasで描画しているためiPhoneやAndroidなどスマートフォンでも表示できる ビューアがHTMLファイルのため<iframe>でPDFを埋め込み表示できる のような特長があり、PDFを直接表示できない環境での代替として使用することがよくあります。 この文書では、PDF.jsの基本的な設置方法を説明します。 1. 配布サイトからファイルをダウンロードする まず https://mozilla.github

2020年のAdobe Flash Playerサポート終了に伴い、全てのFlashコンテンツは2つの選択を迫られました。 - 選択肢1「サービスを終了する」 - 選択肢2「作り直す」 swf2jsはFlashコンテンツをそのままHTML5化するという3つめの選択肢を選びました。 Adobe Animate(Flash)はとても優れたオーサリングツールで、SWFファイルを通じた描画はとても軽量で美しい表現が可能です。これらの資産と技術はこれからのWeb業界でもまだまだ活躍できる技術です。 swf2jsはSWFをリアルタイムで分解しHTMLの技術を用いてエミュレートするライブラリです。 ブラウザの標準技術を採用する事でAdobe Flash Playerが抱えていた脆弱性の問題も大きく改善されています。 そして、各ブラウザの進化と共に快適な環境を一緒に構築していくことができます。 2020年

ブラウザプラグインのFlash Playerは2020年末でサポートが終了しました。そのことにより、Flashコンテンツをブラウザで再生する手段がなくなっています。 筆者はBeautiflビューティフルというウェブサイトを個人的に運用しています。Beautiflは、ユーザーが投稿したFlash作品を紹介するギャラリーサイトです。Flash Player終了によってウェブサイトの目的であるFlashの再生体験ができなくなるので、窮地に陥りました。Flash Playerの終了は2017年にアドビが決定したことで覆せないので、ウェブサイト側として次の3つの対策を行いました。 FlashをHTMLで再生可能にする Flashをビデオとして残す SWFファイルをダウンロード可能にする本記事ではウェブでFlashコンテンツをどうやって残していこうとしたのか、そのアプローチを紹介します。 Beaut

Ballmer氏は2001年に、LinuxがMicrosoftの知的財産すべてを脅かす「ガン」だと発言しており、Microsoftの幹部らは2010年時点でも、オープンソースが依然として厄介な存在だと考えていた。 Hejlsberg氏は「Linuxは『Windows』にとって脅威だ(と捉えられていた)。しかし、今ではまったく逆の状況になっている」と述べた。 2014年にCEOの座を降りたBallmer氏はその後、自らの考えを改めている。また今日、CEOであるSatya Nadella氏の下でクラウドに注力しているMicrosoftは、オープンソースへの愛を示すとともに、オープンソースプロジェクトに対して無料アカウントをも提供するコードリポジトリーGitHubを傘下に収めている。Microsoftの主なオープンソースプロジェクトには、人気のコードエディター「Visual Studio Co

JavaScript Primer 迷わないための入門書 Tweet Watch Star Xのハッシュタグ: #jsprimer これからJavaScriptを学びたい人が、ECMAScript 2015以降をベースにして一からJavaScriptを学べる書籍です。 プログラミングをやったことはあるが、今のJavaScriptがよくわからないという人が、 今のJavaScriptアプリケーションを読み書きできるように書かれています。 初めてのプログラミング言語としてJavaScriptを学ぶ人は、まずは「はじめに」から読んでみてください。JavaScript Primerを読み始める 書籍版 このウェブサイトの内容はアスキードワンゴから書籍として出版されています。 書籍版の内容はウェブサイト版と同一ですが、本として読めるように最適化されています。 書籍版は次のサイトから購入できます。

プロジェクトで使われている技術と ESModule の状況についてUIT では、 SPA 開発のプロジェクトにおいてVue.js とReact が多く利用されており、既存の多くは Babel を利用したJavaScript で、新規のプロジェクトではTypeScript を利用して開発が行われています。 FYI: 【LINE DEV DAY 2019 番外編】UIT Front-end Tooling Survey 2019技術選定は勿論、プロジェクトにおける細かなコーディングルールについては、プロジェクトのコードオーナーに委ねられており、プロジェクトごとに裁量を持った意思決定を行っています。 その上で、私が携わるプロジェクトにおいては、 default export を可能な限り避けるように心がけています。 import 側の裁量で対象を自由に命名できてしまう 今回は「『Da

0----1----2--- みたいな形式のテキストでタイムラインアニメーションを作れるライブラリを作りました。 しゅうまいさんと「Webでタイムラインアニメーションを作るのがだるい」的な話をしていて、 AAみたいな発想で楽をできないかなと思ったのが発端になっています。 まずは下記のデモを見てください。 See the Pen TimelineDown Example by hashrock (@hashrock) on CodePen. 下記の文字列を渡すことで、4つの絵文字がそれぞれ個別のアニメーションをします。 const p1 = "--------0----1--2-------"; const p2 = "---------0----1--2------"; const p3 = "----------0----1--2-----"; const p4 = "---------

JavaScriptのモダンな書き方 - ES2020のオプショナルチェーン、null合体演算子、動的import、globalThis等を解説JavaScriptの仕様であるECMAScriptは年次で仕様が更新されています。ECMAScript 2020(ES2020)は2020年6月にリリースとなりました。現行のすべてのブラウザでES2020の機能は利用できますが、フロントエンドエンジニアにとって使いこなしたい記法ばかりです。本記事ではES2020に焦点をあて、JavaScriptの新しい記述方法のメリットと使いどころを解説します。 オプショナルチェーン Optional Chaining(オプショナルチェーンやオプショナルチェーニングと呼ばれています)とは、?.構文を用いてnullやundefinedになりうる値へ安全にアクセスできる仕組みです。 利用シーン nullやunde

この記事は闇の魔術に対する防衛術 Advent Calendar 20192 日目の記事です。 ある日、会社で寿司打というタイピングの速度や正確さを競うゲームが流行った。 みんなやってるので私も挑戦してみたところ、結果は惨敗。全エンジニアの中でもっともスコアが低かった。もともとタイピングが早くも正確でもないことを自覚していたつもりだったが、現実を突きつけられ大人しく家に返って枕を濡らそうと思った。が、あまりの悔しさにまみれ「JSer ならタイピング速度ではなく JS で勝負すればいいんだ」とダークサイドに堕ち闇の力に手を染めてしまった。本記事はムキになって寿司打(WebGL 版)のスコアを稼ぐ自動化JavaScript の話。 なお動作確認には Ubuntu 19.04、GoogleChrome 80.0.3955.4 を使用した。 寿司打 WebGL 版 http://typing

🌓 Add a dark-mode / night-mode to your website in a few seconds This library uses thecss mix-blend-mode in order to bring Dark-mode to any of your websites.Just copy paste the snippet and you will get a widget to turn on and off the dark-mode. You can also useit without the widget programmatically. The plugin is lightweight, built inVanillaJS.It also uses localstorage by default so your last
2019年3月4日、兵庫県警察はインターネット掲示板に不正プログラムのURLを書き込んだとして未成年者を含む3名を不正指令電磁的記録供用未遂の疑いで児童相談所への通告や書類送検を行う方針と報じられました。ここでは関連する情報をまとめます。 不正プログラムはfor文無限ループかNHK報道から、張り付けられたURLで動作する「不正プログラム」はfor文無限ループとみられる。*1JavaScriptを見る限り、特殊な実装や脆弱性を用いたものではなく、for文の条件式などを記述せずに無限ループさせたもの。顔文字やメッセージはalertダイアログを使って表示させている。 当該URLを開いたタブを閉じるなどの操作が必要な場合もあるが、最新のブラウザ(Chrome、Firefoxなど)では開いただけで落ちることはない。 URL投稿で摘発された3人 次の3人が問題となったURLを書き込んだとして児童相

(治安の悪くないEmoji も作れます) 作ったもの ここで遊べますおもしろいところ GIF アニメのエンコードまですべて js で完結しているので、ありがちな「謎のサーバーに画像アップロードするといい感じに変換してくれる」的なサービスと違って、素性の知れたコードがクライアント側でサクサク動きます。 なにができるの? 画像を 128px x 128px に変形 画像を、Slack にアップロードできる(現状)最大サイズの 128px x 128px に変形します。 ローカルのファイルから選ぶか、画像の URL を入力できます。アップロードするわけではないので、デカい画像でもサクサクなのがお気に入りです。 変形は 正方形に引き伸ばし(アス比無視) 正方形いっぱいに拡大して、余ったところはトリミング(アス比維持) 正方形に収まるように縮める(アス比維持) から選べます。 テキストから画像

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く