forget for get

覚えるために忘れる

monthly.jsを使って俺の嫁リストにカレンダー表示機能を追加

monthly.jsを使って俺の嫁リストにカレンダー表示機能を追加してみました。

 

↓こんな感じ。

新垣結衣カレンダー

 

年末年始、本屋さんとかでカレンダーを見かけることも多くて、

ふと、好きな画像でカレンダー作れたらいいなと思って、

キーワードからgoogle画像検索でひっかかった画像を表示するサイト「俺の嫁リスト」があったので、

そこにカレンダー表示機能をつけてみたらそれっぽいのができると思って、作業開始。

 

カレンダー表示するjQueryプラグインとして、fullcalendar.jsを使ったことがあったので、今回も使おうと思ったのですが、レスポンシブ対応してないようなので、

レスポンシブ対応しているmonthly.jsを使いました。

 

githubhttps://github.com/kthornbloom/Monthly

デモ:http://kthornbloom.com/monthly/

 

Quick Startに書いてある通りでほぼ完成。

<link rel="stylesheet" href="css/monthly.css">
<div class="monthly" id="mycalendar"></div>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/monthly.js"></script>
<script type="text/javascript">
    $(window).load( function() {
        $('#mycalendar').monthly();
    });
</script>

 

月の切り替えで画像を入れ替えるために、

.monthly-prev、.monthly-next、.monthly-resetのクリックイベントを拾うくらい。

.monthly-resetのクリックイベントだけ拾えなかったのですが、

monthly.jsでクリックイベントがキャンセルされていたので、コメントアウトして対処しました。

//event.stopPropagation();

 

ロリポップの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にリクエストして、結果をそのまま返して、表示しているだけ。

 

実際会話してみて、

 

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

 

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

 

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

 

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