hamacoの日記

どうでもいい日常をたれながす日記だと思う

Laravel Socialiteでログイン後元の画面に戻るようにする

はじめに

Laravel Socialite っていうソーシャルログインする為のパッケージがあるんだけど、これの使い方とか載せてるサイト見ても、サンプルなのかログイン後 echo して終わってたり、 redirect()->to('/'); しかやってなくてよく分からなかった。 なので、通常のログインの時に使ってる Illuminate\Foundation\Auth\AuthenticatesUsers のコード読んでアクセスしようとしたページに戻す方法調べたのでメモ。

調査メモ

とりあえず、ログイン後のリダイレクトしてる所見ればええやろってことで、ファイル開いて redirect で検索してでてきたこのコードを読む。

    protected function sendLoginResponse(Request $request)
    {
        $request->session()->regenerate();

        $this->clearLoginAttempts($request);

        return $this->authenticated($request, $this->guard()->user())
                ?: redirect()->intended($this->redirectPath());
    }

すると redirect()->intended() とかいうメソッド叩いてたので、それが定義されてる Illuminate\Routing\Redirector.php を覗く。

    public function intended($default = '/', $status = 302, $headers = [], $secure = null)
    {
        $path = $this->session->pull('url.intended', $default);

        return $this->to($path, $status, $headers, $secure);
    }

セッション使ってるっぽいしこれやな! ってことで、Twitter ログイン後のコールバック処理の中で↓のようなコード書いて無事アクセスしようとしたページに戻れるようになった。

return redirect()->intended('/');

ちゃんちゃん。

PHPカンファレンス2018でスタッフをしてきたよ

今年も例年通りPHPカンファレンス2018でスタッフ業をしてきましたよっと。

今年はなんかひたすらに iOSDC とか builderscon とかの MTG と被ってたり、仕事の都合が合わなかったりで全然事前作業とかはできず、Slack でテキトーなことを言うだけのほぼ当日スタッフみたいな感じになってしまったけど、当日はちゃんと頑張ったのでゆるしてヒヤシンス。

当日は小展示の責任者だったので小展示の設営頑張ったり、司会とかやったり、タイムキーパーしたり、お弁当列の形成したりがメイン。 前日いつもの BrewDog で喉が若干やられてたりしたのと朝一だったので全然声がでないしカミカミで恥かしかった>_<

あとは懇親会の司会で声張り上げまくっていましたね。 あとなんか2日前くらいから当日にかけて、他の PHP 系カンファレンスの人たち(9割福岡)に無茶振りをしまくったりしていた記憶が残っている。

以下会場写真


委員長の素晴しい御言葉を頂戴しているワンシーン


前日準備で袋詰めが間に合わなかったらしく頑張って朝から袋詰め


開催2日前に決まった他カンファレンス告知エリアに真っ先に Laravel JP Conference の チラシを置きにいった図


カメラ3台体制のガチカメラマンのカメラ


わかばちゃん本だ!


Macbook へのサインうらやま


すごく…昭和です…


徳丸本を当ててしまった! しかしサイン会のことすっかり忘れていてサインは貰えず…


はぴえるくん可愛い。これ磁石でくっついてるんだけど付け外しするの気持ちよかったので欲しい。


クリスマス

打ち上げ

iOSDC とかで鍛えられたのか 1day だと元気が余るので打ち上げで今年も色々やらかしましたが覚えてないことにしました。

ところで

来年はなんとPHPカンファレンス20回目ですよ! 2019年12月1日に毎年恒例の PiO で開催されるので是非来てくださいね!!

http://phpcon.php.gr.jp/2019/


来年の実行委員長! よろしくおねがいします!

gitで.gitconfigに書いてあるaliasを実行すると固まるようになった件(解決済み)

TL;DR;

  • git 2.20にしたら ~/.gitconfig に書かれてる alias が一切動かなくなったよ
  • brew switch git 2.19.2 したら直ったよ
  • git status だけ zsh で alias 作っててよかったね

無駄に長いお話

ある日突然 g pl (git pull のエイリアス) を実行してもまったくなにも返ってこず固まってしまうようになった。
まあどうせインターネッツが調子悪いんやろ? と思いつつpull だと中で複数コマンド実行してるし原因把握しづらいから、g co master (git checkout master) とか g fo (git fetch origin) をやってみるけどまったくだめ。
この辺りでなんか意味が分からなくなって、ディスク? いやでも… と思いつつ g di (git diff) や g dc (git diff --cached) をやってみるけどこれらもまったく使えない。
完全に git が壊れた! このポンコツ Macbook め!! これだから Mojave になんかしたくなかったんや!!!! ってブチ切れそうになったけど、ふと s (git status -sb) を実行したら動いたのでそこにあった差分のあるファイルに対して git diff /path/to/file ってやったら何故か動く。
なんでや! って思いながら git diff って叩くとなんか動くし、git fetch origin ってやるとやっぱり動く。

