Skip to content

Instantly share code, notes, and snippets.

View wipiano's full-sized avatar
🏠
Working from home

Kohei Hakoishi wipiano

🏠
Working from home
View GitHub Profile
@wipiano
wipiano / Program.cs
Created January 24, 2020 06:33
Task.WhenAll() が例外を throw しない (.NET Core SDK 3.1.101. windows 10)
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static async Task Main(string[] args)
{
@wipiano
wipiano / ByteArrayExtensions.cs
Created September 25, 2019 12:53
Span での文字列操作
using System;
namespace IMC.Util
{
public static class ByteArrayExtensions
{
/// <summary>
/// 16 進数の文字列に変換します
/// </summary>
public static string ToHexString(this byte[] source, bool upperCase = false)
@wipiano
wipiano / index.js
Created May 15, 2019 03:39
lambda @edge redirect sample
exports.handler = (event, context, callback) => {
const response = {
status: '302',
statusDescription: 'Found',
headers: {
location: [{
key: 'Location',
value: '{url}',
}],
},
@wipiano
wipiano / file0.cs
Last active March 8, 2018 13:10
LINQ で指定したキーだけ使って Distinct, Except とかする ref: https://qiita.com/wipiano/items/4437e80dc99a30f303f0
public class MyClass
{
public int Id { get; set; }
public double Value { get; set; }
}
@wipiano
wipiano / CsvFormatter.cs
Last active February 15, 2018 10:22
convert object to csv
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace ObjectToCsv
{
internal class Program
{
public static void Main(string[] args)
@wipiano
wipiano / EnumerableExtensions.cs
Created February 2, 2018 08:44
LINQ の拡張メソッド群
public static class LinqExtensions
{
// KeySelector を指定して distinct
public static IEnumerable<T> Distinct<T, TKey>(this IEnumerable<T> source, Func<T, TKey> keySelector)
{
IEnumerable<T> Enumerate()
{
var set = new HashSet<TKey>();
foreach (var elem in source)
{
@wipiano
wipiano / Add.cs
Last active October 8, 2017 15:42
MSTest で TestCaseSource を型付きで書く ref: http://qiita.com/wipiano/items/a5a47811a85bbbf382cc
public static int Add(int x, int y)
{
return x + y;
}
public static class NameValueCollectionExtensions
{
public static IEnumerable<KeyValuePair<string, IEnumerable<string>>> AsEnumerable(this NameValueCollection that)
{
return that.AllKeys
.Select(key => new KeyValuePair<string, IEnumerable<string>>(key, that.GetValues(key)));
}
public static IEnumerable<KeyValuePair<string, string>> AsFlattenEnumerable(this NameValueCollection that)
{
@wipiano
wipiano / Person.cs
Last active October 7, 2017 15:36
C# で かんたんな builder ref: http://qiita.com/wipiano/items/b2690d9084ea1ea6c98f
namespace BuilderSample
{
/// <summary>
/// immutable な Person class
/// </summary>
public class Person
{
public string Name { get; }
public int Age { get; }
@wipiano
wipiano / .vimrc
Last active September 16, 2017 16:14
.vimrc
" http://qiita.com/mfujimori/items/9fd41bcd8d1ce9170301
" setting
"文字コードをUFT-8に設定
set fenc=utf-8
" バックアップファイルを作らない
set nobackup
" スワップファイルを作らない
set noswapfile
" 編集中のファイルが変更されたら自動で読み直す
set autoread