タグ

javascriptに関するGrieverのブックマーク (151)

  • JavaScriptで動画から音声を抽出してみた

    ブラウザだけでMP4/FLV/SWFの動画からMP3/M4A/AAC/WAVの音声を抽出できるサービスを作りました。 nicozonにあるmp3変換のページからサービスが利用できます。 nicozonの動画ファイルのダウンロード機能と合わせて使用すれば、 にこさうんどやnicomimiの代わりになりますね。 従来のこういうサービスはサーバー側で変換をするものですが、 このサービスの新しい所はJavaScriptで動画から音声を抽出している所です。 メリット ブラウザ側で変換してるのでサーバーのリソースを使用しなくて済む 順番待ちとかアップロードとかダウンロードとかしないので変換する速度が速い 音声ファイルをそのまま抽出しているので音質がいい 複数の動画ファイルを同時に変換することが出来る WebWorkerで処理しているので処理中もブラウザが固まらない サーバから動画ファイルをアップロード

  • 最速インターフェース研究会 :: 三項演算子の正しい書き方ってあるのだろうか

    最近は、三項演算子を多用しているのだけれど、やっぱり人が使ってるのを見ると気持ち悪い。 http://d.hatena.ne.jp/brazil/20050921/1127314004 Test.Builder.globalScope = typeof JSAN != 'undefined' ? JSAN.globalScope : typeof window != 'undefined' ? window : typeof _global != 'undefined' ? _global : null; これは解読するのにやたら時間がかかる気がする。コロンの後が値なのか条件なのかわからないからだ。 俺ならこう書く。 Test.Builder.globalScope = (typeof JSAN != 'undefined') ? JSAN.globalScope : (typeof wi

    Griever
    Griever 2011/06/28
    三項演算子の読みやすい書き方
  • Selection: modify() method - Web APIs | MDN

    Parameters alter The type of change to apply. Specify "move" to move the current cursor position or "extend" to extend the current selection. direction The direction in which to adjust the current selection. You can specify "forward" or "backward" to adjust in the appropriate direction based on the language at the selection point. If you want to adjust in a specific direction, you can specify "lef

    Selection: modify() method - Web APIs | MDN
    Griever
    Griever 2011/06/22
    キーボード操作の様な文字列選択ができるメソッド
  • http://www.memetodo.co.cc/2011/06/removedelete.html

    Griever
    Griever 2011/06/20
    こういう時は Array.prototype.slice.call(likeArray); とかで配列にしてから走査すると楽。forEach とかも普通に使えるしね。
  • 即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように

    JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、

    即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように
    Griever
    Griever 2011/04/24
    function文とfunction式の違い。voidは返り値がないからなぁ…
  • Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog

    Chrome版のFirebugことGoogle Chrome Developer Toolsですが、以前gihyoで解説したときよりさらに便利になっているので、少し紹介します(元はWebKitなので、そのうち(近いうちに)Safariでもそれなりに使えるようになるはずです)。 圧縮されたコードの整形 まず、目立つところからいきましょう。ちょうど先日更新されたChromeのdev版(12.0.742.0)に搭載されたばかりの機能で、minifyされているJavaScriptコードを読みやすいように整形して表示してくれるというものです(IE9の開発者ツールにも実装されている機能です)。 例えば、Google Analyticsのコードは圧縮されていて普通は読めません。 しかし、Chromeのデベロッパーツールなら、 このように整形してくれます。 やり方は簡単で、デベロッパーツールのScript

    Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog
  • FrontPage - 俺専用 JavaScript Reference

    2015-04-03 文法/演算子 演算子 2015-03-13 CSS/プロパティ一覧 2015-03-11 型 RecentDeleted 目的別/スタイル 2014-06-11 FrontPage 2014-04-18 目的別/ブラウザ 2014-02-12 Frontpage 2013-11-20 try_catch_finally 目的別/文字列 目的別 目的別/画像 Global/encodeURIComponent window/setInterval 目的別/ソート 2013-08-05 目的別/スタックトレース 2012-11-12 目的別/関数 instanceof typeof この Wiki の目的 † JavaScript について情報収集。 情報が錯綜してて何が正しいのかよくわからんので、できる限り1次情報からかき集める方針で。 元情報がはっきりしないものは参考

  • JavaScript Style Guide - GitHub

    This document describes the JavaScript style for the Scriptish Firefox extension. This guide was forked from the Greasemonkey's JavaScript Style Guide. Whitespace Indent blocks with 2 spaces. No tabs. Thus, blocks should be indented as: if (dlmgrWindow) { // focus on window dlmgrWindow.focus(); } else { // open window dlmgr.open(window, null); } Lines should be no longer than 80 characters. When b

  • 七章第三回 条件を満たすノードを順番に処理する:TreeWalker — JavaScript初級者から中級者になろう — uhyohyo.net

    七章第三回 条件を満たすノードを順番に処理する:TreeWalkerこのページの最終更新日:2019年7月1日 今回は、たまに役立つものを紹介します。ある条件を満たすノード全てに対して処理を実行する方法です。 同じ感じのことは、今までに多少やってきました。例えば、getElementsByTagName(二章第六回)は、あるタグ名を持つ要素の一覧を得るためのものです。そうして得たNodeListをfor文などで1つずつ処理すれば、「ある要素名を持つ」という条件を満たすノードをまとめて処理したということになります。 しかし、今回紹介する方法では、要素名だけでなく、もっと複雑な条件を指定できます。 今回紹介するのは、TreeWalkerです。 直訳すると「木を歩くもの」という意味です。木とは木構造のことで、分かりにくいと思いますが、木構造の上を移動しながら次々処理をしていくというイメージです。

    七章第三回 条件を満たすノードを順番に処理する:TreeWalker — JavaScript初級者から中級者になろう — uhyohyo.net
    Griever
    Griever 2011/02/24
    TreeWalker の説明
  • Function.prototype.bindは何がいいのか - 枕を欹てて聴く

    ES5からFunction.prototype.bindが入りました. これに準ずるものは数々のFrameworkで提供され続けてきたので, あまり馴染みの無さはないのではないでしょうか. このFunction.ptototype.bindは実はとても面白いので. 結論から言えば, Function.prototype.bindはtarget functionのConstructに完全に移譲するのでConstructorの引数束縛が行えます. またConstructor callに対して配列を渡すapply形式のものといったapplyConstructorやcallConstructorをbindを使って実装することができます. 基 Function.prototype.bindは基的にはthisとargumentsに特定の値を束縛する関数です. bindは第一引数にthis, 次から

    Function.prototype.bindは何がいいのか - 枕を欹てて聴く
  • 記号だけのJavaScriptプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。プログラマ定年を迎えたのであとは悠々自適に日々過ごそうと思ってるはせがわです。 JavaScriptで記号プログラミングを行う基的な取り組を説明します。 jjencodeなどで使っているテクニックです。 まず最初は数字の作り方。 +[] // 空の配列にプラス演算子で数値の 0 ~[] // 空の配列にビット反転で -1 ~{} // 空のオブジェクトにビット反転で -1 -~[] // 空の配列にビット反転で-1、-1に単項マイナスで +1 -~-~[] // +1 にビット反転で -2、-2 に単項マイナスで +2 このように、空の配列や空のオブジェクトに数値用の演算子を適用することで、任意の数値を記号だけで生成することができます。 次に文字の作り方。 ![] // 空の配列に論理否定で false !![] // 空の配列に論理否定を2回で true (![]+"")

    記号だけのJavaScriptプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    Griever
    Griever 2010/10/24
    XMLHttpRequest Level 2 は知らなかった。。。
  • JavaScriptベストプラクティス30選-jsEdu

    #jsEduから適当に選んで日語にしたものです。 訳とかは全く正確ではなく、as possibleなど表現をかなり省いてるので命令口調になってます。 フィーリング的なものはあんまり入れてないので、興味をもったらTogetter – 「JavaScriptのベストプラクティス大会 jsEdu」を読みましょう。(まとめた奴はこれの10倍くらいありますが、被ってるのや関係無いのもあるので読める程度の量です) 全てを確認したわけではないので、正確性は保証しかねます。 ==ではなく===を使うべき (自動的に型変換に行われないのでバグが減る、高速) new Object() and new Array() よりも[] or {}を使うべき。 []や{}の方がシンプル JavaScriptを高速化する6つのテクニック | エンタープライズ | マイコミジャーナルで出てくるのは間違いだと思う。 []

    JavaScriptベストプラクティス30選-jsEdu
    Griever
    Griever 2010/10/15
    12,16,24 は覚えておく
  • – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。

  • storage

    Griever
    Griever 2010/09/12
    こんな書き方が...ψ(。。)メモメモ
  • 変なJavaScript (+ E4X) - hogehoge @teramako

    最近、E4X の勉強をしている(仕様はStandard ECMA-357ね) ご存知の通り(?) Mozilla の JavaScript *1には E4X が使えるのだが、いろいろ罠チックなものがあったり、ECMAScriptの仕様を壊してしまっていたりと面白い(ぉ const XHTML = new Namespace("xhtml", "http://www.w3.org/1999/xhtml"), LANG_JA = new Namespace("ja", "http://example.com/ja"), LANG_EN = new Namespace("en", "http://example.com/en"); default xml namespace = XHTML; var xml = <root xmlns:ja={LANG_JA} xmlns:en={LANG_EN

    変なJavaScript (+ E4X) - hogehoge @teramako
    Griever
    Griever 2010/08/16
    E4X は CDATA さえあればおk
  • syntax highlight with iv / js

    syntax highlight iv / js iv code page

  • Happy Hacking Prettifier

    Happy Hacking Prettifier Semi-Real Time Syntax Highlighting GitHub Repository : http://github.com/mooz/Happy-Hacking-Prettifier

  • JavaScript の分割代入まとめ - mooz deceives you

    幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:

    Griever
    Griever 2010/07/29
    分割代入まとめ
  • コールスタック上にある関数の引数にアクセス - mooz deceives you

    arguments no title を見ていて気づいたこと. function foo(x, y) { bar(); } function bar() { alert(foo.arguments[0] + ", " + foo.arguments[1]); } foo("x", "y"); // => x, y bar(); // TypeError: foo.arguments is null foo("x", "y") とすると, 以下のような流れで bar から foo の引数にアクセスできる様子. foo("x", "y") でコールスタックに foo が積まれる foo 内で bar() が呼ばれ, コールスタックに bar が積まれる bar 内では foo.arguments とすればコールスタック上にある一番近い foo の引数にアクセス可能 一方, 直接 bar() と

    Griever
    Griever 2010/07/09
    変態