この辺りでようやく、インターネッツに問題があるわけでもなく、ディスクがおかしくなったわけでもなく、Macbook に問題は沢山あるけど今回とは関係ないということが分かって、どうやら自分が設定してる alias が死んでいるな? ということが分かった。
まあ分かったらあとは簡単だよね。 調べてる暇とかないからとりあえず homebrew で前のバージョンの git を入れるよね。 入れたら直ったよね。よかったよかった。完。 というお話でした。

いやまじで git statusg s とかでやってなくてよかったというお話。普段使ってるコマンドで alias 指定していないのがないレベルなので、git じゃなく zsh の方で alias 書いてなかったらもっとハマってたよこれ…。

iOSDC Japan 2018にコアスタッフとして参加してきたよ

まったく iOS 関係ない人間だけど、8月30日?29日から9月2日にかけて開催された iOSDC Japan 2018 にコアスタッフとして参加してきたよ。

なんでスタッフなんかやってたの?

iOS とか一切関係ない人間なんですが、主催者の @tomzoh が PHP / Beer 界隈でよく会う人だったのと、懇親会のビールが豪華っていう去年までの実績があったのでビール目当てにコアスタッフに申し込んでました。
はい、完全にタダビール目当てです。 ちなみにこれほぼ同じ文章で3年目です。いつの日か iOS の人間になって参加する日がくるのだろうか…?

前々日まで

今年はコアスタッフだったので、月一の打ち合わせにできるだけ参加しつつSlackでクソリプをする仕事をメインでやってました。
あとなんか最初の方の打ち合わせで謎のベストトーク担当(当日)とかいう謎の担当になってました。
まあベストトークの賞品探したりとかして終わった感じのやつで当日なにもしてないけどね。
いや、ベストトーク発表後ギリギリで思い出して今年こそはベストトーカーが舞台から降りる時にハイタッチするというのを成功?させましたね。

あとは例年通りセッション開始5分前にセッション内容自動ツイートするやつ準備したり、今年はスポンサー様の紹介ツイートがあったのでそれもツイートさせたりとしていました。

あれ、当日スタッフの時と仕事量ほとんど変わってないな? あ、日本酒1本選んだりもした!

前日〜当日

前夜祭の日含めて、普段より朝が早いのを4日連続はキツかった… iOSDC 朝早すぎる…。
今年はなんとコアスタッフだったからなのか Track E の「メイン」担当だったのでアンカンファレンス運営をとても頑張った。
(そういや iOSDC 3年目にして初メイントラック以外かつ @akatsuki174 さんと違う部屋の担当だったのかと今ブログ書いてて気付くなど)

まあ会期の半分以上アンカンファレンスなかったので、最高温度に設定しても若干肌寒い部屋で休憩したりしつつ雑用がメイン。
しかし後で言われてハッとしたけど、冷房じゃなくて除湿とかにしておけばよかったのでは…。

あと他にやっていたのは…

こうやってみると私ドンキに走っていただけでは…🤔

総評

iOS エンジニアでもなんでもないけど iOSDC はいいぞ。 お祭りみたいで楽しいし、ノベルティも豪華だし、懇親会のビールは美味しいし。
そして、なんといってもイベント後に夜通しパーティーせずに、イベント前にオープニングパーティーをやったのが最高でしたね。 イベント後だと死んでてただのうるさめな睡眠場所だったけど、イベント前だと元気ですし!
あと、引越しをしたので去年と比べて家から近いのでだいぶ朝と夜楽だったのも大きい。ホテルに泊まるよりタクシー往復代の方が安いくらいの距離は本当によかった。

そして、今年はコアスタッフにLTE対応の無線が配られたんだけど、これが距離関係なくどこでもやりとりできるし超便利だった。
これと、さらに今年は副隊長2名にHQ2名的な体制でばっちりまったりできると思っていたけど、なんか去年より歩いてましたねおかしいな。

豊川風花さんの誕生日が最終日と被っていてお誕生日イラストをTwitterで漁る業ができなかったのが心残り…。

けやきひろばビール祭りに行ってきたよ

1年半ぶりかな? けやきひろばビール祭りに行ってきたよ!

埼玉なかなか遠いのと、知り合いの都合とのあれで久し振りになってしまったけど今回もとても良かった。

以下飲んだビールたち

伊勢角屋ののみくらべセット

うしとらの燻製ビール

オラホのシークレットビール(名前忘れたw)

南信州のAKANE

この辺から名前で選び出したやつ。

那須高原の愛

志賀高原の其の十

builderscon 低温調理肉会 2018春へ行ってきた

builderscon 主催の牧さんがお肉を焼きたくなったら開催される builderscon の肉塊(肉会)に今回も参加してきたった。 今回も美味い肉と美味い酒に囲まれて幸せな時間でした…。

そういえばトークの募集とかチケットの販売とかもうすぐ始まるっぽいですよ!! 興味ある方は是非応募とか購入とかよろしくおねがいします!!

builderscon.io

以下飯テロ画像とか

f:id:hamaco:20180521174421j:plain

