[Swift] ローカルのHTMLファイルを読み込む

HTMLを読み込む

対象のXCodeプロジェクトに対してwwwというフォルダがあり、その中のindex.htmlを読み込む場合だと、

let path = NSBundle.mainBundle().pathForResource("index", ofType: "html")
var url:NSURL = NSURL(string: path!)!
var urlRequest:NSURLRequest = NSURLRequest(URL: url)
yourWebView.loadRequest(urlRequest)

のコードになる。

CSSを読み込む

style.cssをwwwフォルダーの配下に配置している場合、index.htmlに以下のコードを記述する。

 <link type="text/css" rel="stylesheet" href="style.css">  

surround.vimでよく使うコマンド

surround.vimとは

surround.vim は、[], (), {} といった括弧や、” や “” などの引用符、HTMLタグなど、「テキストを囲うもの」を編集するプラグインです。今回はsurround.vimでよく使うコマンドをリストアップしてみます。

yss 任意の文字

選択したテキストを任意の文字で囲む helloという文字に対して

yss"

を適用させると”hello”となります。

yss<p>

を適用させると<p>hello</p>となります。

yss<p class="important">

を適用させると<p class=”important”>hello</p>となります。

ds 任意の文字

任意の文字で囲まれている選択したテキストから、任意の文字を削除します。
“hello”という文字に対して

ds"

を適用させるとhelloとなります。

Shift + s 任意の文字 (At Visual Mode)

複数の単語を任意の文字で囲みたい場合はこちらのコマンドを使用します。
Visual Mode Vで選択した後,

Shift + s 任意の文字

を適用させると選択したテキストを任意の文字で囲むことができます。

APSchedulerを使ってBackground Jobを行ってみる

Herokuで30秒以上かかるプログラム(メール送信、Push通知の送信 etc…)を実行させる場合はプログラムをバックグラウンドで実行させる必要があるのですが、APSchedulerというライブラリを使うと簡単に実装ができたので自分のためにメモしておきます。

Install

まずは、APSchedulerをインストールします。
$ pip install apscheduler
$ pip freeze > requirements.txt

Coding

次にclock.pyを作成します。

例として平日はdo_workメソッドを呼び出して、休日はdo_restメソッドを日本時間の9時30分に定期的に実行するプログラムを書いてみます。

clock.py

from apscheduler.schedulers.blocking import BlockingScheduler
import logging


logging.basicConfig()
sc = BlockingScheduler()


@sc.scheduled_job('cron',day_of_week='mon-fri', hour=0,minute=30)
def do_work():
    print('Do work.')
@sc.scheduled_job('cron',day_of_week='sat-sun', hour=0,minute=30)
def do_rest():
    print('Do rest.')

sc.start()

次に以下のコマンドでclockをプロセスを起動させます。

$heroku ps:scale clock=1

最後にProcfileの箇所に
clock: python clock.py
と記述して完了です。

蛇足

ちなみにclock.pyのログは

$ heroku logs -t -p clock 
で確認することができます。

ParsePyですべてのUserオブジェクトを取得してみる

ParsePyを使用しているのですが、こちらのUser.Query.All()はすべてのユーザーを返すのかとおもいきや,Parseの仕様上、実際は最大で100件までのデータしか返してくれないそうです。

そこで以下のメソッドを書いてすべてのユーザーを取得するプログラムを書きました。
def get_all_users():
    step = 100
    skip = 0
    flag = True
    users = []
    while flag:
        _users = PFUser.Query.all().skip(skip).limit(step)
        skip += step
        users.extend(_users)

        if len(_users) == 0:
            flag = False
    return users
 

参考になれば幸いです。

『うつチェック!』が App Storeのメディカル部門のニューリリース欄に選ばれました

IMG_0728

以前リリースしました『うつチェック!』アプリがApp Storeのメディカル欄のニューリリースに選ばれました。

これもダウンロードしていただいた皆様のおかげです。
ダウンロードしていただいた皆様、ありがとうございます!

更にうつチェックを良くするための開発を行っていきますので今後とも宜しくお願い致します。(_ _)