しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

その他

Heroku+Hubot+Slackで「ERROR Not enough parameters provided. I need a token, rooms and account」エラーが出る時の対処法

Procfileのコマンドが間違ってる可能性があります。 Procfileファイルのコマンドをbin/hubot -a campfireからbin/hubot -a slackに直してください。

GoogleAnalyticsのユーザーエクスプローラーを見てみる

最近出たばかりのユーザーエクスプローラーというGoogleAnalyticsの機能を使ってみました。 PCサイト WEBサイトのユーザーエクスプローラーにはこのようにユーザー毎のセッション数や直帰率を見る事ができます。 個別のページに行くと、このユーザーがどうい…

Pub/Subとは何かを調べてみた

Pub/Subとは何かを調べてみました。 Pub/Subとは 非同期メッセージングパラダイムの一種であり、メッセージの送信者(出版側)が特定の受信者(購読側)を想定せずにメッセージを送るようプログラムされたものである。 Wikipediaによると上記の通りです。 Pu…

A/Bテストがうまくいくコツを調べていく

最近はA/Bテストを実施しているのですがなかなか成果が出てくれないのでコツや手法を調べてみました。 A/Aテストという手法 A/Aテストと言って、両方共同じ表示でA/Bテストをする方法があります。 これはA/Bテスト自体が正しく動いているかのチェックに使う…

GoogleAnalyticsでユーザーがどの程度 再訪問するかを調べる

「リピートの回数や間隔」という機能を使うと再訪問しているユーザーの割合を見る事ができます。 メニューとしては"ユーザー" → "行動" → "リピートの回数や間隔"になります。 左上メニューの"セッションの間隔"を選ぶとどのくらいの頻度でさい訪問している…

GoogleAnalyticsでどのページから来たかで絞り込む

GoogleAnalyticsでは/hogeと言った特定パスへのアクセス数を取得する事ができます。 更に一歩進んで/fugaから/hogeに来たユーザーの取得法を書いていきます。 行動のサマリーを選択します。 画面右下の"レポート全体を見る"を選びます。 以下のように一覧が…

囲碁TOPプロに勝利したAlphaGoのアルゴリズムを調べてみる

本日Googleの作った囲碁プログラムであるAlphaGoが囲碁のTOPプロであるイ・セドル氏に勝利しました。 5番勝負なのでまだまだこれからですがついにコンピュータがプロに勝つ時代になったかと思うと感慨深いです。 japanese.engadget.com 今日はそのAlphaGoの…

Ruby on RailsライクなSwiftフレームワーク、Swiftonを試してみる

SwiftonというSwiftのWebフレームワークを試してみました。 なんでもRuby on Railsを参考に作られたとかでかなり期待できそうです。 github.com サンプルを動かす こちらからサンプルプロジェクトをcloneします。 GitHub - necolt/Swifton-TodoApp: TodoApp …

KituraというSwiftのWebフレームワークを使ってみる

KituraというWebフレームワークでSwiftを動かしてみようと思います。 このフレームワークはIBMが作っているようで、同社のクラウドサービスであるBluemixというPaasの上で動かす事ができます。 github.com サンプルを動かしてみる 下コマンドで関連ソフトを…

Google Analyticsでどのページで離脱したかを調べる

行動 → 離脱ページから見る事ができます。 PV・離脱率などを見る事ができます。 各パラメータでソートもする事ができます。 ただし離脱率が低い順や高い順で並べると1PVしかないページが上に来てしまいます。 そういった時はアドバンスフィルタでPVに関する…

Itamaeで自宅と会社のMacに同じbrewのアプリをインストールする

