JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
「GUIの雑談を無限にしたいなぁ」と思い、会を開催しました。 twipla.jp 上記のイベントページを立てて、Twitter上で募集をかけたところ、 この内容だけでピンと来てしまったガチ勢が9人も集まりました。 ドローツールやマインドマップ、作曲ツール等を自作するフルスクラッチマンたちです。 予約したルノアールの会議室は過密状態になってしまいました。 (もう少し広い部屋にしておけば…と後悔しました) (ルノアールです) #複雑GUI会 pic.twitter.com/XDGWs3EwZd— みやおか (@miyaoka) May 2, 2019 職人タイプの方が多かったので終始和やかな雰囲気でしたが、 やはり実装に深入りしていくことが多く、あまりの情報密度に 私も話についていくのが大変だったと自白しておきます。 あと、なぜか開催前に「バウンディングボックス大会」が行われる雰囲気が醸成され
tl;dr JavaScriptに参照渡し/値渡しなど存在しない 存在するのは変数に入る値の参照のみ 変数に値を代入すると参照が切り替わる という様に考えれば不毛な議論を避けられるのではないかという妄想 そしてタイトルは明らかな誇張表現 はじめに よくJavaScript界隈で見られる変数に関する話題として、「値渡し/参照渡し」が上がりますが、そもそもJavaScriptにはC++のような参照渡しなど存在しないです。それなのにわざわざ値渡し、参照渡しと分類することで、勝手が違うC++の参照渡しと混同しかねないです。実際にそのような話題が人目に付く程度盛り上がったときには、大抵「それはC++の参照渡しと違う」などと指摘が入り、JavaScriptでの参照渡しと呼ばれていたものが「参照渡しのようなもの」で片付けられるのを何度も見たことがあります。 ここまでの自分はJavaScriptにはJav
JavaScript の console がすごいことになっているらしい。 本日、以下の記事を見つけました。 Getting creative with the Console API! この記事で紹介されている console のメソッド全然知らなかったのでビックリしましたが、実際にどう表示されるのか載っていなかったのでChromeのコンソールでスクショを取ってみました。 console.log() 本文によるとlogメソッド内のテキストリテラルは以下の書式で値のフォーマットと置換ができるそうです。 %o / %O - for objects; %d / %i - for integers; %s - for strings; %f - for floating-point numbers; マジすか・・・ そんなわけで以下のコード console.log("Object value:
1. 正規表現リテラルは 本当に必要なのか? Makoto Kuwata kwa@kuwata-lab.com http://www.kuwata-lab.com/ copyright© 2014 kuwata-lab.com all rights reserved PyConJP 2014 ver 1.1 (2014-09-17): スライドを追加・加筆 2. 発表の背景 ✓ 2013年末、プログラミング言語における「正規 表現リテラルの必要性」が支持を集める http://togetter.com/li/603521 http://blog.kazuhooku.com/2013/12/blog-post.html ✓ Pythonは正規表現リテラルがないけど、別に困 ってないよ? …と説明しても聞いちゃくれないPerler/Rubyist/JavaScripterと、 正規表現リテラル
『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「猫の飼い方」?と表示されることを確認して クリックすると猫の飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので
どうも 突然ですが、皆さんはiOS12から追加されたショートカットを使っていますか!?(Androidユーザの方ごめんなさい) ショートカットをうまく使うとsiriから今日のご飯を決めたり 今日のご飯を聞けるようにした#iOS12 #ショートカット pic.twitter.com/W9QllgSlbZ — うじまる🐣 (@uzimaru0601) 2018年9月22日 毎日先輩から送られてくるうざいDMをTwitterに晒し上げたりできます 今日の中指、できるところまで自動化 pic.twitter.com/kLPMT5KSvv — うじまる🐣 (@uzimaru0601) 2018年9月20日 本題 今回、話をしたいのはこのショートカットでJSを動かすことが出来るという闇の魔術を皆さんに教えようと思います。(防衛術ではない・・・?) 方法 scriptタグの中にJSのコードを書く H
html で リンクを新しいタブ(やウィンドウ)で開かせたい場合、target="_blank" を指定するが、 この使い方には落とし穴があるらしい。 www.jitbit.com リンクを開いた先の javascript から、開いた元のページを操作できてしまうとのこと。 気になったので確認してみた。 悪用のパターン insecure.html が最初に開くページで、ここに target="_blank" なリンクがある。 このリンクを押すと new_window.html を新しいタブで開く。 この new_window.html に javascript が仕込まれており、元ページを操作されるという話。 具体的には window.opener.location="./evil.html" と実行すると、元タブは evil.html に遷移する。 実際試してみたのが ここ。 リンクを開
ES2015のTemplate Literals、便利ですねー。プレースホルダの展開といい、改行を含められることといい、"‘をエスケープせずに済むことといい、UserScriptやブックマークレットではとても便利です。 そんな便利な Template Literals ですが、Hatena::Let でそのまま使うと、@javascript_url や .packed.js の出力がまずいことになる場合があります。 どうまずいのか、回避策はないのか、という話をします。 問題点 Hatena::Let では JavaScript::Squish というライブラリでminifyを行っているのですが、これがES2015に対応していません。単にES2015の構文が無視されるだけではありますが、これが Template Literals では問題になります。つまり、文字列リテラルではなくただの式とし
現状整理 JavaScript では末尾再帰最適化(PTE: Proper Tail Call) は、完全には期待できない https://kangax.github.io/compat-table/es6/ 末尾再帰による最適化 - Qiita なので再帰は注意して使わねばならない スタックオーバーフローしないことをチェック 再帰を辞めて for 文とかに何とか変換する とはいえ再帰を使いたい こともある じゃあどうするか?が本稿の目的 再帰におけるスタックオーバーフローは、末尾再帰の最適化ができる他の言語でも起こりえる(例: 末尾再帰できない場合)。じゃあ、他の言語の場合どうしているかというと、トランポリンするらしい。もちろん JavaScript でもトランポリンできる。トランポリンすると、再帰が深くなってもスタックオーバーフローしない。 処方箋 ざっくりいうと以下の処方でスタックオ
地理空間データはどうしてもデータサイズが大きくなりがちです。 通常のデータ読み込みでは、読み込みが終わるまで地図の描画を始めることができないのですが、Fetch APIのReadableStreamを使うことで、「一部データを読み込んでは地図の一部分を描画する」という分割したレンダリングを実装することができます。 サンプルコード 約50MBのポリゴンデータを読み込みながら逐次描画しています。 DEMO //地理データをstreamを使って読み込む fetch("city.txt").then((response) => { const reader = response.body.getReader(); const stream = new ReadableStream({ start(controller) { function push() { reader.read().then(
「サイト上で実行されるプログラムについて同意を確認するためのプログラム」という記事で、MutationObserverを使ってscriptタグがDOMに追加させるタイミングでremoveを行うという力業を試してみたのですが、どうにも完全に実行を停止するのは難しいようです。 もともと、本来はheadタグ直下で実行すべきコードを記事文中内で実行しているため、記事以前に記述されているscriptに関しては実行を止めることができていなかったのですが、ほかにもasync属性が設定されているスクリプトに関してはこの方法では実行を止めることはできないようです。 また、一度ページが表示されるとキャッシュが残るため、2回目にページを表示した際に正しく動作しないようです。 サードパーティのスクリプトをフックして実行を制御するのはなかなかに難問でした。 [追記]検証ページつくってみました。 ※リンク先の検証ペー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く