タグ

関連タグで絞り込む (197)

タグの絞り込みを解除

tipsとjavascriptに関するko-ya-maのブックマーク (276)

  • Webアプリケーションで 60fpsを(極力)目指す

    KMC 春合宿2017で発表したトークです。

    Webアプリケーションで 60fpsを(極力)目指す
  • JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io

    Intro textarea などに入力された文字数を、 JS で数えたい場合がある。 ここで .length を数えるだけではダメな理由は、文字コードや JS の内部表現の話を理解する必要がある。 多言語や絵文字対応なども踏まえた上で、どう処理するべきなのか。 それ自体は枯れた話題ではあるが、近年 ECMAScript に追加された機能などを交えて解説する。 なお、文字コードの仕組みを詳解すること自体が目的では無いため、 BOM, UCS-2, Endian, 歴史的経緯など、この手の話題につき物な話の一部は省くこととする。 1 文字とは何か Unicode は全ての文字に ID を振ることを目的としている。 例えば 😭 (loudly crying face) なら 0x1F62D だ。 1 つの文字に 1 つの ID が割り当てられているのだから、文字の数を数える場合は、この ID

    JavaScript における文字コードと「文字数」の数え方 | blog.jxck.io
  • Modern JavaScript概観、そしてElectronへ | さにあらず

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

    Modern JavaScript概観、そしてElectronへ | さにあらず
    ko-ya-ma
    ko-ya-ma 2017/01/23
    知見。読み応えあり。なぜそれを採択するのかの説明が丁寧
  • 2年ぐらいJavaScriptから離れていた人に贈るES6対応表 - Qiita

    この記事はTech-Circle Hands on Advent Calendar 2016の2日目の記事です。 昨日はtominaga443さんのパワポでつくるスマホアプリ: CanvasFlipでインタラクティブなプロトタイピングでした。 引き続きフロントエンド週間ですが、今日はJavaScript行ってみましょう。 「JavaScript? うん、まぁ最近書いてないけど、ある程度は読み書きできるよ」 とか言っていたのもつかの間、新しめのコードを見てみるとES6(ES2015)、ES2016で追加された新しい記法に打ちのめされたりします。 ReactやらReduxやら、新しい技術はどんどん出てきますが、学ぶ際に記法で嵌っているとコアな部分に集中できないので、まずは新しい記法に慣れてしまいましょう。 わかってしまえば単なる便利記法なので難しくないです。 なお、React/Reduxのコー

    2年ぐらいJavaScriptから離れていた人に贈るES6対応表 - Qiita
  • JavaScriptの1msは4ms - Qiita

    はじめに JavaScriptのタイマー処理(setTimeout(), setInterval())は1000分の1秒の精度(ms)で遅延時間を指定することができます。 setTimeout(function() { // 1ms後に実行してほしい alert('hello!'); }, 1); 見ての通り、上記のコードは第一引数に渡した関数が1ms後に実行されることを期待して書かれていますが、実際にこれを実行すると4ms以上の遅延が発生する可能性があります。 これは、JavaScriptエンジンの実装によって、4ms以下の設定値は4msに矯正するという処理が行われているためです。 ※追記)厳密には上記処理のみを実行した場合は4msへの矯正は行われないようです。4msへの矯正が行われる条件として当記事最下部に追記を行っておりますので併せてご参照下さい。 なぜ4msなのか 実はこの4msと

    JavaScriptの1msは4ms - Qiita
  • 20160930 フロントエンド高速化 業務編 (社内勉強会)

    バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いRyota Watabe

    20160930 フロントエンド高速化 業務編 (社内勉強会)
    ko-ya-ma
    ko-ya-ma 2016/10/06
    実践的。fixed対策なんかは悩まされた人も多いはず
  • reducer の ノーマライゼーション - Qiita

    来は実体を配列で保持するようなケースを、次のような構成に分ける reducerが返すある状態を、全体を保持するオブジェクトと、全体の各IDを保持する配列に分ける。 全体を保持するオブジェクトのキーを指定して実体を手に入れる。まとまりをそのまま処理する場合は、全体の各IDを保持する配列にmap()を適用し、必要な実体のリストを手に入れる。 なぜ、こうするのか redux のアプローチでは、情報を管理するストアはトップレベルに一つだけある。そしてこのストアは意味のあるデータの塊ごとに reducer を作成し、必要に応じて combineReducers することで合成することができる。擬似的には

    reducer の ノーマライゼーション - Qiita
  • 『JavaScript: The Good Parts』で紹介されている標準メソッドまとめ - Qiita

    JavaScript: The Good Parts』で紹介されている標準メソッドまとめ JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティスは、JavaScriptの「良いパーツ」のみを厳選した、JavaScriptを書く人なら一度は読んでおきたい 良書です。したがって、ここで紹介されている標準メソッドは、積極的に取り入れるべきメソッドです。 「車輪の再発明はするな」とはよく言われることですが、標準APIに詳しくなることで普段書くJavaScriptもかなりきれいにまとまって書けるようになります。 記事では省いているRegExpやNumberの節、または標準メソッド以外のJavaScriptの「良いパーツ」に興味が出た方は、一度書を手にとって見てみてください。 「JavaScriptは言わばひとかたまりの大理石であり、私はその中からこの言語

    『JavaScript: The Good Parts』で紹介されている標準メソッドまとめ - Qiita
  • console.logまとめ 2016年夏 - Qiita

    console.log関連についてまとめました。 モダンブラウザであればどれも使用できると思いますが、基出力結果等はchromeで確認したものです。 console.hogehogeのいろいろ 基 引数を入れることで出力結果をカスタマイズできます console.info、console.warn、console.error それぞれで見た目を変えることができます。 console.assert 式を評価してfalseの場合にログ出力します。 console.count ログの出力結果が同じ場合にカウント数が自動的に増えていきます。 console.dir オブジェクトのプロパティの中身をログに出力します。 console.dirxml HTMLとかXMLの要素を渡すと、下の要素が全部見れるようになります。 console.group、conosle.groupCollapsed co

    console.logまとめ 2016年夏 - Qiita
  • Riot.jsの落とし穴まとめ - Qiita

    はじめに 軽量かつ学習コストも低めで書きやすいライブラリのRiot.jsですが、いわゆる落とし穴がいろいろあります。が、このライブラリに関する日語の記事があまり多くなく、コード書いていると突然「あれっ!?」となることがたまにあるので、自分が知っているものを書いていきます。 ※執筆現時点でのバージョンは2.4.1です。 ※2016/11/10追記 既に3.0.0-alpha.13がリリースされた今、2.4.1なんて古いバージョンを使っている方はいないと思いますので、今の時点での2系の最新である2.6.7でも確認しました。 親タグマウント時に子タグもマウントされる タグ(.tagのこと)がネストしていると、親タグをマウントすると子タグも一緒にマウントされます。 例えば以下の様な場合、親タグ(appタグ)で何か処理する必要があって、その結果でマウントする子タグを決めたい場合、子タグ(child

    Riot.jsの落とし穴まとめ - Qiita
    ko-ya-ma
    ko-ya-ma 2016/07/19
    riot.unmount()はやりたくなるなぁ
  • Node.js における Promise を使った例外処理 - from scratch

    さて、 Node.js のエラーハンドリングは難しいと言われてますが、 2016年現在、つまりNodeの v4 とか v6 が主流になり、 Promise が基的な処理として採用されている状況ではどうでしょうか。ちょっと考えてみます。 一応これの補足です。 qiita.com TL;DR 未だに難しい。ただし、 Promise で改善されている。async-await や zone まで来たらかなり楽になる。 あと、 unhandledRejection が uncaughtException よりも酷いことにならないので、大分マシになっている。 Node.js のエラーハンドリングの難しさ まず JavaScript には同期と非同期のエラーハンドリングのやり方があります。前者は所謂 try-catch による方法、後者は callback を使って第一引数で実現する方法や emit(

    Node.js における Promise を使った例外処理 - from scratch
  • TypeScript の型定義ファイルと仲良くなろう - Hatena Developer Blog

    この記事は2016年に書かれた古い記事です。当時はまだTypeScript2.0も出ていないころで今とは状況がかなり異なっています。参考にする場合注意してください。 はじめに TypeScriptの型システム Declaration space Open-ended ここまでの確認 型定義ファイルを読み書きできるようになるために declare キーワード 既存のオブジェクトの型定義を拡張する グローバルなオブジェクトに対する宣言 module Export Assignments Relative or Non-relative module imports ES2015形式 実際の定義ファイル 既存の定義ファイルを拡張する declare global { } について Typings について おわりに インターン募集中 はじめに こんにちはアプリケーションエンジニアの id:t_k

    TypeScript の型定義ファイルと仲良くなろう - Hatena Developer Blog
    ko-ya-ma
    ko-ya-ma 2016/06/28
    罠回避の知恵
  • ES2015の現在とESNextの未来

    HTML Party in 鹿児島 で発表した ES2015 の話です。

    ES2015の現在とESNextの未来
  • You Don't Need jQuery - Qiita

    注意とお願い この記事の内容はもはや古いです。ここに書いている方法では動かないものをいくつか見つけました。参考にする際は動作をよく確認してから使ってください。 ひとつお願いがあります。「あれ、動かないぞ」というコードを見つけたら是非コメントか編集リクエストで教えてください。解決方法までなくても結構です。「これはもう動かないよ」という印をつけたいのです。 この記事はYou Don't Need jQueryの日語訳と同じ内容です。 先日ひょんなことからYou Don't Need jQueryの日語訳をさせていただきました。著者のCam Songさんからも快諾をいただけたので1、Qiitaでも公開させていただきます。 なお、家の英語の説明は継続的にメンテされているので、この記事の情報は古くなっている可能性があります。 追記 この記事は当初は「もうjQueryは必要ない」というタイトルで

    You Don't Need jQuery - Qiita
    ko-ya-ma
    ko-ya-ma 2016/04/13
    このページの内容はほぼ不要なのでは? 冒頭のこれが前提なので > “フロントエンドライブラリの流行により、DOMを直接操作することはアンチパターンとなりました”
  • SPAで動画を使って大ヤケドした話 - Qiita

    tl;dr 気軽に removeChild するもんじゃない。 フレームワーク(Riot.js)は悪くない 概要 動画メインの小規模サイト(厳密にはSPAと言わないかも) スペック 動画は YouTube IFrame API と一部に video要素 を使用 フロントのフレームワークは Riot.js URL制御はRiot.jsのルータを使う バックエンドはSinatra(この記事には関係ない) YouTube IFrame APIで起こった問題 iframeをDOMツリーから切り離すとYouTubeのエラー頻発 <youtube> <iframe if={ page == 'hoge' } id="player" src="~" /> <script> routing (path) { this.page = path } riot.route(this.routing) onRead

    SPAで動画を使って大ヤケドした話 - Qiita
    ko-ya-ma
    ko-ya-ma 2016/04/07
    あるある。特にriot.jsの'if=?'は鬼門という感じ
  • すべてのReact.js初心者が知っておくべき9つのポイント - Qiita

    9 things every React.js beginner should knowを意訳しました。 誤りやより良い表現などがあればご指摘頂けると助かります。 私は約6ヶ月間React.jsを使用してきました。それほど長い歴史ではありませんが、あなたがひげの長老として扱われるようなJavaScriptフレームワークの目まぐるしい世界の大きな枠組みの中で、私は最近、React初学者のTipsで少数の人々を支援してきましたので、ここでより多くの人々にその内容を共有するのが良いアイデアであると思いました。これらは全て私が始めた時に知っておきたかったことか、もしくはReactを習得するために当に役立ったもののいずれかです。 あなたが絶対的な基を知っていると想定して話を進めますが、もしコンポーネント、propsやstateなどの言葉に馴染みがなければ、公式の入門やチュートリアルページを読むと

    すべてのReact.js初心者が知っておくべき9つのポイント - Qiita
  • javascriptを使ったSEO対策まとめ - Qiita

    一昔前まではjavascriptを使ったSEOに弱いというのがあったりしましたが、今ではGooglebotが大分賢くなりjavascriptを実行できるようになってきてます。 とはいえ何も考えなくてもいいかというとそうでもないので、javascriptを使った場合にSEO対策として意識しないといけないことをまとめてみました。 いろいろ書きましたが、 Hisory APIを使ってURLをきちんと書き換えよう っていうのが主です。(pjaxと呼ばれている手法です) クリックやスクロールでDOMを生成するコンテンツはインデックスされない ページロード時点ではhtml内に生成されていないが、あるイベントが起きた時にDOM要素を生成するパターン。 Qiitaで言うとTOPページ下部にある「もっと見る」とかがそうですね。 Googlebotはjavascriptを実行することはできるのですが、clic

    javascriptを使ったSEO対策まとめ - Qiita
  • JavaScriptのPromiseオブジェクトについて調べた事 | QUARTETCOM TECH BLOG

    JavaScriptのPromiseオブジェクトについて調べた事を紹介します。 目次 同期処理と非同期処理 Promiseとは何か ES6 Promiseのコンストラクタ関数 コンストラクタに渡した関数内で発生したエラー Thenable Static Method 並列処理 逐次処理 アンチパターン JasmineによるPromiseオブジェクトのテスト Promiseオブジェクトのライブラリ「Q」の紹介 Deferred AngularJSの$q ひとこと 私が敢えて書かずともPromise/Deferredについての解説サイトは溢れるほど存在します。なぜそこに重ねるように同じ記事を書いたのか? 1ヶ月ほど前の私の意識は「Promiseオブジェクト?あー、then()て呼ぶやつね」という程度でした。よく知らずに使っているとアンチパターンに出てきたような使い方をしているところも多々あり、

    JavaScriptのPromiseオブジェクトについて調べた事 | QUARTETCOM TECH BLOG
    ko-ya-ma
    ko-ya-ma 2016/03/22
    わかりやすい!
  • フォームで無効な日付を選択させない | Tips Note by TAM

    日付を選択するボックスが年、月、日と分かれていた場合、 無効な日付を選択することができてしまいます。(2月31日など) Javascriptを利用して選択できないようにする方法を紹介します。 今回は無効な日付を選択した場合は、選択したボックスを空にしています。 応用すればアラートを出す、またはエラーテキストを表示するなどができると思います。 処理の流れは選択した値を変数「y、m、d」に入れ、すべて選択されていたらDate()に選択値を入れる。 Date()で取得した日付をdsに入れ、年、月、日を取得する ※getFullYear()、getMonth()、getDate() 選択値とDate()で取得した値(ds)を比較して、一致していなければ選択したselectのvalueを空にする。 ※4月31日は5月1日になって返ってくるので、存在しないことが判定できます。 function dat

    フォームで無効な日付を選択させない | Tips Note by TAM
  • [PDF] Electronの倒し方