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

アプリエンジニアからサーバーとインフラエンジニアに転身しました

BitriseでAndroidアプリのリリースを自動化

この記事はBitriseアドベントカレンダーの16日目の記事です。 仕事で何かとお世話になってるBitriseですがアプリで使うには便利なのでオススメしています。 Bitrise とは Bitrise はモバイルアプリ開発に特化した CI サービスです。ブラウザ上て…

技術書典6出典レポート

技術書典6に出典してきました。 現地に行くまで実際の本がちゃんと出来上がっているのかのドキドキはなれませんね。 前回のテストが書けない人のためのAndroid MVP に続いて今回はBitriseで始める Android CI環境というタイトルで書きました。 今回の本は実…

技術書典5をMarkdownのみで執筆してもなんとか黒字になった話

技術同人誌 Advent Calendar 2018 14日目の記事です。 本当はなぜこの本を書いたのかの深掘りとかしようと思いましたけど、本についての想いはこちらのブログに込めておきました。 熱い思いを込めておきましたので読んでください。 www.wantedly.com もう技…

PHPで学ぶChain of Responsibilityパターン

この記事はPHPで学ぶデザインパターン Advent Calendar 2018の4日目の記事です。 qiita.com Chain of Responsibilityパターンとは よく言われるのがたらい回しパターンですね。 自分では処理できない場合次のオブジェクトに処理をお願いするパターンです。 …

isucon8本戦に出たものの惨敗しました

ものすごくありがたいことにisucon8の本戦まで出場することできました。 ぶっちゃけチームメンバーが優秀すぎて自分はほとんど何もできなかったけど! 本戦出場の証。アイコンは先日の技術書典5で出した本のキャラクター。 本戦でやったこと クエリ改善 SELE…

技術書典5に「テストが書けない人のためのAndroid MVP」を出展してきました

技術書典5無事に終わりました。足を運んでくださった皆様ありがとうございます。 「テストが書けない人のためのAndroid MVP」という本を出展していました。 そもそもなぜこの本を書こうとしたのか 事の発端はDroidKaigiに行った時に、なんとなくチームメンバ…

ktlintをpre-commitに引っ掛けてコードフォーマットする

元々php書いてて、php-cs-fixerをpre-commitでフックして整形してたなぁ…と思って最近Androidをkotlinでソース書いてるときに、同じようなやつkotlin版ないのかなぁと調べたらちゃんとありましたね。 github.com ということでphp-cs-fixerのパターンと同様に…

クローディアにはエンジニアとしてお世話になりました

クローディアとは 2012年4月6日から2017年12月30日の期間。372文字投稿できる国産ミニブログなど言われていましたが、実際のユーザーの利用方法としては小規模なTwitterでした。 そこのサービスのユーザーとの思い出も色々とあるのですが、アプリ開発の思い…

社内で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…