APIの開発サイクルを早めるサービス:apiary

APIを使用した開発をする場合、APIのインターフェイスを定義する。

  1. その定義にそってAPI開発チームが開発。
  2. フロントアプリの開発チームも定義に沿ってアプリを開発。

と言うことで、2ライン走ることになる。
APIが完了するまでは、疑似コードを書くとか、JSONを定数で持たせるとか、そんな感じで開発をすることが多いのだけど、apiaryを使用すると少し楽にしてくれる。

続きを読む “APIの開発サイクルを早めるサービス:apiary” >

UITextView のテキストを上寄せする方法

UITextView のテキスト配置はデフォルトでは中央配置になります。
テキスト表示を上寄せで配置したくなります。

テキストなんで中央!?上に余分な空白があるよ。
もっと一番上からテキスト表示されてよ!!!ってなるのよママン。
それを実現する方法は、UITextView を配置している ViewController 自身のプロパティで設定します。

ViewController – Attributes Inspector – View Controller – Layout – Adjust Scroll View Insets をオフにします。

そーすると、あら素敵!上寄せになりましたね。

ITMS-90087 エラーへの対処

今月はiOSアプリを書いていてその最終段階で遭遇したエラーの対処の話です。
iTunes Connect にファイルをアップロードしたら次のようなエラーが出た。

ERROR ITMS-90087: “Unsupported Architectures. The executable for BNITraning.app/Frameworks/RapidFire.framework contains unsupported architectures ‘[x86_64, i386]’.”

このエラーは、App Storeのバグで、Carthage を使ってると発生する有名な問題だそうです。
READMEに説明がありました。

This script works around an App Store submission bug triggered by universal binaries and ensures that necessary bitcode-related files and dSYMs are copied when archiving.

続きを読む “ITMS-90087 エラーへの対処” >

hubotプラグイン:抽選してメンション飛ばす

hubot で、抽選して誰かにメンション飛ばしたくなることがあります。
自分で実装しようかなと思ったら、先人がすでに作成済みだったのでそれを紹介します。

厳正な抽選をhubotで行う話で紹介されていて、ソースはGithubで公開されています。

image

続きを読む “hubotプラグイン:抽選してメンション飛ばす” >

最急降下法と正規方程式のメリットどデメリット

 最急降下法正規方程式
メリット・フィーチャーが増えても遅くなりにくい・レーニングレートを選ぶ必要が無い
・繰り返しが不要
デメリット・ラーニングレートのαを調整する必要がある
→αを異なる値で走らせなおして適切な値を見つける必要がある
・繰り返しが必要で結果を得るのに遅くなる可能性がある
・フィーチャーが多くなると計算量が増え遅くなる
→行列の次元の三乗で遅くなる

フィーチャーの数がどれぐらい以上になると、最急降下法を使用する検討を始めるといいのか。
10000あたりが境界線で、それ以下の場合は、正規方程式で十分に素早く結果を得られる。
100万個は明確に遅くなるので最急降下法を選択するのが良いそうだ。