タグ

JavaScriptに関するhaganeのブックマーク (57)

  • ISO-2022-JPの自動判定によるクロスサイト・スクリプティング(XSS)

    サマリ ISO-2022-JPという文字エンコーディングの自動判定を悪用したクロスサイト・スクリプティング(XSS)攻撃について説明する。これは、文字エンコーディングを適切に指定していないウェブコンテンツに対して、文字エンコーディングをISO-2022-JPと誤認させることでバックスラッシュが円記号と解釈されることによりエスケープ処理を回避する攻撃である。稿で紹介する攻撃は、従来からのセキュリティベストプラクティスである「文字エンコーディングの明示」に従っていれば影響を受けることはない。 はじめに クロスサイト・スクリプティング対策として、記号文字のエスケープ処理に加えて、コンテンツの文字エンコーディングをレスポンスヘッダやmetaタグで明示しましょうと言われてきました(参照)。その背景として、UTF-7という文字エンコーディングを悪用したXSSの存在がありました。この攻撃については以下

    ISO-2022-JPの自動判定によるクロスサイト・スクリプティング(XSS)
  • 50 Projects 50 Days | Traversy Media

    50 Projects in 50 Days 50 unique mini-projects to sharpen your HTML, CSS & JavaScript skills Limited Promo Code: 5DAYPROMO Get It Now About The Course This is a pure, practical and fun project based course. Every project is different and while we use do use some repeated practices, they are each meant to teach you something new. It is recommended that you do one project per day, however you can do

  • JavaScriptに挫折しそうな方への提案 〜 自分で書けるようになるまで|ドットインストール

    こんにちは!ドットインストールのアラサー主婦アルバイターAです。 社内で、JavaScript を用いた マークダウンリストジェネレーターのWebアプリ(以下「アプリ」と表記します)を作った時の学びについて書いてほしい、とお話があったのでこの記事を書いてみました。 「JavaScript を勉強し始めたけど、難しい…とにかくどうしたら良いかわからない...」といった状況にいる方の後押しができれば良いなと思っています。 さて、このアプリはマークダウンのリストを一気に生成するツールです。 リストの種類・リストの数・順序を入れるか(Yes/No)選択し、生成したリストを一括コピーできるので単純作業の手間を省いてくれます。 どのくらい勉強したらこのくらいのツールが作れるかというと、私の場合は JavaScript の勉強を再開して半年後に作りました。それまでの学習経歴はこんな感じです。 初めて J

    JavaScriptに挫折しそうな方への提案 〜 自分で書けるようになるまで|ドットインストール
  • Chrome拡張 つくりかた 令和最新版

    数年ぶりにChrome拡張のつくりかたを調べた。 当に何も分からなかったので、Twitterで「2022年にChrome拡張つくりたかったら何見て学べばいい?」とつぶやいてみたところ、何人かの人が教えてくれた。教えてもらった中から幾つかのリンク先を紹介するような形で記述していく。 Create a Vite-React Chrome Extension in 90 seconds - DEV Community 2022年時点だと比較的新しめのフロントエンド向けツールであるviteと、viteのChrome拡張向けプラグインである@crxjs/vite-pluginを使ってChrome拡張をつくってみよう、という記事。今回自分は主にこれを参考にしながら開発を進めた。Reactと言っているが、自分のChrome拡張ではUIは存在しなかったので、Reactに関する部分は読み飛ばして、vite

  • 2020年版: なぜ仮想 DOM / 宣言的 UI という概念が、あのときの俺達の魂を震えさせたのか

    記事は、 「なぜ仮想 DOM という概念が俺達の魂を震えさせるのか」 https://qiita.com/mizchi/items/4d25bc26def1719d52e6 の 2020 年版のリライトです。 2014 年当時、日においては React は未だ知る人ぞ知るライブラリ、という位置づけでした。それが、この記事によって一気にメジャーになったように思います。 オリジナルは2014 年末の情報によって書かれたもので、さすがに 6 年経った今では情報が古くなっており、当時の暗黙のコンテキスト、古いリソースの参照、初学者の混乱を招く表現が残ったままになってしまっています。 定期的に更新しようとも思いましたが、そうすると 2014 年末の歴史的な背景を失ってしまうため、あえてそのまま残し、新しい記事を投稿することにしました。増補改訂版というより、ほぼ書き直しです。 この記事は来なら

    2020年版: なぜ仮想 DOM / 宣言的 UI という概念が、あのときの俺達の魂を震えさせたのか
    hagane
    hagane 2020/09/20
    500円の1記事、500円の同人誌。中身が違うから比較は出来ないけど、コロナ禍の中、紙の同人誌からこっちの流れになっていくんだろうなあって、技術書典の最中に思った。
  • 経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!

    経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した! Code for Japan の関さんが SNS でシェアしてて知ったのですが、経産省さんがなにやらオープンソースで住所や電話番号の正規化などなどをするツールを公開したとのこと。 https://info.gbiz.go.jp/tools/imi_tools/ 経産省が住所変換や法人種別名、電話番号の正規化に使えるIMIコンポーネントツールを公開しました。 ソースコードも公開。README にも使い方が丁寧に書かれていました。https://t.co/fPbV00EgZP 素晴らしい動き。こういう... #NewsPicks https://t.co/bew0qGKMFE — Hal Seki (@hal_sk) May 28, 2020 ぶっちゃけ当初はあまり期待

    経産省発の npm モジュール!住所や電話番号の正規化、ジオコーディングなどができる IMI コンポーネントツールを試した!
    hagane
    hagane 2020/05/29
    FBで関係者の方が、GitHubに登録したかったけど、まだお役所内部の運用周りの取り決めが…なので先に公開を優先した、と書かれていた。クリアになればGitHubにあがると思う。/ あがった https://github.com/IMI-Tool-Project
  • JavaScriptの非同期処理Promise、AsyncとAwaitの仕組みをGIFアニメで解説

    JavaScriptの非同期処理Promise、AsyncとAwaitの仕組みをGIFアニメで解説した記事を紹介します。 ⭐️🎀 JavaScript Visualized: Promises & Async/Await by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに コールバック地獄 Promiseの構文 イベントループ: Microtasksと(Macro)tasks AsyncとAwait はじめに JavaScriptのコードが期待通りに実行されないことに悩まされたことはないですか? おそらく、関数が不規則に実行されたり、予測できないタイミングで実行されたり、実行が遅れたりしたことがあるかもしれません。そして、ES6で導入された新機能Promiseが原因かもしれません! 何年も

    JavaScriptの非同期処理Promise、AsyncとAwaitの仕組みをGIFアニメで解説
  • もしものために,香川県からのアクセスを避ける - Qiita

    茶番 「どうも〜、セミコロンつけない派です。お願いします」 「お願いします」 「あ〜、ありがとうございます。今、LGTMを頂きました。こんなんなんぼあってもいいですからね」 「あのな、おかんがな、思い出せない都道府県があるらしいねん」 「ほな、その特徴教えてくれる?」 「おかんが言うにはな、最近ゲームが 「香川やないか!」 (ミルクボーイやりたかっただけ。) ちまたで噂のネット・ゲーム依存症対策条例 ネットやゲーム依存症を防ぐため、18歳未満の使用時間を制限するというやつです。 今はちょっと変わってコンピュータゲームだけになったみたいです。 これに関する議論は尽きないですが、ここでは置いておきます。 仮にサービス側が何とかしろと言われたら... ネット界隈では、「香川県民ですか? はい/いいえ」のような香川認証がネタになってます。 香川県の条例案、よく読んだら我々サービス提供者側(特定電気

    もしものために,香川県からのアクセスを避ける - Qiita
    hagane
    hagane 2020/01/24
    罪もない香川の人たち、とはいうものの、ああいう条例案を出しちゃう県議を選出してしまったことには責任があると思うのですよ。/ 香川の選挙事情知らずに書き込んだが、知ればそれはそれで問題じゃないか…9/13って…
  • 岡田を切る技術 - Qiita

    これはとある回顧録 何度も諦めかけましたが、数年の歳月を経て遂に岡田を切る技術が一旦の完成へと至りました。その技術を巡る奮闘の歴史と成果について、ここに記録を残していきたいと思います。 画像時代 まずは「切る」という動作が何を指すかを明確にしておきます。 厳密な定義というよりは、切った感を得るために必要そうなふるまいとして定義します。 平面上のある領域が、任意の直線を境界として分割されること 分割された領域は物理法則に準じてふるまうこと 要するに気持ちよく岡田を切ることができれば目標は無事達成です。 物理エンジン 切った感を高めるためにはやはり「物理法則」に準じたふるまいが欲しくなります。つまりブラウザ上で動く物理エンジンが必要です。 世の中にはフルスクラッチで物理エンジンを作れる人間と作れない人間が居ると思われますが、残念ながら私は後者でした。勝ち目の薄い勝負は避け、素直に巨人の方にすが

    岡田を切る技術 - Qiita
    hagane
    hagane 2019/05/07
    更迭するとかそういうの想像しちゃったよ
  • 30分でわかるJavaScriptプログラマのためのモナド入門

    「30分でわかる」のは、だいたい、 4. モナド(Monad)とは何か? の読了までを想定しています。 また速い人なら、30分で全部一気に読み通せる分量でもあると思います。 30分以上かかっても一気読みしてしまうことが推奨されますし、一気読みできるように、前に戻って知識の再確認をしなくて済むように、最大限留意して構成を設計した上で執筆されています。 数学と用語問題。モナドの理論的基盤として圏論があるのは事実。理論的基盤がしっかりしているのはプログラミングという数学的作業において歓迎すべきことではある一方で、他方そのため一般的なプログラマにとってはまず用語に馴染みがない。歴史的に、圏論ベースのモナドを理論から関数型プログラミングに応用されていく過程では、実際、先駆者の間でさえ紆余曲折があったのだが、学習者へは馴染みのない用語を伴って、いきなり高度な数学的概念全開で天下り的に提示されてしまうこ

    hagane
    hagane 2019/03/26
    ken okabeさん / id:stq2050 蔑称のつもりで書いているわけではなかったのだけど、筆者名が見たことのある人だ、と思って記載しました。不快に思われたようなので、謝罪して訂正します。申し訳ありませんでした。
  • グリグリ動くUIをVueとSVGでサクッと書く - No Regrets in Bathing

    これは Vue.js #3 Advent Calendar 2017 – Qiita 4日目の記事です。 こんにちは。SVGで色々なコンポーネントを作っているものです。最近の作品は下記のような感じです。 Webでグリグリ動くUIを作りたい!!という一心でやっています。 これらはほとんどSVGVueの組み合わせのみで作っています。依存が少ないというのは大事で、ライブラリ間の相性でハマったり、いろんなドキュメント間を往復することがなくなります。 Webでグリグリ動くUIを作るのは基的にめんどくさいです。jQuery pluginを駆使して作るのも闇が多いですし、divやcanvasをゴリゴリするのも結構手間がかかります。 ですが、最近はSVGで高度なUI実装されることが増えてきた気がします。特に自分が衝撃を受けたのは、CacooがFlashからSVGにスイッチしたことです。 nulab-i

    グリグリ動くUIをVueとSVGでサクッと書く - No Regrets in Bathing
  • 2018 年は Firebase を使ったけど 2019 年は AWS Amplify を使おうと思う / AWS Amplify 2019 #kyotojs

    2019/01/12 に #kyotojs で発表したスライドです

    2018 年は Firebase を使ったけど 2019 年は AWS Amplify を使おうと思う / AWS Amplify 2019 #kyotojs
  • 2万人に聞いた、2018年の最新JavaScript事情 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日よりThe State of JavaScript 2018というアンケートが行われていたのですが、その集計結果が公開されたのでざっくりと紹介してみます。 回答者数は2万人超としか書かれてなくて正確な数は不明です。 というか全体的に大まかな集計結果しか出てなくて、もっと詳しいデータが欲しければ直接連絡しろという方針らしいです。 ちょっと残念。 The State of JavaScript 2018 Introduction 2万人以上のJavaScript開発者が回答したよ。 結果の概要はMediumに投稿してるよ。 色々なプロジ

    2万人に聞いた、2018年の最新JavaScript事情 - Qiita
    hagane
    hagane 2018/11/24
    Nuxt.js文字すら出てこないのね
  • Vue.js製フレームワークNuxt.jsではじめるUniversalアプリケーション開発

    Vue.js製フレームワークNuxt.jsではじめるUniversalアプリケーション開発 花谷拓磨 Vue.jsでUniversalなSPAを開発できるフレームワークであるNuxt.jsのバージョン 1.0のリリースがいよいよ近づいてきました。 稿では、シングルページアプリケーション(以下 SPA)開発によって生じた問題を解決するために生まれたサーバーサイドレンダリング (以下 SSR)を中心に、Vue.jsでの開発を強力にサポートするNuxtについて、その魅力と基的な使い方をご紹介いたします。 Nuxt.jsとは? Nuxt.js(ナクストと読みます)はReact.jsベースのSSR用フレームワークであるNext.jsに触発されて作成された、Vue.jsベースのフレームワークです。 特にUIの描画サポート に主眼をおき、SSRをはじめとした様々なサポートを行ってくれるものとなります

    Vue.js製フレームワークNuxt.jsではじめるUniversalアプリケーション開発
  • D3.js version.4を学ぶための学習リソースの紹介。

    この記事は「D3.js Advent Calendar 2016」 参加記事です。 D3.jsメジャーバージョンアップ 2016年6月28日に、約4年ぶりとなるメジャーアップデート、D3.js ver.4が公開されました。 ながらく利用されてきたver.3から大幅な変更が行われ、とくに命名規則が大きく変わったため、ver.3のコードはver.4ではほとんど動かなくなっています。 どちらを使うべきか 各種プラグインなどのver.4への移行はだいぶ進んでいるとはいえ、ネット上のドキュメントなどはいまだver.3を対象としたものが多く、また現在出版されている日語の参考書は全てver.3を元に書かれています。 しかし、ver.4には、ver.3での反省点も含め、アルゴリズムの最適化や、モジュール化、ver.3にはなかった便利な機能が多数追加されているので、個人的にはver.4をお勧めします。 私

    D3.js version.4を学ぶための学習リソースの紹介。
  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplate master ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っている frontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っている デフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っている はじめに​ 最近の JavaScript について​ 僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。

    Modern JavaScript概観、そしてElectronへ | さにあらず
  • 最近のフロントエンドの変化とビルドツールについて - mizchi's blog

    界隈の雑な会話です。注意点として、フロントエンドガチ勢寄りの方面なので、一般的な感覚とは乖離してる可能性があります。 基的には http://www.s-arcana.co.jp/blog/2016/12/12/3438 や kikuchi1201.hateblo.jp を念頭に。 動き早いって言われるフロントエンド界隈、この1年何も進んでないからな— 現場の声 (@mizchi) 2016年12月14日 今年のフロントエンドの統括、es2016でしょぼかったので皆es2015+ みたいなノリが抜けなかったのと、redux以外のfluxが脱落したのと、angular2+今年も出なかったねというのと、たぶん eslint の採用が増えてそう(肌感)のと、flowの採用が増えたぐらい— 現場の声 (@mizchi) 2016年12月14日 実際browserify/webpackは先行実装だ

    最近のフロントエンドの変化とビルドツールについて - mizchi's blog
    hagane
    hagane 2016/12/15
    別にフロントエンド書いてるわけじゃないけど、端から見るとせいぜいyarnになったよ!くらいの違いしかわかってない。それだって表側の話ではないしね
  • HTTP Headers という 5万人が使っている Chrome 拡張のマルウェア疑惑。セッション盗まれて BTC も盗まれそうになった話。 - clock-up-blog

    疑惑どころか 99.99% くらい黒な話。 (後記:セッション盗まれたと思ってたけど、よくよく考え直してみると生パスワードごと盗まれてる可能性もあるしやばい) 追記:続報 11月3日 今回指摘した HTTP Headers 以外にも、「Tab Manager」「Give Me CRX」「Live HTTP Headers」等で同様(?)の問題が報告されています。第三者が元の作者からソフトウェア権利を買い取って悪用する、というケースが割とある模様(?)。皆さま情報ありがとうございます。 11月4日 Zaif については、「不正な Chrome 拡張」と「スクリプトから保護されていなかったクッキー」のコンボによりセッションが盗まれていた可能性あり。 Zaif のセッション情報が盗まれた原因のひとつについて。JavaScript からクッキー値を取得させない方法。 - clock-up-blog

    HTTP Headers という 5万人が使っている Chrome 拡張のマルウェア疑惑。セッション盗まれて BTC も盗まれそうになった話。 - clock-up-blog
  • フロントエンド初心者は Chrome 拡張機能の開発を通して学ぶべき - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? タイトルとは関係ないですが、2015年10月31日、GitHub の Contributions が spooky 仕様になっていました。あれを見て皆さんどう感じられたでしょうか。 僕はあのキツイ配色に「ウッ」となり普段の Contributions の草がいかに目に優しいかを実感しつつ「これは一刻もはやく元に戻さねば」と思いつつ、その勢いで Contributions のカラースキームを好みの色に変えられる Chrome 拡張機能 "Colorful Contributions" を作ってみました。 開発はハロウィン当日中に終わったの

    フロントエンド初心者は Chrome 拡張機能の開発を通して学ぶべき - Qiita
  • 最近のビルドツールって何なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    TypeScriptでは、コンパイルが必要です。プログラムをブラウザーとNode.jsの両方で使おうとすると、さらに加工が必要です。ミニファイだの文書も作るだのすると、ちょっとしたビルドプロセスとなるので手作業では辛くなります。 今更Makeでもないよなー、と思い、最近のビルドツールを試してみました。 内容: 流行りすたりが激しすぎる gulpを使ってみる:こんなサンプル gulpのビルドスクリプト タスクランナーってのはビルドツールとは違うのか? ビルドツールは進化したのか 参考資料: 例題のファイルとコマンドの一覧 ソースファイル 追加の話: gulp問題ひきずり:ウォッチがまたおバカ過ぎる 流行りすたりが激しすぎる 「確かGruntってツールがあったよな」と、インストールと使い方を調べていると、やたらにgulpって単語が目立つんですよね。Gruntのライバルの新興勢力らしいです。 「

    最近のビルドツールって何なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)