読者です 読者をやめる 読者になる 読者になる

木木木

Swift / Ruby on Railsなどの学習メモ。


Unityで動画再生の調査メモ

Mac / Windowsアプリを作るために色々調べてます。

Unity自体の機能であるMovieTextureはQuickTimeを使ってますが、Quick TIme for windowsはサポート終了してしまったため使えなさそう。
自分でOpenCVとかで実装するか、アセットを買うしかなさそうですね。

こちらの資料によるとEasyMovieTextureがよさそう。

EasyMovieTexture $65

Asset Store

AVPro Videoもよさそうだけど、$450か。。。 Asset Store

DynamoDBをLambdaを使ってオートスケールさせる

便利ライブラリありました。 github.com

レポジトリ落として、カスタマイズしてzipにしてlambda管理コンソールからアップしてねって感じです。
カスタマイズにはここのページが便利そう。

docs.aws.amazon.com

自分で1から実装するなら

dev.classmethod.jp

上のdynamodb-lambda-autoscale が1分ごとにlambdaで全テーブルの情報を舐めるというアプローチと違って、
こちらはCloud Watchのアラームにフックして自動スケールするというもの。
効率はこちらの方がいいですね。

ただ、こちらはGlobalSecondaryIndexには対応していませんので、本番で使うにはカスタマイズが必要そう。

Cloud Watch にはアラームにフックしてAuto Scaleさせる機能も備わっているようです。
が、これはEC2をオートスケールする機能であってDynamoDBには対応してないのかな?

Sererless Frameworkの中にいい感じに組み込めるオートスケールの仕組みが欲しいところですね。

ゼロからつくるDeep Learning 読書メモ

ちまたではDeep Learningが流行してます。
自分もDeep Learningで面白いもの作りたいぞ!と思うものの、何からはじめていいやらという感じで、
数学は非常に苦手で、微分積分ってなんだったっけというレベルです。

そんな中名著だと聞いたのがこの本。

ゼロからつくるDeep Learning

いざ読み始めてみると、正直初学者の私には全然難しいですww
とはいえ他の入門書よりは格段にわかりやすいという噂なので、慣れない数学と格闘しながら読んでます。
数式だけじゃなく、「Pythonで書くとこう」というのがわかるので、「あーこれならわかるわ」って感じで、数学できなくてもプログラム書ける人なら全然読めると思います。

以下、わからくて調べたことをメモしていきます。

ネイピア数とは

数式の中にちょくちょく「e」というのが出てきます。
e: ネイピア数

野中文雄さんのわかりやすい解説動画がありました。

iOSアプリで悪意あるユーザーに値を改ざんされないために

有料アプリなどを作っていると、脱獄などを行ったユーザーに値を書き換えられるとまずいことがあります。
対処法はざっくり3つかなと

ファイル暗号化

UserDefaultsを使用していると、iExplorerなどのアプリを使えばiPhoneファイルシステム内部を見ることができ、
脱獄してなくてもファイルの書き換えができちゃうみたいです。
保存する前にデータを暗号化すると良さそう。

Keychain accessを使う

UserDefaultsを使うのではなく、Keychain Accessを使うのもよさそう。
そもそもユーザーがアクセスできない領域のようなので安心。
だが、脱獄したiPhoneですらアクセスできないのかは未確認。
このへんの情報、ややディープなのでなかなか出てきません。
知ってる方いたら教えていただけると助かります。

keychain accessの詳しい解説

Cocoaの日々: [iOS] Keychain Services とは

重要な情報はサーバーに保存して都度問い合わせ

まぁこれが一番安心といえば安心です。

【Swift3】Boolのイニシャライザに色々渡すとどうなるか試した

試してみました。

Bool(1) # true
Bool("true") # true
Bool("1") # nil
Bool("t") # nil
Bool("a") # nil
Bool("True") # nil
Bool("1") # nil

Bool(0) # false
Bool("false") # false
Bool("False") # nil
Bool("0") # nil

Bool(2) # true
Bool(10000) # true
Bool(-1) # true
Bool(-10000) # true

Bool(nil) # fatal error

文字列の場合

“true” か “false” を渡すと初期化される。
それ以外はnilが返る。

数値の場合

0を渡すとfalseで初期化される。
それ以外はtrueで初期化される。

Serverlessフレームワークでテストを書く

2017/3/15追記

これが今のところベストプラクティスっぽい serverless.com


mocaとchaiで書くのがよさそう。

qiita.com

qiita.com

serverless 公式ブログでもmochaを使ったエンドポイントのテストが紹介されていました。

serverless.com

素晴らしくわかりやすいServerlessでTDDやろうぜのスライドを発見しました。

www.slideshare.net

mochaの使い方

Mocha - the fun, simple, flexible JavaScript test framework

lxyuma.hatenablog.com

参考URLあれば追記していきます。

スタバでWiFiに接続したのに「インターネットに接続できません」と出る時の対処法

StarbucksWiFiに接続したのに、ブラウザを立ち上げると「インターネットに接続できません」などの表示が出てインターネットができないことがあります。

そんなときは別のブラウザを立ち上げてみると繋がったりします。

自分はChromeを使っているので以下の方法を試すようにしています。

  1. Cmd + Shift + N でシークレット・ウィンドウを立ち上げる

  2. それでもだめならSafariを立ち上げる

これで自分の場合は100%つながります。

「インターネットに接続できません」などの表示が出て困ったら試してみてください。

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin