タグ

ブックマーク / qiita.com (281)

  • react-router-redux で URL 直打ちすると Cannot GET /subdir になる - Qiita

    Redux で routing を実装していて、うまく動いてくれずハマりました。 所感の項にも書いていますが、見当違いで解決策が見つかりづらかったので情報残しておきます。 現象 ブラウザで、ルート以下の階層の URL を直打ち、あるいはリロードすると Cannot GET /subdir (subdir はディレクトリ名) と表示されページを読み込めず。 直打ちで読み込めるのは、この場合 http://localhost:3000 のみ。 原因 サーバに 404 を index.html に fallback する設定が必要。 対処法 サーバによって設定方法は違いますが、 webpack-dev-server の場合は起動オプションで --history-api-fallback を追加すればよいです。 $ webpack-dev-server --history-api-fallback

    react-router-redux で URL 直打ちすると Cannot GET /subdir になる - Qiita
  • Webpack はじめの一歩 - Qiita

    このページは作業ログです。やったことをつらつら書くだけなのでまとめません。あしからず。 モチベーション JavaScript界隈のビルドツールは雨後の筍のように色々あるね。GruntやらGulpやらはたまたmakeを使いましょうっていう記事もある。最近出てきたWebpackReact界隈だとよく使われているので試してみる。 チュートリアルをやってみる Webpackのチュートリアルはこちら Qiitaに日語でまとめられた方がいる。そちらを参照することをオススメする。 まず最初は設定ファイル無しから始まる。entry.jsを用意しただけの所からbundle.jsをwebpackで作り、htmlに読ませる。 次も設定ファイルなし。require文を使って他のファイルの内容を読み込んだentry.jsを作り、htmlの読み込ませる。 引き続き設定ファイルなし。npm install css-

    Webpack はじめの一歩 - Qiita
  • Webpackのモジュール内でprocess.env.NODE_ENVを読み込む - Qiita

    概要 Webpackでビルドするモジュール内でprocess.env.NODE_ENVを読み込む。 方法 Webpackのpluginsで以下のように書く。process.env.NODE_ENVの内容が読み込まれるようにJSON.stringifyする。

    Webpackのモジュール内でprocess.env.NODE_ENVを読み込む - Qiita
  • GoConの前哨戦として各種API仕様記述フォーマットについて概要を述べておく - Qiita

    この記事はGoCon 2016 springで話す内容を圧縮するためのものです。 WebサービスAPI仕様を記述したりするためのそれなりに有名な仕様について、筆者(@vvakame)の私見を述べていく。 なお、Google Trendの結果を見ると…。 仕様を調べてSwaggerを選択する事にしたのは1年弱程度前のはずなので、もし "今はそれもうできるよ!" とかあったらコメントなどで教えてください。 RAML RESTful API Modeling Language なので、手書きを前提にしている。 YAMLで頑張って仕様を書く。 Spec APIs Explorerっぽいものもあるっぽい。 総評 比較的広く使われているようでパワを感じる。 まず仕様が先というスタイルなのがめんどくさそう。 YAMLなのがちょっとイヤ。 RAMLからGoJavaScript(TypeScript)向

    GoConの前哨戦として各種API仕様記述フォーマットについて概要を述べておく - Qiita
    nantan
    nantan 2016/04/21
  • 知識0から始めるVim講座 - Qiita

    さて、みなさんは「Vim」というエディターをご存知でしょうか? もしあなたがサーバー関係やプログラミング関係に携わっているのでしたら名前ぐらいは聞いたことがあるでしょう。 ですが実際にはVimがとういうものかわからない。または難しすぎてVimを使うのを挫折してしまった。 今回はそんな人の為の記事を書いていこうと思います。 まず、vimにはどんな印象をお持ちでしょうか? 少しでもVimというエディターを触ったことのある方ならこう思うでしょう。操作がわからないと。 確かにvimはマウスを一切使わない。言ってしまえばマウスを使う設計をされていないエディターです。 もともとVimはCUI(コマンド・ユーザー・インターフェース)で使われることを前提に設計されたviというエディター(vimの前世) を超える(改良の)ために作られました。 そのため今までのAtom SublimeText VisualS

    知識0から始めるVim講座 - Qiita
  • ReactでshouldComponentUpdateを使ったチューニングの効果と注意どころ - Qiita

    GitHubはこちら 背景 Reactが流行ってる理由として、 Fluxやもともとのフレームワークの用法からデータフローが単方向へと簡略化され、速度面ではチューニングしたDOMを直接触る従来の方式には敵わないが、遅くなる事はないし何よりシンプルな方向へとバイアスがかかる恩恵がでかい、というのが自分の中での認識となっています。 ただ、速度は速い方が嬉しいので、フレームワークのベンチマーク比較プロジェクトに、shouldComponentUpdateを実装して、必要時にだけrenderが呼ばれるようにチューニングをしてどれだけ効果があるのかを検証してみた、というのが今回の記事です。 プロジェクトはこちらの記事のをForkして利用しています。 計測結果 上から、 Backboneの部分的再描画、 Backboneの全再描画 ReactのVirtualDOM全再描画、 ReactのVirtualD

    ReactでshouldComponentUpdateを使ったチューニングの効果と注意どころ - Qiita
  • reactのshouldComponentUpdateについて - Qiita

    気持ち ReactのComponentは、stateが更新されるとコンポーネントが丸っと再描画されます。このとき、Virtual DOMのおかげで差分のみがDOMに反映されるので、性能をそんなに劣化させる事なくUI制御をすることが可能になります。 でも、アプリで表示するデータがFBのタイムラインみたいに無限に取得できるような画面の場合、いくらVirtual DOMといえどもさすがに辛いのでは。さらに、もしそのデータがネストしていたら、実際に描画しないとしてもネスト部分のループ処理は行われるわけだよね?実際どうなの? 調べてみた ということで、jsperfで実際にやってみました。 という感じのネストしたデータを大量に表示するコンポーネントを二つ用意し、一つは何も考えずにコンポーネントを定義、もう一つはshouldComponentUpdateを使って、childrenの配列に変化がなければ(

    reactのshouldComponentUpdateについて - Qiita
  • JavaScript の原理:クロージャの真実 - Qiita

    ECMAScript 5.1 を前提に JavaScript のクロージャの原理をメモっとく。クロージャの真実はこれ。 レキシカル環境で検索しても説明がほとんど出てこない。誰かが説明してくれたらいいのになと思ってたので、厳密さには欠けるかもしれないが記事にしてみることにした。ECMAScript の仕様によって実現されているクロージャを理解する価値はきっとある。 クロージャでカウンターの例 下記のコードはクロージャでカウンターを作る例。加算されていく var n ってどこに存在し続けるのか?この記事ではそういう疑問を解決しよう。 function createCounter() { var n = 0; return function() { return n++; } } var count = createCounter(); print(count()); // 0 print(co

    JavaScript の原理:クロージャの真実 - Qiita
  • React+ReduxのAction、Reducerを個別にテストする - Qiita

    概要 Reactでユニットテストをしたく、コンポーネントのテストであれば以下の様な記事を参考にすればできそうだが、Fluxをつかったアプリで、ActionやDispatcherにロジックがある時には、それでは十分で無いと考えた。 React.js + Jest - Qiita 今回はReact+Reduxを使っているので、Action、Reducerを個別にテストする方針を考えた。テストフレームワークは、karma+jasmineを使用している。 import { REQUEST, REQUEST_SUCCESS, } from 'constants'; // リソース管理はsuperagent import request from 'superagent'; function request() { return { type: REQUEST, }; } function reque

    React+ReduxのAction、Reducerを個別にテストする - Qiita
  • git diff で Office ファイルの差分を見る - Qiita

    入れたくないとは思っていても、止むに止まれぬ事情で Word, Excel, PowerPoint などのファイルを git レポジトリの中で管理することはありませんか?この記事では、Mac で Office ファイルの diff を取る方法を紹介します。Linux でも多分動くはず。 textconv 普通、バイナリファイルを git diff しても、変更内容がわかりません。ところが、git には textconv という、バイナリファイル(別にバイナリじゃなくてもいいんですが)をコマンドに渡した結果を diff に使う機能があります。ドキュメントには、JPEG の Exif 情報の diff を取る例等が載っています。 Office ファイルからのテキスト抽出 では、Office ファイルからテキストを抽出するにはどうすればいいでしょう?Windows の msysgit には as

    git diff で Office ファイルの差分を見る - Qiita
  • Excelの表をMarkdown形式に変換 - Qiita

    2017/06/07:じわりと伸びているので、補足を追加し、再編集しました markdownの表を手で書くのは大変なのでExcelをコピペできるツールを探していたところ、 便利なツールを見つけたので使い方を簡単にメモ。 Tables Generator(Excelの表をいろんな書式に変更してくれます) 変更書式を選択 まずは利用したい書式をページ上部から選びましょう。 今回はMarkdown Tablesを選びます。 表の情報をインポート Excel表をコピーしたら、 File>Paste table data...を選択してクリップボード経由でテーブル情報をペースト ※注意:空白のセルは上手く変換されない事があるので(最初の行とか)、適当な文字などを入れて回避して下さい。 変換情報の取得 そうすると以下のように変換済みの情報が取得されるので、「copy to clipboard」でコピー

    Excelの表をMarkdown形式に変換 - Qiita
  • Material UI使ってみた - Qiita

    Material UIとは Material UI GoogleのマテリアルデザインをReactベースで使えちゃう今時なCSSライブラリ おっ、これかっちょいいと思って少し触ってみました。 日語の解説記事とかが見当たらなかったので簡単に紹介します。 Get started この辺で解説されているので、公式のドキュメントとともに参考にする感じで。 Componentの使い方とか 大別して3種類のAPIがあります。 Props Events Methods 名前の通りそれぞれ、 reactコンポーネントのrenderで要素を生成する際に利用できるprop 要素で発生するhtmlイベント(onChange,onClickなど) 要素で使える関数 になります。 使い方を見ていきます。 Props これはそのまんま。 render() { return ( <DatePicker hintText

    Material UI使ってみた - Qiita
  • GitHubで署名されたコミットにバッジが表示されるようになったので設定してみる - Qiita

    まずはこちらの画像をご覧ください。 GitHubのコミット履歴ですが、コミットのSHAの左に見慣れないものが表示されていますね。 クリックするとこのような情報が表示されます。 実は、2016/4/6からGitHubはGPGによりデジタル署名されたコミットやタグにバッジを表示するようになりました。 この記事はその設定ガイドです。私の環境はWindowsですが、すべてコマンドラインとブラウザ上での操作なのでMacLinuxでも同じように行えます。 1. GPGのインストール Git for Windowsを使っている場合は、GPGが同梱されているため追加のインストールは不要です。 それ以外の方はパッケージマネージャを使ってインストールするか、こちらからツールをダウンロードします。トップにはソースコードのリンクが掲載されており、バイナリのダウンロードリンクは下のほうにあります。 画面の指示に従

    GitHubで署名されたコミットにバッジが表示されるようになったので設定してみる - Qiita
  • Sinon.JSのFakeServerでAjaxをテストする - Qiita

    今更感漂うのだけど…… FakeServerを使ってAjax関連のテストを書く機会があまりないので、書いておかないと忘れてしまうのでメモを。 // jQuery + Mocha + expect.js + Sinon.JS suite('API', function() { var server; beforeEach(function() { // 疑似サーバの生成 server = sinon.fakeServer.create(); }); afterEach(function() { // スタブのXHRとかを戻す server.restore(); server = null; }); it('データが返ってくること', function(done) { var res = 200, head = {'Content-Type': 'application/json'}, bod

    Sinon.JSのFakeServerでAjaxをテストする - Qiita
  • JavaScript 配列から指定した値の近似値を取得 - Qiita

    速度とか気にせず、シンプルにわかる安く取得する方法としてメモしておきます。 海外のどこかのサイトに書いてあったコードです function getClosestNum(num, ar){ //近似値を保持しておく変数 var closest; //配列かどうか、要素があるか判定 if(Object.prototype.toString.call(ar) ==='[object Array]' && ar.length>0){ //まず配列の最初の要素を近似値として保持する closest = ar[0]; //配列の要素を順次比較していく for(var i=0;i<ar.length;i++){ //この時点での近似値と、指定値の差異を絶対値で保持しておく var closestDiff = Math.abs(num - closest); //読み込んだ値と比較し、差異を絶対値で保持し

    JavaScript 配列から指定した値の近似値を取得 - Qiita
  • React.js の 公式Tutorial を Redux を利用して書き直した。また Mocha + power-assert を利用したテストも追加 - Qiita

    React.js の 公式Tutorial を Redux を利用して書き直した。また Mocha + power-assert を利用したテストも追加JavaScriptmochapower-assertReactredux 前回 QiitaにReact.js の React.js の公式Tutorial を gulp を利用して簡単に実行できる環境を作って、ES6も試した で公式TutorialをECMA2015(ECMA6)を利用して書き直しを行ったのですが、ReactといえばFlux、Flux といえばRedux ということで、流行りのRedux を利用して記述したらどうなるのかを試してみました。 また 同じく流行りのテスト環境である Mocha + power-assert を利用して、テストを追加してみました。 React および Redux はテストも非常に行いやすいのを体感

    React.js の 公式Tutorial を Redux を利用して書き直した。また Mocha + power-assert を利用したテストも追加 - Qiita
  • PlantUML Cheat Sheet - Qiita

    PlantUML は DSL(ドメイン特化言語) で UML の図を描きます。 テキストで記述するので Git で差分を確認したり Git Flow で関係者とコラボレーションをして図が描けるので便利です。 PlantUML は多くの UML に対応していますが、よく使うものを チートシート にまとめました。 Diagram UML は大きく 振る舞い図 と 構造図 に分類されます。 Behavior 振る舞い図は、振る舞いに関する機能を表現します。 Diagram PlantUML 説明

    PlantUML Cheat Sheet - Qiita
  • ECMAScript modulesとCommonJS modulesの使い分け - Qiita

    個人の感想です。 規約 相対パスは ECMAScript modules で import/export それ以外は Common JS で require/module.exports 意味 内界 - プロジェクト内のコードはECMAScript modulesでやり取り 外界 - npmパッケージを require や、package.jsonの "main" へのexportはCommonJSでやり取り 例 const fs = require("fs"); const path = require("path"); const mkdirp = require("mkdirp"); const Promise = require("bluebird"); const debug = require("debug")("textlint:cli"); import options f

    ECMAScript modulesとCommonJS modulesの使い分け - Qiita
  • お疲れさまXMLHttpRequest、こんにちはfetch - Qiita

    Service Workersでプッシュ通知を受信できるようになったわけですが([1]: GCM)([2]: Web Push)、Chromeではバージョン48まではGCMで通知だけができるようになっただけで、メッセージ体は通知を受けてからService Workerでサーバから改めて受け取るような実装をする必要があったりします。 ここで、Service Workersでは、XMLHttpRequestが使えません。その代わり、XMLHttpRequest (以下、XHR)に代わるWHATWGの仕様としてFetch APIがあり、Service WorkersではこのFetch APIを使うことになっていますので、その使い方を簡単に紹介します。 Fetch API自体は、Service Workers専用のものではなく、メインスレッドでもXHRの代わりに使うことが可能です。現時点で実装し

    お疲れさまXMLHttpRequest、こんにちはfetch - Qiita
  • React.jsでAnimation - Qiita

    今回はReact.jsでのAnimationについて書きたいと思います。 React.jsではAddonとしてサポートされていて、CSS Animationを使ったCSSTransitionGroupとComponentのLifecycle MethodのようにMethodでフックして書く2パターンあります。 CSSTransitionGroup こちらではComponentの追加・削除時にCSSアニメーションさせることが出来ます。やりかたはAngular.jsやvue.jsのものに近くて追加・削除時にclassが追加されるのでcssにアニメーションを記述する感じです。 {transitionName}-{enter,leave}のclassName追加された後、次のイベントループで{transitionName}-{enter,leave}-activeのclassNameが追加されるの

    React.jsでAnimation - Qiita