タグ

JavaScriptとJavascriptに関するd_animal141のブックマーク (539)

  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
    d_animal141
    d_animal141 2015/12/02
    ES6時代のNode.js - Yahoo! JAPAN Tech Blog
  • RailsのAsset PipelineとPrecompileをNode.jsのみで処理できるgulp-sprocketsを作った - yo_waka's blog

    RailsのAsset PipelineとPrecompileをNode.jsのみで処理できるgulp-sprocketsを作った 仕事ではRailsアプリを書いていて、JSやCSSなどのフロントエンドRailsのAsset Pipelineの仕組みに則ってビルドしてる。 普通にRailsアプリ作ってると普段Sprocketsについて特に意識しないと思う。 Sprocketsはそこが凄くて、あまり考えなくてもドキュメント通りにやってれば、必要なAssetを結合できて、リリース時は変更がなければブラウザキャッシュから、変更があれば 新しく読み込まれるみたいなことをやってくれる。 なんだけど、もうそろそろ新しい機能はES2015で書きたいよねという人が増えてきた。 とはいえSprocketsは独自のディレクティブ以外は使えなくて、SprocketsWayから外れると途端に脆い。 ES2015

    d_animal141
    d_animal141 2015/11/26
    RailsのAsset PipelineとPrecompileをNode.jsのみで処理できるgulp-sprocketsを作った
  • JavaScriptを学ぶ上で避けては通れないレキシカルスコープ - 小さい頃はエラ呼吸

    photo credit: bk1bennett via photopin cc はじめに JavaScriptを学習する上で最も難解ではないかと思うのが、レキシカルスコープ(静的スコープ)とそれを利用したクロージャという仕組みです。両者のうち、レキシカルスコープだけは、なんとなく理解できてきたので、自分なりにまとめてみました。 JavaScript 第6版posted with amazlet at 14.02.04David Flanagan オライリージャパン 売り上げランキング: 7,909 Amazon.co.jpで詳細を見る レキシカルスコープとは JavaScriptはレキシカルスコープを採用しているプログラミング言語です。では、レキシカルスコープとはなんなのか? いろんな人がブログやWebサイトでレキシカルスコープの説明をしてくれていますが、僕が最も分かりやすいと感じたのは

    JavaScriptを学ぶ上で避けては通れないレキシカルスコープ - 小さい頃はエラ呼吸
    d_animal141
    d_animal141 2015/11/17
    JavaScriptを学ぶ上で避けては通れないレキシカルスコープ
  • Good bye Flux, welcome Bacon/Rx?

    Facebook introduced Flux about a year ago for client-side web application building and since then it has become one of the hottest tech in the web development scene. The task of Flux is to isolate business logic from the user interface logic by using dispatcher, stores and actions. The core idea is the unidirectional data flow which means that actions are propagated through the entire system in re

    Good bye Flux, welcome Bacon/Rx?
    d_animal141
    d_animal141 2015/11/17
    Good bye Flux, welcome Bacon/Rx?
  • André Staltz - Unidirectional User Interface Architectures

    This post is a non-exhaustive quick overview of the so-called “unidirectional data flow” architectures. Not meant to be taken as a beginner tutorial, but rather as an overview of their differences and peculiarities. At the end, I’ll introduce a new architecture which deviates significantly from the others. This post assumes client-side Web UI frameworks only. TERMINOLOGY It would be confusing to t

    d_animal141
    d_animal141 2015/11/17
    Unidirectional User Interface Architectures
  • 人気のFluxフレームワークReduxをさわってみた - マルシテイア

    fluxフレームワーク、今は Redux が一番アツい様子なので触ってみた。 github.com (追記 2015-10-03 18:15 APIや用語が大幅に変わったので更新した) Redux の経緯 2015-05-30 に公開された "The Evolution of Flux Framework" という記事がある。 medium.com Reduxはその PoC 的な実装だったんだけど、実用的ということでめっちゃ流行っているみたい。 Initial commit も 2015-05-30 だった。 Initial commit · rackt/redux@8bc1465 · GitHub 最近の flux フレームワークだと fluxible と flummox が人気だったけど、 flummoxのページには 4.0 will likely be the last major

    人気のFluxフレームワークReduxをさわってみた - マルシテイア
    d_animal141
    d_animal141 2015/11/16
    人気のFluxフレームワークReduxをさわってみた
  • Backbone.jsを使ってブラウザベースのMarkdownエディタを作りました - 文系学生のプログラミング入門

    Nekobito - A Markdown Text Editor on Browser というわけで、Nekobitoという名前のテキストエディタを作りました。何が目的でどうやって作ったのかとかそういうことを書きます。タイトルは2ちゃん風にしたので、2ちゃんまとめサイトに取り上げられることを願うばかりです。 背景 ブログの下書きを書くためのテキストエディタ、今まではKobitoを使ってたけど、できればブラウザ上で使いたい。でもQiitaの投稿ページがKobitoの代替になるとは思えず、他のテキストエディタとしてwri.peなども検討したけどテキストエリアがデフォルトすぎて気持よくなかったので自分で作りました。開発時には麒麟のどごし生を服用しました。 名前はNeo Kobitoとしようとしたんですが、思いっきりKobitoって言っちゃっていいのかと思ってoを抜いてnekobitoにしました

    Backbone.jsを使ってブラウザベースのMarkdownエディタを作りました - 文系学生のプログラミング入門
    d_animal141
    d_animal141 2015/11/16
    Backbone.jsを使ってブラウザベースのMarkdownエディタを作りました
  • ES6 Generatorを使ってasync/awaitを実装するメモ - maru source

    こんにちは丸山@h13i32maruです。 ES6のGeneratorを勉強する題材としてasync/awaitを実装してみたので、そのメモです。 Genratorとは ES6のGeneratorとは「任意の時点で処理を中断/再開することができる関数」というもの。一般的にはコルーチン(coroutine)と呼ばれるもので、サブルーチン(通常の関数)を一般化したもの。ES6でGeneratorを理解するには3つのキーワードがある。 Generator Function 処理の中断/再開が行われる特殊な関数 function* generatorFunction(){}のようにfunction*を使って定義する Generator Object 中断された処理を再開したり、値を取得し対するオブジェクト var generatorObject = generatorFunction()のように取

    ES6 Generatorを使ってasync/awaitを実装するメモ - maru source
    d_animal141
    d_animal141 2015/11/14
    ES6 Generatorを使ってasync/awaitを実装するメモ
  • FacebookのFluxアーキテクチャの始め方 Part 2 | POSTD

    前編はこちら: 【翻訳】FacebookのFluxアーキテクチャの始め方(前編) 血液(イベント)を流す 次は、イベントがアプリの周りに流れるようにします。そうすれば、UserList上の様々なユーザをクリックしてチャットを切り替えることができます。 最初のアクション アクションはどこからでも生じる可能性があります。私たちは、アクションは何かに影響を与えるということと、自分たちがディスパッチャを通してアクションをストアに流し込む必要があるということさえ分かっていればいいのです。ユーザがあるユーザをクリックしたらアクションを作成し、イベントを送り出します。 public/src/js内にactionsと呼ばれるフォルダがあります。messages.jsというファイルを作成しましょう。 var Dispatcher = require('../dispatchers/app'); var me

    FacebookのFluxアーキテクチャの始め方 Part 2 | POSTD
    d_animal141
    d_animal141 2015/11/09
    FacebookのFluxアーキテクチャの始め方 Part 2
  • FacebookのFluxアーキテクチャの始め方 Part 1 | POSTD

    私のように、Reactを使ってより進んだことがしたいと考えたなら、おそらく Flux に注目した経験があると思います。ざっと目を通してタブを閉じ、JavaScript開発者としての自分の人生を見直したことでしょう。 もしReactになじみがなければ、私の記事 「React入門」 を読んでみてください。 Fluxとは? Fluxは、遠目には始めるために複雑な手順を踏まなければいけないように映ります。しかし、 GitHubにあるexample を見てみれば、これがどのように機能するのかが実に明確になってきます。 簡単に言うと、Fluxは美化された 出版-購読型モデル のアーキテクチャです。データはシステム内を一方向に流れ、そこから様々な利用者が必要に応じてデータを取得します。これについて考えるには、私たちの体に例えてみると簡単です。 イベント – 血液 血液は私たちの体内を一方向に流れています

    FacebookのFluxアーキテクチャの始め方 Part 1 | POSTD
    d_animal141
    d_animal141 2015/11/09
    FacebookのFluxアーキテクチャの始め方
  • Fluxアーキテクチャの覚え書きを書いた - saneyuki_s log

    どこに書いたか忘れそうなので備忘でgist貼付ける Facebook提唱のFluxのメモ:http://facebook.github.io/react ...

    Fluxアーキテクチャの覚え書きを書いた - saneyuki_s log
    d_animal141
    d_animal141 2015/11/08
    Fluxアーキテクチャの覚え書きを書いた
  • Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log

    Reactの登場以来気になっていた、Virtual DOMアプローチの具体的な差分抽出手法について、virtual-domを読んで確認してみた。 Reactをいきなり読むのは面倒くさかった・ミニマムな実装から読みたかったというのが、こっちを選択した理由。Reactのアルゴリズムが参考にされているものの、Reactには存在する特定の最適化が入ってないかもしれないので、あくまでもReact系のVirtual DOMを実装するには最低限何が必要かを知る程度のものと判断してほしい。 virtual-domについて ReactのVirtual DOM部分だけを切り出して再利用可能な形で再実装したライブラリ。elm-htmlとかMercuryといった箇所でvDOMインフラとして既に使われているので、まったくの趣味プロダクトという訳でもなくなっている。 README.md中での触れられている通り、Vir

    Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log
    d_animal141
    d_animal141 2015/11/08
    Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話
  • cycle.jsでのMVI分割時にどう考えてるか - ✘╹◡╹✘

    実装していくうちにレイヤやシステムの境界に対する認識が変わってきたので現状を整理。 Intent アプリ外部から受け取った入力をアプリ内部で使える語彙・データ形式に変換するためのアダプタ。アプリ外部からの入力を解釈して、アプリに何をしてほしくてそれを入力したのかを判断し、その要求をModelに伝える。「xxxが起こった」という形式ではあまり良くなくて、「xxxしてほしい」という形式になるのがベストという理解をしている。 例: ボタンがクリックされたので記事を作成してほしい (DOM経由の入力に反応する例) 例: 記事が作成されたので記事を表示するページに遷移してほしい (HTTP経由の入力に反応する例) Model Intentからの入力をもとに状態の管理を行う。状態は変数に格納するとかではなくて、Observableの中に生き続ける。Elixir/Erlangやったことがある人は、Age

    cycle.jsでのMVI分割時にどう考えてるか - ✘╹◡╹✘
    d_animal141
    d_animal141 2015/11/08
    cycle.jsでのMVI分割時にどう考えてるか
  • エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘

    最近Electronでエディタをつくっており、最初はReact.jsを使いながらゆるいFlux風の設計でつくっていたのを、cycle.jsを使いながら一部をMVI風の設計に置き換えてみた。400行程度の一画面のコードだったので3時間ぐらいで置き換えられて、前よりも責務が適切に分割されるようになったので、体部分も次の機能追加時に置き換えようと思っている。 とりあえずプレビュー画面だけ置き換えた 置き換えたのは、編集中のファイルを別画面でプレビューとして表示する画面で、ただプレビューするだけの機能のほかに連続したスライドとして表示するプレゼンテーション機能もある。1つ前のブログ記事を見てもらうとわかりやすいと思うけれど、次の画像のようなやつ。ボタンをクリックしてモードを切り替えたりキーボードを使って移動したり、またエディタ側でファイルの内容が書き換わったりと、それっぽく言えば幾らか動きのある

    エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘
    d_animal141
    d_animal141 2015/11/08
    エディタの実装をcycle.jsでMVIベースにしてみた話
  • プロトタイプチェーンをもっと理解する - tacamy--blog

    Markdown が使いたくて、はてなダイアリーからはてなブログに引っ越してきました。ちょっと書いては放置してるブログの残骸があちこちに散らかっております。 前回プロトタイプについて勉強してみてふんわり分かった気になったけど、その中で 1 箇所よく分からなかったところがありました。 前回のおさらい Javaと比較しつつ、JavaScriptのプロトタイプについて調べてみる - tacamy memo の「分からなかったところ」を参照。 前回分からなかったところ プロトタイプには次のような特徴がありました。 プロトタイプの中身は、そのオブジェクトを基に生成されたインスタンスから参照される (暗黙の参照) 同じオブジェクトを基に複数のインスタンスを生成した場合、どのインスタンスからも同じプロトタイプの中身 (プロパティ) を参照できる 複数のインスタンスからひとつのプロトタイプを参照しているだ

    プロトタイプチェーンをもっと理解する - tacamy--blog
    d_animal141
    d_animal141 2015/11/08
    プロトタイプチェーンをもっと理解する
  • 初めてのWebサービスを3日でつくってみた(Node.jsで) - Think Big Act Local

    Node.jsを触って勉強してたらWebサイトができました。 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました Youtubeから結婚式の余興の動画を集めてくるサイトです。Web開発は初めてだったので、つくった流れや勉強の方法などをまとめてみます。 9/14追記)スマホ対応をやりました! 普段はiOSアプリを書いています 普段はiOSアプリ開発者をやっていて、仕事趣味でObjective-Cを書いてます。とても楽しくて2年くらい続けてるのですが、サーバーサイド書けたら幅が広がっていいな、とずっと思ってました。 普段の週末は個人アプリを作ったりしてるのですが、夏休みだし新しいことやろうと思ってNode.jsを触ってみました。 つくったもの 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました 結婚式の余興動画がまとまっていて、だら見できる

    初めてのWebサービスを3日でつくってみた(Node.jsで) - Think Big Act Local
    d_animal141
    d_animal141 2015/11/08
    初めてのWebサービスを3日でつくってみた
  • Class構文について - JS.next

    概要 待ち焦がれた人も多いことだろう。ES2015の一番の目玉機能とも言えるクラス構文が、ついにV8でサポートされた。 Class構文は、『関数(コンストラクタ)定義』+『.prototypeへのメソッド定義』の糖衣構文である。 JSで今まで様々に工夫されてきたクラスの書き方を、綺麗に統一してくれる可能性を秘めている。 クラスを作る 従来、Catクラスを作ろうとした場合このように書いてきた。 function Cat(name) { this.name = name } Cat.prototype.meow = function () { alert( this.name + 'はミャオと鳴きました' ) } しかしこの書き方だとどうしても、コンストラクタとメソッドの定義が分離されているため、クラスとしてまとまりがなく分かりづらく感じる。 メソッドが増えてきた時も、Cat.prototyp

    Class構文について - JS.next
    d_animal141
    d_animal141 2015/11/08
    Class構文が実装された
  • Create an Infinite Scroll List with Bacon.js - Eric Miller, Simple Guy

    d_animal141
    d_animal141 2015/10/15
    Create an Infinite Scroll List with Bacon.js
  • Babelで学ぶECMAScript6(入門編)

    ECMAScript 6とは ECMAScriptとはJavaScriptの言語仕様の名称で、各ブラウザベンダーではこの仕様を元にJavaScriptランタイムへ実装を行っています。 2015年4月現在、策定済みの最新バージョンは5(ES5)ですが、次期バージョンとして仕様策定が進められているものがES 6(コードネーム:harmony)です。 2015年4月14日に最終草案(Rev38 Final Draft)がリリースされました。順調に進めば2015年6月頃には策定が完了して、ECMAScriptの正式な標準仕様として公開される見通しとなっています。 April 14, 2015 Rev 38 Final Draft ES6では構文の追加など非常に多くの言語仕様が改善されています。 今からES6で開発するには すでにES6の一部の機能はChromeやFirefoxで実装されていものも存

    Babelで学ぶECMAScript6(入門編)
    d_animal141
    d_animal141 2015/08/07
    Babelで学ぶECMAScript6
  • HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較|TechRacho by BPS株式会社

    2014.10.15 HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較 最近MBA 買ったんですけど、ずっとドザーだったので全然慣れないshibuso です。トラックパッド使うと指が痛くなって泣ける…。 さて、今回は無料で公開されているdatetimepicker についてまとめたいと思います。datetimepicker と聞いてピンと来ない人は、フォームをクリックするとカレンダーが表示されて、そこで日時を選ぶ機能と思ってもらえば大体合ってます。少し前までプルダウンで年月日を選ぶのが普通だったのに、色々と便利になってきています。 とはいえdatetimepicker はまだあまり選択肢が無いように感じます。私の検索の仕方が悪いのかもしれませんが、日付のみを選択できるdatepicker の方が多いかと。そんな中、今回はdatetime

    HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較|TechRacho by BPS株式会社
    d_animal141
    d_animal141 2015/06/30
    HTML + CSS + JavaScript で簡単に導入できるdatetimepicker