f:id:hamaco:20180521174433j:plain 美味い

f:id:hamaco:20180521174444j:plain ポテトとバターが1:1とかいう危険なやつ

f:id:hamaco:20180521174454j:plain

f:id:hamaco:20180521174506j:plain

f:id:hamaco:20180521174517j:plain

あと、カチョカヴァロってのも食べたけど写真が難しかったので撮ってない( ˘ω˘)

f:id:hamaco:20180521174913j:plain 肉に埋もれた謎の写真

f:id:hamaco:20180521174940j:plain iOSDCトリオ+1とか

Karabiner-ElementsでMission Control用のキーバインド設定したった

Karabiner-Elements が単純な置き換えしかできなかった頃に HammerSpoon で頑張ってやっていた、右Command+A-L キーでのデスクトップ切り替えを Karabiner-Elements でやるようにしてみた。
というのも、HammerSpoon での私の書き方が悪いのか、たまに修飾キーが押されっぱなしになってしまい単純に A だけ押した時とかにもデスクトップが切り替わってしまうことがあり地味にストレスが溜まっていたので…。
前からやろうやろうと思ってたんだけど Karabiner-Elements の json を書くのがダルいのを言い訳に放置してたんだけど、最近肩こりがアレなので久し振りに Kinesis を取り出してきてキー配置の設定とかしているのでそのついでに↓のを ~/.config/karabiner/karabiner.json に書き足して、HammerSpoon 側の処理をコメントアウトして終わり。
これで暫く使ってみて、修飾キーが押されっぱなしになるのが解消されると良いなぁ。

{
    "description": "Use Command_R+[ASD FGH JKL] for MissionControl",
    "manipulators": [
        {
            "from": {
                "key_code": "a",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "1",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "s",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "2",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "d",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "3",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "f",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "4",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "g",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "5",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "h",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "6",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "j",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "7",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "k",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "8",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "l",
                "modifiers": {
                    "mandatory": [
                        "right_command"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "9",
                    "modifiers": [
                        "right_command",
                        "right_control",
                        "right_shift",
                        "right_option"
                    ]
                }
            ],
            "type": "basic"
        }
    ]
}

井の頭公園でお花見してきた

花見するなら今週末が最後では? みたいな話になっていて気付いたら急遽決まっていたミリオンP関係のお花見にいってきた。

反対方向向いて座ってたので花はそんなに見れなかったけど楽しかったぞい。

花粉症発症してしまった感

最近ずっと鼻水、鼻づまりだし目がショボショボするしで辛い… きっとこれは花粉症( ˘ω˘)スヤァ

あ、はてなブログHTTPS にしてみました。これやったついでにブログテキトーに投稿してみたやつです。

iOSDC Japan 2017 に当日スタッフとして参加してきた

まったく iOS 関係ない人間だけど、9月15日から9月17日にかけて開催された iOSDC Japan 2017 に当日スタッフとして参加してきました。

なんでスタッフなんかやってたの?

iOS とか一切関係ない人間なんですが、主催者の @tomzoh が PHP / Beer 界隈でよく会う人だったのと、懇親会のビールが豪華っていう去年の実績があったのでビール目当てに当日スタッフに申し込んでました。 はい、完全にタダビール目当てです。

前日まで

当日スタッフなのでとりあえずSlackに入ってぼけーっとビール関係の話題の時にクソリプをするということをメインでやってた。 あとは去年と同様にトークの開始5分前に次こんなセッションやるよーってのをツイートする為のデータをセコセコと作成。

あとはひたすら寝て過ごしていました( ˘ω˘)スヤァ…

当日

私は Track A の担当だったので @akatsuki174 さんの下テキトーにうにゃうにゃとしておりました。今年は質疑応答時のマイク係が多かったので主にセッション中の雑用をやっていた感じ。

  • 去年とかbuildersconでも同じ仕組みで勝手が分かっていたのでタイムキーパー用のiPhone/iPadの設置をしたり
  • セッション中に参加者・ビデオ・カメラ的に一番問題なさそうな電気の調整をしたり
  • マイクスタンドがなかったのでコードがでてくるセッションの時はマイクを持っていたり
  • フリードリンクエリアに行ってビールの冷え具合を確認したり
  • Track A は会場で温度調節ができず、防災センターに電話する必要があるので誰かが会場寒いってツイートを見かけたらSlackに貼ってくれるのでそれを見て電話したり
  • とむぞーさんの反応がない時は探し回ったり
  • LT中にバドワイザー配りつつ飲んだり

ちなみに一番頑張ったのは準備中のフリードリンクを並べる所でした。4つ並べると鶴が見えるってことでひたすら並べていたり…。 f:id:hamaco:20170919170012j:plain

あとは、クロージング後にスタッフ打ち上げをしてからの夜のiOSDCで僕の元気は完全に0になりました。

Japan Taxi様のクーポンがなかったら駅で力尽きて死んでいたかもしれませんね。

翌日

夜のiOSDCの疲れにより1回休み。地味に足が痛くて辛い1日でした。