おじゃまぷよ系エンジニアメモ

主にスマホネイティブ関連Tips。たまにWebも書きたい。お腹はぷよぷよ

社内でGoogle Home使ってハッカソンしました

タイトル通り1日エンジニアの業務をストップしてハッカソンしました 作ったものは大したことないんですが、3人チームでメンバーの一人がGoogle Homeを持っていたのでそれを使っての開発が楽しかったので振り返りを 作ったもの 「我々には仕事より大切なもの…

CloundFirestoreの基本的なCRUD使い方メモ

Android開発においていわゆるRepository層にcloud firestoreを使うときのメモです。 昨日のNANAMemoのときのデータストアに活躍してもらいました。 その時の使用した様子を特に詳しい説明もなく書いてます。 RxJavaと使うと相性がよさそうですね。 gradleにf…

水樹奈々の思い出を記録するNANAMemoアプリ公開しました

アプリはこちらです play.google.com なぜつくったのか? ファンクラブイベント7においてセトリハンターというコーナーが話題になりました。 その場で抽選で選ばれた人に次のライブで歌ってもらいたい歌をリクエストできるという企画で自分が歌ってほしい歌…

AndroidでMVPするときのPresenterの責務

Androidのクラス設計でMVPやMVVMが流行っています。 自分もMVPのクラス設計が導入しやすく好きなのですが、実際にやろうとすると何をPresenterに書き何をView(ActivityやFragment)に書くべきなのか指針がなくて なんとなくMVPになることが多いです。そこで個…

capistranoでcomposer installしてからrsync

capistranoでphpのプロジェクトをdeployしようとして 通常のdeploy方式だとdeploy先のサーバーでgit pullしてからcomposer installになってしまうがそうではなくて deployサーバーでgit pullしてcomposer installしてそれをdeploy先のサーバーにrsyncでファ…

kotlinのjavascirptで非同期で取得したデータをDOMにバインドするサンプル

kotlinがAndroidに公式サポートされて盛り上がっておりますね。 一応Androidエンジニアやっている?いた?のでkotlinは少し追っていたのですが、今ではWebエンジニアとしての方が強くなってきたので あえてkotlinでjavascriptやってみよう思い立ってDelegate…

phpのSlim3をコマンドラインから実行して使う

月1ペースを目標に更新したかったけど、全然更新してなかった ということでphpの軽量フレームワークのSlim3を最近使うことが多く、以前コマンドラインから実行するバッチ専用のシステムとして作ったのでその時の情報をメモです。 github.com Slim3でプロジェ…

phpのsession_decodeはarray_mergeされる

あるときphpでscript書いてるときにハマった。 session_decode()したら$_SESSIONに配列がまるっと置き換えられると思ってたらどうも違ったらしい 'b']; $data1 = session_encode(); $_SESSION = ['c' => 'd']; $data2 = session_encode(); $_SESSION = []; …

今年一年のエンジニアライフを振り返ってみる

歳を取るたびに1年が短くなっていくというのどうやら本当のようで、振り返れば1年があっという間にすぎさってしまっています。 そんな短い1年で自分が一体エンジニアとしてどういうことができたのかちょっと振り返ってみたくなったので何をやったのかバーっ…

phpでRedisのlRangeがPhakeで差し替えられない罠

ある日phpのRedisをPhakeでmockにしてテストしていたときにlRangeがなぜか差し替えられない状況に陥った。 ソースコードは以下のような感じ target = \Phake::mock(\Redis::class); } public function testHoge(){ \Phake::when($this->target)-…

モジュール結合度について復習した

プリンシプルオブプログラミング読んでなんとなく思い立ってモジュール結合度について考え直した 昔、基本情報技術者試験受けたときに勉強したときはただ暗記しただけだったけど改めて結合度について学んでみると「なるほどな…」って思うことが多かったので…

queryパラメーターをPHPで暗号化して渡してJavaで復元したい

とあるPHPで書かれたWebサービスAから、とあるJavaで書かれたWebサービスBにパラメーターを暗号化してqueryパラメーターで渡したいときがあったのでその時のメモ PHP側の暗号・復号化を行うクラス

kotlinでワンソースのDIコンテナ試しに書いた

やっと仕事落ち着いてきたので軽く何かkotlin書きたいなあと思ってモヤモヤして、そういえば以前からDagger2も取り入れてAndroidアプリ開発したいなぁと思っていたが なんかDagger2の使い方がややこしくて、逆に複雑度が増す感じがして個人で小規模な開発に…

knockout.jsでajaxでAPI叩いてモーダル表示分け

とあるqueryパラメーターによって表示するモーダルの内容を変えるのをどうしようかと考えた結果 jQueryでajaxでAPIを叩いて、受け取ったレスポンスをKnockout.jsを使ってデータバインディングする形に落ち着いた。 モーダルを1つふやすのに、api,js,htmlの…

DialogFragmentのshowとdismiss方法はコレに落ち着いた

ちょっと仕事でアプリのクラッシュログがすごい量出てきて調べてほしいと言われてとりあえずFabricのスタックトレースをみてみたら 「java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState」で落ちまくっている。なんと…

kotlinでAndroidアプリを試しに作った

よくお世話になるクローディアのアプリのAndroid版をkotlinで書き直し中 最近あまりネイティブアプリを書くことがなくなってきたのでリハビリを兼ねて作ってみました。 とにかく最近のトレンドを追いかけるために retrofit databinding realm rxJava この辺…

Androidのアレ!iOSでいうと

メモ書き程度のもの そのうち追加したり、もう少し詳しく書く 画面遷移(startActivity) Android Intent intent = new Intent(this,NextActivity.class); startActivity(intent); iOS stroyboardでViewControllerを「Control + ドラッグ」でつなげて SegueのI…

アップルの審査との100日戦争

CroudiaというマイナーSNSのiOSアプリを作りました。処女作です。 処女作という響きにはロマンが詰まってますね? 初回リリースまでにおよそ8回リジェクトされ、初申請からリリースまで3ヶ月近くかかりました。 ちなみにアプリはこちら IcrosMasahide Takaha…