Skip to content

Instantly share code, notes, and snippets.

View kawaz's full-sized avatar
🏠
Working from home

Yoshiaki Kawazu kawaz

🏠
Working from home
View GitHub Profile
@kawaz
kawaz / README.md
Last active July 6, 2021 06:50
ジョブカン勤怠の画面の使いづらいところを個人的に勝手に直すユーザスクリプト jobcan.user.js

インストール

TamperMonkey拡張をインストール済みのブラウザで以下URLを開くとユーザスクリプトのインストール承認画面が出てくると思う。 https://gist.githubusercontent.com/kawaz/8f08bbc218ab16b92f5e018801cec668/raw/jobcan.user.js

機能

  • 日付セレクタの -年-月-日 の『日』のセレクタに曜日表示をつけ足す
  • 打刻一覧テーブルで「修正レコードが全て承認された」という前提で以下の色つけなどをする
    • 『開始-終了』のペアが分かりやすいよう青のグラデーション背景にする
    • 『開始』で終わってる場合は赤くする(エラーなので
  • 削除レコードはグレーにする
@kawaz
kawaz / install-docker-compose.sh
Last active June 9, 2020 00:46
install docker-compose
#!/bin/bash
set -e
set -o pipefail
[[ -x /usr/bin/docker-compose ]] && exit
if ! [[ -f /usr/bin/docker-compose ]]; then
t=$(mktemp)
curl -sLo "$t" "$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.assets[].browser_download_url' | grep "/docker-compose-$(uname -s)-$(uname -m)$")"
chmod 755 "$t"
mv "$t" /usr/local/bin/docker-compose
@kawaz
kawaz / install-daemontools.sh
Last active May 21, 2020 05:32
install daemontools (AmazonLinux2,CentOS7, etc...)
#!/bin/bash
set -e
set -o pipefail
cd "$(mktemp -d)"
trap "rm -rf $PWD" EXIT
# install daemontools
curl -s https://cr.yp.to/daemontools/daemontools-0.76.tar.gz | tar xz
cd ./admin/daemontools-0.76/
@kawaz
kawaz / parallel.js
Last active May 28, 2020 04:31
Promiseの配列を {ok:true, value} か {ok:false, err} の配列にする関数。Promise.all とか Promise.race だとどれか一つのPromiseがrejectとかされた時点で全部中断されちゃうのが使いにくい時があるので。→ ES2020に入ってくる Promise.allSettled() がほぼ同じ感じの関数になるので今後はそっちを使う事を推奨。
parallel = promises => Promise.all(promises.map(p=>new Promise(done=>{try{p.then(value=>done({ok:true,value})).catch(err=>done({ok:false,err}))}catch(err){done({ok:false,err})}})))
@kawaz
kawaz / add-digicert-to-cacerts.sh
Last active April 2, 2020 12:13
digicertのCA証明書をJavaに追加する
#!/bin/bash
(
cd /tmp
wget http://cacerts.digicert.com/DigiCertSHA2SecureServerCA.crt
/bin/cp -ap /etc/pki/java/cacerts /tmp/etc_pki_java_cacerts.backup.$(sha1sum /etc/pki/java/cacerts|perl -pe's/ .*//')
keytool -import -trustcacerts -alias digicert -file DigiCertSHA2SecureServerCA.crt -keystore /etc/pki/java/cacerts -storepass changeit
/bin/cp -ap /etc/pki/java/cacerts /tmp/etc_pki_java_cacerts.backup.$(sha1sum /etc/pki/java/cacerts|perl -pe's/ .*//')
diff <(keytool -list -keystore etc_pki_java_cacerts.backup.2f8da47e32696e71801b52ff57fe4b246776a850 -storepass changeit|sort) \
<(keytool -list -keystore /etc/pki/java/cacerts -storepass changeit|sort)
)
@kawaz
kawaz / dumpCurrentKeyboardInputSource.swift
Created March 30, 2020 04:04
macOSでIME(日本語入力)の情報を取得する
#!/usr/bin/swift
import Carbon
// Carbon.h -> HIToolbox.h -> TextInputSources.h
// grep "extern const" /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/TextInputSources.h
let props: [CFString] = [
kTISPropertyInputSourceCategory,
kTISPropertyInputSourceType,
kTISPropertyInputSourceIsASCIICapable,
kTISPropertyInputSourceIsEnableCapable,
@kawaz
kawaz / run-x-app-on-mac.sh
Created February 3, 2020 05:55
MacでDocker内のXアプリケーションを実行する手順
# MacにXサーバを入れる(XQuartsの設定→セキュリティ→ネットワーククライアントからの接続を許可をチェックする)
brew cask install xquartz
# XQuarts で OpenGL を使えるようにする
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
# デモ用のイメージを作成
docker build -t xdemo -f <(echo $'FROM alpine\nRUN apk --no-cache add xeyes mesa-demos') .
# デモを実行してみる
docker run --rm -e DISPLAY=$(hostname):0 -v ~/.Xauthority:/root/.Xauthority xdemo xeyes
@kawaz
kawaz / setup-autoreboot-on-oom-killer.sh
Last active January 21, 2020 22:03
OOM-Killer が発動したら自動でリブートさせるやつを設定するやつ(コピペ実行で摘要できます)
#!/bin/bash
(
echo '# OOM-Killer が発動したら自動でリブートさせるやつを設定するやつ'
echo '# https://gist.github.com/kawaz/1605bec92acac16d0638591e4bbfd5b1'
echo vm.overcommit_memory = 1
echo vm.panic_on_oom = 1
echo kernel.panic = 1
) > /etc/sysctl.d/99-custom-autoreboot-on-oom-killer
sysctl -p /etc/sysctl.d/99-custom-autoreboot-on-oom-killer
# SWAP止めちゃう
@kawaz
kawaz / cfn.cue
Last active August 1, 2021 14:08
[CUE](https://cuelang.org/) の練習で CloudFormation のテンプレート定義を適当に書き下してみた。
package cfn
Template:: close({
AWSTemplateFormatVersion?: "2010-09-09"
Transform?: string | [...string]
Description?: string
Metadata?: [string]: Value
Parameters?: [string]: Parameter
Mappings?: [string]: [string]: [string]: _
Conditions?: [string]: Condition
@kawaz
kawaz / find-iphone.sh
Created September 16, 2019 02:14
iphoneを探すのメモ
#!/bin/bash
username='apple-id@example.com'
password='apple-id-no-password'
authheader="Authorization: Basic $(echo -n "$username:$password" | base64)"
url_initClient="https://fmipmobile.icloud.com/fmipservice/device/$username/initClient"
url_playSound="https://fmipmobile.icloud.com/fmipservice/device/$username/playSound"
# initClient
curl -vXPOST "$url_initClient" -H "$authheader" > initClient.json