月別アーカイブ: 2014年4月

[Play] ブラウザキャッシュを無効化

Play Framework2でブラウザキャッシュを無効化するサンプルです。
たぶんもっとscalaっぽいやり方があるはず。

下記みたいなコードを
helpers / NoCache.scala として保存

package helpers

import play.api.mvc._
import play.api.http.HeaderNames._

object NoCache {

  def setHeaders(result:SimpleResult): SimpleResult = {
    result.withHeaders(
        PRAGMA -> "no-cache",
        CACHE_CONTROL -> "no-cache",
        EXPIRES -> "Thu, 01 Jan 1970 00:00:00 GMT")    
  }

  implicit class NoCacheSimpleResult(val self: SimpleResult) extends AnyVal {
    def NoCache: SimpleResult = helpers.NoCache.setHeaders(self)
  }
  
}

使い方は各コントローラーで下のように書くとヘッダーへno-cacheを設定してくれます。


import helpers.NoCache._

def hogehoge(code: String) = Action.async { implicit request =>
    scala.concurrent.Future {
         
          // 何かしら処理 ・・・
    
          Ok(・・・).NoCache    
    }
  } 

[iOS]Objective-cでBASE64変換 (iOS7以降)

以前こんな投稿をしていたんですけど、先日NSDataのメンバを探していたら ん! ってビックリしました。

どうやらiOS7では正式なBASE64変換がサポートされたようです。
NSDataの
 base64EncodedStringWithOptions
とか
 initWithBase64EncodedString
ね。
リファレンス

さらに、iOS4以上で使える(iOS7ではdeprecatedだけど)base64Encoding とか initWithBase64Encoding と言うメソッドも発見!
こんなのあったっけ??