Roll With IT

tamakiのIT日記

自作サービスの反響と改善

AI生成画像 はじめに やったこと SEO対策 リリース日を検討 前日の告知 リリース日当日 リリースブログを公開 旅ログを公開 Twitter(現 X)で告知 Discord で告知 反響結果 Twitter(現 X ) はてなブックマーク テクノロジー 暮らし 2023 年 10 月第 1 週ラ…

OSS Gate に入門しキュアエンジニアに認定された話

OSS

はじめに OSS Gate とは フィヨルドブートキャンプとは OSS Gate についてより詳しく知りたい 参加の経緯 OSS 活動の経験 講演「今日から参加できる!OSS 開発」 すごくないよ、ふつうだよ ワークショップ rubicure 初プルリクをマージしてもらう キュアエン…

アウトドア般若心経が楽しめるWebアプリをリリースしました

はじめに サービス URL GitHub リポジトリ 対象読者 自己紹介 アウトドア般若心経とは ポケモンGO の般若心経バージョン サービス開発のきっかけ サービスの概要 使い方 1. Google アカウントでログイン 2. 般若心経の全文を一覧で管理 3. 写経した写真を取…

アウトドア般若心経の旅 〜沖縄ゆいレール編(後編)〜

はじめに アウトドア般若心経とは アウトドア般若心経が楽しめる Web アプリ 写経の旅 美栄橋駅 牧志駅 「一」 「道」 「舍」 「不」 旭橋駅 「波」 「自」 赤嶺駅 瀬長島 「神」 琉球温泉 龍宮の湯 イマジン あとがき お知らせ はじめに アウトドア般若心経…

アウトドア般若心経の旅 〜沖縄ゆいレール編(前編)〜

はじめに アウトドア般若心経とは アウトドア般若心経が楽しめる Web アプリ 出発準備 持ち物 マイウェア マイルール マイルート 写経の旅 スタート地点 那覇空港駅 「空」 首里駅 「識」 「時」 「道」 「真」 首里城 「空」 栄町駅 探しものは何ですか? …

Fly.io の Volumes から AmazonS3 に乗り換えた

はじめに Fly.io の Volumes の導入を取りやめた理由 正しい Volumes の構成 Amazon S3 を選択する 参考 Amazon S3 を設定する はじめに Next.js と Rails を使ってオリジナルの Web アプリを開発しています。 github.com 前回の記事で Fly.io の Volumes を…

Fly.io の Volumes を試してみた

はじめに Fly.io の Volumes とは Volumes 利用時に考慮すべき内容 Volumes 設定時のルール 無料枠 Fly.io を初期化する 登場人物 Fly.io を初期化しデプロイをやり直す手順 fly launch 後の状態 Volume を作成 Machine と Volume の対を 1 組追加する Machi…

CI 環境構築で直面した E2E テスト自動化の壁 〜Google の bot 対策による脅威のディフェンス力〜

はじめに Next.js と Rails を使ってオリジナルの Web アプリを開発しています。 github.com Playwright を導入し E2E テストの実装は問題なくできましたが、その後 CI でのテストの自動化がうまくいかず数日ハマってしまいました。今回の記事ではその原因と…

Cypress から Playwrightに乗り換えた

はじめに Cypressの導入から使用を断念するまでの経緯 Cypress を選択した理由 Cypressをインストールする 動作確認する ハマった内容 試したこと 試したこと:その1 試したこと:その2 試したこと:その3 わかったこと 代替案を探す テストライブラリを比較…

Vercelに設定した環境変数を更新した時は再デプロイを忘れずに!

前回に続き「忘れずに!」シリーズの第2弾Death タイトルの通りになりますが、今回ハマったポイントについて書きたいと思います。 前回のブログで取り上げた環境変数の設定をふまえて説明したいと思います。 403 Forbiddenエラー 本番環境にデプロイ後、動…

ブラウザへ環境変数を公開したい時は`NEXT_PUBLIC_`を忘れずに!

Next.jsでは、環境変数名の前にプレフィックスNEXT_PUBLIC_を付けないとブラウザ側に公開されません。 By default environment variables are only available in the Node.js environment, meaning they won't be exposed to the browser. In order to expos…

【後半】Rails APIを叩いてユーザー情報をDBに保存する(Next.js × Railsで実践するアプリ開発)

はじめに 前編 後編 技術スタック フロントエンド: バックエンド: データベース: リポジトリ Rails APIを叩いてユーザー情報をDBに保存する Railsのプロジェクトを作成する rails new .gitを削除する モジュール名を変更する データベースを作成しモデル…

【前編】NextAuth.jsを使ってGoogleログイン機能を実装する(Next.js × Railsで実践するアプリ開発)

はじめに 前編 後編 技術スタック フロントエンド: バックエンド: データベース: リポジトリ 下準備 Google APIにアクセスできるように準備する 認証ライブラリのNextAuth.jsを使ってGoogleログイン機能を実装する Next.jsプロジェクトを作成する 必要なn…

OAuth 2.0を使ってGoogle APIにアクセスする

はじめに OAuthってなに? OAuth2.0を使った認証で何ができるのか? Google APIの設定手順 1.Google Cloud Platformの設定ページへアクセスする 2.プロジェクトを作成しnext-rails-google-authと名前を付ける 3.メニューの「APIとサービス」>「OAuth同意画面…

チーム開発振り返り

はじめに 取り組んだ期間 チーム開発ミーティング アサインしてもらったIssues 担当提出物の未返信が0だった場合の文言変更。 · Issue #5008 · fjordllc/bootcamp ログイン失敗時のパスワード入力のlabelが英語なので日本語にしてほしい · Issue #5380 · fjo…

