タグ

ブックマーク / 1000ch.net (4)

  • AbemaTVのランタイムパフォーマンスのAudit - 1000ch.net

    2016.05.17AbemaTVのランタイムパフォーマンスのAudit最近業務で、巷で話題のAbemaTVのパフォーマンス改善をしている。個別具体性が高いが調査改善の雰囲気を感じ取ってもらえればそれで良いかと思い、記事にした。 AbemaTVのフロントエンドの構成話の前提となるAbemaTVのフロントエンドの構成は次の通りで、まさに流行りのといった感じ。 facebook/reactfacebook/immutable-jsReactive-Extensions/RxJSreactjs/react-routercss-modules/css-modulesビルド周りはbabelとwebpack、あとはlintツールがちょこちょこ入ったりしている。この改善の話と関係してくるのは、ReactとImmutableJSとRxJSだけ。 番組再生画面のコメント開閉が重い今回ケーススタディとして挙げ

    AbemaTVのランタイムパフォーマンスのAudit - 1000ch.net
  • PythonとMongoDBとPolymerでRSSリーダーを作った

    PythonとMongoDBとPolymerでRSSリーダーを作った Pythonで何かアプリ書きたいなと思ってはいたので、RSSリーダーを作った。フレームワークは薄いやつが良かったのでFlaskを、データはMongoDBに突っ込んでいる。 Flask + MongoDBのところまで実装して暫く放置していたけど、最近思いつきでPolymerをねじ込んだので記事にしてみる。 やってること スケジューラでopmlに登録してあるRSSから記事を取得しMongoDBに保存 トップページで50件ずつ記事の表示 & 非同期で50件づつ取得 購読しているRSSで表示する記事をフィルタ Opml(XML)のパース→記事の取得 に非常に時間が掛かるので、データストアに入れておいてそこから取得しないとRSSリーダーとして非実用的。この定期的な取得処理をHeroku Schedulerで実行している。あと遊び半

    PythonとMongoDBとPolymerでRSSリーダーを作った
  • Travis CIを使ったGitHubプロジェクトの継続的インテグレーション | 1000ch.net

    継続的にテストをする 今更感が否めないのですが、簡単にまとめました。 Travis CIとはなんぞやという方はこちら。 継続的インテグレーションとはなんぞやという方はこちら。 例えばテストの自動化をして、リファクタリングのしやすい環境を作って、 コードの品質向上を継続的に行っていくサイクル。というイメージ。 今回はGitHubとTravis CIで自動化を測りますが、 Jenkinsでビルド環境を整えて、継続的にデプロイをしていくのもひとつです。 テスト周りの環境とか オレオレライブラリにCI環境整えました。一応。 mochaのBDDでテストケースを書いて、イベントのバインド周りのテストはsinon#spy()を。 testemでそのテストをPhantomJSで実行させるといった流れ。 PhantomJS testem mocha sinon mochaのサンプルは公式

  • Gruntの概要と導入手順とメリット | 1000ch.net

    2012/12/08 Gruntとは grunt: a task-based command line build tool for JavaScript projects もはや説明不要の可能性もありますが、 gruntがgrunt-cliへの移行(?)をしたこともあり、まとめてみました。 コマンドラインで使用するビルドタスクのツールです。 js(ほぼjson)の設定ファイル上に、concatやminifyといったようなタスクを定義し、 コマンドラインから実行します。言葉だけだとイメージ湧きにくいと思いますので、 使ってもらうのが一番と言い張って導入手順の説明に入ります。 npmからgrunt-cliをインストールする (nodeとnpmはインストール済み・・・よね?) npm install -g grunt-cli これで核となるCLIのインストールは完了です。 ターミ

    moqada
    moqada 2013/04/25
  • 1