Skip to content

Instantly share code, notes, and snippets.

View soudai's full-sized avatar

soudai sone soudai

View GitHub Profile
@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 / mysql57to8.md
Last active June 12, 2024 03:47
MySQL 5.7 to 8 check list

確認すること

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

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

@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 / 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 / check_memory.php
Created January 21, 2019 15:24
Mackerelのメトリック監視に合わせてメモリーを数値化する
<?php
/**
* [plugin.checks.check_memory]
* command = "php /usr/local/bin/check_memory.php -c 90"
* max_check_attempts = 5
* check_interval = 1
* action = { command = "/etc/init.d/httpd graceful" }
* memo = "httpdによってmemoryが圧迫されたらhttpdをgracefulする"
**/
@soudai
soudai / trip.md
Last active June 29, 2020 03:00
そーだいなる海外旅行の準備&知見

事前に買うと良いもの

100均で買う

  • 体を洗うナイロンタオル
    • ホテルに置いて無い
    • お好みで(自分は使わなかった)
  • 歯ブラシ
    • ホテルに無い
    • 場所によっては現地で買うことも出来るが100均で買って帰りに捨てるでも良い(自分はそうした)
  • 汗ふきシート
  • 夏場は特にあるといい
@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) {