タグ

ブックマーク / blog.uu59.org (6)

  • http://blog.uu59.org/2013-06-01-zsh-optimize.html

  • uu59のメモ | Angular JSをSinatraと使ってJasmineでテストするまで

    Backbone.jsは触ったことがあったので、次は違うのに手を出してみようと思ってたらタイミングよくAngular JS 1.0リリースのニュースを見つけたのでちょいちょい触っていました。 主観的かつ大雑把な感想をいうと、Backbone.jsはプレーンなHTMLに対してイベントやコントローラをがしがしくっつけてずっとJavaScriptワールドで作業するのに対し、Angular JSはHTMLに独自属性を付与してDOMをそれぞれ独立したコンポーネントとみなしていろいろする感じです。 サンプルで必ず出てくる<div ng-app="hoge"></div>のng-appについてですが、ngというのがAngularのnamespaceでappが具体的なモジュール(ディレクティブ)です。以下のようにして自由に定義できます。 angular.module('hoge.directives').

  • uu59のメモ | Sinatra::Streamingのストリーミング部分だけNode.jsに押し付ける実験

    前回の続き。実際に軽く試してみたときのメモ。タイトルにもあるようにRuby側はSinatra。 (Chromeの)EventSourceがCORSに対応してないのでsame origin policyに引っかかってしまう問題 意外だった。XHRが対応してるくらいだし仕様にもあるしEventSourceの実装自体結構前からあるのでAllow-Control-Allow-Originで問題ないと思ってたけど実際にはChromeSECURITY_ERR: DOM Exception 18が出る。SharedWorker内から接続しにいってたので発見が遅れてちょっとハマった。 幸いにもXHRを使ってpolyfillしてくれるやつがあったのでそれを使うことにしたけど、しかしそれならLast-Event-IDを使う予定もないし生のXHRでもいいのではという疑問が湧いてくる。websocketについて

  • uu59のメモ | VCSとITSとテストがない開発環境で正気を保つには Part 1 git 編

    Part 0 プロローグ まずバイト初日、サーバに入れるようになったあと、scprsyncを適当に使って指示された変更に関係しそうなファイルをダウンロードします。だいたい揃ったらgit init; git add -A; git commit -m "ファイル取ってきた(noedit)"でとりあえずの体制は構築できました。 ここから開発を進めていくわけですが、色々と難関があります。 sjisとeuc-jpのファイルが混在してるのでgit diffが文字化けして使えない lvやnkfにパイプしても、そもそも異なる文字コードの文字列が混在してるのでどうしようもありません。これを解決するにはdiff.externalを設定して、ファイルごとに自前でdiffを取ります。 $ cat ~/mydiff.bash #!/bin/bash old=$2 new=$5 # バイナリは無視 if [ -n

  • uu59のメモ | VCSとITSとテストがない開発環境で正気を保つには Part 0 プロローグ

    お金がなくなりそうなので某所でプログラミングのバイトをしています。そこでは2000年代初頭に書かれたPHPスクリプト群が特にリファインされずに使われ続けており、また開発体制も昔ながらのまま維持されています。VCS(gitとか)とITS(Tracとか)とテスト(ユニットテストやCIなどの自動化されたテスト)のサポートに慣れきった身には辛い環境です。 まずVCSがないので誰かが自分の知らない間にファイルを変更していたり、変更箇所や理由や履歴が追えなかったりそもそも誰がやったのかすらわからなかったり、「hogehoge.phpアップしました」「はい」といった謎の通信が発生したりなどの弊害があります。GW明けに来てみたら以前に追加した機能がなぜか削除されていたのでオフラインで探偵ぽいことをしたりもしました。 ITSがないので要望やらバグ報告やらが各人からばらばらに提出されており、また作業の進捗も担

  • uu59のメモ | ユビレジのサーバ設定(Apache)を最適化してみる

    インターネットちょっと舐めてたわ Yahoo!ニュースに載ったせいでトラフィックが急増してサービス不能になった話。寝れないので最適化案をまとめてみた。 環境 Apache 2.2.14 + Passenger 3.0.11 + Rails(バージョン不明) + MySQL(バージョン不明)で、これをさくらのVPS(プラン不明)に置いているとのこと。 また「Apache2のプロセスが多すぎるので、MaxClientsをデフォルトの150から50に減らして」とあるのでApacheのMPMはprefork。同じサーバでWordPressも動かしている(いた)とのことなのでPHP対策だと思う。 Apache関係の最適化 https://ubiregi.com/jaのレスポンスヘッダより抜粋: X-Powered-By:Phusion Passenger (mod_rails/mod_rack) 3

  • 1