タグ

JavaScriptとWebに関するnaga_sawaのブックマーク (178)

  • 株式会社ALBERT(レコメンドエンジン)

    生成AI時代をリードする この30年間、企業全体のビジネスを根的に変えるテクノロジーは存在しませんでした。しかし、生成AIがその状況を劇的に変えました。現在、AIはビジネスの再創造において最大の推進力であり、AI導入を成功させるためには、特にデータの準備が非常に重要な要素となっています。

    株式会社ALBERT(レコメンドエンジン)
    naga_sawa
    naga_sawa 2015/06/22
    jQuery とかのフレームワークでラップされちゃうけれど、基盤を知ってることは大事
  • 今っぽくなった!トレンドをおさえたjQuery プラグインまとめ

    作成:2015/04/6 更新:2016/06/29 Web制作 > トレンドとなりつつある視覚効果や、細部にちょっとした動きを取り入れたいときに使えるjQuery プラグインをまとめました。ユーザーが使いやすくなるよう、ページにひと工夫したいときに。少し前のプラグインもありますが、今から使えそうなものもピックアップ。 エンジニア速報は Twitter の@commteで配信しています。 もくじ マイクロインタラクション 1.粘性 2.移動するプレースホルダー 3.滑らかにページ移動させる 4.パスワード強度を可視化 5.オートコンプリート 6.テキスト入力 7.Google Map(吹き出し・マーカー) 8.オートページャー 9.プログレス12パターン 10.ノーティフィケーション レタリング 11.1文字ごとに指定 フルスクリーン 12.モーダルウィンドウ(全画面) 13.フォーム(全

    今っぽくなった!トレンドをおさえたjQuery プラグインまとめ
    naga_sawa
    naga_sawa 2015/04/08
    jQuery UI 表現プラグイン
  • Backbone.JSからAngular2まで、全9大JavaScriptフレームワークを書き比べた! -

    (English article is here.) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 ウェブ開発に欠かせないJavaScriptフレームワークですが、日々発展しておりReact.js, Ractive.js, Aurelia.js, AngularJS2.0など次々と新しいフレームワークが出てきています。 一体どれを使えばいいのか?何が違うのか?何から調べていいのか迷うことがあります。 そこで、現時点で事実上全てとなる、9大主要フレームワークについて、実際に使ってみて比較を行います。 Backbone.js Ember.js Knockout.js AngularJS(1.x) React.js Ractive.js vue.js Aurelia.js AngularJS2.0(アルファ版) これらのフレームワークでは、以下のような機能が実現さ

    Backbone.JSからAngular2まで、全9大JavaScriptフレームワークを書き比べた! -
    naga_sawa
    naga_sawa 2015/03/24
    昨今のWebサイト構築用 JavaScript フレームワーク
  • なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog

    ってsinonのスタブ漏れを探しながら何度目かわからない感じにキレてた。 とにかく仕事でJSのテスト書くのが辛いので考えてみる。比較的JSのテストに慣れてる自分ですら辛いのだから、世界はもっと辛いに間違いない。サーバーサイドのnode.jsの話ではない。 JavaScriptで完結しない 構造がHTMLの構造と密結合している。装飾や位置、表示/非表示はCSSによって制御されている。 クライアントJSはHTMLと密結合しており、CSSからビューは影響を受ける。それらがネットワークの結果を受け非同期に振る舞いを帰る。その最終的な値を取得するのが難しい。 もちろんサーバーサイドだってDBやネットワークという外部リソースを扱うが、モックの手法が確立しているし、局所的な複雑度は、JSの方がはるかに多い。 言語仕様が貧弱 mochaやjsmineはrspecを真似てるけど、質的にJavaScript

    なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog
    naga_sawa
    naga_sawa 2015/03/11
    DOM操作やらUIと絡む部分はどうにもテストコードに落とし難い
  • 【JavaScript】(基礎)親要素・子要素の取得・追加まとめ③ | unitopi - ユニトピ -

    こんにちは! unitopi新米ライターの、ケインでございます。 このシリーズも最終回。今回も、JavaScriptにおいて基的だけど忘れがちな、JavaScript(jQuery)における「親要素・子要素の取得・追加(削除)」について、今回は「要素の追加と削除」のお話をさせていただきます! ちなみに今回は、説明の仕方がこれまでの2回と異なるアプローチになっているので、その点ご承知おきください!(※なぜなら紹介する量が多そうだからです…) ※サンプルコードは、「JS」タブや「HTML」タブなどを交互に見ていってくださいね! ※このシリーズのこれまでの記事は「その①」及びその②になります。まだご覧になっていない方で、合わせて勉強したい方はぜひご覧くださいね! 【JavaScriptの場合】 jQueryに比べると少ないですが、それなりに表現方法の数がありますので、どんなものがあるか、一覧を

    【JavaScript】(基礎)親要素・子要素の取得・追加まとめ③ | unitopi - ユニトピ -
    naga_sawa
    naga_sawa 2015/02/26
    element 操作メソッドのいろいろ
  • 超簡単に3DCGできるJavaScriptライブラリ作った - aike’s blog

    ブラウザでWebGLが使えるようになって3DCGプログラミングはずいぶん身近なものになりました。と書いてるそばから違和感を感じるくらい生のWebGLをJavaScriptで書くのは敷居が高かったりします。できなくはないけど前提となる知識がかなり必要な感じ。 three.jsが登場したときは、これで普通に3DCGができるということで一気にひろまりました。とはいえ、それでもまだやることは多く、画面に四角い箱を表示する場合以下のようなプログラムを書くことになります。 ・シーンを作成 ・ライトを作成、位置と向きを設定、シーンに追加 ・カメラを作成、位置と向きを設定、シーンに追加 ・マテリアルを作成、色を指定 ・BoxGeometryを作成、サイズを指定 ・メッシュを作成、位置と向きを設定、シーンに追加 ・レンダラーを作成 ・レンダリングループ処理 これらのひとつでも間違えたりパラメーターが適切でな

    超簡単に3DCGできるJavaScriptライブラリ作った - aike’s blog
    naga_sawa
    naga_sawa 2015/02/07
    three.jsのラッパーライブラリ
  • RakutenMAによる形態素解析入門 - あんちべ!

    概要 稿はRakutenMAというJavaScriptだけで動く学習器付きの形態素解析器を利用する入門記事です。記事を読了すると、形態素解析の実行と形態素解析のモデルを作成・更新出来るようになります。 また、稿ははてな×PC工房との連動企画の補足をするべく書きました。 「あんちべさんと一緒に Rakuten MA で形態素解析はてなニュース連動企画 第二弾! : パソコン工房 パソコン工房のPCで遊ぼう第2弾! あんちべさんと一緒に Rakuten MA で形態素解析 - はてなニュース RakutenMAを利用したエディタ判定器デモ エディタ判定器 :パソコン工房 【やじうまWatch】Emacs派とVim派の対立を煽る「エディタ判定器」が面白いと評判 -INTERNET Watch はじめに 近年、twitterやFacebookなどのSNSAmazonのレビューなどから得ら

    RakutenMAによる形態素解析入門 - あんちべ!
    naga_sawa
    naga_sawa 2015/01/09
    JavaScript 製形態素解析エンジン
  • なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita

    追記: 情報が色々と古くなったため、2020年に書き直した版へのリンクを張っておきます。 この記事は VirtualDOM Advent Calendar 2014 - Qiita の初日です。 初日ということで、基調講演風に、Virtual DOMとはなにか、なぜ僕はこんな興奮しているのか!という話から。 Virtual DOMとはなにか 既存の概念で当てはめると、JavaScriptのMVC, MVW(Whatever)フレームワークのViewに位置します。が、その程度では終わりません。仮想DOMとは世界を革命する力であり、このjQueryのDOM操作で汚れきったフロントエンドを救う救世主なのです。 現時点で自分が知っている限りは、以下の実装を指します。 facebook/react 最も使われてるFacebookの実装 Matt-Esch/virtual-dom Altenative

    なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita
    naga_sawa
    naga_sawa 2015/01/01
    VirtualDOMの流れ/グラフィック周りのダブルバッファリングと似た動機に対する似た解決策という理解でいいだろうか
  • 最近の行儀のよい JavaScript の書き方 - Qiita

    JavaScriptは移り変わりの早い言語です。 もう1年以上経っていますし、記事のメンテもちゃんとできていないので、消し線を入れることにしました。 参考程度のために記事は一応残しますが、より新しい情報を読まれることをお勧めいたします。 はじめに --- 最近では JavaScript の実行環境はブラウザに限りません。(node.js, Web Workers) また、旧来のような <script> 経由でのロードもとうに古くなっています。今は CommonJS スタイルで、require を用いたモジュールのロードを行なうことがより良いとされています。 ですから、次のようなことは改める必要があります。 ~~- var YourModule = {}; などとして、外部から YourModule.hoge(); などと呼び出す書き方 this === window だと思うこと~~ 今回

    最近の行儀のよい JavaScript の書き方 - Qiita
    naga_sawa
    naga_sawa 2014/12/22
    名前空間を汚さないJavaScriptの書き方
  • Alasql.js - オンメモリで動作するJavaScriptデータベース MOONGIFT

    JavaScriptを活用したWebアプリケーションを開発している際に、一時的に保存したいデータをどのように扱うかは大きな問題です。何となく変数や配列、ハッシュに保存してしまいがちですが、そのデータの取り出しや更新が面倒だったりします。 そこで使ってみたいのがAlasql.jsです。JavaScriptだけで作られたクライアントサイド向けのSQLデータベースになります。 Alasql.jsの使い方 使い方の例。データを配列で放り込んで、SQLで取り出せます。 デーブルの作成を含めてSQLが書けます。 データはlocalStrageに保存することもできるので、再読込時に復元も可能です。 Alasql.jsはHTML5仕様の中で検討されていたWeb SQLとは異なる実装で、オンメモリで動きます。高速で動作し、かつデータはlocalStrageに保存しておくこともできるので容量は小さいながらも永

    Alasql.js - オンメモリで動作するJavaScriptデータベース MOONGIFT
    naga_sawa
    naga_sawa 2014/11/24
    ブラウザ上で動く SQL DB/ブラウザ上でどれだけのデータ扱うか次第な気がする
  • Promises: ブラウザーJavaScriptの新しい非同期標準になるか?

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    Promises: ブラウザーJavaScriptの新しい非同期標準になるか?
    naga_sawa
    naga_sawa 2014/11/06
    promise ネイティブに取り込まれてたのね
  • JSライブラリ/フレームワークの良い、悪いメモ - 素人がプログラミングを勉強していたブログ

    ※ただのメモで、未来志向なのであまり真に受けてはいけない。 良いっぽい React.js 早速い/コンポネント志向/APIの設計がいい。JSXと他のトランスパイラの組み合わせという問題はある Promise ネイティブに入った、誰もが使ってる TypeScript ES6時代でも存在意義のある言語。TypeScript互換のFacebook Flowの動向に注目 Backbone.js ModelとEventを使う/Viewは使わなくていい Lodash Underscore.jsをよくしたやつ Gulp Gruntより良いという意味で。browserifyまわりがうまく動かない問題があってnpm runのほうがいいという噂もあるがまあ良いに分類してもいい EventEmitter Custom EventはDOMにくっ付いてる感があるのでロジック志向の物にはEventEmitter使った

    JSライブラリ/フレームワークの良い、悪いメモ - 素人がプログラミングを勉強していたブログ
    naga_sawa
    naga_sawa 2014/11/06
    とりあえずjQuery/というか jQuery で止まってる('A`)
  • 爆速でわかるjQuery.Deferred超入門

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。これまで、JavaScriptで非同期処理を書く上での問題として、コールバック地獄やエラー処理に例外が使えないことなどを解説してきました。 これらの問題に対処するライブラリの1つであるjQuery.Deferredに関して、もう少し丁寧に解説いたします。なお、jQueryのバージョンは記事執筆時点の最新である、1.9.1を想定しています。 jQuery.Deferredとは jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。使いこなすことで、以下のような効果が見込めます。 非同期処理を連結

    爆速でわかるjQuery.Deferred超入門
    naga_sawa
    naga_sawa 2014/11/04
    Deferred と Promise
  • Stream API がブラウザにやってくる - Block Rockin’ Codes

    Intro 今日は、フロントのプログラミングスタイルに、にまた一つ大きな変化をもたらすであろう Stream という API についてです。 この仕様は現時点でまだ策定中であるため、 API は変更される恐れがある点にご注意ください。 Stream API 以前 「Node.js の Stream API で「データの流れ」を扱う方法」 という記事を書きましたが、簡単に言うとあれがブラウザにもやってくるという話です。 非同期処理おさらい もう何度も書いた話なので駆け足で。 JS はシングルスレッドでイベント駆動な世界なので、何をするにも非同期であり、コールバックを登録することで完了した結果を受け取る API が基です。 これは、ブラウザの DOM の API でも、 Node.js でも共通しています。 概念を疑似コードで書くと以下のような感じです。 console.log('1');

    Stream API がブラウザにやってくる - Block Rockin’ Codes
    naga_sawa
    naga_sawa 2014/11/03
    見通しがよくなるな
  • Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム | 株式会社サイバーエージェント

    2. システム概要 homingは、アメーバピグ関連サービスのいずれかにログインしているユーザに対して、各サービスの通知情報を横断的にプッシュ通知します。 システムの構成は以下の通りです。 図2-1. システム概要 2-1. APIサーバ ユーザへの通知要求を受け付けるREST fullなAPIを備えたWebサーバです。 Node.jsのClusterによる、master/worker構成で稼働します。 通知要求はワーカプロセスで処理します。 図2-2. APIサーバ 2-2. Redisサーバ(データストア用) 一時的なデータをストアするためのRedisサーバです。 sentinelプロセスによる、master/slave構成で稼働します。 ストアされたデータはメモリ上のみで管理し、ディスクへの書き込みは行いません。 以下の情報を管理します。 ユーザのオンライン情報 ユーザIDの索

    Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム | 株式会社サイバーエージェント
    naga_sawa
    naga_sawa 2014/10/28
    仕組み+ベンチマークまで
  • スマートフォンWebのフロントエンドを高速化する取り組み - クックパッド開発者ブログ

    ユーザファースト推進部の丸山(@h13i32maru)です。 先日「撮るレシピ」というサービスを cookpad.com にて公開しました。「撮るレシピ」というサービスは料理や雑誌のレシピを写真に撮ってクックパッド上に保存できるというものです。料理や雑誌でレシピを良く見る方はぜひ使ってみてください(Androidアプリ版もあります)。 この「撮るレシピ」は全体公開前に一部のユーザに限定公開をしていました。そして全体公開をするにあたりフロント側のコードを全面的に書き換え高速化を行いました。その結果、最大で30倍高速化することができユーザの使い勝手が向上しました。以下が「書き換え前」と「書き換え後」の計測結果です(Android端末8機種 + iOS3機種で各操作のターンアラウンド時間*1を計測)。 閲覧系 最大: 30倍高速化(4.2秒→0.14秒) 平均: 15.7倍高速化(3.6秒→

    スマートフォンWebのフロントエンドを高速化する取り組み - クックパッド開発者ブログ
    naga_sawa
    naga_sawa 2014/10/28
    こういう事例ポイント話があると助かる/WebViewは5.0からまともになるようだけどどうだろう
  • Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita

    もうなんかこの際マジで言わせていただくんですけど、知ってるか知らないか分かりませんが世の中にはすごい頻度で呼ばれうるDOMイベントって言うのがいくつかあるわけですよ 例えば scroll mousemove, touchmove devicemotion 辺りですよ。 で、高頻度で呼ばれるって言うことは必然的に処理量が増えるって分かりますよね?????while(1) {}じゃないとはいえUIスレッドに十分影響を与えうる頻度で呼ばれる訳です。分かりますよね???????? そうなると当然そのイベント内で重い処理を行えば人間が認識できるレベルでのレスポンス遅延が起きるっていうのはご理解できますよね? 重い処理っていうのはまぁ想像出来るとは思うんですが例えばよくあるのが DOMのレイアウトプロパティへのアクセス offsetTop、offsetLeft、offsetWidth、offsetHe

    Webフロントエンドに従事するお前らはいい加減高頻度イベントとレイアウトとスタイリングの付き合い方を考えろ - Qiita
    naga_sawa
    naga_sawa 2014/10/25
    イベントは溜めて置いて後で定期的にまとめて処理/Webに限らず高頻度イベント系のオヤクソクではある
  • WebRTCにおけるNAT越えの課題へのアプローチ - 鈴木うどんの横須賀おもしろ生活

    WebRTCにおけるNAT越えの課題へのアプローチ - Qiita に移転しました。

    WebRTCにおけるNAT越えの課題へのアプローチ - 鈴木うどんの横須賀おもしろ生活
    naga_sawa
    naga_sawa 2014/10/22
    NAT越えには色々と泥臭い手が多数使われている/いろいろ使わないと実用的にならんのよね
  • scriptのdefer/asyncを理解し、ページの高速化方法を探る | ゆっくりと…

    Yslow ルールでは、スクリプトはページの最後尾、つまり </body> 直前に置け、と言っています。なぜなら、スクリプトの読み込みや実行により、他のページ要素の読み込みやレンダリングがブロックされてしまうからです。 一方、古くは IE4 の時代から Microsoft はこの問題に対処するため、defer 属性という独自の解決策を実装してきました。これは HTML 4.01、XHTML 1.0、1.1 で仕様として採用され、HTML5 にも発展する形で引き継がれています。 IE 以外のブラウザも既に対応されており、IE の独自仕様という色合いが濃かった従来と異なり、これからは広く利用されていくのではないかと思います。 下のビデオは、スクリプトの位置と defer 属性のあり/なしによる、ページの読み込み/表示速度の違いを Pagetest.com でテストしてみたもので、明らかな差異が

    naga_sawa
    naga_sawa 2014/10/16
    JavaScriptソースの非同期読み込みについて/defer はDOM構築完了後に実行/async は読み込み中もDOM構築は停止せず、読み込み終わったタイミングで評価される/スクリプト間に依存関係がある場合は取扱注意
  • <script async>でJavaScriptの非同期読み込みを - fragmentary

    JavaScriptファイルをスクリプトから非同期で読み込むパターンは古い、という話を目にしたのはもう半年前のこと。 言ったのはIlya Grigorik。月末のGoogle Japanでのイベント、月初のHTTP2ConferenceにくるWebパフォーマンス界のすごいひとですよ。 Script-injected "async scripts" considered harmful - igvita.com 件のパターンは、スクリプトで動的に script を生成して、そこに読み込みたいJavaScriptファイルをぶっこんで読み込むというもの。 <script> var script = document.createElement('script'); script.src = "//somehost.com/awesome-widget.js"; document.getEleme

    <script async>でJavaScriptの非同期読み込みを - fragmentary
    naga_sawa
    naga_sawa 2014/10/16
    知らなかった/defer はDOM構築完了後に実行, IEの独自実装がHTML4で取り込み/async は読み込み中もDOM構築は停止せず、読み込み終わったタイミングで評価される/async は依存性の無い独立したスクリプト用