マガジンのカバー画像

とあるエンジニアの備忘録

15
作業用メモ
運営しているクリエイター

記事一覧

【Expo】Expo GoビルドとEAS Build

そもそもReact Nativeを知らない自分が「Expoとはなんぞや」を理解するため、Expoの基本的な情報を整理しつついくつかのパターンのビルドを試してみた備忘録。 アーキテクチャの整理Expo アプリケーションの開発を迅速化する、React Nativeの上に構成されるプラットフォーム。マネージドフローと呼ばれる下記の開発手法を提供する。 Expo SDK 位置情報、プッシュ通知などのネイティブアクセス ビルド&デプロイサポート Expo Goを使用するホット

【Xcode】rbenvのRubyでCocoaPods

システムにプリインストールされたRubyには手をつけず、rbenvでバージョン管理したRubyを別途用意でしてCocoaPodsを入れる手順。 注意事項Rosetta経由の環境を作成していた場合以前のCocoaPodsでは、依存関係の一部がARMアーキテクチャ(M1チップ以降)に対応しておらず、pod installでエラーが発生するため、Intel x86アーキテクチャを使う方法をこちらの記事で紹介していた。 現在はARMアーキテクチャのみでpod installができ

【Node】DockerでNestJS+typeORM

前回作成したDockerのNodeコンテナに、NestJSとtypeORMを組み合わせたAPIを作成してみる。Docker環境の構築と使用するDBについては前回参照としてここでは触れない。 GitHubリポジトリはこちら。 ディレクトリ構成プロジェクトルート├── app-nestjs (今回作るもの)│ └── アプリケーション構成ファイル├── app-next (前回作ったもの)│ └── アプリケーション構成ファイル├── mysql│ ├── con

【Node】DockerでNext.js+MySQL

ReactやVue.jsなど、Node.jsアプリケーションを試す環境が欲しくなった。まずは、Next.js+MySQLな環境をDockerで作成し、DBを使うアプリケーションを作成してみる。 GitHubリポジトリはこちら。 ディレクトリ構成プロジェクトルート├── app-next│   └── アプリケーション構成ファイル├── mysql│   ├── conf.d│   │   └── my.cnf│   └── init.d│       └── データベース

【Flutter】Firebase App Checkを試す

バックエンドのAPIをFirebase Functionsで作成する場合、アプリ以外の不正な呼び出しからAPIを守る手段としてApp Checkなるサービスを利用できるようだ。ざっくり試してみたメモ。 今回は、iOSとAndroidアプリがシミュレーター経由で機能することを確認する。本番リリースやWebの検証はまた別の機会に。 App Checkとは証明書プロバイダーにより保証されたアプリ・端末に対してトークンを発行し、バックエンドへのリクエストの妥当性を保証する仕組み。

【Flutter】Firebase CLIのインストール(Mac)

Firebase CLIをnpm(Node Package Manager)からMacにインストールする。いくつかのステップが必要になるのでメモしておく。 1. VoltaのインストールNode.jsをバージョン管理を可能にしてくれるやつ。 Firebase公式ではnvmを経由して入れること紹介されているが、ここではVoltaを使う。 Volta公式のスクリプトを使用してインストールする。 $ curl https://get.volta.sh | bash % T

【Flutter】アプリ作成時にやること(まとめ)

最初にやらねばな諸々をまとめとくメモ。 1. アプリの多言語化日本語しか使わないなら不要。 2. アプリ名の多言語化日本語しか使わないなら不要。 3. ビルド環境別の設定本番・STG・開発をビルドモードのみで分けるシンプルな手順。 4. 環境別の起動アイコン設定やはり、本番・STG・開発をビルドモードのみで分けるとき。 5. 環境別Firebaseプロジェクト作成これも、本番・STG・開発をビルドモードのみで分けることが前提。

【Flutter】環境別Firebaseプロジェクト

環境別に作成した別々のFirebaseプロジェクトにFlutterアプリを関連づける。公式サイトの手順では一つのFirebaseプロジェクトにしか関連づけできないが、複数のプロジェクトに紐づけてみる。 なお、こちらで作成したように、開発・STG・本番の3つの環境があることを前提とする。 手順1. Firebaseプロジェクト作成 開発・STG・本番のそれぞれのプロジェクトを作成しておく。 2. Firebase CLIインストール FirebaseとFlutterの

【Flutter】環境別の起動アイコン

同じアプリの環境別モジュールを検証端末に入れると、どの起動アイコンがどの環境に繋がるかわかりづらいのでそれぞれ別のアイコンを用意する。 起動アイコンのサイズパターンの生成と設定は下記パッケージで使用する。 こちらで作成したように、環境とビルドモードがリンクしていることを前提とする。 手順1. パッケージインストール pubspec.yamlの開発定義の方に追加してpub getする。 dev_dependencies: ... flutter_launcher_

【Flutter】ビルド環境別の設定

Flutterプロジェクトの環境別設定についてさまざまなやり方がWebで紹介されているが、今回はシンプルな構成を目指す。 作成する環境ビルドモードとバックエンドが1対1になるようにする。 アプリ識別子 Bundle IDやパッケージ名。別にすることで、個別にFirebaseプロジェクトを持たせたり、同じ端末へインストールしたり、などを可能にする。 バックエンド APIの接続先など。実行中の環境(=ビルドモード)をプログラムで判断して切り分ける。 環境変数 Google

【Flutter】アプリ名の多言語化

Flutterというよりも、iOSとAndroidそれぞれのプロジェクトにおけるアプリ名の多言語化のメモ。 手順(iOS)1. 言語リソースファイルの作成 Info.plistと同じ階層にStrings File「InfoPlist.strings」を作成する。 作成した言語リソースファイルをエディタ表示し、ローカライズする。 2. 言語追加 PROJECT Runner > Info > Localizations Localization「Japanese (j

【Web】Let's Encryptで無料のSSL化

WebサイトをSSL化するには、認証局(CA: Certification Authority)の証明書が必要。通常は有料だが、非営利団体 Internet Security Research Group (ISRG) が運営する認証局、Let's Encryptは無料で証明書を発行している。 Let's Encryptで証明書を発行する手順を追ってみる。Google DomainsやAWS Route53などのレジストラでドメインを取得しており、サイトへの転送設定が済んで

【Python】nginx+ASGI+FastAPI サーバー構築

DjangoかFlaskの二択だと思っていたPythonのWebフレームワークだが、最近はFastAPIという選択肢があるようだ。WSGIの後継仕様であるASGIにも対応しているらしい。 こちらで作成したGCPのVMインスタンスに環境を構築していく。 ディレクトリ構成作成するプロジェクトのディレクトリ構成はこんな感じ。 /var/www/[プロジェクト]├── app                    # アプリケーション│   └── main.py├── ngi

【GCP】VMインスタンスを無料で作成

Google Cloud Platform(GCP)のサービス、Compute Engineに無料枠の範囲でVMインスタンスを作成するメモ。GCPの利用登録を済ませ、任意のプロジェクトを作成していることが前提。 Compute Engineの無料枠GCPの利用開始から90日間はトライアル期間で全てのサービスが無料(金額上限あり)トライアル終了後も使い続けるには有料契約に移行する必要があるが、特定のサービスでは上限の範囲内で無料で継続使用できる(2022年8月現在) 手順1