タグ

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

  • Good bye Flux, welcome Bacon/Rx?の翻訳 - Qiita

    Good bye Flux, welcome Bacon/Rx?の翻訳です。FRPを使う場合の一つの実装の仕方としてアリではないかと思います。 こういうのを見るとFRPのバズワードが一段落すると、やがて、この記事に出てくるビジネスコンポーネントのディスパッチャーの部分がプログラミング言語に隠蔽されるのでは、そんな予感すらします。オブジェクト指向とFRPの合流点が見えかけているというか、そんなイメージでしょうか。 さようなら、Flux。ようこそ、Bacon/Rx FacebookはクライアントサイドのWebアプリケーション開発のためにFluxを約1年前に発表しました。以来、Webの開発シーンの中でもっともホットな技術のひとつになっています。 Fluxのタスクはビジネスロジックをユーザーインターフェースのロジックからディスパッチャーとストア、アクションを使うことで分離することです。中核となるア

    Good bye Flux, welcome Bacon/Rx?の翻訳 - Qiita
    s5ot
    s5ot 2015/05/28
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
    s5ot
    s5ot 2015/05/26
  • AngularJSモダンプラクティス - Qiita

    Help us understand the problem. What is going on with this article? こんにちは、@armorik83です。私のAngularJS歴は2年弱で、これまでAngularJSに関する記事はQiitaにたくさん書いてきました。例えば次のような記事です。 AngularJSアンチパターン集 2014.9 ここらでDirective Scopeの@=&をまとめておきたいと思う 2014.9 TypeScriptで書くAngularJSのMVC 2014.2 AngularJS Directiveの処理順を網羅してみた 2014.12 他にもニッチなものやイマイチだったものも含めてけっこうな数となってきました。また、こういった記事の縁で勉強会でも登壇させて頂きました。 モダンAngularJS 2014.12 GDG中国 TypeScr

    AngularJSモダンプラクティス - Qiita
    s5ot
    s5ot 2015/05/22
  • OpenCV for iOS でウォーリーを探すカメラアプリをつくる - Qiita

    こちら の記事を読んで、これは楽しそうだ、ということで習作として カメラをかざすとウォーリーを見つけてくれるアプリ を OpenCV で実装してみました。 OpenCV を iOS アプリに導入する方法は下記記事をご参照ください(バージョン 3.0.0 rc1 で試して更新してあります) OpenCV for iOSの使い方 テンプレートマッチング まずは参考記事と同様のテンプレートマッチング処理を iOS で実装してみました。 マッチング処理の実装はこんな感じ。cv::matchTemplate を利用します。 + (UIImage *)match :(UIImage *)srcImage templateImage:(UIImage *)templateImage { cv::Mat srcMat = [OpenCVHelper cvMatFromUIImage:srcImage];

    OpenCV for iOS でウォーリーを探すカメラアプリをつくる - Qiita
    s5ot
    s5ot 2015/05/22
  • AngularJS 入門 ~ サービス, DI - Qiita

    一定処理をサービスとして定義できます。 サービスにすることでテストも容易になります。 サービスの使い方 実は既にサービスを使っています。 DescCtrlを作った時に定義した引数$routeParamsがサービスです。 angular.module('...') .controller('DescCtrl', function ($scope, $routeParams) { $scope.framework = { name: $routeParams.name }; }); サービスを使いたい時は、定義のクロージャの引数の変数名を サービス名と同じ にするだけでよいです。 AngularJSのサービス => http://docs.angularjs.org/api/ng#service 補足 Angularは変数名からサービスを特定しているので、minifyされると動作しなくなってし

    AngularJS 入門 ~ サービス, DI - Qiita
    s5ot
    s5ot 2015/05/19
    “describe('FrameworksDataSourceTest', function () {”
  • リアルタイムウェブな観点からElixir / Phoenix について - Qiita

    ここ最近、 [翻訳] Elixir - 次に来る大物Web言語 - Qiita とか 超高速なJSON APIをElixirフレームワークのPhoenixでビルドしてテストしよう | POSTD を読んで気になっていたので、勉強していた。 前提: 自分はシングルページアプリケーションに特化したフロントエンドエンジニアであり、サーバサイドのプロダクション運用にはそこまで強くない。あとこれはここ2日の勉強した日記でもあり誤解や勘違いも多々あると思う。 リアルタイムウェブアプリケーションのためのサーバー Railsの次の時代、リアルタイムウェブの為のウェブフレームワークがあるとしたら、次のような特長をもつと思う。 HTTP, HTTP/2. WebSocket等のプロトコル対応と抽象化 JSON APIに特化 認証系 キャッシュ管理 Viewに関心がない リアルタイムウェブは、その言葉をどう定義

    リアルタイムウェブな観点からElixir / Phoenix について - Qiita
    s5ot
    s5ot 2015/05/16
  • gulp-tscとgulp-typescriptの利用方法の違いについて - Qiita

    gulpTypeScriptをコンパイルするプラグインはいくつか種類があるようですが、今のところ自分はgulp-tscとgulp-typescriptの2つを試しながら使っています。 両方使ってみると分かるのですが、利用方法にかなり違いがあるのでお好みに合わせて選ぶと良いのではと思っています。 今回はそんな2つのプラグインの利用方法の違いについて説明します。 と、その前に。 書いている途中で気づいたのですが、今現在のgulp-tscは最新のTypeScriptを利用すると上手く動作しない場合があるようです。 GitHubのIssuesでも報告されていてPull RequestsにPRがたまっているので、これらを参考にしながら自分で修正すれば直るかもしれませんがまだ試せていません。 自分の環境だと/// <reference path="...">の指定がコンパイラに正しく解釈されずにコン

    gulp-tscとgulp-typescriptの利用方法の違いについて - Qiita
    s5ot
    s5ot 2015/05/15
  • goimportsを使ってIntelliJ IDEA でGoのコードのimportを手軽に整理する - Qiita

    import文を削るのが手間 GoをIntelliJで書いていると、必要なimportは結構よしなに追加してくれます。 ところが、そのimportしたパッケージが不要になった場合(使用してるコードを削除する)、そのimportを削除するところまではやってくれません。 Goは不要なimport文があるとコンパイルが通らないので、自分でimport文を削らなければならずちょっと手間です。 GoImportsを使う Goimportsというツールが有ります。 https://github.com/bradfitz/goimports これを使用することで、不要なimportsの削除、標準パッケージであればimportsの追加をしてくれていい感じに整理もしてくれます。 導入は簡単で go get golang.org/x/tools/cmd/goimports をすればOK あとはコマンドライン上

    goimportsを使ってIntelliJ IDEA でGoのコードのimportを手軽に整理する - Qiita
    s5ot
    s5ot 2015/05/15
  • IntelliJのGoプラグイン1.0.0.alphaの導入手順 - Qiita

    この記事内容はバージョンは、1.0.0.aplha#201までの手順となります。 ※2015/03/30追記: ビルド #201 を最後に GitHub で公開するのはやめたようです。=> こちらを参照ください。 こちらの記事(IntelliJ の Goプラグイン 1.0αを試す)を書いた方と同意見で、1.0.0aplhaからかなり良くなってます。 かなり更新が活発なのとissuesを見た感じまだまだ改善していくみたいなのでとても期待してます。 プラグイン開発者様に感謝... ただ一点、↓にもあるように、zipそのままinstallするの気が付かなくて、最初ハマったので一応手順残しておきます。 Please install the whole zip file. インストール手順 既存プラグインの削除 普通にuninstallしてrestartします。 ダウンロードしたzipをInstal

    IntelliJのGoプラグイン1.0.0.alphaの導入手順 - Qiita
    s5ot
    s5ot 2015/05/15
  • Go事始め作業ログ - Qiita

    Goとは 完全なコマンド操作ツールセットを持つ(クロスコンパイルも簡単) コンパイル速度が速く、コンパイル済みプログラムの実行速度もC言語やC++に迫る速さ タイプセーフかつメモリセーフ らしい。早速プラットフォームをインストールしてみる。 Goのインストール Homebrewからインストールする。 ターミナルを再起動すると、goコマンドが使えるようになる。 GOROOT と GOPATH を環境変数に指定するように各所で言われているが、今回はGOROOTを指定しない。 GOROOT Goのルートディレクトリを指す GOPATH Goのワーキングディレクトリを指す ところが、GOROOTはインストールしたGoに既に環境変数として登録されており、既に然るべき場所を参照している。

    Go事始め作業ログ - Qiita
    s5ot
    s5ot 2015/05/15
    “go env GOROOT”
  • PhpStormでまず覚えるべきショートカット - Qiita

    個人的に使用頻度の高いショートカット。winとmacで標準に設定されているショートカットキーを表記しています。OSのショートカットと被っていたりすることもあるので注意。名称とカテゴリはkeymap設定に準じています。 Editor Actions Complete Current Statement おそらく最もお世話になるショートカット。現在のステートメントをカカッと終了させてくれる。行末にセミコロンを追加してくれるだけでなくfunction Hogeまで書いてコレするとfunction Hoge(){}まで補完してフォーマットも整えてくれる。 win:Ctrl + Shift + Enter mac:⇧⌘⏎ View Recent Files 過去に開いたファイルやウィンドウの履歴。さっき編集してたファイルとか間違えて閉じたときとかするりと戻れる。あと検索できる。 win:Ctrl +

    PhpStormでまず覚えるべきショートカット - Qiita
    s5ot
    s5ot 2015/05/14
    まだ覚えられてない
  • Slackのべんりな使い方 - Qiita

    社内のコミュニケーションツールを正式にSlackに移行したので、普段使っていて便利な使い方まとめてみます。 Bot連携などはまた別の箇所で。 Rightビュー Slack右画面で Star とか Activity Feed とか色々なビューが開けます。 特に好みがなければ、@Recent Mentionsを開いておくと便利です。 Mention(自分に宛てたTo通知)が一覧で見れます。 ちなみに以下のショートカットでも開けます。 右メニュー表示/非表示トグル→⌘+. 右メニューにStar一覧を表示→⌘+Shift+s 右メニューに自分宛のMention一覧を表示→⌘+Shift+m

    Slackのべんりな使い方 - Qiita
    s5ot
    s5ot 2015/05/12
  • homebrewでインストールしたredisを自動起動 - Qiita

    homebrewでインストールしたらlaunchctl(macで自動起動を司るなにか)の設定ファイルがついてくるので、それを使うだけ。バージョン部分は適宜変更すること。 $ cp /usr/local/Cellar/redis/2.4.8/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/ $ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist $ launchctl start homebrew.mxcl.redis <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/Prop

    homebrewでインストールしたredisを自動起動 - Qiita
    s5ot
    s5ot 2015/05/12
  • WebStormとGitHub - Qiita

    こんにちは、らこです。今日はWebStormGitHubプラグインが可能にしている「そんなことまで出来るの」っていう連携機能について紹介します 準備 設定の[Version Control]>[GitHub]からログインしておきます。 GitHub上のリポジトリからプロジェクト作成 これはみなさんご存知だと思います。新規プロジェクトを作る際にGitHubからクローンできます。 クローンしたいリポジトリを選んで、ディレクトリ名を設定するだけです。 プロジェクトを元にGitHubにリポジトリを作る さっきの逆ができます。こちらはあまり使ってる人はいないのではないでしょうか。ローカルで作り始めたプロジェクトをある程度進んだところでGitHubに公開したいときに便利です。 プロジェクトを開いた状態で、[VCS]>[Import into Version Control]>[Share Proje

    WebStormとGitHub - Qiita
    s5ot
    s5ot 2015/05/08
  • tig blameが良い - Qiita

    git blame -> git showが簡単にできる. tig blame FILENAMEするとgit blame表示してくれる&気になる行にカーソルを合わせてEnterを押すとそのコミットのgit showを表示してくれる. tig blame lib/resque.rb 適当な行でEnter押したところ Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    tig blameが良い - Qiita
    s5ot
    s5ot 2015/05/08
  • https://qiita.com/MakoTano/stock

    s5ot
    s5ot 2015/05/07
  • bashからzshに移行して2014年を迎えよう![ログインシェル]

    この記事は、2013年12月20日に書きました。 ・2014年5月15日にzshの設定にpreztoの事も名前だけ紹介しました。 ・2014年5月15日に.zshrc読み込むたびにPATHが増えていく場合の対処法を追加しました。 ■まえがき 自分なりのzshを入れるメリット。 入力補完が優れてる ←゚+。゚(・∀・)゚。+゚イイ!! 非標準コマンド(brew、gitとか)の入力補完 ←゚+。゚(・∀・)゚。+゚イイ!! カラーリングがbashより見やすい ←゚+。゚(・∀・)゚。+゚イイ!! bashより処理が高速 同時に立ち上げてるターミナル間でのhistory共有 時間のかかる処理が終わったら通知 gitのカレントブランチの表示 ←゚+。゚(・∀・)゚。+゚イイ!! 履歴機能が強力(改行も記録される) ←゚+。゚(・∀・)゚。+゚イイ!! 2014年1月号のソフトウェアデザイン誌にシェ

    bashからzshに移行して2014年を迎えよう![ログインシェル]
    s5ot
    s5ot 2015/04/30
  • 最強の開発環境を目指して 〜設定編〜 - Qiita

    早いものでPhpStorm Advent Calendarも残す所あと3日となりました。 最後は3日間掛けて自分の目指す環境について書いてみたくこんな題名にしました。 PhpStormに絡まないツール系のネタが多いですがご容赦下さい。 まず前提として、私は効率厨なので、多少お金が掛かってもトータルでみてそれで効率や能率が上がるのであれば、アプリもツールもガジェットもどんどん買います。 あと、ツールのカスタマイズも大好きです。エンジニアとして常に最高の道具と最高の環境を手入れし続けるべきだと考えている派なので、設定もキーマップもがしがし変えます。 こんな感じの人が語るので、「自分は無料ツールしか使わない」とか「設定は常にデフォルトじゃないと嫌」っていう方は多分参考にならないと思います。 キー環境周りの設定 まずはキーの環境周りについてです。 キーボードはエンジニアにとって一番長く使うであろう

    最強の開発環境を目指して 〜設定編〜 - Qiita
    s5ot
    s5ot 2015/04/29
  • ウェブにプッシュ通知をもたらすウェブサービス「bpush」を作った - Qiita

    2017年3月26日追記 bpushは2年弱の運営の後、OSSとして生まれ変わりました。詳しくは下記の記事をご覧ください。 国内初のウェブプッシュサービスbpushのOSS化と運営して学んだことについて ブラウザだけでプッシュ通知ができるようになった Chromeのバージョン42からプッシュ通知が可能になったという記事は読まれましたでしょうか? 「Google Chrome 42」安定版リリース プッシュ通知機能追加と45件の脆弱性対 Chrome 42から、Service Workerという新しい仕組みによって、ブラウザを閉じていても、スマートフォンのプッシュ通知のようにサービス側からお知らせを届けることができるようになりました。この機能はデスクトップ版とAndroid版のChromeに導入されています。通知の仕組みにGoogle Cloud Messaging(GCM)を使っているため

    ウェブにプッシュ通知をもたらすウェブサービス「bpush」を作った - Qiita
    s5ot
    s5ot 2015/04/28
  • nginxのパラメータチューニングとh2o - Qiita

    (追記:タイトルが少々煽り気味な気がしたので微妙に変更しました。) h2oとnginxの性能比較 nginxよりも速いとされるh2oですが、実際に自分でもローカルでベンチマークを取ってみました。環境は以下の通りです。 EC2のc4.8xlargeインスタンス gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16) Linux ip-172-31-13-40 3.14.35-28.38.amzn1.x86_64 #1 SMP Wed Mar 11 22:50:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux nginx-1.8.0 h2o-1.2.1-alpha1 wrk(ベンチマーク) ベンチマークコマンド 実行するベンチマークコマンドは以下になります。なお、オプションはできるだけRequest/secが大きくなるように調

    nginxのパラメータチューニングとh2o - Qiita
    s5ot
    s5ot 2015/04/26