タグ

ブックマーク / qiita.com/shuhei (18)

  • Middleman 製の GitHub Pages サイトを Wercker で自動デプロイ - Qiita

    Middleman は便利ですが、Jekyll のようにコミットするだけで GitHub Pages にデプロイできないのが玉に瑕。そこで、Wercker を使って GitHub に push されたら、自動でビルドしてデプロイするようにします。 Wercker への登録とアプリの作成 まず Wercker にユーザ登録。GitHub アカウントで登録できます。 Apps > Add an application でアプリを追加。かなり簡単に追加できます。オープンソースプロジェクトなら、3. Add werckerbot はスキップして大丈夫です。 Deploy Target の作成 できた app の Settings > Deploy targets > Add deploy target でデプロイ対象を追加。Auto deploy はチェックして、ソースの方のブランチ名を指定します

    Middleman 製の GitHub Pages サイトを Wercker で自動デプロイ - Qiita
  • Rails で信頼性の高い Migration を書くには - Qiita

    エムスリーでは Tech Talk という技術勉強会をほぼ隔週で行っているのですが、今日は記念すべき 50 回目ということで飲み会がありました。少しだけ飲み過ぎて遅くなってしまったのですが、エムスリーアドベントカレンダー 12/21(月)の記事がこちらになります。 私は日頃趣味では JavaScript 関連を触っていることが多いのですが、業務ではフロントエンドに加えて、Rails を使ってデータの整合性が何よりも大事な業務系のシステムを書いています。このようなシステムを開発する中で、Rails の Migration、特にスキーマ変更に付随するデータ変更について学んだことをいくつか書いてみようと思います。 バックアップ 何はなくとも、番環境で Migration を実行する前にバックアップを取りましょう。当たり前のことですが、大事なことなので二度言います。バックアップを取りましょう。

    Rails で信頼性の高い Migration を書くには - Qiita
  • Angular 2 の初期化・Component のコンパイル周りのソースを読んでみる - Qiita

    年末のイベントで何度か Angular 2 について紹介させていただいたのですが、自分で話しながらよくわかっていないなと感じることしきり。時間ができたらしっかり理解したい!と思っていました。理解するにはソースを読むしかない!ということで Angular 2 のソースを読んでみます。 使い方については家ドキュメントを始めいろいろなところに書かれているので、内部構造について調べます。Change Detection, Dependency Injection 周りは @laco0416 さんによってカバーされている/される予定(12/23)なので、初期化・Component のコンパイル周りに挑戦してみたいと思います。 AngularConnect のキーノートでは、Angular 1 ではランタイムで何度も HTML のコンパイルが走っていたが、Angular 2 では初期化時に一度走るだ

    Angular 2 の初期化・Component のコンパイル周りのソースを読んでみる - Qiita
  • 全てのWindowsユーザを幸せにするツールたち - Qiita

    僕個人がWindowsマシンにインストールしていて、 これが無くなったら困るなあ・・・という、 そこに当たり前に存在する幸せ(ツール)を紹介します。 プログラマでなくても幸せになれるツールを選びたかったので、 敢えてプログラマ向けとせず「全てのWindowsユーザ」としております。 Clover Chrome風のエクスプローラーです。 標準のエクスプローラーはフォルダごとにウィンドウが表示されるので、 気づいたらいくつもウィンドウが無数に増えて、 今見たいフォルダがどこにあるかわからなくなることが多々あります。 Cloverを使えば、タブで管理されるのでウィンドウは1つ(任意で増やせます)、 目当てのフォルダもすぐに見つかってイライラから解消されます。 さらに、Chromeのショートカットも使えるため、 例えば、一度消してしまったタブをShift+Ctrl+Tで復活、なんてこともできます。

    全てのWindowsユーザを幸せにするツールたち - Qiita
  • TensorFlow のモデル保存アレコレ 1 - Qiita

    TensorFlow のモデル保存ってほとんど全てのユーザーが通る道なのに、結構細かい仕組みまで知っておかないとよくわからない部分が多くて意外とややこしいと思ったので、躓きやすい部分(もしくは自分が実際に躓いた部分)を中心にまとめてみようかと思いました。 Variable の値を save/restore するときのアレコレ tf.train.Saver のコンストラクタについて 以下のコードを実行するとエラーが発生します。 import tensorflow as tf # Save variables with tf.Graph().as_default() as g1: v0 = tf.Variable(0, name="variable_0") saver1 = tf.train.Saver() # variable_0 を save/restore するオペレーションがグラフ g

    TensorFlow のモデル保存アレコレ 1 - Qiita
  • TensorFlow でポケモンの名前から種族値とタイプを予測させる遊び - Qiita

    先日 TensorFlow 研究会に発表者として行ってきました. 周りの人に勉強会の内容何か書かないのかと言われたのですが, 人数にビビって誰も喜ばなさそうな発表をしてしまったので, 代わりにここでは元々使う予定だった没ネタを消費しておきます. 目標 やりたいことはタイトルの通りとても単純です. ポケモンの名前を入力したら種族値とタイプっぽいものが出てきて欲しいです. Twitter の診断メーカーとかでありがちなやつを, もうちょい真面目にやってみる感じですね. モデルの設計 入力の詳細 ポケモンの名前を 1 文字ごとに分解して, 各文字の出現回数と 2-gram を特徴量として使用しました. 例えばデデンネの場合は以下のようになります. n-gram の特徴量を作るのは自力でやると面倒なのですが scikit-learn の Vectorizer を使用すると 2, 3 行で細かい設定

    TensorFlow でポケモンの名前から種族値とタイプを予測させる遊び - Qiita
  • TensorFlow Tutorial MNIST For ML Beginners やった - Qiita

    TensorFlow が公開されたので, これを使いながらニューラルネットを勉強することにしました. 気分次第で勉強の記録を残します. インストールしてみる pip があれば, CPU 版は readme の指示通りにコマンドを打つだけです. どうせ我が家に GPU はありません. https://github.com/tensorflow/tensorflow Ubuntu と Mac で正常に動くの確認できました. Windows の人はやり方わからないので頑張ってください. インストールが済んだら import tensorflow as tf と打って怒られないことを確認しましょう. 動かしてみる まずは以下のチュートリアルから始めてみました. http://tensorflow.org/tutorials/mnist/beginners/index.md まあなんか出力を 10

    TensorFlow Tutorial MNIST For ML Beginners やった - Qiita
  • TensorFlow ってなんだろ - Qiita

    11/9 に Google が TensorFlow という機械学習ライブラリを公開しました. 機械学習ライブラリとか言われても何だかよくわからないですね. どういうものなのか調べて報告しろとある人に脅されたので, 機械学習初心者の人向けの説明を置いておきます. ガチ勢の方はお引き取りください. 何ができるの? scikit-learn のような既存の機械学習手法の実装ではありません. 主にニューラルネットを中心とした手法を実装するためのフレームワークです. もちろんニューラルネット以外の手法を実装するためにも使えます. 平たく言えば、機械学習の手法を実装するためのパーツを集めたライブラリという認識で良いと思います. 裏を返せば「2, 3行で手軽に画像の分類ができるぜ」という類のものではないということです. なぜ実装そのものではなく実装のためのフレームワーク? ニューラルネットは非常に設計

    TensorFlow ってなんだろ - Qiita
  • Protractor の Angular 同期と Angular アプリでないページのテストについて - Qiita

    こわくない Protractor という記事で書けなかった Angular 同期関連についてです。 Angular との同期 Protractor は Angular プロジェクトの一部として開発されているだけあり、Angular に特化した機能があります。その一つが Angular と同期してくれるというもの。 ここで言う同期というのは、具体的には $digest loop, $timeout や $http による AJAX リクエストが完了するまで待ってくれるということです。これにより、他の E2E テストフレームワークのように sleep したり、期待する値が取得できるまでポーリングするタイプの wait をする必要がなくなります。より速く不確実さを排除したテストを書けるわけです。 直接実行するには browser.waitForAngular() を呼びます。これはざっくりいうと

    Protractor の Angular 同期と Angular アプリでないページのテストについて - Qiita
  • Babel プラグインを作ってみよう - Qiita

    Babel 5 から 6 の間に API が大きく変わっています。Babel 6 のプラグインには Babel plugin handbook をおすすめします。thejameskyle さんは Babel のメンテナの一人です。 ES2015 や JSX を ES5 にトランスパイルする Babel。日常的に使っている方も多いかと思います。 そのままでも便利な Babel ですが、プラグインを使うことで独自のソースコード変換ルールを追加することができます。私もちょっと前から Angular 2 アプリを Babel で作るためのプラグインを書いたりしていました。結構簡単に作れるので、Babel 5.x でプラグインを作る方法を紹介してみたいと思います。 Babel の仕組み ざっくり言うと Babel は以下のような仕組みで動いています。 ソースコードをパースして AST を生成(Bab

    Babel プラグインを作ってみよう - Qiita
  • RequireJS と mocha を一緒に使う - Qiita

    mocha をブラウザで使う場合、mocha.setup() で BDD, TDD などのスタイルを指定し、それに応じて describe/it, suite/test などの関数が window に登録されます。RequireJS と一緒に使う場合、テストコードが評価される際に mocha.setup() が呼ばれていないと、describe などが定義されておらずエラーになってしまいます。 そこでまず思いつくのは require() を入れ子状に呼ぶことですが、いまいちイケていません。 require(['mocha'], function () { mocha.setup('bdd'); require(['test/foo_test'], function () { mocha.run(); }); });

    RequireJS と mocha を一緒に使う - Qiita
  • chai のエラーメッセージの情報を増やす - Qiita

    chai でオブジェクトをまるっと比較するのに deep.equal を使っています。もっと細かく assertion 書いた方がいいよというのはわかりますが、便利なので・・・。 expect(obj).to.be.deep.equal({ foo: 1, bar: 2, baz: 3 });

    chai のエラーメッセージの情報を増やす - Qiita
  • こわくない Protractor - Qiita

    Angular Advent Calendar 2014 の 17 日目の記事です。Angular そのものではなく、AngularJS 用の E2E テストツールである Protactor について書きます。(日付越えてしまいました。すみません・・・。) Angular チームが作っているという Protractor。Angular アプリの E2E テストをするならこれに違いないと思いつつも、使い始める前はいろいろこわい点がありました。 コードがどこで動いているかわからなくてこわい。 処理がどういう順序で実行されるかわからなくてこわい。 この記事ではこれらの点について説明し、Protractor を自信を持って使えるようになることを目的としています。 読者としては以下のような方を想定します(主に先日の自分)。 Protractor のインストールをして動かしてみた。 日頃から Prom

    こわくない Protractor - Qiita
  • Angular 2.0 メモ - Qiita

    ng-europe での発表を見て湧いてきた疑問を、GitHub で公開されている Angular 2.0 用のレポジトリを見ながらこんな感じかな、と書いてみました。いろいろ間違ってると思いますし、そもそも公開までにどんどん変わるでしょうからまったく信頼性のない情報です。 これを書いてて Design Docs の新しいのも公開されていることに気がついたので、読んだら更新するかもしれません。 情報ソース ng-europe のビデオ GitHub で参考になるプロジェクト どれも数ヶ月前から更新されていないことを考えると、最新の開発状況は公開されていないようです。ng-europe で発表された属性のバインディング記法なんかは出てこないので、他の部分も最新のものとはいろいろ変わっているでしょう。 angular/projects: Angular 2.0 アプリの参照実装です。 angul

    Angular 2.0 メモ - Qiita
  • Angular 2.0 のディレクティブ周りはこうなる? - Qiita

    AngularJS v2.0 Design Docs の中で、directive 周りについて書かれている Templating の内容をざっと読んでまとめてみました。Controller がなくなる 2.0 では最も気になる部分です。 2014/11/3 当時の内容であり、どんどん変わっていくと思われます。かなり内容をはしょってあるので悪しからず。 また ng-europe での発表とい違ってるところもあり、どっちが新しいのか不明です。あくまでも、雰囲気を掴む程度に・・・。 まだの方は、まず ng-europe のビデオ を見ることをおすすめします。 まとめ 最初にまとめを。 1.x の自由で複雑すぎた directive を、3 つのパターンに分類。 @ アノテーションでいろいろ設定。 DI で他のディレクティブと通信できる。 Web Components 的な方向に。まだしっかり詰

    Angular 2.0 のディレクティブ周りはこうなる? - Qiita
  • 【古い内容です!!!】Angular 2 を試してみた感想とハマりどころ - Qiita

    Angular 2 alpha.11, alpha.13 時点の情報です。現時点の最新版とは全く異なる内容です。現在では公式サイトのドキュメントが充実しているので、そちらを参照することをおすすめします。 昨日参加してきた ng-japan の間、Angular 2 の 5 Min Quickstart という Hello World 的なサンプルから始めて、貧弱な TODO アプリを作ってみました。感想と、その過程でいろいろハマったところを書いてみます。 まずは感想から。 別のフレームワーク? やっぱり Angular 1.x とは別のフレームワークだなあという印象です。概念も書き方もツールも違う。ライブラリもそのまま使えない。Angular とは別の名前にした方がいいのでは、というくらいです。 現時点では、他のコンポーネント志向のフレームワークに乗り換えてもコストは同じな気がします。Ne

    【古い内容です!!!】Angular 2 を試してみた感想とハマりどころ - Qiita
  • CoffeeScript 1.7.0 でメソッドチェーンがしやすくなった - Qiita

    これまで CoffeeScript で jQuery などのメソッドチェーンを使う際、引数を括弧で囲まざるをえず「これじゃあ JS 書いてるのと変わらないじゃないか!」と思っていたみなさん、こんにちは。 CoffeeScript 1.7.0 から、括弧なしでチェーンできるようになりました。 $ = require 'jquery' $ '.hello' .data 'foo', 'bar' .css color: '#999' fontWeight: 'bold' .on 'click', -> doSomething() .on 'mouseover', -> doOtherThing() .show()

    CoffeeScript 1.7.0 でメソッドチェーンがしやすくなった - Qiita
  • Gruntfile.js が長すぎてつらい人は gulp を使ってみよう - Qiita

    Gruntfile.js は常々長すぎると思っていました。複数ファイルに分割しようが長いものは長いです。 最近、後発の gulp というものを見つけて使ってみていますが、いい感じです。 設定ファイルが短く書ける上に、速いです。 先日 Grunt 入門の記事「Web デザイナーさん向け Grunt を使った コーディング作業の効率化、はじめの一歩」を読んで、例の Gruntfile.js と同等の内容を gulp で書いたらどうなるかなと思って書いてみました。 サンプルファイル含めたプロジェクト全体 gulpfile.js だけ 67 行から 29 行に。約半減です。また、短くなっただけではなく、処理の流れがわかりやすくなっていると思います。 var gulp = require('gulp'); var concat = require('gulp-concat'); var prefix

    Gruntfile.js が長すぎてつらい人は gulp を使ってみよう - Qiita
  • 1