※2024年2月時点の情報です。 概要 Skipについて 料金 開発に必要なもの 開発環境 Skipをインストール 余談(読み飛ばしてOKです) アプリプロジェクトを作成 まとめ 概要 先日X(旧Twitter)で以下のポストが話題になっていました。 I’m thrilled to announc…
概要 先日Railsで開発したアプリをfly.ioにデプロイしたのですが、その際にタイムゾーンがAsia/Tokyo以外になってました(おそらくUTC)。その解決法の備忘録です。 解決 以下の方法で解決できました。 community.fly.io $ fly launch実行時に生成されるor元…
active storageをインストール $ rails active_storage:install $ rails db:migrate model, migrationを作成 $ rails g model Hoge $ rails db:migrate Modelを作成 # app/models/hoge.rb class Hoge < ApplicationRecord MAX_IMAGE_SIZE = 2 # 2MBまで has_…
概要 Railsで画像アップロードフォームを作成している時に、アップロードする画像を確認できるように表示する方法を調べました。 準備 Active Storageをインストール $ rails active_storage:install $ rails db:migrate ModelとMigrationを作成 $ rails g m…
概要 Railsで、enabledカラムがtrueのデータがテーブル内で1つだけという状況を担保したい状況があると思います。そういう時に実装するバリデーションについて書きます。 実装 class Hoge < ApplicationRecord validate :enabled_hoge_uniqueness private de…
前提 Punditの基本的な使い方等については割愛します。 rails v7.0.4 pundit v2.3.0 factory_bot_rails v6.2.0 rspec-rails v6.0.1 以下のPolicyをテストします。 # app/policies/hoge_policy.rb class HogePolicy < ApplicationPolicy def show? user.admin…
dart.dev 上記のページで知りました。 Textウィジェットの引数に長い文字列を渡す場合、改行しないとファイルが横長になり読みにくいですよね。 Text('ERROR: Parts of the spaceship are on fire. Other parts are overrun by martians. Unclear which are …
概要 ActionMailerでdeliver_laterするため、以下を参考にしながらSidekiq(とRedis)を導入したのでその備忘録です。 prabinpoudel.com.np gemを追加 gem 'sidekiq' gem 'redis' $ bundle installします。 Sidekiqを有効化 # config/application.rb config.ac…
stackoverflow.com ある時から$ flutter ~ コマンドを実行するとこのログが出るようになったので原因と解決方法を調べました。 開発環境 13.4.1(22F82) Intel Iris Plus Graphics 1536 MB $ fvm flutter --version Flutter 3.0.4 • channel unknown • unkn…
概要 ActionMailerのメソッドで変数を受け取る方法は2つあります。一つはHogeMailer.with(arg:).fugaの形式、もう一つはHogeMailer.fuga(arg)の形式です。どんな違いがあるのか調べてみました。 前提 Rails v7 両者の違い HogeMailer.with(arg:).fugaの形式…
gemを追加 group :development do # 略 gem 'letter_opener' gem 'letter_opener_web' # 略 end インストール $ bundle install ルーティングを設定 # config/routes.rb mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development? Let…
はじめに ある日、Pull requestを作成した時に走るDangerが表題のエラーで落ちたので解決法を調べました。 実行コマンド $ bundle exec danger --fail-on-errors=true エラーログ(抜粋) fatal: couldn't find remote ref refs/heads/danger_base fatal: co…
以下の記事を参考に、「GitHubで作成したFlutterリポジトリでPull Requestを作成した時にBitrise経由でFirebase Test LabでIntegration Testを行う方法」について調べたので、その備忘録です。 adityadroid.medium.com はじめに Firebase Test Labにapkファ…
※この記事はFlutter v3.7.0ざっくりまとめの記事をエクスポートしたものです。内容が古くなっている可能性があります。 以下の記事をざっくりまとめました。 medium.com Material 3サポートの強化 該当PR↓ github.com 使用するには以下のコードを記述する Ma…
※この記事は【個人開発】同棲カップル・夫婦のための支出管理アプリを作った話の記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 「ファミコスト」という、同棲カップルや夫婦など2人で支出管理している方向けのモバイルアプ…
※この記事はFlutter v3.0.5 × mobile_scanner v3.0.0-beta.2でビルドする為の回避策の記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 Flutter v3.0.5で開発中のプロジェクトでmobile_scannerのBeta版であるv3.0.0-beta.2を使…
※この記事はAppBundleで配信したアプリでGoogleSignInできないの記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 ローカルビルドやストア版だとGoogleSignInできるのにAndroidAppBundle(以下AAB)形式のテスト配信版ではできな…
※この記事はBitriseでSecret変数を取り込んだ.envを生成するの記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 .envに記載する環境変数(チームメンバー閲覧可)と秘匿情報(特定のメンバーのみ閲覧可)を別で管理したい場面…
※この記事はFlutter × FirebaseでOGP付きURLを生成するの記事をエクスポートしたものです。内容が古くなっている可能性があります。 OGPとは OGP とは Open Graph Protocol (オープン・グラフ・プロトコル)の略称です。 Facebook、TwitterなどのSNS上でシェ…
※この記事はエンジニアになる前の自分に伝えたい心構え・知識 - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 コンビニ店員からエンジニアに転職して半年ほど経過しました。まだまだ技術・知識不足を実感する日々で…
※この記事は【Flutter】【Android】Splash Screen(起動画面)を直感的に作る方法 - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに FlutterでiOS / AndroidのSplash Screenを作ろうとしたところ、Android側でかな…
※この記事は【Flutter】qr_mobile_visionでiOSのカメラ権限を不許可にするとクラッシュするバグ - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 開発環境 macOS Catalina 10.15.5 Android Studio 3.6.3 Flutter 1.21.0-5…
※この記事はFirestore × iOS(Swift)【環境構築編】 - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 Firestoreでプロジェクトを作成 「プロジェクトを追加」ボタンを押します。 名前を付けます。(今回は適当に付けました…
※この記事はstoryboardで配置したUIButtonの下にコードで位置指定したUIButtonを配置する - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 今までUILabelやUIButtonをコードで表示する事が怖くて(?)分かりやすいstoryb…
※この記事はCustomCellに置いたButtonの選択状態によってTableViewの処理を変える - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 開発環境 Xcode 11.3 Swift 5.0 UIButtonのextensionを作る // CustomCell.swift extens…
※この記事は[Swift5][Firestore]'Failed to get FirebaseApp instance. Please call FirebaseApp.configure() before using Firestore'のエラーを解消 - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに iOSアプリ…
※この記事はCustomCellにsegueを設定する - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 ①CustomCellを作成する ②TableViewController.swiftにCustomCellを登録する CustomCellのIdentifierを仮に'CustomCell'としてお…
※この記事はRSSデータの更新日を取得してTableViewで新しい順に並び替える - Qiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに エンジニアブログのまとめアプリを作っている時に、ブログの更新日を取得して順番に並…