タグ

JavaScriptに関するhimabatoのブックマーク (254)

  • 音屋の動画によくある音に合わせて動くかっこいいバーをJavaScriptで作る

    音楽作る人ってすごいですよね。私も何度かGaragebandを開いて挑戦したことがあるのですが、これがなかなか難しくて。できる人は尊敬します。 音屋さんの動画って必ず音に合わせて動くバーがついてますよね。あの棒グラフみたいなやつ。あれかっこいいですよね。作りたくありません?作りましょう。 音屋のアレ 音屋さんのアレ、かっこいいですよね。音に合わせて動くバー。 オーディオスペクトラムとか言うらしいですね。これJavaScriptで作っちゃいましょう。 今回のソースコード一式 https://github.com/subterraneanflowerblog/audio-spectrum デモ ここをクリックでデモを開く まずは普通の棒グラフ まずは普通の棒グラフスタイルのスペクトラムバーを作りましょう。 まずHTMLからですね。canvasとファイル選択ボタンを置きましょう。 <!DOCTY

    音屋の動画によくある音に合わせて動くかっこいいバーをJavaScriptで作る
  • 正真正銘のReactだけの不純物なしでReact入門

    Reactのチュートリアル、たくさんありますよね。どれも質が高く、どこから手をつければいいかわからなくなっちゃいます。 ですがやはり巷のチュートリアルには面倒な問題もあります。今回は面倒ごとを全部すっ飛ばしてReactでのウェブアプリ作りに入門してみましょう。 Reactを始めるには、まずあれとこれとそれとどれと…… Reactやるには、まずNode.js入れてbabel入れてreact入れてreact-router入れて、ついでにredux入れてreact-redux入れて、redux-saga入れて…… Reactめんどくせえ!!!ってのが正直なところだと思います。はい、私もそう思います。ただ、まあ、色々必要なのも事実なので……。 それでもやっぱり「ReactやるならReactだけやりたい。他はどうでもいい」という気持ちは簡単に捨てられるものではありません。そこで今回はそういう面倒全部

    正真正銘のReactだけの不純物なしでReact入門
  • JavaScriptでグラブルのポーカーみたいなのを作る

    経緯や理由はわかりませんが、日のビデオゲームとポーカーミニゲームは切っても切り離せない関係にあります。RPGのカジノコーナーに行けば、多くの場合はポーカーと出会うことができるでしょう。 さてそんなポーカーですが、自分で作ってみたくなったことはありませんか?今回は、JavaScriptを使って、簡単なポーカーを作ってみましょう。 ビデオゲームポーカー 日におけるポーカーは、一般的に古典的で素朴なポーカーが採用されることがほとんどです。テキサス・ホールデムも有名ですが、特にビデオゲーム内のミニゲームにおいては、多くの場合、最もシンプルなものが採用され、対戦相手はおらず、1人で役を作って遊ぶものに仕上がっています。 ルールとしては、プレイヤーにカードが5枚配られ、プレイヤーは保持したいカードを複数選びます。1度きりの交換後、手札の役を見て、強い役ほど報酬が多くもらえる、という作りになっていま

    JavaScriptでグラブルのポーカーみたいなのを作る
  • 【DOM基礎】ノードの取得/属性の取得・設定 - Qiita

    DOMとは Document Object Model (DOM) は、HTML および XML ドキュメントのための API です。これはドキュメントの構造的な表現を提供し、内容や表示形態の変更を可能にします。端的に言えば、Web ページをスクリプトやプログラミング言語とつなぐような機構です。 (DOM | MDNより) つまりDOM APIを使うことでドキュメントを制御できます。JavaScriptを使えばDOM APIにつなぐことができます。 このことから、JavaScriptとDOMは分かれて扱われています。 DOMツリー WebページはDocumentオブジェクトによって表されていて、ブラウザがwebページにアクセスしHTMLを解析すると、文書の内容を表すオブジェクトのツリー構造が構築されます。 この構造のことをDOMツリー(またはドキュメントツリー)といいます。 ノード DOM

    【DOM基礎】ノードの取得/属性の取得・設定 - Qiita
    himabato
    himabato 2024/12/10
    “DOMツリーを形成する一つ一つのオブジェクトをノード(Node)といいます。”
  • 第8回 実践DOMスクリプティング#1:HTMLとテキストの操作 | gihyo.jp

    こんにちは、太田です。前々回、前回でDOMの基礎を簡単に解説しました。今回からは、DOMを使った実用的なスクリプトを解説していきます。特に今回はHTMLの操作、テキストの操作にフォーカスを当てていくつかのサンプルコードを解説していきます。 HTML操作の基 JavaScriptによってHTMLを書き出したり、一部を書き換えたり、削除したりといった方法は実は様々な方法が用意されています。目的に合わせて適切な方法を選ばないと非効率だったり、最悪クロスサイトスクリプティングなどの問題を抱えてしまう危険もあります。 document.writeと同期読み込み JavaScriptHTMLを書き出すというと、最初に学ぶのはこのdocument.writeかもしれません。いわゆるprint文のようにシンプルなAPIなので、入門書の最初のサンプルなどで扱われることも多いようです。しかし、docume

    第8回 実践DOMスクリプティング#1:HTMLとテキストの操作 | gihyo.jp
  • 第9回 実践DOMスクリプティング#2:DOMとHTML | gihyo.jp

    こんにちは、太田です。前回はHTMLとテキスト操作を解説しました。今回は、さらにHTMLの操作の実例を中心に解説していきます。 JavaScriptとエスケープ まず、エスケープについて確認しておきましょう。外部から入力されたデータを画面上に表示する際はクロスサイトスクリプティングに注意する必要があることはもはや常識と言ってよいと思います。サーバーサイドのウェブ開発用フレームワークでは、ほとんどの場合HTMLのエスケープ用のメソッドが用意されていて、HTMLのエスケープは適切に行えるはずです。しかし、注意しなければいけないのは、HTMLのエスケープはJavaScriptにそのまま当てはめることはできないという点です。当たり前の話ですが、HTMLJavaScriptではエスケープすべき文字が異なります。また、IEの6、7ではCSSJavaScriptを埋めこむことができるのでCSSにも注

    第9回 実践DOMスクリプティング#2:DOMとHTML | gihyo.jp
    himabato
    himabato 2024/12/09
    “この方法は、属性には文字列を設定しているだけですし、テキストはテキストノードとして挿入しているので、万が一TwitterのAPIのエスケープ処理が不十分でHTMLタグが混入したとしてもクロスサイトスクリプティング。”
  • JavaScript: eval() 関数

    概略 MDN: eval() eval() 関数は、 ネット上でセキュリティを気にする用途に使ってはならないといった話もありますが、 スクリプト言語らしい便利な関数です。 その場でソースコードを評価して実行します。 Java や C# のような言語では扱いにくい機能です*1)。 *1) Java や C# でも一応、動的コンパイル機能がある。 eval() 関数は、 ネット上でユーザーの入力データや出典不明のデータファイルなど 任意のデータを処理する用途には使用できません。 でも、 セキュリティを気にしないローカルでのちょっとした計算やデータ処理に適しています。 たとえば、(1+2)*3 のような文字列があり、 これを数式とみなして計算したい場合でも、 下のように簡単に計算できます。 let s = "(1+2)*3"; let result = eval(s); // これだけで計算でき

    himabato
    himabato 2024/12/09
    “(1+2)*3 のような文字列があり、 これを数式とみなして計算したい場合でも、 下のように簡単に計算できます。”
  • eval関数の使い方(誤認識をなくそう) - くろのまったりシステム開発日記。

    よく、2つのテキストフィールドの合計を算出するJavaScriptの実装サンプルに、 var leftValue = document.getElementById("left").value; var rightValue = document.getElementById("right").value; var totalValue = eval(leftValue) + eval(rightValue); というのがあるのでこれまでeval関数はこういうものだと思っていたのですが、使い方が違うそうです(結果的には動くけど、eval関数の使い方が間違っている)。 eval関数は「引数を評価する」ためのものだということです。 例えば、 var user = { f1 : function() {console.log(1)}, f2 : function() {console.log(2

    eval関数の使い方(誤認識をなくそう) - くろのまったりシステム開発日記。
  • [JavaScript] evalの返り値についての研究

    JavaScriptを使っていて、文字列をプログラムとして実行する場合に便利に使えるeval関数の返り値が少し理解しづらかったので調査しました。 ちなみに、eval関数は、脆弱性の元として使用を危険視されていて、ユーザーが任意に発火できないように構築を行う必要があります。 公開サーバーで使用する場合は十分に注意して脆弱性の調査などを行うことをオススメします。 1. 数値計算 var res = eval("1+1"); > res => 2 文字列の数式は計算結果を取得できます。 2. 文字列 var res = eval("document.title"); > res = %titme% 環境変数や通常変数なども取得できます。 3. 返り値チェック 普通にreturn var txt = "return 'aaa';"; var res = eval(txt); > Uncaught

    [JavaScript] evalの返り値についての研究
  • evalの戻り値について - うなの日記

    任意の文字列をJavaScriptとして評価/実行し結果を返すeval関数ですが、"var x = 3;"とか実行させたらどうなるのか疑問だったので、ちょっと試してみました。 基ルール 文字列をJavaScriptとして評価/実行し、式が実行されていればその値を返します。 式が実行されていない場合undefinedが返されます。 複数の式が実行された場合、最後に実行された式の結果が返されます。 リテラル/オペレーター 1とか"aaa"とか、new とか function とかです。 リテラルやオペレーターは評価値を返す式になるので、それが返されます。(当たり前ですね。) ステートメント ifとかforとか。varも含まれます。 ステートメントを実行し、式が実行されていればその値を返します。 ただし、if文の条件式やfor文の初期化式などは、カウントされません。 サンプルです。 var s

    evalの戻り値について - うなの日記
  • DOM Based XSSの基礎と実例 - DOM Based XSSとは | CodeGrid

    DOM Based XSSの基礎と実例 第1回 DOM Based XSSとは フロントエンド実装者が注意したい脆弱の問題のひとつに、XSSがあります。今回は、その原理を理解してみましょう。 脆弱性トップ10に数えられるXSS 「脆弱性(ぜいじゃくせい)」という言葉を聞いたことはありますでしょうか。サービスにセキュリティ上の問題があり、情報の漏えいや改竄などにつながる状態を「脆弱」であると言い、その原因となる問題を「脆弱性」と呼びます。つまり、脆弱性があると、攻撃を受けて情報が漏洩したり、改竄されたりといった問題につながる可能性があるということです。 脆弱性には、さまざまなものがあります。Webアプリケーションのセキュリティに関する課題解決を考えるコミュニティであるOWASP(Open Web Application Security Project)は、Webアプリケーションにおけるセキ

    DOM Based XSSの基礎と実例 - DOM Based XSSとは | CodeGrid
    himabato
    himabato 2024/12/09
    “これは、createTextNode()やsetAttribute()に渡したテキストがHTMLとして構文解析されることなく、DOMに直接追加されるからです。”
  • JavaScript での基本演算 — 数値と演算子 - ウェブ開発の学習 | MDN

    JavaScript の基的な数値演算 — 加算、減算、乗算、除算。 数値が文字列として定義されている場合、それは数値ではなく、計算が間違ってしまう可能性があります。 文字列を数値に変換する Number()。 演算子の優先順位。 インクリメントとデクリメント。 代入演算子と比較演算子。 Math オブジェクトの基的なメソッド、 Math.random()、Math.floor()、Math.ceil() など。 みんな数学が大好き まあ、みんなではないですね。好きな人もいれば、九九や長い数字の割り算が出てきてから嫌いになってしまった人もいるでしょう。どちらでもない人も。けれど、数学が生活に必要なものであるということは、否定することは出来ません。特に JavaScript (または同様の言語)のプログラミングを学習しているのなら、なおさらです。数値データを処理したり、計算をしたりするこ

    JavaScript での基本演算 — 数値と演算子 - ウェブ開発の学習 | MDN
    himabato
    himabato 2024/12/09
    “数値には引用符が不要です。”
  • テキストの扱い — JavaScript での文字列 - ウェブ開発の学習 | MDN

    言葉の力 言葉はコミュニケーションの大部分を担う、人類にとって、とても大切なものです。ウェブは情報の共有やコミュニケーションができるように設計された大規模な文字ベースの媒体ですので、そこで使用される言葉を操作できると便利です。 HTML はテキストを構造化して意味づけし、 CSS がきれいに体裁を整えることを可能にし、そして JavaScript は文字列を操作するたくさんの機能を提供しています。独自の挨拶文を生成したり、適切なラベルを表示したり、言葉を並べ替えたりといったことを行います。 このコースのこれまで示したプログラムのほとんどすべてが、何らかの文字列操作を含んでいます。 文字列の宣言 文字列は最初の見た目では数値と同じように扱われますが、深く掘り下げるといくつかの顕著な違いが見えてきます。基的な行をブラウザーの開発者コンソールに入力して慣れることから始めましょう。 始めに、次の

    テキストの扱い — JavaScript での文字列 - ウェブ開発の学習 | MDN
  • 稲員勇輝の覚書 JSON

    ■JSONの概要 現在主流のデータ交換フォーマットは、XMLが主流だが、JSONもXMLと同じくテキスト形式の人間にとって読みやすい フォーマット。 ただし、XMLより書式がシンプルな分、動作が軽いのが特徴。 ■JSONオブジェクトを生成する JSONの最も基的な書式を以下に示す。 { "キー1";値1, "キー2";値2, ・・・・・・ "キーn";値n, } {}内に、コロン「:」で接続したキーと値のペアを、カンマ「,」で区切って記述していく。 連想配列的に表現するとキーと値と表現できるし、オブジェクトとして捉えるならば「プロパティ」と「値」の組み合わせと考えるとわかりやすい。 値には、文字列、数値、ブール値、null、およびオブジェクトを格納することができる。 たとえば、「name」と「age」という二つのキーを持つJSONオブジェクトを生成し、変数myJSONに格納し、出力するに

    himabato
    himabato 2024/12/09
    “eval()関数の引数には、JSON形式の文字列を「(」と「)」をダブルクォーテーションで囲んだものを渡す点に注目。 これは、引数を式として評価させるため。 ”
  • eval

  • evalの話+α - Qiita

    これは株式会社POL テックカレンダー 2021 18日目の記事です。 株式会社POLでサーバサイドエンジニアをやっております岩井です。 3日目と同様に、「そんなに難しい話でもないのにネットであんまり書かれていないのでは?」というちょっとした話と、ちょっとしたツールを作ったので紹介させてください。 eval() Javascriptには「eval」という関数があります(他の言語にもありますが)。これは、引数として与えた文字列をJavascriptのコードとして解釈し、実行するというものです。 かつてはJSON形式のデータを読み込む時に使用されたりもしましたが、現在はその場合はJSON.parse()を使用することが推奨されます。 また、evalは遅いためwindow.Function()を代替することが推奨されています。 と、あえて触れずに3行ほど書きましたが、evalには「悪意を持った第

    himabato
    himabato 2024/12/09
    “evalは遅いためwindow.Function()を代替することが推奨されています。”
  • 【Javascript】関数宣言よりなるべく関数式を使う。その理由について - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【Javascript】関数宣言よりなるべく関数式を使う。その理由について - Qiita
    himabato
    himabato 2024/12/09
    “関数宣言の場合、後から宣言しても関数が実行されてしまいます。便利そうに見えますが、バグの原因になる可能性があります。”
  • Element: input イベント - Web API | MDN

  • 十六章第八回 オブジェクトリテラル — JavaScript初級者から中級者になろう — uhyohyo.net

    十六章第八回 オブジェクトリテラルこのページの最終更新日:2019年7月2日 今回は比較的短いですが、オブジェクトリテラルについて解説します。オブジェクトリテラルはこういうやつですね。 { foo: 'bar', hoge: 3, } ES2015にはオブジェクトリテラルにも便利な記法が追加されましたので、それを解説します。 最後のカンマその前に、皆さんは気づいていたでしょうか。オブジェクトリテラルの最後のカンマについて気づいていたでしょうか。 { foo: 'bar', hoge: 3, // ←これ } です。オブジェクトリテラルの中身はプロパティ名: 値というのをカンマで区切って複数並べる形をしていましたが、一番最後にもこのようにカンマを付けることができます。 かなり昔のJavaScriptではできなかったので後方互換性を気にして最後のカンマを付けない人もいましたが、最近はそのような

    十六章第八回 オブジェクトリテラル — JavaScript初級者から中級者になろう — uhyohyo.net
    himabato
    himabato 2024/12/04
    “また、ジェネレータ関数に対応する省略記法もあります。”
  • 関数型プログラミングが『銀の弾丸』であるという非常識な常識2022

    2025年に書は全面改定され、新しい書籍として公開されています。ご移動ください。 最高のコーディング体験 for AI a岡部 健Ken Okabekentutorialbook@gmail.com 関数型プログラミングが『銀の弾丸』である という非常識な常識 2022Functional Programming as the Silver bullet, that is the Insane common sense 2022

    himabato
    himabato 2024/12/04
    ボリュームある