forget for get

覚えるために忘れる

ロリポップのcron設定でLaravelのartisanコマンドをスケジュール実行するには

ロリポップでcronが使えるらしいので、Laravelのartisanコマンドを作ってスケジュール実行しようとしたら、
設定するのに手間取ったのでやり方をメモしておく。

 

Laravelのドキュメントでは、cronに以下のように設定すればよいとある。

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

 

しかし、ロリポップの設定だと、実行ファイルパスを指定しろとある。(上記のような記述はできない)

 

なので、シェルスクリプトでartisanコマンドを実行する必要がある。
また、phpのパスも、バージョン指定する必要がある。

 

よって、以下のようなシェルスクリプトを作って、

ロリポップのcron設定の実行ファイルパスに「start_artisan.sh」を指定すればよい。

 

start_artisan.sh

#!/bin/sh
/usr/local/php5.6/bin/php /home/users/0/main.jp-lightwill/web/ravel/artisan schedule:run

phpのバージョンが5.6、ユーザディレクトリがmain.jp-lightwillの場合。

VM(Vagrant,VirtualBox)の日時を変更しても元に戻ってしまうとき

未来時間での動作確認をしたくて、

ローカルVM環境(Vagrant,VirtualBox)で普通にdateコマンドを叩いたら、

一時的に日時は変更されたが1分もしたら現在日時に戻ってしまった。

 

どうやらVirtualBoxではホストOSとゲストOSで時刻同期をしているらしい。

 

なので、

未来時間や過去時間で動作確認したいときは、ホストOSとゲストOSの時刻同期を切ってやる必要がある。

 

service vboxadd-service stop

date -s "2017/12/24 12:00:00"

 

動作確認が終わったら時刻同期を再開しておく。

 

service vboxadd-service start

 

 

mysqlでカナでソートしたら濁音の並びがおかしかったので対策

mysqlでカナでソートしたら濁音の並びがおかしかった

 

普通に

ORDER BY kana

とやったら、

 

ハマカーン
ハライチ
バカリズム
バナナマン
パンクブーブー

 

となった。

 

本当は

 

バカリズム
バナナマン
ハマカーン
ハライチ
パンクブーブー

 

のように並んでほしい。

 

COLLATE 節を使うとよい。

ORDER BY kana COLLATE utf8_unicode_ci

 

laravelだとorderByRawを使って。

->orderByRaw("kana COLLATE utf8_unicode_ci")

 

これで意図した並びになった。

 

バカリズム
バナナマン
ハマカーン
ハライチ
パンクブーブー

Vimの設定

新しい環境をつくる度に毎回やってることをまとめておく。

 

色分け (syntax on) するために拡張版Vimをインストール

$ sudo yum install vim-enhanced
$ sudo mv /bin/vi /bin/vim-tiny
$ sudo ln -s /usr/bin/vim /bin/vi

php-docプラグインをインストール

https://www.vim.org/scripts/script.php?script_id=1355
ここからダウンロードして、~/.vim配下に置く。
77~83行目のAuthorやCopyrightなどをプロジェクトに応じて修正。

~/.vimrcを作成

set lcs=tab:>.,trail:_,extends:\
set list
highlight SpecialKey cterm=NONE ctermfg=7 guifg=7
highlight JpSpace cterm=underline ctermfg=7 guifg=7
au BufRead,BufNew * match JpSpace / /
set ambiwidth=double
set binary noeol
set viminfo='20,\"1000
source ~/.vim/php-doc.vim
inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i
nnoremap <C-P> :call PhpDocSingle()<CR>
vnoremap <C-P> :call PhpDocRange()<CR>

 

※~/.vimrcでやってることは以下。
・タブや全角スペースを可視化する
set lcs=tab:>.,trail:_,extends:\
set list
highlight SpecialKey cterm=NONE ctermfg=7 guifg=7
highlight JpSpace cterm=underline ctermfg=7 guifg=7
au BufRead,BufNew * match JpSpace / /


・全角記号でカーソルがずれるのを防ぐ
set ambiwidth=double

 

・ファイル末尾に勝手に改行コードがつくのを防ぐ
set binary noeol

 

・ファイル間でのヤンク(yy)行数を増やす

set viminfo='20,\"1000

 

・Ctrl+Pでphpdoc生成

source ~/.vim/php-doc.vim
inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i
nnoremap <C-P> :call PhpDocSingle()<CR>
vnoremap <C-P> :call PhpDocRange()<CR>

(C-Pの箇所を変えれば好きなキーバインドにできる)

参照サイト

vim で 色分け (syntax on) できない

