Haskellをぼちぼちやっていこうと思う。
とりあえず
qiita.com
ここを参考にしながら、本を読んでみる。
家のMBAにはhomebrewも入っていなかった(1回初期化した為)ので、homebrewから入れた。
その後
brew install haskell-stack
結構時間がかかっているので、続きは明日。。。
久しぶりにChrome拡張。
なんかタイトルを考えると何かコンテンツがないといけないといけない気がして、日記という感じがしない。 それでなんとなく続かない。。。ような気がしてきたので、作った。 本文のところにフォーカスされると、勝手に"2018年2月6日の日記"とか入れる。 さて、作っているうちになんか気になることがあった。
私はいつも下のメニューから書いているのだが、
この場合だと動くのだけど、トップページからの日記を書くポチだと動かなかった。
DOMが違うんだな。
あと見たままとMarkdowmも違う(これは普通に考えるとそうなるだろう)。
全部に対応しようと思ったが、寝る時間だったのでやめた。
ちょっと考えてみたけど、普通に日記書きたい時とタイトルを付けたいときで分けるのにいいかも知れない。
単純にWebサーバー稼働時にやると失敗します。 こんなエラーが出ますね。
Attempting to renew cert (example.jp) from /etc/letsencrypt/renewal/example.jp.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.
ということで、stop, startをするコマンドで挟んで実行してみた。 更新できましたが、エラー時に通知するようなものにした方がいいかな。。。
#!/bin/bash systemctl stop h2o certbot renew systemctl start h2o
LaravelでRoute::resourceとすると色々なrouteが作られるのだけど、updateはpatchですることになる。 REST的にはいい感じですが、formを使う場合はどうするのか? 調べてみたところ、formのmethodはpostにしてform内に
{{ method_field('patch') }}
を追加すれば上手くやってくれる様子。 中々いい感じですよね。
DB関連ではmigrationsとseedsがあるのがLaravel。
なかなか良さそうなのでとりあえず今の開発では使っている。
php artisan migrate
php artisan migrate:reset
php artisan db:seed
php artisan migrate:refresh --seed
WebサーバーはApacheで。
/var/www/html
配下にLaravelのプロジェクトがあるとする。
そうするとDocumentRootの設定としては
/var/www/html/public
になる。
Laravelデフォルトだと.htaccessを使っているため、これを有効にしなければならない。
ということで先ほどのディレクトリの設定で
AllowOverride All
が必要となる。
DocumentRoot "/var/www/html/public" <Directory "/var/www/html/public"> AllowOverride All # Allow open access: Require all granted </Directory>
こんな感じ。
これを設定しない場合、最初の / 以外のURLが 404 not foundになってしまう。
これを設定すれば普通に動くようになる。