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

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

Notification Service ExtensionのアーカイブでMultiple commands produce 'GoogleUtilities.framework'が出て困った話(備忘録)

Notification Service Extensionを追加時にPodfileに以下のように追加しました。 target 'App' do use_frameworks! pod 'Firebase/Analytics' pod 'Firebase/Messaging' end target 'NotificationServiceExtension' do use_frameworks! pod 'Firebase/Analyt…

既存プロジェクトへSwiftUIの導入する時の話

2021年も早いもので既に3ヶ月が経過しようとしている中で、2020年は主にAndroidのお仕事が多かったのですが、年明けからなぜかシフトしてiOSを見ることが多くなりました。 最近さまざまなところで顔を出していますが、既存アプリにSwiftUIを実際にプロダクシ…

【SwiftUI】ScrollViewで列挙したリストにpull to refreshの挙動を追加する[備忘録]

SwiftUIのScrollViewにはPull to refreshのようなコンポーネントはUIScrollViewのようには付属されていないので自作した時のメモです。

趣味が欲しかったので「美容」にしてみた

20歳くらいからホームページの作成から始まってそれがソフトウェアに、そしてスマホアプリにと媒体は変化したものの、一貫して趣味は「プログラミング」として生きてきましたが、そろそろ他の趣味というかハマるものがもう少し欲しくて「美容(体のメンテナン…

最近リリースしたアプリの技術スタックと事業ドメインに関して

最近こんなアプリを作りました。 体調管理・子育て日記アプリ COTETE[コテテ]Yuta Abeヘルスケア/フィットネス無料apps.apple.com 事業ドメインに関して「えっ?」って思いそうなのですが経緯は以下の通りです。

【SwiftUI】FirestoreのラッパーをCombineで書いてみた[備忘録]

メモ程度なので雑に書いてます。

次世代LiveDataであるKotlin Coroutines StateFlow・SharedFlowについて

Kotlin Coroutines1.3.6で投入されたStateFlow、1.4.0で投入されたSharedFlowに関しての備忘録です。

「事業がわかるエンジニア」を深堀りする

www.timakin.com 今ホットな当話題に関して、個人的にすごく抽象的で一見上記記事内で言う「経営層」と「エンジニア」のそれぞれの領域を曖昧にしてしまう内容にも見ることができる気がしたので、ちょっと書いておきます。 そしてこの記事も個人的なものなの…

【iOS】AWS Amplify Authで認証後にidとemailを取得するのが面倒な件

※AWS側の設定は省略します。SDK側の話です。 最初のサインイン部分は公式通りです。

【Stripe】ChargesAPIとPaymentIntentsAPI

※公式を噛み砕いて翻訳したものになります。 stripe.com

【Golang x Stripe】STPEphemeralKeyのDecode問題にハマった話(備忘録)->解決済

【2020/07/28 更新】RowJSONについて key.RowJSONの型が[]byteとなっています。 どうやら[]byteがJSONにされた時点Base64にエンコードされた文字列になっているようなので返却値の型を[]byteにしているとBase64の文字列が返却されていました。

【Golang x Stripe】Customerを作成・取得(備忘録)

Getting started guide Install stripe-go $ go get -u github.com/stripe/stripe-go

【Android】Kotlin Coroutines

Coroutinesとは プログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続に…

転職しました🎉

前置き ※本記事はあくまで個人的な備忘録的な意味合いが強く、何かしらの宣伝目的や意志の主張・強調するものではありません。またもちろんのこと特定の人物や組織を揶揄する意味も持ちません、あくまでも個人的なその当時の気持ちや考えていたことを書き記…

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

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

【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ファイル…

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

fastlaneとは iOSのリリース作業を自動化するCUIツール Ruby製 Fastfileという設定ファイルのLane毎にアクションを記述する 公式サイト引用

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

チャットアプリなどでFirestoreの特定のCollectionが変更された際に対象ユーザーにPushNotificationを送信するといったシーンの実装方法の備忘録です。 CloudMessagingがPushNotificationを送信する際に必要になるfcmTokenはFirestoreに保存しておきます。 …

【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で行う際より参考記事が豊富ですが、…

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

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

KotlinNativeでサンプルコードを実行してみる

Kotlin-Nativeをクローンする github.com

個人事業主初日

2019年4月1日から開業して個人事業主とめでたく(?)なったわけですが、色々雑に書いていきます。 屋号名について 特に意味はありません。好きなワインの名前からとりました。 マイケル・デイヴィッド フリークショー カベルネ・ソーヴィニョン [ 2016 赤ワイ…

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

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

【Golang】GoでAWS S3にファイルをアップロードする

GolangでAWS S3にファイルをアップロードをする手順とコードです。

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

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

Firebase Authenticationのimport/export

Firebase CLIを使用して行きます。 initまでの手順はこちらの記事がわかりやすいかと思います。