Skip to content

Instantly share code, notes, and snippets.

@soudai
soudai / mysql57to8.md
Last active December 21, 2023 00:18
MySQL 5.7 to 8 check list

確認すること

メンテナンス時間をどれくらい取れるかで戦略が決まる。 基本的にはメンテナンス時間を十分に取れたほうが良い。 またリスクをどれだけ許容できるかもビジネスによるので要確認しておくべき。

基本的には一度切り替えてしまうとロールバックすることは簡単ではない。 覚悟を決めて突き進む必要がある

@soudai
soudai / 2023-output.md
Last active December 20, 2023 07:17
2023年のアウトプット総括

登壇

37回

  • 1月
    • 1/16 香川短期大学 セミナー
      • 如何にデータベースが重要でなぜ私達が学ぶのか
    • 1/25 【セミナー】入門編- Mackerelではじめるクラウド監視
  • 2月
  • 2/16 【セミナー】実践編- Mackerelで監視を育てる
@soudai
soudai / PostgreSQL-vup.md
Last active November 14, 2023 09:08
PostgreSQL version up check list

PostgreSQL 12に上げれるなら15まで基本的に上げれる。 自分もプロダクトで9.2から最近14まで上げましたが互換性、パフォーマンス共に問題なかった。

11,12から上げるところで大きな非互換はOIDの廃止だけど、基本的にそこに刺さる人はいないはず。 いたら returning 句を使う形に書き直しましょう。 または nextval() 先に値を取得する。 一般的なORMを使ってるような環境であれば一般的にそのへんは困らないはず。

見ると良い

公式ドキュメントは一通りみること

@soudai
soudai / tonamelカレンダー登録くん.js
Created April 2, 2022 10:49
tonamelカレンダー登録くん
javascript: (async function() {
if (!window.location.href.match(/tonamel\.com\/competition\/[a-zA-Z0-9]{5}$/)) {
alert('bookmarkletを起動したページには対応していません。大会トップを指定してください');
return;
}
var title = document.querySelector('#__layout>div.wrapper>div.competition-detail>div.competition-detail>div.main>div.detail>div.m-competition-card>div.linkable-area>div.m-link>div.name>span').textContent;
var org = document.querySelector('#__layout>div>div.competition-detail>div.competition-detail>div.main>div.detail>div.a-box.m-competition-card.a-box--no-radius.a-box--white>div.inner>div.a-flex.organization.a-flex--flex-start.a-flex--row>a>div>span').textContent;
var entryStartDate = document.querySelector('#__layout>div>div.competition-detail>div.competition-detail>div.main>div.entry>div>div>div>div>ol>li:nth-child(1)>dl>dd:nth-child(4)>span:nth-child(1)').textContent;
entryStartDate = entryStartDate.replace(/(\d{4})\/(\d{2})\/(\d{2})\(.\) (\d{2}:\d{2}) 〜/, '$1$2$3T$4:00+0900');
var entryE
@soudai
soudai / endpoint2Mackerel.gs
Created December 29, 2017 09:12
Send Endpoint JSON of Google Apps Script to Mackerel service metric
var scriptProp = PropertiesService.getScriptProperties().getProperties();
var mackerelApiKey = scriptProp.MACKEREL_API_KEY;
var serviceName = scriptProp.MACKEREL_SERVICE_NAME;
var BaseURL = scriptProp.BASE_URL;
function main() {
var mackerelPostRes = postMackerelServiceMetric(mackerelApiKey, serviceName, getEndpointJSON());
}
function postMackerelServiceMetric(apiKey, serviceName, payload) {
@soudai
soudai / make-j.md
Last active December 22, 2020 06:56
makeで簡単に並列

ファイルの中身を並列実行

FILE := list.txt
LIST := $(shell cat $(FILE))
TARGETS := $(addsuffix .run,$(LIST))
all: $(TARGETS)
%.run:
    sh hoge.sh $*
@soudai
soudai / trip.md
Last active June 29, 2020 03:00
そーだいなる海外旅行の準備&知見

事前に買うと良いもの

100均で買う

  • 体を洗うナイロンタオル
    • ホテルに置いて無い
    • お好みで(自分は使わなかった)
  • 歯ブラシ
    • ホテルに無い
    • 場所によっては現地で買うことも出来るが100均で買って帰りに捨てるでも良い(自分はそうした)
  • 汗ふきシート
  • 夏場は特にあるといい
@soudai
soudai / mackerel-plugin-sample.php
Last active March 19, 2019 09:01
最もシンプルなPHPでのpluginの作成例
<?php
$time = time();
$value = rand(5, 50);
$value1 = rand(5, 50);
$value2 = rand(5, 50);
$value3 = rand(5, 50);
$metric_name = 'random.count';
echo "{$metric_name}\t{$value}\t{$time}\n";
echo "{$metric_name}_1\t{$value1}\t{$time}\n";