サーバー(Go)

サーバー(Go)

【Flutter × ESP32】AWS Device Shadow・MQTT経由でおやすみモードの時間設定を同期

FlutterアプリとESP32デバイスを連携させ、AWS Device ShadowとMQTTを利用しておやすみモードの時間設定を同期する方法について解説。デバイスシャドウのdesiredセクションが更新されると、その情報はMQTTメッセージとしてESP32デバイスに通知される。
Web(Python)

【Rails7 + React + TypeScript】によるフロントエンド開発

Rails 7、React、およびTypeScriptを使用してフロントエンド開発を行う方法について、jsbundling-railsを使ったTypeScriptのセットアップ方法、Reactコンポーネントの作成と組み込み方法、RailsのERBファイルでのコンポーネントの呼び出し方法について記載。
サーバー(Go)

【Docker】コンテナ間通信を理解する。external設定とアクセス方法

Dockerでのコンテナ間通信は、まず手動で既存のDockerネットワークを作成する必要がある。その後、docker-compose.ymlでexternal: trueを設定する。コンテナ間通信ではホストのポートマッピングは関係なく、内部ポートを直接使用する。
サーバー(Go)

【Rails7】動的なカスタムエラー画面を作成し、共通デザインを適用(400/401/403/404/429/500/503)

Railsのエラーページはデフォルトでは、静的ファイルでpublicディレクトリに配置されているが、今回は動的なカスタムエラー画面を作成し、共通のデザインを適用する。これにより、ユーザーがアクセスした際に発生するエラーに応じて、適切なエラーページを表示することができる。
サーバー(Go)

【DNS設定】お名前.comのドメインをConoHa WINGで使う方法

お名前.comで取得したドメインをConoHa WINGのサーバーに割り当て、ウェブサイトがそのドメインからアクセス可能になるよう設定する。ドメイン名をIPアドレスに変換するために使用されるネームサーバーは、実際にはIPアドレスを直接持ってるが、一般的にはそのドメイン名で参照される。
サーバー(Go)

【gRPC】.protoファイルを作成し、コンパイルしてGo言語で使用するまで

Protocol Buffers(protobuf)は、gRPCで使用されるインターフェース定義言語(IDL)。JSONやXMLなどの伝統的なフォーマットに比べて、より小さいサイズで、より速い速度でデータを伝送できる。.protoファイルを作成し、メッセージとgRPCメソッドを定義する
サーバー(Go)

【Flutter × Go × gRPC】OTAアップデート:Firmware更新をgRPCでアプリ通知

AWS s3のfirmwareディレクトリに新しいFirmwareバイナリを開発者がバージョン指定してアップロードする。各ユーザーのFirmwareのバージョンと開発者がアップロードした最新バージョンを比較し、異なる場合にFlutterアプリに「新しいFirmwareをインストール可能です」と通知する。
サーバー(Go)

【Go】静的型付け・型推論・関数・構造体・レシーバ・Go Modules・Packages・Imports

Go言語では、関数はfuncキーワードで始まり、引数と戻り値の型が必要(静的型付け)。変数名の「後ろ」に型名を書く。Go の構造体はクラスと異なり、メソッドは構造体の定義の外部で定義され、構造体とメソッドは「レシーバ」を介して関連付けられる。
アプリ(Flutter)

【Flutter × Go】退会処理:Firebase Auth削除時の「requires-recent-login」エラー対処法

Firebase Authを使ったユーザー退会処理時の「requires-recent-login」エラーの対処法について記載。このエラーは、セキュリティ上の理由で、ユーザーが最近ログインしていない場合に発生する。ユーザーを退会させる前に、再認証(reauthentication)させる必要がある。
サーバー(Go)

【Go】nullを許容するDBカラムに対するdate型の値の扱い

nullを許容するDBカラムに対するdate型の値を、golangで処理する場合の方法を3つ紹介。ポインタでnullを許可する。sql.NullTimeを使う場合は、nullを判定するために、Validフィールドを介して条件分岐が必要。[]uint8 を使う場合は、バイトスライス→文字列→time.Timeオブジェクトと変換する