Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:

Kenji YAMADA kenzauros

:octocat:
View GitHub Profile
@kenzauros
kenzauros / change-case.ps1
Created May 12, 2022
PowerShellでパスカルケース・ケバブケースの変換
View change-case.ps1
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 Feb 14, 2022
ディレクトリ内の SQL ファイルを結合する PowerShell スクリプト (SQL Server 用)
View join-sql.ps1
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 Oct 29, 2021
AWS CLI MFA
View aws-mfa.sh
#!/bin/bash
CACHE_FILE=~/.aws/aws-mfa-cache
if [ -e $CACHE_FILE ]; then
source $CACHE_FILE
fi
if [ -z $AWS_ACCOUNT_ID ]; then
read -p "Account ID? " AWS_ACCOUNT_ID
@kenzauros
kenzauros / index.js
Created Jan 18, 2020
GitHub API で特定の user/organization のすべてのリポジトリ情報を取得する
View index.js
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 Mar 23, 2019
C# で書き込みモードで開かれたファイルを読み取る ReadLines メソッド
View TextFile.cs
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
C# で SHA256 のハッシュ文字列を得る
View GetSHA256HashedString_net5.cs
// .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 Jan 24, 2019
DotNetEnv を使った .NET アプリでの環境変数管理用ヘルパークラス
View Env.cs
using System.Runtime.CompilerServices;
/// <summary>
/// 環境変数を管理します。
/// </summary>
public static class Env
{
/// <summary>
/// デフォルトの .env ファイルのファイル名
/// </summary>
@kenzauros
kenzauros / LocalizedPropertyGridAttributes.cs
Last active Sep 24, 2018
Extended WPF Toolkit PropertyGrid ローカライズ (国際化/多言語対応)
View LocalizedPropertyGridAttributes.cs
using System.ComponentModel;
using Xceed.Wpf.Toolkit.PropertyGrid.Attributes;
namespace YourApplication
{
internal class LocalizedCategoryAttribute : CategoryAttribute
{
public LocalizedCategoryAttribute(string resourceKey)
: base(LocalizedResources.GetString(resourceKey)) { }
}
@kenzauros
kenzauros / index.js
Created Sep 19, 2018
Slack の Slash Command から AWS の EC2 と RDS の起動と停止を実行する Lambda 関数
View index.js
'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 / GenerateRandomPassword.cs
Created Aug 6, 2018
C# 任意の文字種を使ったランダムパスワードをつくるスタティックメソッド
View GenerateRandomPassword.cs
const string PWS_CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
/// <summary>
/// 指定した長さの文字からなるランダムなパスワードを返します。
/// </summary>
/// <param name="length">生成するパスワードの長さ</param>
/// <param name="availableChars">使用可能な文字の一覧</param>
/// <returns>生成されたパスワード</returns>
public static string GenerateRandomPassword(int length, string availableChars = PWS_CHARS)
{
if (string.IsNullOrEmpty(availableChars)) availableChars = PWS_CHARS;