vim でタブや全角スペースを表示する

Vimで全角記号を扱うと色々とおかしくなる

vimでファイルを保存したときに勝手に改行コードがつい...

Vim - Vimでヤンクした内容がファイルをまたぐと50行までしか保持されていない。|teratail

phpDocumentor形式のドキュメントブロックを生成するvimプラグイン | バシャログ。

リクルートの無料で使えるAI(A3RT)TextSuggestAPIを使ってみた

リクルートが無料で公開しているAI「A3RT」から、

TextSuggestAPIを使って、

リクルートのAI(A3RT)TextSuggestAPIちゃんと会話してみるアプリ

をつくってみました。

 

リクルートのAI(A3RT)TalkAPIちゃんと会話してみるアプリ」に引き続いて、

ちょっとした修正で完成。

f:id:lightwill:20170603231044p:plain

 

リクルートの無料で使えるAI(A3RT)TalkAPIを使ってみた

リクルートが無料で公開しているAI「A3RT」から、

TalkAPIを使って、

リクルートのAI(A3RT)TalkAPIちゃんと会話してみるアプリ

をつくってみました。

 

とっつきやすいように擬人化してみたのですが、

絵がヘタクソなので誰かに描いてもらいたい、、

 

f:id:lightwill:20170518003252j:plain

 

難しいことは何もしてなくて、ajaxで入力値を投げて、裏でTalkAPIにリクエストして、結果をそのまま返して、表示しているだけ。

 

実際会話してみて、

 

「おはよう」
→「おはようございます」
は基本として、

 

「恋人はいますか?」
→「ご想像にお任せします」
「寒いですね」
→「寒すぎて抱きしめられたいです」
など思わせぶりな発言も。

 

ドラえもん
→「どんな秘密道具が欲しいのですか?」
なんてピンポイントな回答も。

 

おもしろいシナリオとして、
「ゴキブリ好きですか?」
「食べられますか?」
「おいしいですか?」
「本当に?」
「きもい」
実際に試してみていただきたい。。

 

築地ッカソンでほしい物リスト公開サイトをつくりました

築地ッカソン vol.5 - connpass

に行ってきました。

 

築地の美味しい寿司が食べられるハッカソン、二度目の参加です。

 

そして、優勝してしまいました、メリークリスマス!

 

今回のテーマは「クリスマス」。

ということで、「プレゼンとウィッシュリスト」というWebサービスをつくりました。

 

子どもの頃、サンタさんにプレゼントをお願いしたと思います。

親に「良い子にしてないとプレゼントもらえないよ」とか言われて、

クリスマスの時期は特に良い子でいようと心がけていました。

 

そこで、サンタさんにプレゼントをお願いできるサイトをつくろうと決めました。

 

amazonほしい物リスト(ウィッシュリスト)という機能があります。

これ欲しいな、でも今買うのではないなというとき、備忘録として使える機能。

それだけではなく、

ほしい物リストを公開すると、それを見た誰かが買ってくれるかもしれない。

 

ブログにほしい物リストを公開したら本当に届いたという記事がたくさんヒットします。

これとかこれとか。

 

このウィッシュリスト機能を使えば、サンタさんにお願いが実現できる。

ブログにウィッシュリストを公開してる人はいるけど、

ウィッシュリストを公開するポータルサイトみたいなのはなさそう。

 

ウィッシュリストをただ公開しただけでは買ってもらえない。

どうしてそれがほしいのか、手に入ったらどう活用していくのかなどを

プレゼンすることによって買ってもらえる可能性を上げる必要がある。

 

それはまるでクラウドファンディングのようだ。

 

プレゼンとウィッシュリストを公開してほしい物を手に入れちゃうサイト

プレゼンとウィッシュリスト」、ぜひ使ってみてください。

 

築地ッカソン当日はトップページと詳細ページにテストデータを表示するだけのプロトタイプでしたが、その後機能を実装していってひと通り動作するようにしました。

 

ハッカソンは時間が限られているので、発表に耐えられるだけの作品にするために、これは実装できる、これは一旦ダミーで置き換えるなど、判断しなければいけません。

今回は投稿機能はあきらめて、ダミーデータを使うことにして、UIの実装に時間をかけたのがよかったのかなと思います。

 

優勝商品はこんなのでした。

f:id:lightwill:20161220004117j:plain

エゾシカの肉!

 

また、クリスマスバージョンということで、寿司だけではなくケーキもふるまわれました。

f:id:lightwill:20161220004438j:plain

 

また次回も参加したいなと思う築地ッカソンでした。。