Linux

具体的には、大量にできあがっているキャッシュファイルを、再作成したいような時、 一気に消すとキャッシュ作成コストが一気に発生するので、1ファイルずつ定期的に消したい。 しかも全ファイル自動的に。 ということで、実現するコマンド find . -xtype f | while read x ; do rm -rf $x; sleep 0.3 ; done となる。findで取得した一覧を元に、whileでリストを回す感じです。 簡単でしたね。

Android

ADTでデバッグするときなどにAndroidのエミュレータを起動すると思いますが もしかしたら、エミュレータが重すぎて実機を繋いでデバッグしてしまうかもしれません。 でも、エミュレータでやりたい場合もあったりするので 出来ればエミュレータが高速に動いてほしい。。 これがWindowsでIntelのCPUだと、高速化出来たりします。 Intelのページに Hardware Accelerated Execution Manager というものが置いてあります。TOOLS % DOWNLOADの所で ...

Linux

/tmpにはウェブサービスを公開してたりすると、アップロードされたファイルの残骸とかが残ったりします。 これを定期的に消したい。 find /tmp -maxdepth 1 -name "*-0" -atime 2 -exec rm {} \; 今回の対象ファイルの条件は、ナンタラ-0という感じに、末尾に-0が付くようです。 これを条件に削除するコマンドです。 -maxdepthというのは、/tmpの中の第一階層の物だけをターゲットにします、という意味 /tmp/nan-0 ...

JavaScript,jQuary

画像が多いサイトなどで、ローディング時間が長くて困る、なんて言う時は 画像の延滞ロードです。 最近のAmazonとか、スクロールして画像が表示される時に一瞬ローディング画像が出たりしてるやつです。 このプラグインを使うと、簡単に実現出来ます。 必要な物は、jQuaryとこのプラグイン。 あとは、延滞ロードしたい画像のタグにclass="lazy"を追加します。 $("img.lazy").lazyload(); という処理をどこかに置きます。 以上です。

Windows

TeraTermProで拝啓を黒に設定してANSI Colorの表示の時、 どうも青が見にくい感じになります。 TeraTermProのバージョンにもよるカモしれないのですが、色のためにバージョン戻したりとか嫌なので、設定ファイルをいじってみます。 TeraTermProの設定ファイルは インストールフォルダの直下にあるTERATERM.INIです。 このファイルを開くと、TeraTermProの全部の設定が入っています。 この中からANSIColorという設定を探し出します。 ANSIColo ...

Linux

ImageMagickを使って日々運用していると、時々ディスクフルアラートが出たりします。。 よく調べてみると、/tmpにmagick-ayu89r53とかよく分からないファイルが数十GB位のサイズになっていてびっくりします。。 別に定期的に出る訳では無く、たまに出たりするので、なんとも分からないのですが ImageMagick本家のドキュメントを調べてみると -limit <em>type value</em> というのが設定出来るようです。 このlimitの概要にはS ...

Play framework2

Play frameworkを本番環境にデプロイする場合に、PIDファイルを別の場所に置きたいなと思ったりします。 デフォルトだとプロジェクトディレクトリの直下にRUNNING_PIDというファイルが作成されます。 このRUNNING_PIDファイルを作る所のコードを確認すると play.core.server.NettyServer の中にあるようです。 def createServer(applicationPath: File): Option = { // Manage RUNNING_ ...

Ruby

たまに、配列になっているデータをハッシュに変えてしまいたい時があったりします。 data = , , , , ] という感じのデータですね。 これをハッシュにするには、ゴリゴリやる場合 hash_data = {} data.map{|c| hash_data] = c} となりますが、別のやり方として Hashの「self -> Hash」というメソッドを使ってみます。 Rubyのドキュメントにもあるのですが Hashの[]メソッドとして定義されており array_data = Hashという ...

Eclipse

今更ながら、eclipseを日本語化してみる。 常に最新のeclipseを使うので、日本語化はちょっと・・・と思っていたが、ニュアンスで操作してる場合もあったので、日本語化して意味を理解してみようと思う。 使うのはpreadesというプラグイン。 eclipseの日本語化ではわりと昔から存在していたプラグインです。 で、これはeclipse4.2のプラグインインストールでは入れられないようで zipファイルを解凍して、eclipseディレクトリにファイルをコピーする。 さらに、eclipse.i ...

