[Swift] 文字列からNSDateオブジェクトを作成

よく利用するのでメモしておく。

Code

  
    func parse(dateStr:String) -> NSDate {
        var dateFmt = NSDateFormatter()
        dateFmt.timeZone = NSTimeZone.defaultTimeZone()
        dateFmt.dateFormat = "yyyy-MM-dd"
        return dateFmt.dateFromString(dateStr)!
    }

使い方

 parse("2014-07-20")

無料iOSアプリ『睡眠チェック!』をリリースしました。

わずか8個の4択問題に答えるだけであなたの睡眠の質をチェックできる、『睡眠チェック!』をリリースしました。

特徴

信頼性の高い診断方式を元に作成

設問・診断基準については、世界保健機関(WHO)が中心になって設立した「睡眠と健康に関する世界プロジェクト」が作成した世界共通の不眠症判定法であるアテネ不眠尺度を採用しています。

睡眠に関する読み物を掲載

睡眠のことに詳しく慣れる読み物を厳選して掲載しています。

睡眠の質をグラフで表示

グラフ化することで客観的に自分の睡眠の質を測ることができます。

終わりに

アプリの説明は以上になります。
個人的にこのアプリを作るにあたってプログラムの部分は以前作った『うつチェック!』を基に作成したから苦労せずに作れたけど、睡眠について調べる作業に苦労したけど、そのおかげでよく眠れるようになったのでよかったです。w

良かったら『睡眠チェック!』をダウンロードしてみてください。

NginxでDjangoの静的ファイルを配信する

まず、Nginxの設定ファイルで/staticと/mediaの参照先を以下のように変更する。
server {
    listen   80;
    server_name 104.236.87.13;
    charset utf-8;
    ...

    location /static {
        # /staticをアップロードするディレクトリを指定
        alias /home/username/staticfiles;
    }


    location /media {
        # /mediaをアップロードするディレクトリを指定
        alias   /var/www/PROJECT/media;
    }
    ...
}
次にsettings.pyのSTATIC_ROOTとMEDIA_ROOTを先ほどNginxの設定ファイルで指定したディレクトリを記述して、
$python manage.py collectstatic
を入力すれば完了。

gulpを使ってscssファイルをコンパイルする

まずはgulp,gulp-sassをインストールします。

npm install --save-dev gulp
npm install -- save-dev gulp-sass

static/scss/に入っているscssファイルを static/css/配下にコンパイルしてみます。

gulpfile.jsを作成して、以下のコードを記述します。

gulpfile.js

var sass = require('gulp-sass');
gulp.task('sass', function () {
    gulp.src('./static/scss/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./static/css'));
});

gulp.task('watch', function () {
    //ファイルが変更されると,sassタスクが呼ばれる
    gulp.watch('./static/scss/*.scss', ['sass']);
})


Pythonで日付計算をするにはdateutilを使うと簡単

Pythonの標準のdatetimeモジュールだと月の計算を自前で用意しなければならなかったりして、日付計算が面倒になるんだけど、dateutilモジュールのrelativedelta関数を使うと日付計算が簡単になって便利。

インストール

pip install python-dateutil

now = datetime.datetime.utcnow()

from dateutil import relativedelta
#一ヶ月後の日付を求める
date += relativedelta(months=1)

#一週間後の日付を求める
date += relativedelta(months=1)

#明日の日付を求める
date += relativedelta(days=1)