もふもふ技術部

IT技術系mofmofメディア

2020-01-01から1年間の記事一覧

create済みのモデルのIDをUUIDに変更してみた

Railsアプリへのuuidの適用方法 postgresqlのuuid拡張機能を有効化 initializers内でprimary keyのデフォルト値をuuid化 バージョン スキーマ users events event_participants マイグレーション まとめ Railsアプリへのuuidの適用方法 Railsアプリへのuuid…

盛り盛りなReactのフレームワーク Blitz入門

最近ホットなBlitzに入門します! 公式チュートリアル(アンケートサービスみたいなものを作ります)に沿って進めていきますので、困ったら公式見てください() https://blitzjs.com/docs/tutorial ただ、バージョンが違うと自動生成されるコードが違ったりする…

Blitzのgenerateやrecipeを試す

公式チュートリアル中ではあまり深く触れられない「generateやmigrationで何が行われているのか」や、recipeを使ってライブラリを導入してみるといったことを書きます。 Blitz入門記事はこちら 盛り盛りなReactのフレームワーク Blitz入門 | もふもふ技術部…

Unity(C#script)で外部のサーバーとHTTP通信を行う

UnityにおけるHTTP通信 WWW UnityWebRequest HttpWebRequest 通信してみる コルーチン UnityにおけるHTTP通信 内部で完結する簡単なゲームなどであればHTTP通信を行う必要性はあまりないことも多いですが、一定規模のシステムやランキング機能を実装したい場…

HoloLens2&MRTK 環境構築する

動作環境 事前準備 Unity側で環境を整える MRTKを入れる MRTKのインストール Tofuを出す Buildする Visual Studio 前回記事からすぐですが、mofmofにHoloLens2が到着したので早速環境構築していきます。 今回はHololens2のセットアップと、実際に適当なプロ…

Unityのためにさらっと学ぶC#

Unityのためにさらっと学ぶC 変数・定数 演算 リスト 関数 デバッグ方法 Class Unityのためにさらっと学ぶC mofmofはRailsをバックエンドに採用し、高速にMVPを組み立てて事業検証などを行うことを得意としている会社ですが、同時に新しいもの、技術が好きな…

Webグラフィックス描画ライブラリ 「PixiJS」を試す

ブラウザ上で動作する、WebGLの知識が無くてもリッチでインタラクティブな2Dグラフィックスを描画することができるライブラリ「PixiJS v5」を試してみました。

Unity + AR Foundation でiOSのAR世界に豆腐を出現させる

ちょっと仕事で使う予定があったのでUnityでARアプリを作る準備をしてみます。 まずは軽く情報収集してみたところ、Unity上でARを動かすには、VuforiaとAR Foundationの二種類の選択肢がある。 参考 UnityでAR入門(AR Foundation編) AR Foundation 4 × Hol…

Google Analyticsのイベント計測を行う Nuxt + typescript (vue-class-component)

あるものがどれくらいクリックされたかを計測したかったんですが、多少詰まったのでポイントを置いておきます。 技術スタックは - Nuxt: 2.12.2 - TypeScript: 3.8.3 - @nuxtjs/google-analytics: 2.2.3 といった具合です。 詰まったのは、あちこちで紹介さ…

Apolloのキャッシュ更新入門 writeQuery / cache.modify / 自動

GraphQLのクライアントとしてデファクトスタンダードともいえる立ち位置にあるApollo。 キャッシュ機能が非常に便利な一方で、ちゃんと理解していないと沼にハマることもあります(n敗)。 最近はサーバをgraphql-rubyで書いてフロントはReactで書くというのを…

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メソッドを使い、既存画像を読み込み加工をして出力します。 # ユーザ…

VueのComposition APIでフォームのバリデーション実装

Vue3.0で使えるようになるComposition APIでのフォームバリデーションを実装します。一般的なユーザーの登録フォームをもとに見ていくので、割と網羅的な内容になっていると思います。 実装完了したコードはこちら。 必要なライブラリの導入 CLIインストール…

Heroku x Railsで動的にOGP画像生成してみる

Heroku上のRailsアプリケーションで、OGP画像を動的に生成するための方法をまとめました。 準備 ImageMagick MiniMagick CarrierWave 日本語フォントファイル 実装 やること まとめ 準備 ImageMagick 以前はherokuに別途buildpackを追加する必要があったよう…

バックエンドエンジニアでも良いCSSを書くためのBEMという設計手法

プロジェクトに導入してみたらCSSに秩序とストレスフリーな環境をもたらしてくれたBEMという設計パターンがとてもよかったので紹介します。 CSS 良いCSSとは何か 予測しやすいこと 再利用しやすいこと 保守しやすいこと 拡張性が高いこと BEM Block Element …

Vue3 Composition APIのreactiveに触れる

Vueの新バージョン、3.0のbeta版が出たらしいので、みんな大好きTODOリストを作って書き味を試してみようと思います。 なお、完成したコードはこちらにおいてあります。よければ参考にしてください。 https://github.com/yubachiri/vue3-todo-sample CLIのイ…

【超便利】Javascript日付ライブラリ・date-fns

Javascriptを使ってフロントエンドで日付操作をする事って結構あると思いますが、Dateオブジェクトを使うとクセが強すぎて意図しない動きになったりしますよね。 最近会社のプロジェクトで日付操作をDateオブジェクトを使っていて悲鳴をあげてたんですが、da…