怠慢プログラマーの備忘録

怠慢でナマケモノなプログラマーの備忘録です。

【iOS】prev/nextのviewを表示させるHorizontalScroll(FlowLayout)[備忘録]

HorizontalScroll

上記画像のような両端(prev/next)の要素(view)が見えてる状態で、かつAndroidのsnapHelperが効いている(スクロールする際に1番表示領域の大きい要素を中央へスクロールされる)ようなHorizontalScrollの実装方法です。

本来両端の要素を表示しない場合は padding enabledを使用すれば実現できますが、両端のprev/nextのviewを表示しながらの場合はpadding enabledでは実現できません。

続きを読む

【Android】BottomNavigationの選択を自前で管理する

material.io

developer.android.com

AndroidStudioからプロジェクトを作成するときに"Bottom Navigation Activity"を選択すると、上記のBottomNavigationが作成された状態でプロジェクトが作成されます。

続きを読む

個人事業1年経過&本業退職します(無職予備軍になります)

2020年4月1日でめでたく個人事業主として開業してから1年が経過しました。

また、2017年より勤めていた本業の新潟の株式会社クーネルワークと言う会社を5月末で退職することになりました。

続きを読む

【Android】RecyclerViewでHorizontalScrollを実現する[備忘録]

掲題の通りRecyclerViewでHorizontalScrollを実現します。

RecyclerViewHolder.kt

import android.view.View
import androidx.recyclerview.widget.RecyclerView

class RecyclerViewHolder(view: View): RecyclerView.ViewHolder(view) {
    // layoutファイルのUIコンポーネント
}
続きを読む

【iOS】最新fastlane導入[備忘録]

f:id:ka0in:20200306114454p:plain

fastlaneとは

  • iOSのリリース作業を自動化するCUIツール
  • Ruby
  • Fastfileという設定ファイルのLane毎にアクションを記述する

公式サイト引用

続きを読む

Firestoreの特定のCollectionをCloudFunctionsで監視してPushNotificationを送信する[備忘録]

チャットアプリなどでFirestoreの特定のCollectionが変更された際に対象ユーザーにPushNotificationを送信するといったシーンの実装方法の備忘録です。

Firebase

CloudMessagingがPushNotificationを送信する際に必要になるfcmTokenはFirestoreに保存しておきます。 アプリ側でfcmTokenを取得する際のコードは下記になります。

続きを読む

【Swift】FirestoreのSnapshotListenerをObservableにした場合のListenerのDetach

firebase.google.com

上記の公式ドキュメントを参考にクエリによる条件一致に該当するスナップショットのリスナーをObservableにした場合、以下のような実装になります。

続きを読む

新潟モバイルアプリカンファレンスの裏側の人の裏側

こんにちは。ABEChanです。あ、これから先私の呼称はABEChan/アベチャンでお願いします。

違う呼称で呼んだ方にはもしかしたら、私のことをよく知ってもらえてないのかな?と言う理由で焼肉をごちそうしてもらうかもです。←冗談です。

ついこの間新潟でモバイルアプリに関するカンファレンス・イベントを開催しました。

続きを読む

【Python】AWSLambda上でSelenium+ChromeDriver+headless-chromeを使ってクローリングする

yutaabe200.hatenablog.com

この記事の通り、Golang+Agouti+ChromeDriver+headless-chromeを使ってAWSLambda上で動かすことに失敗してしまったので、諦めてPythonを使用することにしました。

なお、こちらの方法はGolangで行う際より参考記事が豊富ですが、私自身Python自体も未経験でしたので、Pythonの使用手順から備忘録を兼ねて記載します。

続きを読む

【Golang】AWSLambda上でchromedriver+headless-chromeでクローリングできない[未解決]

最近とあるサイトのユーザーアクションを定期的に自動化したい事項がありました。

続きを読む

個人事業主初日

2019年4月1日から開業して個人事業主とめでたく(?)なったわけですが、色々雑に書いていきます。

屋号名について

特に意味はありません。好きなワインの名前からとりました。

あ、僕に送りつけてくれても良いです。

www.amazon.jp

事業計画・内容に関して

一応届出上は「システム・ソフトウェア開発」ですが特にないです。 開業して独立したいわけではないので。

なんでなったの?

1番の理由は経費を差し引いても雑収入が年間20万円を超えてしまい、確定申告を余儀なくされたのが理由です。 そして雑収入と言っても開業届けを出してしまえば事業所得として扱えそうなものもあったので都合が良かったのです。 それで青色申告をすれば何かと還付金が受けれるかもとか節税対策ぐらいの気持ちです。 元々簿記に関しては2級ならありましたし、FPの資格取った時もこの辺の知見はあったのと、割とお金周りの計算は好きでした。お金が好きなので。

あとは、後々フリーランスは視野に入れていて近々やってみたいとも思っているので、その準備と言うか、、、いざやるとなった時の為に手続きを出来るだけ今のうちにしておいたって感じです。

手続き自体は会計freeeなどにお世話になってすんなりできたのですが、それ以外の事業用カード作ったり通帳作ったり、どうせだから今の収入源をもう少し事業ぽくしてみたりとその辺が割と煩わしい作業が多い感じですがなんとかやり終えました。

で、何が言いたいの?

www.amazon.jp

...これ「屋号名」なのでプレゼントお待ちしてます。

【Golang】AWSLambdaからS3にアップロードする

yutaabe200.hatenablog.com

こちらで、Goのコード上からAWS S3にアップロードする方法を紹介しましたが、これをLambda関数化して同様に実行するとBodyHashErrorが起こります。

続きを読む

AWS Lambda の関数をAWS APIGatewayで発行したエンドポイントで実行させる

f:id:ka0in:20190311131435p:plain AWS Lambdaにgolang製の関数を設定し、トリガーにAWS APIGateway設定しエンドポイントを発行、そのエンドポイントのコールで関数を実行するまでの手順です。

続きを読む