Ruby,Ruby on Rails 3 Tips

ある程度コードを書いていると、使わなくなったメソッドや、新しいメソッドを作ったので使って欲しくないメソッドなどが多々出てくるかと思います。 コメントで書いておいても、使う人はいるし、既存コードで知らぬ間に使ってあったりもします。 そんな時は depricatedをログに出力するようにしてしまいましょう。 そうすれば、その処理を通るたびにワーニングとしてdepricatedなメッセージが出力されるので 対処しやくすなります。 書き方としては、 def old_method warn " ...

Scala

Apacheのログから、各IPからのアクセス数を集計して、多い順にソートして表示するスクリプト val apacheLog = new File("access.log") /*  * IPアドレスのカウント  */ StringFileInput(apacheLog) { reader =&gt;   var count = 0   // ランダム文字生成器   val it3 = new Iterator] {     def hasNext = reader.r ...

Linux,ubuntu

Apacheのログで、特定の条件を除外した一覧を取得する方法 awk '!/GET \/images/ && !/GET \/javascripts/ && !/GET \/stylesheets/{print($0)}' access.log

Play framework2

Play Framework 2.0系のプロジェクトで、リクエスト毎にログを出力するような設定をした場合、ログファイルをローテートしたくなったりします。 場合によってはlogrotateの設定でやったりもします。 が、今回は、Play Frameworkのログの設定でローテートしてみます。 Play Frameworkは、LogBackというミドルウェアを使用してログを出力します。 で、必要な設定などはすでにPlay Framework自体が設定してくれているので ログを出力するのは Logge ...

Scala

前回、Scalaでちょっとスマートにファイルを読み込んでみるで、defで定義した物を、case classに変えてみました。 case class StringFileInput(file: File)(f: BufferedReader =&gt; Unit) { val in = new FileInputStream(file) try { f(new BufferedReader(new InputStreamReader(in))) } finally { println( ...

Scala

val keyChars = (('a' to 'z') ++ ('A' to 'Z') ++ ('0' to '9')).toArray

Scala

Scalaだと、テキストファイルなどを開く時は // ファイルを開いてインスタンスを得る val src = Source.fromFile(currentFile) // ファイルの行をforeach src.getLines().foreach(println) // ファイルを閉じる src.close と書いたりしますが なんか、最後にclose書かないと行けないのがスマートじゃ無いなと思ったりします。 なので、ちょっとこの辺をいじってみましょう。 参考として、Rubyの場合は、このよう ...

ubuntu

タイトルの通りです。 最近外出先から家のネットワークに繋がらないなぁと思ったら プロバイダでふさがれたっぽいのです。。 ついでにいうと、DoCoMoのスマホでテザリングして接続ということが出来なかったので それも可能にしたい。 で、IPSecとかも考えましたが SSL-VPNという方式でつないだら楽かも?という事で SoftEther VPNというものを使ってみたいと思います。 このSoftEther VPNというのは、ソフトイーサ株式会社という所が作っている PacketiX VPNというソフ ...

Play framework2

リクエストを受けた直後のアクションについては /app/Global.scala というオブジェクトのファイルを作り GlobalSettingsを継承します。 このGlobalSettingsというトレイトには beforeStart onStart onStop onRouteRequest onError onHandlerNotFound onBadRequest というメソッドが定義されていて、それぞれオーバーライドする事でアクションを設定する事が出来ます。 今回は、リクエストが来た時 ...

ubuntu

サーバにSSHとかで接続する際には、ターミナルツールのエンコードをUTF-8とかで 日本語の表示が出来るので問題ないとして ほとんど無いと思いますが。 マシンに直接ログインした時に日本語が表示されません。 そのような時には、 ログイン後に export LANG=C と打ち込むことで、表示言語を標準言語に戻すことが出来るので 文字化けは起きないと思います。 まぁ英語になるので、めんどくさいかもしれませんが。

Play framework2

Play Frameworkはなんか、デフォルトで正常に動いていると、ログが少ないなと思ったりします。 正常に動いたように見えても、データがおかしいのを拾っている場合もあります。 そんな時は、どんなSQLが叩かれているのかと言うのを見たくなります。 Ruby on Railsでは、developmentモードで起動していると常にSQLの実行ログが出たりしますが Play Frameworkでは設定を追加しないと駄目なようです。 設定は application.conf に db関係の設定があると ...