「技術書」の読書術 〜技術書を血肉にする術〜

はじめに 【書評】「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック 概要 何を読んだらいいのかわからない? 悪書・良書を気にする必要はない 読書にかける時間 読書ノートや読書記録 Scrapbox ブクログ たくさんアウトプッ…

kakutanitalk2022 のオープニングトークに登壇しました

はじめに 角谷トーク2022 動画はこちら 勢いは大事 トークテーマについて悩む gem開発 kakutaniquiz スライド作成 いざ登壇へ まとめ 後日談 はじめに 2022年12月19日に開催されたFJORD BOOT CAMP(以下FBC)主催のイベントに登壇しました。せっかくなので、…

情熱プログラマー 〜閉塞感をブチ壊そう〜

はじめに 【書評】情熱プログラマー ソフトウェア開発者の幸せな生き方 概要 構成 一番の下手くそでいよう 余談 愛せよ、さもなくば捨てよ 昨日よりよく まとめ はじめに 新年あけましておめでとうございます。 昨年関わった全ての人に感謝申し上げます。今…

RubyMineを使ってgemを世界へ公開しよう!

このエントリーは、フィヨルドブートキャンプ Part 1 Advent Calendar 2022 の15日目の記事になります。Part2のはるまきさん記事はこちらです! 昨日のエントリーは、 kazumiさんの実質6万のパソコンでプログラミングスクールを卒業した話 umizaruさんのフィ…

おーい磯野、ペアプロしようぜ!

フィヨルドブートキャンプ Advent Calendar 2021 はじめに 対象読者 注意事項 本題 あらすじ 登場人物 中島メンター 磯野ぴよるど ペアプロって何ですか? 基本のスタイル 時間はどれくらい? ペアプロを申し込もう ペアプロをお願いする姿勢 ペアプロ前の…

チェリー本輪読会 最終週まとめ

はじめに 輪読会 第17週目(最終週)まとめ 第12章12.1.1〜付録(あとがき)まで requireの単位はライブラリ Rubyのバージョン管理 セマンティック バージョニング Gemfileでgemのバージョンを指定する記号の意味 RubyMineでrbenvが反映されない件 その他バー…

チェリー本輪読会 第16週目まとめ

はじめに 輪読会 第16週目まとめ 第11章11.1.1〜第11章11.6まで デバッグ とは バックトレース とは よく発生する例外クラス(Exceptionクラス) printデバッグ デバッカ(Byebug)を使う binding.irb 「エラーが出ました。どうすればいいですか?」から卒業…

DateオブジェクトのgetMonth()メソッドは、JSTを基準とした値を返す

出典: いらすとや はじめに JavaScriptでは、Dateオブジェクトから、指定したその月の最終日(月末日)を取り出す際、getMonth()メソッド を利用します。 上記の一文だけ読むとそんなに難しいことではない気がするのですが、実際にやってみて、JavaScript独…

チェリー本輪読会 第15週目まとめ

はじめに 輪読会 第15週目まとめ 第10章10.1.1〜第10章10.6まで yield とは ブロックを引数として受け取る &blockの「&」って? ブロックを引数にするメリット callメソッド Proc とは Proc.newとラムダの違い [1, 2, 3].map(&:to_s)イディオム Rubyの公式…

初めてのLT会 Vol.9 感想

LT会に参加しました! 10月9日(土曜)、フィヨルドブートキャンプ内で開催されたLT会へ参加してきました! 今回のテーマは「しくじりから学んだこと」 登壇者7名の皆さんの発表がどれもすごく良かったので感想をブログに書いてみました。 LT会はやる側も見…

チェリー本輪読会 第14週目まとめ

はじめに 輪読会 第14週目まとめ 第9章9.1.1〜第9章9.7まで エラーとは 例外(Exception)とは 例外処理とは 例外処理もオブジェクト 例外クラス(るりま) 例外を捕捉して処理を実行する 例外オブジェクトから情報を取得する 意図的に例外を発生させる 質問…

あんちぽさんトークイベント感想

先日、フィヨルドブートキャンプ内でトークイベントが開催されたのですが参加してきました! スペシャルゲストとして、GMOペパボ株式会社 取締役CTO CTO室室長の栗林 健太郎さんを招いての、まさにスペシャルな最高の夜でした。 またなんと!運良くトークイ…

チェリー本輪読会 第13週目まとめ

🍒 はじめに 🍒 輪読会 第13週目まとめ 第8章8.1.1〜第8章8.10まで モジュールの概要 モジュールの使い方(Mix-in) include extend Enumerableモジュール Comparableモジュールと <=>演算子(UFO演算子) 名前空間 モジュールに特異メソッドを定義する Sinatraメ…

チェリー本輪読会 第12週目まとめ

はじめに 輪読会 第12週目まとめ 第7章7.10.1〜第7章7.11まで エイリアスメソッドの定義 メソッドの削除 ネスト(入れ子)したクラスの定義 等値を判断するメソッドや演算子4つ equal? == eql? === オープンクラス モンキーパッチ 原則として、オープンク…

チェリー本輪読会 第11週目まとめ

はじめに 輪読会 第11週目まとめ 第7章7.6.1〜第7章7.9.3まで クラスの継承 is-aの関係 オブジェクトのクラスの確認方法 ほかのクラスを継承したクラスを作る メソッドの公開レベル publicメソッド privateメソッド protectedメソッド 定数の再代入を防ぐ …