Skip to content

Instantly share code, notes, and snippets.

Avatar

Yoshiaki Kawazu kawaz

View GitHub Profile
@kawaz
kawaz / README.md
Last active Oct 26, 2020
ジョブカン勤怠の画面の使いづらいところを個人的に勝手に直すユーザスクリプト
View README.md

インストール

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

機能

  • 日付セレクタの -年-月-日 の『日』のセレクタに曜日表示をつけ足す
  • 打刻一覧テーブルで「修正レコードが全て承認された」という前提で以下の色つけなどをする
    • 『開始-終了』のペアが分かりやすいよう青のグラデーション背景にする
    • 『開始』で終わってる場合は赤くする(エラーなので
    • 削除レコードはグレーにする
@kawaz
kawaz / install-docker-compose.sh
Last active Jun 9, 2020
install docker-compose
View install-docker-compose.sh
#!/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
install daemontools (AmazonLinux2,CentOS7, etc...)
View install-daemontools.sh
#!/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
Promiseの配列を {ok:true, value} か {ok:false, err} の配列にする関数。Promise.all とか Promise.race だとどれか一つのPromiseがrejectとかされた時点で全部中断されちゃうのが使いにくい時があるので。→ ES2020に入ってくる Promise.allSettled() がほぼ同じ感じの関数になるので今後はそっちを使う事を推奨。
View parallel.js
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 Apr 2, 2020
digicertのCA証明書をJavaに追加する
View add-digicert-to-cacerts.sh
#!/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 Mar 30, 2020
macOSでIME(日本語入力)の情報を取得する
View dumpCurrentKeyboardInputSource.swift
#!/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 Feb 3, 2020
MacでDocker内のXアプリケーションを実行する手順
View run-x-app-on-mac.sh
# 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 Jan 21, 2020
OOM-Killer が発動したら自動でリブートさせるやつを設定するやつ(コピペ実行で摘要できます)
View setup-autoreboot-on-oom-killer.sh
#!/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 Nov 27, 2019
[CUE](https://cuelang.org/) の練習で CloudFormation のテンプレート定義を適当に書き下してみた。
View cfn.cue
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 Sep 16, 2019
iphoneを探すのメモ
View find-iphone.sh
#!/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
You can’t perform that action at this time.