最近はItamaeを使って自宅と会社に同じ環境を構築する試みをしています。 その一環としてbrewのアプリをItamaeでインストールしてみました。 GitHub - shimesaba9/env [ 'argon/mas/mas', # コマンドラインでAppstoreからインストールするツール 'wget', ].e…

Swift Package Managerのアプリを作る時はswift build --initが便利そう

今日知ったのですがSwift Package Managerのプロジェクトを作る時はswift build --initコマンドで初期化すると良さそうです。 コマンドを打つと以下のファイルやフォルダを作ってくれます。 Package.swift .gitignore Sources/ Sources/main.swift Tests/ .g…

Vaporを使ってSwiftサーバーを立ててみる

こちらの記事を参考にSwiftサーバーを作ってみました。 qiita.com 準備 Swift Package Managerを使えるようにします。 こちらのページのLatest Development Snapshotsをインストール後、/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin/へ…

AjaxZip3を使って郵便番号から住所を取得する

AjaxZip3というJSライブラリを使って郵便番号から住所を取得してみようと思います。 こちらのライブラリはyubinbangoと同じ作者の方が作っているようです。 Githubではyubinbangoの方が新しくて推奨されていました。 郵便番号を入れると住所を取得するJSライ…

Google Tag AssistantでGoogle Analyticsのデバッグをする

Google Analyticsは「本当にサーバーに送られているのか分かりにくい」「送られているとしても即時反映されないので確認に時間がかかる」という問題があります。 そこでGoogleAnalyticsが動いているか確認できるGoogle Tag Assistantという拡張機能を試して…

郵便番号を入れると住所を取得するJSライブラリ、yubinbangoを使ってみる

yubinbangoというJSライブラリを使ってみました。 使い方は下の通りです、命名ルールに沿ってクラス名をつければ郵便番号を補完してくれるようになります。 <html> <head> <script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script> </head> <body> <form class="h-adr"> <span class="p-country-name" style="display:none;">Japan</span> </form></body></html>

NiftyのmBaasでデータを保存してみる

NiftyのmBaasを試してみました。 前準備 まずはNiftyのサイトで会員登録してアプリケーションを作成します。 ここで作ったApplicationKeyとClientKeyを後で使います。 mb.cloud.nifty.com インストール インストールはCocoaPodsを使って行います。 pod "NCMB…

Mac上でjpeg/png/gifの変換をする方法

ImageMagickを使うとコマンドで簡単にフォーマット変換ができます。 インストール brew install imagemagick 使い方 以下のコマンドで変換は完了です。 画像の種類は拡張子を見てうまく判断してくれるようです。 convert test.jpeg test.png 対応フォーマッ…

NiftyのmBaasで Cannot find interface declaration for 'NCMBGoogleUtils' エラーが出た時の対策

Niftyでタイトルのエラーに遭遇しました。 NCMBGoogleUtilsの宣言には下記のif文があったけどNCMBGoogleUtilsのカテゴリーであるNCMBGoogleUtils+Privateにはif文がなかったのが原因だったようです。 NCMBGoogleUtils+Privateの方にもif文を追加したら動くよ…

NiftyのmBaasで error: include of non-modular header inside framework module 'NCMB.NCMBURLConnection' エラーが出た時の対策

こちらのissueに上がっている現象です。 何やらモジュールの読み込み関連でエラーが出ている模様。 Podfileに `use_frameworks!` オプションを指定するとアプリケーションをビルド時にエラーが発生します。 · Issue #22 · NIFTYCloud-mbaas/ncmb_ios · GitHu…

Parseで無料のWEBサイトを作成する

アプリとの通信で有名なParseですが実はWEBサーバーも作る事ができます。 今日はその辺りのWEBホスティング機能を提供するCloud Codeについて書いてみます。 Cloud Codeの設定 まずはコマンドラインツールをインストールします。 curl -s https://www.parse.…

Parseを使ってiPhoneアプリでユーザー登録&ログインを実現する

クラウドサービスのParseを使って、簡単にiPhoneアプリの会員登録とログインを実現してみようと思います。 初期設定 先日書いた記事を参考にParse上にアプリケーションを作成してAppIdとClientKeyを取得します。 Parse.comを触ってみた - しめ鯖日記 取得し…

Atomエディタを使ってみる

Githubが作っているAtomエディタを使ってみました。 SublimeTextから乗り換えたのですが、今の所不自由なく使えています。 インストール アプリは公式サイトからダウンロードします。 atom.io コマンドラインから開く SublimeTextと同じようにコマンドライン…

ParseでデータのCRUD操作をする

昨日はParseを簡単に触ってみたので次はデータ操作をしてみようと思います。 www.cl9.info データの作成 データの作成は以下のように行います。 let testObject = PFObject(className: "TestObject") testObject["foo"] = "bar" testObject.saveInBackground…

Parse.comを触ってみた

プッシュ通知やオンラインストレージを簡単に実装できるというParse.comを試してみました。 サーバーにデータを保存してみる まずはサイトの右上の会員登録ボタンから会員登録します。 アプリ名は適当なものにしました。 www.parse.com 最初は以下のような画…

YAGNIの精神でクラスの共通化をする

下記事を読んで思った事を書いてみます。 クラスはトップダウンよりボトムアップがいいと思う クラスの共通化は本当に必要になった時に行う 特に新規開発の初期段階では極力共通化はしないようにしています。 共通化をするのは開発も落ち着いてきて、利用す…

ドメインモデル貧血症を調べてみる

設計について調べていると時々出てくるドメインモデル貧血症について調べてみました。 ドメインモデル貧血症の処方箋 - まめログ ドメインモデル貧血症 - Strategic Choice こちらの記事が非常に参考になりました。 簡単に言うと中身がスカスカなモデルが大…

レイヤ化アーキテクチャとは何か調べてみる

ドメイン駆動設計について調べていく中でレイヤ化アーキテクチャと言う概念が出てきたので調べてみました。 レイヤ化アーキテクチャ 名前の通り、アプリケーションをレイヤ毎に分ける設計手法を指す言葉のようです。 MVCやMVP等もレイヤ化アーキテクチャの一…

ミニマックス法とは何かを調べる

ゲームのAIを作る時に出てくるミニマックス法について調べてみました。 ミニマックス法とは ミニマックス法 - Wikipedia ミニマックス法(minimax)は、想定される最大の損害が最小になるように決断を行う戦略のこと。 まずはWikipediaを読んでみます。 Wiki…

Swiftraを使ってMac上にSwiftサーバーを作ってみる

下記事を参考にSwiftとSwift Package Managerのインストールをします。 Swift Package Managerを使ってみる - しめ鯖日記 続けて下記事を見ながらSwiftraを動かしていきます。 SwiftでSinatraっぽくWebアプリケーションを書いてLinuxで動かす - Qiita まずは…