yoneapp@iPhoneアプリ開発

スタートアップの支援を行うiOS&Railsエンジニアのブログ

今日から始める楽する確定申告

f:id:yoneapp:20170503015042j:plain

フリーランスを初めて2期が終わり、確定申告にも慣れてきたのでおすすめのワークフローを紹介します。まず、クラウド会計ソフトを導入しましょう。MFクラウドfreeeがいいかなと思います。

次に、会計事務所と契約しましょう。クラウド会計ソフトがあれば不要では?と思われるかもしれませんが、確定申告は結構複雑なのでお願いできるなら、お願いした方が良いです。

続きを読む

プログラミング指南メモ

f:id:yoneapp:20170502164157j:plain

久しぶりにプログラミング学習をお手伝いする事になったので、その過程などをメモしていきたいと思います。なお、リモートでお手伝いしています。

まずは、Ruby on Rails 5 超入門をオススメしました。

しかし、環境構築でハマってしまいそうだったので、環境構築をサポートすることにしました。環境構築は初学者には難しいため、学習断念ポイントの山場でもあります。

続きを読む

Railsで日本語系バリデーション

全角文字制限

全角文字変換サポート

ひらがな toカタカナ

電話ハイフン除去バリデーション

数字のみにフィルタしてから桁数バリデーションでいいかな

JIS水準バリデーション

文字コード系メソッド

実際に文字コード変換してみて、欠けた文字が非対応文字って感じが楽ですかね。

vue.jsでimgの:srcを変更した際にローディングを表示したい

GitHub - hilongjw/vue-lazyload は初回ロードは出せてるように思う

javascript - Vuejs get image from remote source - Stack Overflow
のようにBackgroundだとうまくいくか?ただ、本当にやりたいことではない。

先行きが見えなかったので質問させて頂いた
vue.jsでimgの:srcを変更した際にローディングを表示したい(30974)|teratail

vue.jsの層ではなくて純粋にimgのload eventを参考にバインドをうまいことすればいいのかもしれない?
pxt | 画像のロード完了イベントを取得してみる

GitHub - hilongjw/vue-lazyloadを実際に動かして実験してみる。

Railsからvue-lazyloadを読み込むにはES6のimportが使えないと難しそうだ。
http://d.hatena.ne.jp/kitokitoki/20140906/p2
https://github.com/maccman/sprockets-commonjs
WebPackを使ってRailsからJavaScriptを楽に良い感じに分離する - Qiita
Bring CommonJS to your asset pipeline - Arkency Blog

JS周りが結構変わっててnpmとか使う感じが強くなってる感じがする。
RailsでCoffeeScriptを共存させつつES6やJSXを使う方法 - Aqutras Members' Blog

時間的制約から、:srcの値をnullにしてその裏にz-indexでローディング画像を固定、その上で画像をローディングするように変更。これは上手く行かなかった。理由はnull突っ込んだ後にsrcに値を突っ込んでも、バインディングの性質上?後の値しかDOMに反映されなかった。

画像を複数枚並べておき、DIVからはみ出るようにしておいてoverflow: hiddenで何とかうまくいかないかな。結論めっちゃうまくいった。

CircleCI + Fastlane "ベータ版エンタイトルメントがありません"

ベータ版エンタイトルメントがありませんとiTunesConnectで表示されている場合、Testflightで使用することが出来ません。

Provisioning Profileをリセットすればいいという情報もありますが、おそらく要因が複数あるようで、本件では上手く行きませんでした。

この問題が起きる場合は、ビルドログに次のような警告が表示されている場合が多いです。

WARNING ITMS-90191: "Missing beta entitlement. Your app does not include the beta-reports-active entitlement. If you intend to distribute this build via TestFlight for beta testing, please re-build this app with a newly generated provisioning profile."

私のケースは、ローカル環境だと上手くいくが、CircleCIだと失敗していました。

結論としては、何故かCircleCIでビルドするとuse_legacy_build_apiがtrueになっていました。ローカルではuse_legacy_build_apiはfalseでした。Fastfileでは特に設定していませんでした。*1

ENV['GYM_USE_LEGACY_BUILD_API'] = "false"のように明示的に指定することでCircleCIで本問題が起きることはなくなりました。*2

*1:use_legacy_build_apiをfalseにすると成功する説や、trueにすると成功する説もあります

*2:CircleCIは何らかの理由でtrueで初期設定にしているのかもしれません

iOSでアプリのアップデートを依頼考察+スクリーンショット付き

[iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita はOSSのコードが少し古いけど、良い手の一つかも。

強制的にアプリをアップデートさせたい - 未処分利益 のまとめを読んだ。

参考になりそうなスクリーンショット 

続きを読む

Swiftで線とか円グラフを書く

この辺読むと出来そうメモ

Libraryとか