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 / 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 / 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 / TextFile.cs
Last active March 23, 2019 05:55
C# で書き込みモードで開かれたファイルを読み取る ReadLines メソッド
using System.Collections.Generic;
using System.IO;
using System.Text;
/// <summary>
/// Provides iterators to read lines in a file.
/// </summary>
public static class TextFile
{
/// <summary>
@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 / Env.cs
Last active January 24, 2019 01:19
DotNetEnv を使った .NET アプリでの環境変数管理用ヘルパークラス
using System.Runtime.CompilerServices;
/// <summary>
/// 環境変数を管理します。
/// </summary>
public static class Env
{
/// <summary>
/// デフォルトの .env ファイルのファイル名
/// </summary>