サーバー(Go / Rails) 【Go】nullを許容するDBカラムに対するdate型の値の扱い nullを許容するDBカラムに対するdate型の値を、golangで処理する場合の方法を3つ紹介。ポインタでnullを許可する。sql.NullTimeを使う場合は、nullを判定するために、Validフィールドを介して条件分岐が必要。[]uint8 を使う場合は、バイトスライス→文字列→time.Timeオブジェクトと変換する 2024.05.06 2024.07.01 サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【Go×FCM】定期的にFCMへPush通知を送信する機能を実装:サーバー編 Go言語でサーバーから定期時刻にFCMにPush通知を送信する機能を実装する。FCMにPush通知を実装するのに必要な引数は下記4つ:OAuth 2.0 トークン(HTTPリクエストヘッダーのAuthorization)・デバイスのFCMトークン・タイトル・本文 2024.05.04 2024.07.01 サーバー(Go / Rails)開発・デザイン
アプリ(Flutter / React Native) 【Flutter × Go × gRPC】アプリ強制アップデート機能の実装(画面ロック) 「Flutter Firebase アプリアップデート」で検索すると、RemoteConfigを使った方法と、FirebaseDetabaseを使った方法の大きく2種類がヒットした。ただし、今回は、Flutter×Go×gRPCを使って自前で強制アップデート機能を実装する。 2024.05.16 2024.07.01 アプリ(Flutter / React Native)サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【Protobuf】Varintエンコーディングの仕組みとフィールド番号の重要性 プロトコルバッファ(Protocol Buffers、protobuf)は、構造化データのシリアライズ形式で、Googleによって開発された。protobufは、XMLやJSONよりも効率的にデータをシリアライズし、小さいメッセージサイズと高速なパーシングを実現する。 2024.05.19 2024.07.01 サーバー(Go / Rails)開発・デザイン
アプリ(Flutter / React Native) 【Firebase】メールアドレス変更時にemailVerifiedがfalseにならない問題の解決策 一度Firebaseでユーザー認証を済ませた後にメールアドレスをユーザーが変更したい場合に、メール認証をしなくてもユーザーがメールアドレスを変更できてしまうエラーの解決を試みる。ちなみにuser.emailVerifiedはメールアドレス変更時には役に立たない 2024.06.16 2024.07.01 アプリ(Flutter / React Native)サーバー(Go / Rails)開発・デザイン
アプリ(Flutter / React Native) 【Flutter × Go × ESP32】ミーアにミュート機能を追加する方法 ミーアのβ版をリリースした後、実際に使っていただいた複数のユーザから「話す頻度に「喋らないモード」が欲しい」との要望が来たので、今回は本機能の実装を記載。参考にアレクサを見てみたところ、確かにホーム画面にミュート(この場合はおやすみモード)がアイコンのトグルで表示されていた。 2024.06.30 2024.07.01 アプリ(Flutter / React Native)サーバー(Go / Rails)組み込み(C++ / ESP32)開発・デザイン