Skip to content

Instantly share code, notes, and snippets.

View kenzauros's full-sized avatar
:octocat:

Kenji YAMADA kenzauros

:octocat:
View GitHub Profile
@kenzauros
kenzauros / merge-sql.ps1
Created April 26, 2023 00:31
SQL 結合用 PowerShell スクリプト
Param(
[parameter(mandatory)][String]$outputFile
)
$divider="-- $("=" * 100)"
$files = Get-ChildItem .\*.* -Include *.sql -Exclude $outputFile
if (Test-Path $outputFile) { Clear-Content $outputFile }
function output {
process {
Out-File -Encoding UTF8 -FilePath $outputFile -Append -InputObject $PSItem
@kenzauros
kenzauros / register_sso_user.sh
Created April 25, 2023 02:52
AWS SSO ユーザー登録&グループ追加
# Usage: ./register_sso_user.sh toyonaka@example.com toyonaka taro all
# arg1: Email (例: toyonaka@example.com)
# arg2: 氏 (例: toyonaka)
# arg3: 名 (例: taro)
# arg4: グループ名 (例: all)
set -xe
if (( $# != 4 )); then
echo "Usage: $0 <email> <family_name> <given_name> <group_name>"
@kenzauros
kenzauros / gzip.ts
Created March 6, 2023 00:41
gzip compress/decompress (base64 encoded)
import { Buffer } from "buffer";
import zlib from "zlib";
export function gzip(str: string) {
return zlib.gzipSync(encodeURIComponent(str)).toString("base64");
}
export function unzip(value: string) {
return decodeURIComponent(zlib.unzipSync(Buffer.from(value, "base64")).toString());
}
@kenzauros
kenzauros / aws-mfa.sh
Last active October 28, 2022 02:57
AWS CLI MFA
#!/bin/bash
CACHE_FILE=~/.aws/aws-mfa-cache
OTHER="other"
function input_account () {
read -p "Account ID? " AWS_ACCOUNT_ID
read -p "Username? " AWS_USERNAME
read -p "Profile? " AWS_PROFILE
}
@kenzauros
kenzauros / index.js
Created January 18, 2020 04:12
GitHub API で特定の user/organization のすべてのリポジトリ情報を取得する
const GITHUB_API_URL = 'https://api.github.com';
const GITHUB_TOKEN = '<GitHub API Token>';
// Prepare axios for GitHub API
const axiosBase = require('axios');
const github = axiosBase.create({
baseURL: GITHUB_API_URL,
headers: {
'Content-Type': 'application/json',
'Authorization': `token ${GITHUB_TOKEN}`,
@kenzauros
kenzauros / index.js
Created September 19, 2018 13:14
Slack の Slash Command から AWS の EC2 と RDS の起動と停止を実行する Lambda 関数
'use strict';
const AWS = require('aws-sdk');
// EC2 インスタンスを起動する
function startEC2Instance(region, instanceId) {
const ec2 = new AWS.EC2({ region: region });
const params = {
InstanceIds: [instanceId],
DryRun: false,
@kenzauros
kenzauros / GetSHA256HashedString_net5.cs
Last active May 30, 2022 02:45
C# で SHA256 のハッシュ文字列を得る
// .NET 5 まで
using System.Linq;
using System.Security.Cryptography;
using System.Text;
public static class StringExtensions
{
static readonly SHA256CryptoServiceProvider hashProvider = new SHA256CryptoServiceProvider();
public static string GetSHA256HashedString(this string value)
=> string.Join("", hashProvider.ComputeHash(Encoding.UTF8.GetBytes(value)).Select(x => $"{x:x2}"));
@kenzauros
kenzauros / change-case.ps1
Created May 12, 2022 01:40
PowerShellでパスカルケース・ケバブケースの変換
function ConvertToPascalCase([Parameter(ValueFromPipeline)] [string] $text) {
($text -split '-' | ForEach-Object {
"$($_.ToCharArray()[0].ToString().ToUpper())$($_.Substring(1))" }) -join ''
}
function ConvertToKebabCase([Parameter(ValueFromPipeline)] [string] $text) {
([regex]"^-*").Replace(([regex]"[A-Z]").Replace($text, { "-" + $args[0].Groups[0].Value.ToLower() }), "")
}
@kenzauros
kenzauros / join-sql.ps1
Last active February 14, 2022 02:40
ディレクトリ内の SQL ファイルを結合する PowerShell スクリプト (SQL Server 用)
Param(
[parameter(mandatory)][String]$outputFile
)
$divider="-- $("=" * 100)"
$files = Get-ChildItem .\*.* -Include *.sql -Exclude $outputFile
if (Test-Path $outputFile) { Clear-Content $outputFile }
function output {
process {
Out-File -Encoding UTF8 -FilePath $outputFile -Append -InputObject $PSItem
@kenzauros
kenzauros / FilterableDropdown.vue
Created July 21, 2018 12:54
Filterable Dropdown with Vue.js
<template>
<div ref="wrapper" class="fd__wrapper">
<input type="hidden" :name="name" :value="value">
<input ref="textBox" type="text" class="fd__display-textbox" :disabled="disabled"
:value="displayText" :placeholder="placeholder" readonly="readonly" @click="textBoxClicked">
<div class="fd__list" v-show="showList">
<div class="fd__filter-input">
<input ref="filterTextBox" type="text" class="fd__filter-textbox" placeholder="Filter..." v-model="filterString">
</div>
<ul>