もふもふ技術部

IT技術系mofmofメディア

Next.js を使ってみる(TypeScript + firebase + Recoil + vercel) その1

バックエンドはRuby on Railsを主に使っていますがフロントエンドはフレームワークをあまりつかっていないことに気づいたので試してみる 環境構築 TypeScriptを導入する tsconfig.jsonを作成する Firebaseでユーザーをいい感じに認証させる ユーザー認証 Rec…

Expo + React Native + Recoilでグローバルに状態管理してみる

個人開発でExpo + React Nativeでアプリを作っているんですが、認証しているユーザーの情報など、アプリ全体でグローバルに変数を持ちたいという気持ちが高まってきました。 React標準でContext APIというものがあるけども、前回そっちを試したので今回はRec…

Gatsby(GraphQL/React)とWordpressでJAMstackなサイトを構築してみる

Wordpressで作成したサイトをもうちょっとお手軽にメンテできないかと思って調べたところ、Gatsbyでできそうだったので試してみました。 やり方 概要 Wordpress Wordpress プラグイン Gatsby作成 Gatsbyページ追加 Deployする ビルドの連携 Netlify Wordpres…

Vue+c3.jsでグラフ描画してみる

実際の案件でインタラクティブな折れ線グラフ描画機能を実装する必要があったため、いくつかライブラリを調べていました。 描画するグラフでは下記のような機能を実装する方針だったので、拡張性の高いライブラリを探していたところ、c3.jsというライブラリ…

Expo + React NativeのContext APIでユーザー認証情報を引き回すサンプル

複数画面で認証済みのユーザー情報を引き回したいなあと思ってどうやったらいいか調べたところ、画面間をこえてグローバルに値を保持することが出来る、React標準のContext APIというものがあることが分かったので試してみる。 このContext APIそんなに使い…

Expo + React NativeでBare WorkflowにejectしてAppleストアリリース出来る状態にする

Expo + React Nativeで個人アプリ開発をしていてストア公開までようやくいけた。 Ricetta(リチェッタ)というレシピ管理アプリで、WEB上のレシピのURLを登録していくことで、レシピを集約管理出来るっていうコンセプトです。開発期間はたしか1週間くらいなの…

React + Firebase + Hasuraで体験する快適なGraphQL生活

元々graphql-rubyとReactで生きていたんですが、どうやらHasuraなるものが良いらしいと知り、掲題のスタックで社内書籍管理サービスをつくってみました。 楽しかったのでちょっと書いてみます。 具体的には認証つきHasuraからusersを取得できるところまで。 …

Sidekiq実行したらエラーになったので調査して修正したこと

エラー sidkiqで実行した処理 設定確認 ログ確認 推測 対策 参考 エラー Railsでsidekiq使ってるときに以下のエラーが出ました。 could not obtain a database connection within 5.000 seconds これは、使用可能なコネクション数よりも多くの接続を使用しよ…

RailsプロジェクトでSlack通知を実装する

プロジェクトの開発中・リリース直後は想定外のエラーが多発するため、異常はすぐに検知出来た方が開発スピードが上がりますね。 今回はそういったケースでライトにSlackへの通知が出来る、slack-notifierのご紹介です。 gemインストール Gemfileにslack-not…

Pythonでデータ分析をするためにMacにJupyter Notebookの環境構築をする

mofmofではRailsを使った受託開発の他に、My-ope officeやToridersといった自社サービスも開発・運営しています。 これらのサービスではRailsの他に機械学習部分をpythonを用いて実装しているので、自分もpythonを触っておきたいと考えて最近興味のあるデー…

seed-fuを使って開発・テスト・本番それぞれの環境でのシードデータを作成する

Railsではrails db:seedという便利なコマンドがあり、db/seed.rbにシードデータを入れておけばコマンドを叩いたら勝手にシードデータを作成してくれます。 ただ、1度だけ使うシードデータを作成する場合はいいですが、例えばシードデータを編集して再度実行…

【Rails】Form Objectを使ってModelに依存しないFormを作成する

Railsを使って開発をしている時、1つのフォームで複数のモデルを操作したい場合やそのフォーム専用の処理が必要になることがあります。 Railsではフォームはモデルに依存しており、上記のようなケースが発生した場合通常のMVCだけでは処理が複雑になってしま…

【Railsの便利gem】スキーマ情報をModelファイルにコメントで書き出してくれるannotate

annotateとは バージョン 導入手順 gemインストール annotateの設定 annotateの実行 スキーマ情報 ルーティング情報 まとめ annotateとは アプリケーションの各モデルのスキーマ情報やルーティング情報を、ファイルの先頭にコメントで出力してくれるgemです…

モデルのIDにUUIDを使って玄人感を出す

バージョン UUIDとは何か なぜUUIDを使うのか 注意すべきポイント アプリにUUIDを適用してみる 拡張機能を有効化する デフォルトのキーをuuidにする設定を行う。 モデルの作成 おまけ:関連を付けたい場合 まとめ バージョン Ruby 2.6.3 Rails 6.0.3 Postgre…

MiniMagickで画像合成してみた

用意した画像 やったこと 結果 MiniMagickを使って、画像を生成してみました。 用意した画像 ベース画像 ユーザー画像 フォントファイル やったこと アイコン画像を丸く切り抜く Convertメソッドを使い、既存画像を読み込み加工をして出力します。 # ユーザ…