Skip to content

Instantly share code, notes, and snippets.

@mizuneko
mizuneko / Program.cs
Last active September 21, 2019 08:28
[日本の祝日取得]内閣府のURLから取得した日本の祝日をDictionaryに格納します
static readonly string URL = @"http://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv";
public Dictionary<DateTime, string> GetHolidays()
{
var str = DownloadHolidaysStr(URL);
var dic = new Dictionary<DateTime, string>();
// 行区切りが改行のため、改行毎に分割
string[] rows = str.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
// 考え得るフォーマットで変換できるようにしておく
@mizuneko
mizuneko / psmore.ps1
Last active August 31, 2019 11:08
more のレスポンス改善
function psmore
{
begin
{
$scriptCmd = { Out-Host -Paging }
$steppablePipeline = $scriptCmd.GetSteppablePipeline()
$steppablePipeline.Begin($true)
}
process
@mizuneko
mizuneko / 不足INDEX調査.sql
Last active September 16, 2020 04:57
[不足しているINDEX調査] SQLServerが起動してから、運用している間に不足していると判断されたINDEXを取得します。#SQLServer
-- 不足しているINDEXを調査します。
-- SQLServerが起動してから、運用している間に不足していると判断されたINDEXです。
-- INDEXを追加する場合は、挿入、更新、削除のクエリで処理速度が悪化するため
-- システム全体の影響を確認した上で採用するか判断してください。
SELECT user_seeks * avg_total_user_cost * (avg_user_impact * 0.01) AS index_advantage,
migs.last_user_seek AS [前回のseek日時],
mid.statement AS [テーブル名],
migs.unique_compiles,
migs.user_seeks,
migs.avg_total_user_cost AS [平均コスト],
@mizuneko
mizuneko / config.py
Created April 7, 2019 08:02
[keyhac] SandSとかhjklでのカーソル移動とか
import sys
import os
import datetime
import pyauto
from keyhac import *
# 追加モジュール
import time
import re
@mizuneko
mizuneko / Config.cs
Created February 17, 2019 19:46
[MailKitでメール送受信] #MailKit #Newtonsoft.Json
namespace EmailNet
{
public class Config
{
public EmailConfiguration EmailConfiguration{ get; set; }
public EmailMessage EmailMessage{ get; set; }
public EmailAddress EmailAddress { get; set; }
}
}
@mizuneko
mizuneko / ExistsRecordTables.sql
Created January 30, 2019 00:20
[データが存在するテーブルを取得] テーブル名とレコード数を取得 #SQLServer
SELECT [テーブル名] = o.name,
[レコード数] = i.rows
FROM sysindexes i
INNER JOIN
sysobjects o
ON o.id = i.id
WHERE o.xtype = 'U'
AND i.indid < 2
AND i.rows > 0
@mizuneko
mizuneko / Function.cs
Last active November 18, 2018 07:55
[13桁のJANチェックデジット]
/// <summary>
/// JANコードの13桁タイプのチェックデジットを算出
/// </summary>
/// <param name="code">JANコード</param>
/// <returns></returns>
private int calcJAN13CheckDigit(string code)
{
if (!Regex.IsMatch(code, @"^[0-9]{12,13}$"))
{
throw new Exception("対象のJANコードが数字12桁または数字13桁になっていません。");
@mizuneko
mizuneko / IDictionaryExtensions.cs
Created November 10, 2018 03:46
[Dictionaryのマージ]重複していたらどちらを採用するのか引数で渡してマージ
static public IDictionary<TKey, TValue> Marge<TKey, TValue>(
this IDictionary<TKey, TValue> first, IDictionary<TKey, TValue> second,
Func<TKey, TValue, TValue, TValue> valueSelector = null)
{
if (valueSelector == null) valueSelector = (key, firVal, secVal) => firVal; //判定条件を省略するとfirst優先
return first.Concat(second)
.GroupBy(pair => pair.Key,
(key, pairs) =>
pairs.Count == 1 ? pairs.First() //重複なし
: new KeyValuePair<TKey, TValue>(key, valueSelector(key, pairs.First().Value, pairs.Last().Value))
@mizuneko
mizuneko / checkCharType.js
Created September 26, 2018 07:50
[全角半角チェック] 「^\x01-\x7E」は1バイト文字でないもの。これだと半角カナもマッチするため半角カナの文字コード範囲「\xA1-\xDF」も指定。
/*******************************************************************************
文字列の全角/半角チェック
@param input String チェック対象文字列
@param charType String チェック種別
・"zenkaku" : 全角文字(ひらがな・カタカナ・漢字 etc.)
・"hiragana" : 全角ひらがな
・"katakana" : 全角カタカナ
・"alphanumeric" : 半角英数字(大文字・小文字)
・"numeric" : 半角数字
・"alphabetic" : 半角英字(大文字・小文字)
@mizuneko
mizuneko / Program.cs
Last active September 24, 2018 09:16
[ClosedXMLでExcel帳票] Excelで帳票のテンプレートを作成しておくことで、Excel帳票を作成します。ヘッダやフッタはExcelに記載した${templatename}の箇所を置換し、明細は特定場所から行をコピーしながら貼り付けしています。 #ClosedXML
using ClosedXML.Excel;
using System.Data;
using System.IO;
namespace ExcelReport
{
public class Program
{
static readonly int firstDtilRow = 16;