Skip to content

Instantly share code, notes, and snippets.

View ishikawam's full-sized avatar

M_Ishikawa ishikawam

View GitHub Profile
@ishikawam
ishikawam / Handler.php
Last active May 18, 2019 13:48
Laravel5: エラーページを共通化〜どんなステータスコードでもどんと来い! ref: https://qiita.com/M_Ishikawa/items/1f0d72fc93286109464e
/**
* 共通エラーページ
*/
protected function renderHttpException(\Symfony\Component\HttpKernel\Exception\HttpException $e)
{
$status = $e->getStatusCode();
return response()->view("errors.common", ['exception' => $e], $status);
}
/**
* オレが考えたSocialiteのサンプルコード(いまのところ)
*/
// Social Login
Route::prefix('login/{provider}')->where(['provider' => '(facebook|twitter|github|line)'])->group(function () {
Route::get('/', [App\Http\Controllers\Auth\LoginController::class, 'redirectToProvider'])->name('login.redirect');
Route::get('/callback', [App\Http\Controllers\Auth\LoginController::class, 'handleProviderCallback'])->name('login.callback');
});
@ishikawam
ishikawam / main.go
Last active August 12, 2021 22:09
vxlan-to-http-request (http-requests-mirroring)
// vxlan-to-http-request (http-requests-mirroring)
// https://github.com/aws-samples/http-requests-mirroring/blob/main/main.go
// getのみmirrorする
// Original Copyright 2012 Google, Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree.
// ==UserScript==
// @name Slack Code Syntax Highlighter
// @namespace M_Ishikawa
// @version 0.1
// @description Click code block, highlight it.
// @author Masayuki Ishikawa
// @match https://*.slack.com/*
// @grant none
// ==/UserScript==
@ishikawam
ishikawam / github-contribution-activity.js
Last active July 2, 2023 17:48
githubのプロフィールページからContribution activityのサマリーをテキストで出力
/**
* githubのプロフィールページからContribution activityのサマリーをテキストで出力
* "Show more activity" で開いて表示されている分を取得する
*/
(function () {
const commits = new Map();
const openedSet = new Set();
const reviewedSet = new Set();
document.querySelectorAll('div.TimelineItem-body > details.Details-element.details-reset').forEach(function (c) {
type = c.querySelector('summary > span').textContent.trim().match(/^(.*) /);