dockerでlaravelを動かしたらルーティングが正しく動かなかったのを解決したメモ
php7.3-apacheという公式イメージを利用して、dockerでlaravelを動かしたら「/」直下は表示されるのにルーティングはうまくいかなかった。
いろいろ調べたところ、mod_rewriteが動いていないのが原因だった。
Dockerfileに
RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled RUN /bin/sh -c a2enmod rewrite
上記を追加して再ビルドしたら無事動くようになった。
FlutterでiOS実機ビルドでエラーがでてしまったのを直した
FlutterでiPhoneに実機ビルドしようとしたとき、 アプリはインストールされるのだが、エラーになってしまいsyncできない状態になってしまった。
Unable to locate DeviceSupport directory with suffix 'Symbols'. This probably means you don't have Xcode installed, you will need to launch the app manually and logging output will not be shown!
Could not install build/ios/iphoneos/Runner.app on (deviceId). Try launching Xcode and selecting "Product > Run" to fix the problem: open ios/Runner.xcworkspace Error launching application on iPhone8.
こちらの記事を参考にFLUTTER_ROOTをセットしてみたが、 自分の場合それだけでは改善しなかった。
以下を.bash_profileに追加
export FLUTTER_ROOT=[flutterSDKの場所]
さらに以下の記事を参考に、flutter clean等を実行したら無事ビルドできるようになった。
cd [プロジェクトのルート]/ios pod setup cd [プロジェクトのルート] flutter clean
Mac OS X CatalinaにRuby On Rails6環境を構築
勉強用にいれてみました。備忘録メモ。
以下の条件で構築しています。
- Xcode インストール済み
- Command Line Tools インストール済み
- Homebrew インストール済み
rbenvをインストール
Rubyのバージョン管理をできるrbenvをインストール
brew install rbenv ruby-build #パスを通す echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile source ~/.bash_profile #rbenv管理のRubyに変更 rbenv install 2.6.5 rbenv global 2.6.5 ruby -v
Rails、Bundlerをインストール
gem install rails -v 6.0.2 gem install bundler rbenv rehash rails -v
データベース用にsqlite3をインストール
brew install sqlite3
アプリケーションを作ってみる
rails new test_app cd test_app rails s
ここでコケました。yarnのバージョンが古くて不整合が起きる場合があるみたいです。
brew upgrade yarn yarn upgrade rails s
無事起動すれば構築完了です。
BootstrapVueでテーブル(<b-table>)の見出し(<th>)に任意の色をつける
BootstrapVueを利用しているのですが、見出しにvariantとかで一般的に使える色をつけたいのに、
オプション(head-variant)では「light」と「dark」しか選べないので、
以下の様に解決した。
<b-table :item=items thead-class="bg-primary text-white"> </b-table>
thead-classというものが利用できるので、
そこにbootstrap4で使えるクラスを使って色付けした。
同じ要領で、<b-input-group>のprependも色付けができた。
<b-input-group class="text-center"> <b-input-group-text class="bg-primary text-white">タイトル</b-input-group-text> <b-form-input></b-form-input> </b-input-group>
b-input-group内のprependで指定をするのではなく、
<b-input-group-text>に切り出してクラス指定をしてあげればOK。
PHPStorm(又はintellij)で、json_encode関数を使うとアラートが出る
json_encode関数はそもそもデフォルトで使えるものだが、注意を促される。
なぜかということについては、こちらで詳しく原因を書いてくれている。 blog.pinkumohikan.com
具体的な解決方法は、composer.jsonファイルのrequire内に
ext-jsonを追加してあげれば良い。
"require": { "php": ">=5.6", [中略] "ext-json": "*" },
mongodbでjavascriptを使って処理を実行するとき外部引数を設定する方法
概要
mongodbでは、jsファイルを実行して複雑な処理をすることができるが、その時外部引数を設定する方法があるのでメモ。
mongodbで実行するためのjsを用意
testというdbに、commentsという「_id(mongoid)」と「insert_date(datetime)」と「comment(string)」のカラムを持つコレクションがあるとする。
vi test.js
var startDate = ISODate(STARTDATE+'T00:00:00+09:00'); var endDate = ISODate(ENDDATE+'T23:59:59+09:00'); db.comments.find({"insert_date":{$gte : startDate, $lte : endDate}).sort({"insert_date":1}).forEach(function(record) { print(record._id + "," + record.insert_date + "," + record.comment); });
スクリプトを実行
--evalオプションを使う。この場合、上記スクリプトのSTARTDATEが2019-04-01、ENDDATEが2019-04-30となる。
動的に日付をコマンド実行時に変えられるので、cronなどで実行することができるようになった。
mongo test --eval "STARTDATE='2019-04-01';ENDDATE='2019-04-30';" test.js --quiet > comments.csv
MacでLinuxなどでよく使うコマンドをターミナルに設定
centosなどで使うllコマンドがMacでは使えないので、エイリアスを追加。
vi ~/.bash_profile
以下を追加
※ついでに色分けするオプション(G)と、フォルダに「/」が足される(F)追加したコマンドを足しています。
alias ls="ls -FG" alias ll="ls -FlG"
設定反映をする
source ~/.bash_profile
黒背景の場合、上記設定のみだと見づらい場合があるので、以下の設定を「.bash_profile」に追加
export LSCOLORS=xefxcxdxbxegedabagacad
青地の反転になるので、見やすくなるはず。
※LSCOLORSの後の文字列の2つ目「e」が文字の背景色なので、eをdとかcに変えれば色が変わるので、好みの色にすることができます。