何も考えずにdocker-compose runして無駄なコンテナを生成しまくるのは良くない話
docker-compose up してるときにdocker-compose runしたときや、control+CやCtrl+Cで落としたときにコンテナをうまく破棄できなかったときの対処です。無駄なコンテナを作ってしまったときは削除しましょう。Dockerの調子が悪いなと思ったら大抵これでした。
docker-compose up してるときにdocker-compose runしたときや、control+CやCtrl+Cで落としたときにコンテナをうまく破棄できなかったときの対処です。無駄なコンテナを作ってしまったときは削除しましょう。Dockerの調子が悪いなと思ったら大抵これでした。
factory_botを導入したときに An error occurred while loading spec_helper. Failure/Error: config.include FactoryBot::Syntax::Methods NameError: uninitialized constant FactoryBot No examples found というエラーが出た解決です。
Githubで開発を進める中で、多くのプロジェクトはPushしたときか、何かしらのタイミングでテストを実行していると思います。 DroneCIなど様々なツールがありますが、めんどくさがり屋の僕としては簡単に導入できそうなGithub Actionsを使ってCIを導入していこうと思います。 Docker-composeと組み合わせることでかなりすっきり簡単に構築できました。
Windowsで Docker を用いて Rails 6.0 + MySQL の環境構築の続きです。前回はテストを入れずにRails環境を構築したので、今回はテストフレームワークとしてRspecを入れます。Bundler::GemNotFoundエラーの対処方法も書いてます。
Docker上でRails環境を立ち上げようと思ってみたのですが、エラーに阻まれました。Macで解説の通りにやるとうまくいくので、Windows固有の部分が問題だと推理。手こずりつつも何とかRails環境を立ち上げることができたので、まとめました。今回、Dockerを用いてRails環境を作るにあたって、何も考えずにコマンドプロンプトを使っていたのですが、それが問題のようなのでWSL2を使います。Windowsで Rails6 + Ruby 7 + MySQL 8.0 のDocker環境を作る手順です。
Gitのインストール方法を解説したサイトで、「パスフレーズ(パスワード)は設定した方がいい」と書かれていたので僕はその通りにしました。しかし、時が経ちgitを使っていく中で思ったのです。「PushやPullするたびにパスワードを求められるのめんどくせえ」と。今回はパスワードを空に設定し直し、ssh接続の初期設定時にパスワードを設定しなかったのと同じ状態にします。これで Enter passphrase と聞かれずに済みます。
3Dのデータは非常にファイルサイズが大きくなります。基本的にはポリゴン数(頂点数)が増えれば増えるほど大きくなっていきます。しかし、特にWebで用いる場合、ファイルサイズが大きいとダウンロードに時間がかかり実用的ではありません。そこで今回はGoogleが開発しているdracoという3Dデータの圧縮プログラムを用いてファイルサイズを縮小します。dracoを用いることでファイルサイズを非常に小さくすることができます。実際にdracoをでOBJファイルを圧縮します。
近年、JSを使ってWebでCG表現を行う手法は大きな発展をしています。ブラウザ上で AR や VR などを用いたWebアプリを開発できるようになってきました。しかし、問題となるのが3Dモデルのファイルサイズです。GLTFなどの3DモデルはWeb上で扱うには非常にサイズが大きく、ダウンロードに大きな時間がかかってしまいます。そこでGoogleが開発してGLTFが拡張機能として採用したDracoというオープンソースの3Dデータ圧縮方式を用いて圧縮することで、ファイルサイズを縮小します。
我が家ではGoogle Nest Hub (画面付きのGoogle製スマートスピーカー)を春に購入していたのですが、基本的に「料理中にYoutubeを流す」「Spotifyで音楽をかける」「パスタを茹でるときのタイマー」でしか使用してません。そんな時、友達におしゃれな照明を勧められ、ついでということでSwitchBot とSwitchBotハブミニを買って照明やエアコンのON/OFFを自動化しました。もちろんGoogle Home系のみでなく、Amazon AlexaやApple Siriにも対応してます。
Gatsby.jsの問題は、GoogleAdsenseの自動広告が正常に読み込まれないことです。この問題を解決しようと調べましたが、結論としては現時点で最適な解は存在しないようです。GoogleAdsenseの自動広告はページ読み込み時に、Headに設置したGoogleのスクリプトが走るのだと思いますが、Gatsbyはサイト内のページ遷移をする際にJavascript(React.js)で現在表示しているHTMLを書き換えているのでうまく広告が表示されないのだと予想してます。自身のGatsby.jsで構築されたブログを見ていて気付いたのは、自動広告が正常に動いていないページを再読み込みした際には自動広告がきちんと表示されていることです。今回はこの問題を解決する方法を考えてみました。