nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Angular で JSON を POST で送信しようとすると空になる

はじめに Angular で公式ドキュメント の通りに JSON データを POST で送信しようとすると Body が空になるので対策をメモ 環境 Angular 4.3.5 公式ドキュメントのコード このとおりだと Body が空になる const body = {name: 'Brad'}; http .post('/api/dev…

メールアドレスとウェブサイトを Google のサービスのみを使って用意する

はじめに アプリを公開するため問い合わせ用のメールアドレスとウェブサイトを用意することにした メールアドレスの用意のためにメールサーバーは管理したくないので Gmail が使えて独自ドメインが使える G suites を使う ウェブサイトは GAE/Go を最近使っ…

Unity の UnityEditor.BuildPipeline:BuildAssetBundles で出たエラーと対策

前提条件 Unity 5.6.1f UnityEditor.BuildPipeline:BuildAssetBundles で Asset Bundle をビルドしたらエラーが発生した エラー内容 ポップアップで “Build failure Internal error: Target platform mismatch” コンソールに “Menu Edit/Graphics Emulation/…

ユースケース駆動開発実践ガイドまとめと感想

はじめに エリック・エヴァンスのドメイン駆動設計を読んだ流れで DDD について調べていたらどこかの発表スライドでユースケース駆動開発実践ガイドをおすすめしていたので読んでみた。 一度通して読んだので復習しながら簡単なまとめと感想を記録しておく。…

GAE/Go 環境で echo が実行できない問題

問題 GAE/Go 環境で echo を使ったアプリケーションを goapp serve で実行しようとすると以下のエラーが発生して実行できない 2017/01/16 16:08:42 go-app-builder: Failed parsing input: parser: bad import "unsafe" in github.com/valyala/fasttemplate/…

Go 言語のアプリを heroku にデプロイするときは vender を .gitignore にいれるとだめ

ビルドエラーになる godep 使わせている意味なくない? デプロイ用のブランチ作って .gitignore から外すとかするのかな? $ git push heroku master Counting objects: 280, done. Delta compression using up to 4 threads. Compressing objects: 100% (26…

Rubyのリファクタリングでイケてないコードをなんとかするやつをやってみた

はじめに http://tango-ruby.hatenablog.com/entry/2016/07/15/133122 が面白かったので自分でもやってみた。 リファクタリングできそうな点 initialize で start_date, end_date を渡しているのが不自然。 OrdersReport という汎用的なクラス名なので期間以…

Go 言語でソリティアを作った

termbox-go を知ったので、息抜きに Go 言語でソリティアを作りました。 https://github.com/nirasan/go-solitaire仕事中にやりやすいように ls っぽいモードも搭載してあります。mac 用だけサンプルがあります。操作は README で。 https://github.com/nira…

Go 言語の列挙型的な定数と定数でのフラグ管理

列挙型的定数 Go では const と iota を使って列挙型的な定数を定義する iota は const 宣言開始時に 0 になり、定数を定義する毎にインクリメントする 定数定義は値を指定しないと直前の定数と同じ値になるので iota と組み合わせることで連続した値が定義…

termbox-go 使い方まとめ

はじめに https://github.com/kurehajime/pong-command とかみたいな感じでターミナル上で任意の座標に任意の文字を表示できる termbox-go の使い方まとめ。 概要としては termbox の内部でターミナル上の座標に対応した文字のバッファを持っているので、Set…

Go 言語でブログを作ったメモ

Go 言語学習のためにユーザー認証とDB連携のあるブログアプリを作った ソースは https://github.com/nirasan/go-blog Web 周りに Gorilla web toolkit を、ORM に gorp を使用 Go 自体シンプルだし、あえてシンプルなライブラリを選んでみたのでわりとはまら…

Go 言語で gorilla/mux, gorilla/context, gorilla/sessions を使ったユーザーログイン機能のサンプル

はじめに Go 言語練習のため gorilla/mux, gorilla/context, gorilla/sessions を使ったユーザーログイン機能を実装してみました。 ユーザーの管理はメモリ上の map 型変数にユーザー名とパスワードを入れているだけなので、ここをDBに変えるのが次の課題の…

Go 言語で gorilla/mux を使った簡単なウェブアプリのサンプル

はじめに Go 言語で簡単なウェブアプリを作りたいので軽量なウェブツールキット gorilla/mux を使ったサンプル。 context の使い方は gin や goji のミドルウェアの実装を参考に、共通化したい処理を個別のハンドラの上にラップする形にした。おきまりのパタ…

Mac + DockerToolbox 環境の Centos6 で Supervisor を使って複数のサービスを起動する 〜 sshd と named を起動する例

はじめに Docker のコンテナでは複数のサービスを同時に立ち上げられないので、任意のプログラムをデーモン化して起動や停止を管理する Supervisor を利用して、Supervisor 経由で複数サービスを管理する。 Supervisor のパッケージは epel にあるが、バージ…

Mac + DockerToolbox で ssh 可能な CentOS のイメージを作成する

DockerToolbox のインストール http://docs.docker.com/mac/step_one/ の手順に従ってインストール Docker Quickstart Terminal の実行 Dockerfile の作成 Docker 用のディレクトリを作成して Dockerfile の作成 $ mkdir -p /path/to/docker/centos-ssh $ cd…

Rails で作った API サーバーに Unity でリクエストをする

はじめに http://nirasan.hatenablog.com/entry/2015/08/20/172719 で作成した API サーバーに Unity で認証してリクエストを送信するメモ サーバー側の変更点 Doorkeeper でアクセストークンの更新に対応するため config/initializers/doorkeeper.rb に以下…

Rails で API サーバーの認証の仕組みを作る

はじめに Rails でモバイルアプリのバックエンドに使う API サーバーのユーザー作成と認証の仕組みを作ったメモです Doorkeeper + Sorcery を使った認証の構築とテストまで記述します 参考サイト http://bokukoko.hatenablog.com/entry/2014/04/11/%E3%83%A6…

Rails初期化チートシート

プロジェクトの作成 rails new PROJECT_NAME -T -B cd PROJECT_NAME git の設定 git init curl https://www.gitignore.io/api/rails,ruby,osx,linux,vim,sublimetext,rubymine > .gitignore gemのインストール cp /path/to/Gemfile ./ #TODO bundle install …

Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(iOS編)

はじめに Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(Android編) - nirasan's tech blog にひき続いて iOS 編 基本的に http://tsubakit1.hateblo.jp/entry/2014/08/19/010141 こちらのとおりです。 iOS 側の…

Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(Android編)

はじめに Unity で OS ネイティブの読み込み中アニメーションを表示するメソッドとして Handheld.StartActivityIndicator がある。 これは Android では画面左上に表示されてしまうので、画面中央に表示させられるようにネイティブプラグインを作ったメモ。 …

paperclip_database の導入メモ

はじめに ActiveRecord のオブジェクトに画像ファイルを添付する gem の Paperclip で、画像の保存先をデータベースにする gem の paperclip_database の導入メモ。 Paperclip は導入済みで、User モデルの avatar カラムに添付画像情報を入れているものとす…

NGUI の UITweener の Animation Curve に任意の曲線を設定する

はじめに Unity + NGUI で TweenPosition や TweenAlpha などの UITweener を継承したコンポーネントで Animation Curve の曲線をプログラムから設定する方法についてメモ。 バージョン Unity 4.6.1f1 NGUI 3.7.6 設定方法 Animation Curve の曲線は Animati…

NGUI で UILabel の文字量に従って縦幅だけ変動させるスクリプト

using UnityEngine; using System.Collections; /// <summary> /// UILabel の横幅を固定して text に従った縦幅に設定するスクリプト /// </summary> public class UILabelHeightFitter : MonoBehaviour { /// <summary> /// リサイズ対象の UILabel /// </summary> public UILabel label; private…

自分用 RubyMine ショートカットメモ

チートシート https://www.jetbrains.com/ruby/docs/RubyMine_ReferenceCard_Mac.pdf ジャンプ 宣言へジャンプ Command + b 使用箇所のリスト Alt + F7 タブ移動 左へ Command + Shift + @ 右へ Command + Shift + [

NGUI の ScrollView で気持ちのいいスクロールを実装する

気持ちが良いスクロールとは? 今回は「ちょっとスワイプするだけで次の要素にスッと切り替わる」ものを実装する。 バージョン情報 Unity 4.6.1f NGUI 3.7.6 ヒエラルキー UI Root ScrollView Grid ScrollView の作成 メニューの [NGUI] > [Create] > [Scrol…

Rails 4.2 で Heroku にデプロイしたメモ

はじめに Rails 4.2 で開発していたアプリを Heroku にデプロイした時にやったことメモ 環境 mac Rails 4.2 Sqlite3 Heroku にユーザー登録 済 Heroku のコマンドラインツールのインストール https://toolbelt.heroku.com/ Heroku アプリの作成 $ cd /path/t…

Rails 4.2 で destroy のバリデーションをする

任意の条件でバリデーションをする http://qiita.com/tbaba/items/9ea139dc77443e6d7be2 の通り、before_destroy に指定したメソッド内で条件を判定し、destroy 不可であれば return false する 前記記事の通り before_destroy :method_name の記法ではなく…

Unity Ads 導入メモ

やったこと Unity Ads のサイトにアカウント登録 Unity Ads でアプリの登録とID取得 Asset Store から Unity Ads のインポート 広告の呼び出しスクリプトの作成と実行 参考サイト 最初の3つは http://qiita.com/hiroyuki7/items/ac607e3df11101b0c90a を参考…

MagicalRecord で Date の範囲検索

iOS

Entity エンティティの creationDate 属性に作成日時が入っているものとして、今日作成されたデータを取得する場合 // 今日の0時0分0秒を取得 NSCalendar* calendar = [NSCalendar currentCalendar]; unsigned int flags = NSCalendarUnitYear | NSCalendarU…

MagicalRecord を試したメモ

iOS

はじめに iOS アプリ開発で ActiveRecord ライクに CoreData を扱うことが出来る MagicalRecord を試したメモ CocoaPod を使うのも初めてなのでそこもちょっと詳しく 動作環境 XCode 6.1.1 MagicalRecord 2.2 mogenerator 1.27 参考URL https://github.com/m…

iOSアプリ開発チュートリアルメモ

iOS

ナビゲーションコントローラの追加 タイトル表示や戻るなどが出来るようになる 追加したいビューコントローラを選択した状態で、メニューから Editor > Embed In > Navigation Controller カスタムコントローラの追加 File > New > File iOS > Source > Coco…

ActiveAndroid Tips

はじめに 基本的な使い方は以下のページにまとまっていたので、その他のTipsをメモ。 http://moonstruckdrops.github.io/blog/2013/12/19/active-android/ http://qiita.com/androhi/items/b4bd7d4f791a2150630d Date型を扱う SQLite では Date 型が扱えない…

Ruby で Amazon Product Advertising API を使ったメモ

はじめに Ruby で amazon-ecs を使って Amazon Product Advertising API の検索をしたメモ。 インストール gem 'amazon-ecs' アカウント作成 Amazon アソシエイトのID作成 https://affiliate.amazon.co.jp/ AWS のID作成 https://affiliate.amazon.co.jp/gp/…

Unity でユーザーデータをJSONにシリアライズして暗号化して保存する

はじめに Unity でユーザーのデータを保存したい場合、最も手軽なのは PlayerPrefs だが、List が使えなかったり平文だったりして不便な面もある。 今回はユーザーデータを LitJSON でシリアライズして、永続データ領域に保存。保存時に暗号化、読み込み時に…

2D Roguelike を試してみて使いまわせそうなイディオム

はじめに Unity のチュートリアル 2D RogueLike が気になったので、試してみて使えそうなイディオムをいくつかメモ。 ゲーム自体は、矢印で移動、移動する毎にfood減少、アイテムでfood増加、敵の攻撃でfood減少、階段で次の階へ、アイテム・壁・敵は階ごと…

Parse.com でバックグラウンドジョブの登録と実行メモ

Parse.com のダッシュボードからアプリの作成 アプリ名は "JobTest" で作成 parse コマンドのインストール $ curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash Cloud Code のディレクトリを作成 $ parse new JobTest $ cd…

Unity で iOS ビルド時に Framework の自動追加・画像の自動追加・任意のファイルの登録・URL Scheme の設定をする

はじめに Unity で PostprocessBuildPlayer を使ってタイトルのようなことをする。 掲載のコードはGAMEFEATのSDKを組み込んだときのもの。 ruby から XCode を操作する gem のインストール http://starzero.hatenablog.com/entry/2014/02/18/163330 を参考に…

Unity で Parse Config を使いアプリの設定をリモート管理する 〜 例えば審査中だけアプリの挙動を変化させる

はじめに Parse.com の Parse Config を使うと、アプリの設定を手軽にリモートで管理することが出来、例えば審査中だけ特定の GameObject を表示させないなどの処理が書きやすくなります。 Parse Config は単純なキーバリューストアで、以下のような型が扱え…

NGUI の ScrollView 内のアイテムをドラッグアンドドロップで並び替える

はじめに Unity + NGUI 環境で ScrollView 内のアイテムをドラッグアンドドロップで並び替えられるように 構成 ゲームオブジェクトの親子関係とアタッチするコンポーネント Scroll View (UISCrollView, UIDragDropRoot) Grid (UIGrid) Item (BoxCollider, UI…

Voxel モデルを作って Unity で使ってみた

Voxel とは volume のある pixel ということで、3D のピクセルアート的なもののことだそう。 http://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%AF%E3%82%BB%E3%83%AB Voxel モデルを作るには Qubicle というソフトを使って Voxel を作成し、Qubicle の Unity …

Photoshop でポーカーのテーブルっぽいテクスチャーを作る

http://junkdrw.seesaa.net/article/176119736.html を参考に作業。 環境は Photoshop CS6 Photoshop 力が無さ過ぎて、マスクとかよくわからなかったので飛ばした。 "ノイズを加える"、"ぼかし(移動)"、"ぼかし(ガウス)"の後に、[フィルター] > [表現手…

一般ユーザーで RVM + Ruby On Rails 環境を構築した時のメモ

RVM のインストール curl -L https://get.rvm.io | sudo bash -s stable Ruby のインストール rvmsudo で rvm 環境が用意された sudo が使える。 rvmsudo rvm install 2.1 Rails のインストール gem パッケージのインストール時に必要になるので、システムデ…

AWSでログイン中のインスタンスの公開ドメインを取得するコマンド

curl http://169.254.169.254/latest/meta-data/public-hostname http://unix.stackexchange.com/questions/24355/is-there-a-way-to-get-the-public-dns-address-of-an-instance

UnityでAndroidとiOSのアプリ間連携機能を使ったシェア機能の実装

はじめに Unityでアプリ間連携機能を使ったシェア機能を実装します。 Androidでは暗黙的インテントを、iOSではUIActivityViewControllerを利用します。 Unityでのシェア機能実装 任意の処理から下記スクリプトのShareメソッドを呼び出しシェア機能を起動しま…

NGUI でインターネット上の画像を表示するには

WWW で画像を読み込み、UITexture で表示する。 サンプル 以下のスクリプトを任意のオブジェクトにアタッチして実行する。 using UnityEngine; using System.Collections; [RequireComponent(typeof (UITexture))] public class LoadTextureFromWWWSample : …

NGUI で ScrollView の描画順を調整する

NGUI で ScrollView の描画順を調整するには ScrollView オブジェクトに UIScrollView と一緒にアタッチされている UIPanel の SortOrder と Depth の値を変更する。 SortOrder はおおもとの描画順で、Depth は同一 SortOrder の要素同士の描画順を指定する…

Unity + NGUI + iOS でも Atlas のテクスチャサイズが大きすぎるとやっぱり死ぬ問題

はじめに 前回と同じアプリをiOS環境でビルドしようとしてエラーが発生した件。 Unity + NGUI の環境で iOS のビルドをしようとしたとき、4096x4096 のテクスチャを使った Atlas を2枚があるとエラーが発生してビルドできない。 エラーメッセージ 以下のよう…

Unity + NGUI + Android で Atlas のテクスチャサイズが大きすぎると死ぬ問題

はじめに Unity + NGUI の環境で Android 実機で起動したとき、4096x4096 のテクスチャを使った Atlas を2枚使おうとすると再起動がかかる。 エラーメッセージ 以下のような感じで android.os.DeadObjectException とかいうのが出る。 W/InputMethodManagerS…

Unity で iOS 実機だと Update 中に GetComponent するとたまに一瞬固まる問題

問題 題名の通り。 Unity Editer や Android で動かしている分には気がつかなかった。 同じ処理でも固まったり固まらなかったりする。初回はだいたい固まるのでキャッシュしてくれているのか。 対策 問題の箇所では Prefab を Instantiate して、作成した Ga…

NGUI の UIScrollView で1要素分スクロールさせるスクリプト

はじめに Unity の NGUI で UIScrollView を使うと、要素を列挙してスクロールして表示させるようなパーツが簡単に実装できます。 列挙する要素に UIDragScrollView コンポーネントをアタッチすると、ドラッグでスクロール可能ですが、今回は1要素分だけ進…