タグ

ブックマーク / ginpen.com (20)

  • スプレッド演算子……じゃなくて、スプレッド構文の使える場所とか使い方とかそういう。(配列とかおれおれAdvent Calendar2018 – 20日目) | Ginpen.com

    const arr1 = [11, 22, 33]; const arr2 = [44, 55]; const arr3 = [...arr1, ...arr2]; console.log(arr3); // => [ 11, 22, 33, 44, 55 ] const arr4 = [0, ...arr1, 0, ...arr2, 0]; console.log(arr4); // => [ 0, 11, 22, 33, 0, 44, 55, 0 ] 次の個所で利用可能です。 配列初期化子 [] オブジェクト初期化子 {} 関数呼び出し時の引数 () 分割代入 = 、関数の仮引数 () 配列初期化子 [] ... に続けて反復可能 (iterable) なオブジェクトを置きます。まあ普通は配列ですね。 ECMAScript® 2018 Language Specification 12

    スプレッド演算子……じゃなくて、スプレッド構文の使える場所とか使い方とかそういう。(配列とかおれおれAdvent Calendar2018 – 20日目) | Ginpen.com
    efcl
    efcl 2018/12/21
    spread element/syntaxについて。 https://github.com/asciidwango/js-primer/issues/425 でそういう話をしたなー
  • Chrome、Edge、Firefox互換のブラウザー拡張を作るポリフィル。 | Ginpen.com

    最近思うところあってブラウザー拡張を作って公開しました。(Macが対応していない絵文字を使っているので、変に見えます。いずれどうにかする。) 仕事中についSNS見ちゃうのを止めるやつです。 Chrome → Stop SNSChrome Web Store Firefox →Stop SNS – Add-ons for Firefox Edge → 未公開 ソース → ginpei/stop-sns: Chrome, Edge, Firefox extension that helps you to spend less time on SNS. スイッチオンにしてTwitterとかを開くと止められます。 作ったものについてはそのうち記事に書きたいと思ってます。あとブラウザー拡張の作り方についてもちゃんとした形にしたいなと思って準備中。 それはそれとして、作成中に得た知見のひとつ、互

    Chrome、Edge、Firefox互換のブラウザー拡張を作るポリフィル。 | Ginpen.com
    efcl
    efcl 2018/04/30
    ブラウザ拡張のpolyfill
  • 新しいChromeでスクロールが取れない? scrollingElement? | Ginpen.com

    知り合いに聞かれて気づいたんですが、Google Chromev61からスクロールの取得方法が変わったっぽい。とりあえずこんなコードで取れます。 なんだこれ Chrome 60までとか未対応のやつは document.documentElement.scrollTop が常に 0 を返すので、 || で繋げてやるとどっちに対応してる環境でも動きます。 事前にUAから分岐して要素を分けて、みたいなことしてると駄目なので、こっちがおすすめです。そんなに実行コストかからんでしょ。知らんけど。 Chromeは変わったけどSafariはまだ変わってないので、対応しときましょう。 あとEdgeも document.body の方みたい。IEは document.documentElement だったのに。はしごを外されちゃったね。 scrollingElement なるものが で、ちらちら見てたら

    新しいChromeでスクロールが取れない? scrollingElement? | Ginpen.com
    efcl
    efcl 2017/10/10
    Chrome 61で"scrollTopLeftInterop"がデフォルトで有効化されたため、`scrollingElement`を優先してつかう必要がある。https://jsfiddle.net/xvrdaacf/3/
  • JavaScript設計の世代と近未来の話。(JavaScriptおれおれAdvent Calendar 2014 – 24日目) | Ginpen.com

    JavaScriptおれおれAdvent Calendar 2014 – 24日目 個人的に、こんな感じで認識してますって話。書くにあたりあんまり精査してないので勘違いありそう。やさしく教えてください。 もちろん個々人では先取りしてあれやこれややってる人もいて、そういう人たちは特に今でも第一線で頑張っているように思う。 原初 設計なし DHTML (Dynamic HTML) NoScript 設計なしに書いていた時代。 もちろん個別のアルゴリズムとかはあったんだけど、アプリケーションというよりはウィジェットとかそういう規模のもの。 あれよあれ、マウスカーソル追っかけるやつとかそういうの。もちろんまともに考えられたものもあったけど、少数派。JavaScriptといえば「よくわからない派手で邪魔なもの(を作るやつ)」という認識。ブラウザーの設定やプラグインでスクリプトの実行を停止している閲覧

    JavaScript設計の世代と近未来の話。(JavaScriptおれおれAdvent Calendar 2014 – 24日目) | Ginpen.com
    efcl
    efcl 2014/12/26
    最後のはreact-futureで同じような事言ってる http://qiita.com/koba04/items/6e9d5f09cfc44a419dfd
  • EditorConfigで文字コード設定を共有して喧嘩しなくなる話。(Frontrend Advent Calendar 2014 – 14日目) | Ginpen.com

    Frontrend Advent Calendar 2014の14日目の記事です。 Frontrend Advent Calendar 2014 – Qiita ご存知ですか、EditorConfig。 便利すぎてほんのり涙出てくるくらいなんですが、いまいち周囲で聞かないので流行っていないのではないかと思います。是非とも流行らせてください。平和のために!! フロントエンドにあんま関係ない代物だけど、改行コード絡みで恨みつらみを聞く機会が多い気がするのでご容赦くださいまし。 なにそれ 様々なエディターで利用できる、共通の書式設定ファイルです。”.editorconfig”というファイルをプロジェクトのルートに配置しておくだけで、エンコード等の書式をそのディレクトリー配下のファイル編集時に固定できます。 もちろん設定自体は各エディターでやってもらえば良いんだけど、やっぱりほら、好みとかもあるわ

    EditorConfigで文字コード設定を共有して喧嘩しなくなる話。(Frontrend Advent Calendar 2014 – 14日目) | Ginpen.com
    efcl
    efcl 2014/12/15
    EditorConfigについて JetBrains IDEが最近ビルドインサポートするようになったので便利。 Makefileとかはコレないと辛い
  • JavaScriptStackTraceApi邦訳。Errorオブジェクトのstackについて。 | Ginpen.com

    Google ChromeやNode.jsで利用可能なAPIです。Firefox等には搭載されていません。(まーあんまり使う場面なさそうですけど。) http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi 以下、翻訳です。 All internal errors thrown in V8 capture a stack trace when they are created that can be accessed from JavaScript through the error.stack property. V8 also has various hooks for controlling how stack traces are collected and formatted, and for allowing custom

    JavaScriptStackTraceApi邦訳。Errorオブジェクトのstackについて。 | Ginpen.com
    efcl
    efcl 2014/05/16
    V8のError StackTrace APIについて解説訳
  • スムーズなアニメーションを実装するコツと仕組みを説明するよ。CPUとGPUを理解しハードウェアアクセラレーションを駆使するのだ!(Frontrend Advent Calendar 2013 – 06日目) | Ginpen.com

    (追記: 2018年10月)何年か経ってから見ても内容大丈夫そうでした。 この記事はFrontrend Advent Calendar 2013の6日目の記事です。昨日は谷さんでWeb Components/Polymerを軽く触ってみるでした。(これ今後数年で大流行りしそうに思うので、未読なら是非!) さて、最近はHTML5だCSS 3だFlashやめてJS制御でアニメーションだーってんで盛り上がってるわけですが(周回遅れ)、いざアニメーションを実装してみても、なかなかスムーズに動いてくれなかったりしますね。 どうやったらスムーズに動くかってのを解説したいと思います。 なおこの辺りの情報は、概ね斎藤さんを中心としたFrontrend絡みの方々に教えて頂きました。感謝感謝。 先に結論 概念的なの GPU合成レイヤーを適切に使うと早い いわゆるハードウェアアクセラレーション 何がCPUで、何

    スムーズなアニメーションを実装するコツと仕組みを説明するよ。CPUとGPUを理解しハードウェアアクセラレーションを駆使するのだ!(Frontrend Advent Calendar 2013 – 06日目) | Ginpen.com
    efcl
    efcl 2013/12/19
    CSSアニメーションとGPUレイヤーについて. GPUを使った場合のアニメーションが何故高速なのか、また適応範囲が大きすぎるが逆に問題が起きるのかが見た目で分かりやすくまとまってる。
  • 次世代JavaScript、ECMAScript6の話を聞いてきたからサンプルコードとかメモしときます。 | Ginpen.com

    これ行って来ました。 Web先端技術味見部#15 (今回は「ECMAScript6をそろそろ触る」!) : ATND 楽しかった! JavaScript (JS)とECMAScript (ES)の違いとか、そういうのはググってください。 Firefox Auroraが現状ES6最先端ぽい。次点Chromechrome://flags から「JavaScript の試験運用機能を有効にする」を有効にして再起動でES6の機能が使えたりするらしい。 Firefoxで メニューのツール>Web開発>スクラッチパッド でスクラッチパッド。なんかコンソールより便利なやつ。 配列内包表記も使えるように。でも見づらいので三項演算子(?:演算子)みたいな扱いになりそうに思った。 サンプルコードいろいろ let ブロックスコープになる。varと有効範囲が異なる。

    次世代JavaScript、ECMAScript6の話を聞いてきたからサンプルコードとかメモしときます。 | Ginpen.com
    efcl
    efcl 2013/01/20
    ES6のlet,const,分割代入,引数の初期値,可変長引数,Map,Set,Iteratorなどについて
  • CSSの変化をアニメーションさせるtransitionについてまとめたよ。(CSS おれおれ Advent Calendar 2012 – 22日目) | Ginpen.com

    CSS おれおれ Advent Calendar 2012 – 22日目 (ヽ´ω`) oO( また日が昇ってからの更新になってしまった……。 ) 前提:CSSにおけるアニメーションは以下の二種類あります。 Transitions … 変化するもの Animations … 動き続けるもの 今回は前者について取り上げます。後者もいずれ。 概要 transitionは値の変化をアニメーションさせる、という事を指定するものです。 例えば青色をしたリンクにマウスカーソルを乗せると赤色になる、というような場面で、その変化を時間を付けて行わせる事ができます。 常に動き続けているようなアニメーションは、animateの方の領分です。 使える場面 あくまで「変化」を対象にしているため、何らかの(主に利用者の)操作が必要です。 なので、変化する状態を示す擬似クラス(:hoverとか)や、JavaScrip

    CSSの変化をアニメーションさせるtransitionについてまとめたよ。(CSS おれおれ Advent Calendar 2012 – 22日目) | Ginpen.com
    efcl
    efcl 2012/12/23
    CSSのTransitionsの使いかた. transitionでアニメーションするプロパティについて
  • width:100%なのにはみ出す理由と回避策。CSSを触るなら必ず理解しなくてはいけないボックスモデルの話。(CSS おれおれ Advent Calendar 2012 – 05日目) | Ginpen.com

    CSS おれおれ Advent Calendar 2012 – 05日目 横幅いっぱいに広げようとしてwidth:100%を指定したら横スクロールバーが出ちゃった、という経験ありませんか? その原因と仕組み、回避策についてお話しします。 わりとFAQな感じ。これは是非覚えておいてもらいたいです。というか知っておいてください。 はみ出した例 position:absoluteないしposition:fixedを使った際にこうなっちゃう事が多いと思います。 上部から出てきたメッセージ欄、横にはみ出てますね。 でも指定はちゃんとwidth:100%です。「幅いっぱい」を指定しているのに、どうしてはみ出てしまったんでしょうか。 「幅」が意味するところ 実はCSSの仕様が定めるところの「幅」というのが、我々が視覚的に認知している「幅」と異なっているのが原因です。 CSSではこんなものを定めています。

    width:100%なのにはみ出す理由と回避策。CSSを触るなら必ず理解しなくてはいけないボックスモデルの話。(CSS おれおれ Advent Calendar 2012 – 05日目) | Ginpen.com
    efcl
    efcl 2012/12/09
    CSSのブックスモデルについて。 borderのはみ出し
  • jQueryの$()が多機能すぎる件について。5種類も仕事があるよ。(軽めのjQuery Advent Calendar 2012 – 01日目) | Ginpen.com

    軽めのjQuery Advent Calendar 2012 – 01日目 jQueryってあるじゃないですか。便利ですよね。いろんなところで紹介されてるっていうかもう普通に使われてると思うんですけど。 jQuery() APIについてはこちら。 jQuery() – jQuery API jQuery(expression, context) – jQuery 日語リファレンス jQuery(html, [ownerDocument]) – jQuery 日語リファレンス jQuery(callback) – jQuery 日語リファレンス jQuery(elements) – jQuery 日語リファレンス jQueryと$は同じものなので、jQuery()と$()は同じです。これ、実は関数なんですよ。 というわけで、以下使い方。 5種類の使い方 セレクター : $('#tar

    jQueryの$()が多機能すぎる件について。5種類も仕事があるよ。(軽めのjQuery Advent Calendar 2012 – 01日目) | Ginpen.com
    efcl
    efcl 2012/12/02
    jQueryの$の5つの動作について
  • jQueryが要素検索に使うSizzleについて。 | Ginpen.com

    jQueryの強力な機能のひとつに、 $('#the-target') のようにCSSのセレクターを用いて要素検索できるというものがあります。この要素検索を行うモジュールにはSizzleという名前が付けられています。 一方、近代的なブラウザーには .querySelectorAll() がネイティブで実装されています。こちらもCSSのセレクターで要素検索できるメソッドです。 セレクタを使用した DOM 要素の指定 | Mozilla Developer Network var $elems = $('elem#id.class, .and.more.selectors'); var elems = document.querySelectorAll('elem#id.class, .and.more.selectors'); JavaScriptで何かするよりも、ネイティブでやった方が高速

    jQueryが要素検索に使うSizzleについて。 | Ginpen.com
    efcl
    efcl 2012/09/15
    Sizzleのセレクタの独自拡張について
  • jQuery 1.8の更新内容をまとめたよ。 | Ginpen.com

    個人的に油断してたんですが、jQuery 1.8がリリースされましたね。 CSSのベンダープレフィックスを自動でほぼ補完してくれるようになったのが目玉機能でしょうか。作業量としては、セレクターエンジンSizzleとアニメーション関係を全面的に書き換えた事が大きそうです。なお諸々強化されているにも関わらず、ファイルサイズは減っています。(ちょっとだけどね。) えらい! jQuery Blog » jQuery 1.8 Released jQuery Blog » jQuery 1.8 Beta 1: See What’s Coming (and Going!) jQuery Blog » The New Sizzle jQuery Blog » jQuery Core: Version 1.9 and Beyond jQuery Blog » jQuery 1.9 and 2.0 — TL;

    jQuery 1.8の更新内容をまとめたよ。 | Ginpen.com
    efcl
    efcl 2012/08/15
    jQuery1.8の更新内容のまとめ CSベンダーprefix、Sizzle、module
  • やたー何語だか調べるやつできたよー! | Ginpen.com

    https://ginpen.com/lab/whatlang/ 仕組み 仕組みは、まあコードを見て頂ければお分かり頂けるかと思うんですが、こんな感じです。 入力文字のコードを得る。 (.charCodeAt()) WikipediaのUnicodeのページのコード順分類一覧を元に名前を取得。(力技で。) ついでに前後のコードの文字を表示。 (.fromCharCode()) 関連 Twitterで変な文字が出て来たら .charCodeAt()で文字コードを調べてみれ(JavaScript おれおれ Advent Calendar 2011 – 19日目)

    やたー何語だか調べるやつできたよー! | Ginpen.com
    efcl
    efcl 2012/01/17
    文字コードからコード分類に従って分類名を表示するツール
  • カラーコードを素敵に扱うビット演算(JavaScript おれおれ Advent Calendar 2011 – 8日目) | Ginpen.com

    JavaScript おれおれ Advent Calendar 2011 – 8日目 CSSで色を表現する方法の一つにカラーコードというものがありまして、#55CC2Aみたいな感じで色を表現できますね。光の三原色RGB (Red, Green, Blue)を2桁の16進数で表現して連結したものです。 これをJavaScriptから扱うなら、そのまま16進数で0x55CC2Aみたいに扱うと見た目が似ていて楽チンそうです。(ちなみにアルファベットは大文字でも小文字でも可。) この中から一色分だけ取得したりするには、ビット演算でムニャムニャするのが良いです。 (あるいはrgb()の形の表現でも良いでしょう。) 先に結論 // 取得 var code = 0x55cc2a; var red = code >> 16; // => 0x55 var green = code >> 8 & 0xff;

    カラーコードを素敵に扱うビット演算(JavaScript おれおれ Advent Calendar 2011 – 8日目) | Ginpen.com
    efcl
    efcl 2011/12/08
    RGB値 の書く値を取り出す
  • jQuery 1.7の更新内容をまとめたよ。 | Ginpen.com

    jQuery 1.7が公開されたので、早速1.6.xからの更新内容をまとめてみました。 jQuery: » jQuery 1.7 Released (リリース記事) Version 1.7 – jQuery API (公式ドキュメント、1.7で変更があったもののみ) 1.7 all tickets – jQuery Core – Bug Tracker (1.7の全チケット) リリース記事の翻訳じゃないです。 主な変更点 個人的に気になったものをピックアップしてみますよ。 既存の .bind()や .live()等に置き換わる .on(), .off()を追加 .bind(), .delegate(), .live()が統合されました。(これらも引き続き使用できます。) →詳細後述します。 toggleと.stop()の連携を改善 toggle系と組み合わせた際におかしくなってしまうのが改

    efcl
    efcl 2011/11/04
    jQuery 1.7の機能紹介
  • IE7, IE8, IE9とかのダウンロードページまとめ。 | Ginpen.com

    全国のWeb屋さんは好むと好まざるとに関わらず、IEに対応するためにあれこれ環境を揃えたりしておられると思います。で、実際に環境をを作ろうとしてみたら各種IEのダウンロード先がバラバラでどこからダウンロードしていいかわからない……という経験もあるのではないでしょうか。 なんかもうそういうのが面倒なので、fuckin’ IEシリーズのダウンロード先をまとめておきます。 IE 7 : ダウンロード詳細 Windows XP 向け Windows Internet Explorer 7 IE 8 : Internet Explorer 8 のダウンロード – Microsoft Windows IE 9 : Internet Explorer 9 の各言語のダウンロード – Microsoft Windows IE 9はWindows Vista/7専用です。XPでも使いたい方はこちらの記事をど

    IE7, IE8, IE9とかのダウンロードページまとめ。 | Ginpen.com
    efcl
    efcl 2011/08/23
    IEのダウンロードページまとめ
  • CSSでheight:100%を使う方法について。 | Ginpen.com

    width:100%はよく使いますが、height:100%はあまり使いませんね。というか使えない場面がほとんどなんですが、じゃあ使うにはどうするか、というお話です。 サンプル まずは実際に指定してみたものをご覧ください。 CSSでheightの相対値を指定する 親要素に設定があれば指定できる 基的には親要素に高さが指定されていれば、高さを相対値で設定できるという解釈で良いと思います。

    CSSでheight:100%を使う方法について。 | Ginpen.com
    efcl
    efcl 2011/07/02
    画面いっぱいの高さ
  • jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。 | Ginpen.com

    先日jQuery 1.6がリリースされましたが、案の定.attr()関連で議論になったようで、一週間後に後方互換を保つ更新が行われました。 jQuery: » jQuery 1.6.1 Released 1.6の更新内容は先日の記事をご覧頂ければ。 jQuery1.6の更新内容をまとめたよ。 | Ginpen.com 更新内容 jQuery 1.6では.prop()メソッドの追加と.attr()メソッドの変更があり、これが「属性」と「プロパティ」の差、及び関係性についての議論を引き起こしました。結果として、1.6.1では後方互換を保つよう修正される事になりました。 つまり1.5.2から(1.6を飛ばして)1.6.1へバージョンアップする際は、.attr()関連のコードは変更が不要です。 なお.date()の方は1.6のリリースノートの通りの動作のままである事に注意してください。 前回(1.

    jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。 | Ginpen.com
    efcl
    efcl 2011/05/20
    jQueryの1.6.1の変更点についての詳細 .attr()の後方互換性について
  • jQuery1.6の更新内容をまとめたよ。 | Ginpen.com

    昨日jQuery1.6が公開されたので、その内容をまとめてみました。 jQuery: » jQuery 1.6 Released だいたい原文にそってますが、翻訳ではありません。 追記 : data()の扱いが誤っていたので修正しました。キーをキャメルケースにする必要があるとしていましたが、引数を与えずにマップを得た場合の話で、引数にキーを与えて個別に取得する場合は過去のコードと互換性があります。thanks @GeckoTang !(23:11) 変更点 既存コードに影響がある変更がいくつかあります。 data属性の自動マッピング ハイフン “-” を含む名前のとき、$element.data()に引数を与えずに得たマップのキーはキャメルケースに変換されるようになりました。 var $div = $('<div data-abc-xyz="123" />'); var data = $d

    jQuery1.6の更新内容をまとめたよ。 | Ginpen.com
    efcl
    efcl 2011/05/04
    jQuery1.6のリリースノートの訳
  • 1