【メモ】mov を gif に変換する alias
リモートワークで、作ったものをスクリーンキャプチャで共有する機会が多くなりまして
ffmpeg を使って、mov を gif に変換する alias を登録しました。
$ brew install ffmpeg
したあとに ~/.zshrc
などに以下を追加
function m2g() { command ffmpeg -i $1 -r 6 $1.gif }
んで source ~/.zshrc
して
$ m2g movie.mov
とすると movie.mov
と同じ場所に movie.mov.gif
が作成されます。
20秒くらいなら github に貼れるサイズ (max10M) の gif になると思います。
もっとサイズを小さくしたい場合は、フレームレート (-r 6
のところ) の数値を小さくすればOKです👍
【メモ】 php:7.3-fpm コンテナに多言語対応モジュール intl を入れる
PHPで多言語対応の際使うメソッド Locale::acceptFromHttp()
を利用するために intl
を有効にします。
https://www.php.net/manual/ja/intro.intl.php
んで、合わせて libicu-dev
をインストールします。これを忘れちゃう!なのでメモ。
Dockerfile
に追加してビルドすればOKです。
RUN apt-get update \ && apt-get install -y libicu-dev \ && docker-php-ext-install intl
Vue.jsでカウントアップするタイマーのコンポーネントをつくった
必要に駆られて夜な夜な急遽作ったのですがせっかくなので置いておきます。
props
でタイマーのON/OFFをセットするよ。
<!-- Usage --> <CountUpTimer :on-start="isStarted" />
<template> <div class="count-up-timer"> <div class="time"> {{ time }} </div> </div> </template> <script> export default { name: 'CountUpTimer', props: { onStart: { type: Boolean, required: true, default: false } }, data() { return { totalSec: 0, timeKeeper: null } }, computed: { time() { const hour = Math.floor(this.totalSec / 3600) const min = Math.floor((this.totalSec - hour * 3600) / 60) const sec = this.totalSec % 60 const time = [] if (hour > 0) time.push(`0${hour}`) time.push(`00${min}`.slice(-2)) time.push(`00${sec}`.slice(-2)) return time.join(':') } }, watch: { onStart(started) { started ? this.start() : this.stop() } }, methods: { start() { this.timeKeeper = setInterval(() => { this.totalSec++ }, 1000) }, stop() { clearInterval(this.timeKeeper) } } } </script>
【メモ】rails consoleで「Can't connect to MySQL server on '127.0.0.1'」
db:migrate
は問題なくできる環境で、 rails console
からのDB接続ができない。
$ bundle exec rails console [1] pry(main)> Hoge.all Mysql2::Error::ConnectionError: Can't connect to MySQL server on '127.0.0.1' (111 "Connection refused") from /usr/local/bundle/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect'
おかしいな?DBサーバー名は 127.0.0.1
じゃない値を設定しているのだけども。。
試行錯誤した結果、 springをオフにして実行したらDBにつながりました。
DISABLE_SPRING=1 bundle exec rails console
なんか腑に落ちないけど、同じ症状のひとがいたら試してみてください。
【メモ】docker-compose 環境の Ruby on Rails で bundler が利用できない
Dockerコンテナのなかで rails console
すると起動出来ない。
$ rails console Could not find gli-2.19.0 in any of the sources Run `bundle install` to install missing gems.
bundle install
しても治らない。
$BUNDLE_PATH
が上書きされていた。
$ echo $BUNDLE_PATH /usr/local/bundle # <= 正しいパス $ cat ~/.bundle/config --- BUNDLE_PATH: "vendor/bundle" # <= 上書きしてたパス
上書きしてたパスのファイルを削除したら治った!
$ rm ~/.bundle/config
去年も同じネタで嵌まっていた。
来年はこれで嵌まらないようにしたい。
docker-composeのNuxt.jsからAPIをコールしたら「[HPM] Error occurred while trying to proxy request」
こういう構成のdocker-composeで、frontendコンテナ(Nuxt.js:localhost:3000)から
backendコンテナ(Laravel:localhost:8000)にAPIリクエストをしたら
[HPM] Error occurred while trying to proxy request /api/hoge from localhost:3000 to http://localhost:8000/
という504エラーが返ってきて、backendまで届いていない。。
これは フロントエンドの nuxt.config.js
のproxy設定が間違っていて、
proxy: { '/api': { target: 'http://localhost:8000/api', pathRewrite: { '^/api/': '/' } } },
を以下のように修正してリスタートしたらなおった。
proxy: { '/api': { target: 'http://backend:8000/api', # コンテナ名に変更! pathRewrite: { '^/api/': '/' } } },
[HPM] Error occurred while trying to proxy request
、webフロントエンド作るたびに言われてる気がする。