Skip to content

Instantly share code, notes, and snippets.

@Gab-km
Gab-km / github-flow.ja.md
Last active April 25, 2024 04:01 — forked from juno/github-flow.ja.md
GitHub Flow (Japanese translation)
@Gab-km
Gab-km / smugnessProblem.rst
Created April 19, 2012 08:01
コードウォッチ:関数型プログラミングの自惚れ問題

コードウォッチ:関数型プログラミングの自惚れ問題

原文

http://www.sdtimes.com/link/36534

著者

Larry O'Brien

僕は関数型プログラミングが好きだ。次の10年にかけてコードの革命を起こしていくだろうと考えている:言語はより関数型の機能を採用していくだろうし、開発者はより関数型の技術を導入していくだろうし、いくつかの点では、関数型プログラミングの原則はコードを組み立てていく上で「自然で」もっとも明確なやり方だとみんな考えるようになっていくだろう。

だけど、僕はもうこのシナリオを本気にしちゃいない。関数型プログラミングは、ワクワクするものを学ぶことに興味があると言っている主流のプログラマにとって明白な、大きな問題を抱えている:関数型プログラマーは自惚れ野郎どもだってことだ。

@Gab-km
Gab-km / whyILeftHeroku.rst
Last active December 30, 2022 10:56
何故私は Heroku から離れたか、および新しい AWS セットアップのメモ

何故私は Heroku から離れたか、および新しい AWS セットアップのメモ

原著者

Adrian Holovaty

原文

Why I left Heroku, and notes on my new AWS setup

金曜日、私は Heroku から Amazon Web Services(AWS) を直接使うように Soundslice を移行しました。私はこの変更ができてとても、そうとても嬉しくて、私がどうやったかということと、もし皆さんが同じような立場だったら何故それを検討すべきかということについて広く伝えたいと思います。

namespace FSharp.Monad
type CoYoneda<'U> =
abstract Run: obj -> 'U
type CoYoneda<'F, 'A>(fi: 'F, k: CoYoneda<'A>) = class end
module CoYoneda =
let apply fa k =
@Gab-km
Gab-km / Robustness_principle_JP.md
Last active February 22, 2021 10:58
堅牢性原則

堅牢性原則

original: Robustness principle

コンピューティングの世界において、堅牢性原則はソフトウェア設計のガイドラインである:

あなたが為すべきことには保守的であれ、あなたが他から受け入れることには寛容であれ(しばしば「あなたが送るものには保守的であれ、あなたが受け取るものには寛容であれ」と言い換えられる)

この原則は、TCPの初期の仕様を執筆したジョン・ポステルに因んで、ポステルの法則としても知られている:

@Gab-km
Gab-km / main.rs
Created August 13, 2020 12:48
OrbTkの使い方(修正版)
use orbtk::prelude::*;
use std::cell::Cell;
// `Rust のマルチプラットフォーム UI ライブラリ OrbTk の使い方 - A Memorandum<https://blog1.mammb.com/entry/2019/12/16/090000>`
// で紹介されている、Rust用クロスプラットフォームUIツールキット `OrbTk<https://github.com/redox-os/orbtk>`
// が興味深かったので写経したところ、上記記事では OrbTk のバージョンは 0.3.1-alpha1 でしたが、
// 現時点(2020/08/13)では v0.3.1-alpha4 まで上がっており、そのまま書くだけでは動かないところが
// あったので、「イベント処理」のサンプルに v0.3.1-alpha4 なりの修正を入れて書き直してみました。
static ID_INPUT: &'static str = "input";
@Gab-km
Gab-km / obsolete.py
Last active July 31, 2017 04:12
C# の Obsolete 属性を Python に持ち込んでみた。
def obsolete(message=None, deprecated=False):
"""今後使用しない関数やメソッドにマークを付けます。
@message 警告に表示するテキスト
@deprecated すでに非推奨の場合、True
今後非推奨になる予定の場合、False
@see http://msdn.microsoft.com/ja-jp/library/system.obsoleteattribute.aspx
"""
def outer(fn):
import warnings
def inner(*args, **kwargs):
@Gab-km
Gab-km / Get-FilesRecursively.ps1
Created January 19, 2017 14:21
再帰的にファイルのフルパス、サイズ、更新日時を表示するスクリプト
Get-ChildItem -Recurse | where { $_.Directory } | %{ [System.String]::Format("{0}`t{1}`t{2}", $_.FullName, $_.Length, $_.LastWriteTime) } | %{ Write-Output $_ }
@Gab-km
Gab-km / eightQuestions.rst
Last active November 10, 2016 13:55
8つの質問で、F#業界の現状を知る ビッグウェーブに乗り遅れた感は否めない。でも、負けない。

8つの質問で、F#業界の現状を知る

Webサービス系の隆盛などどこ吹く風、F# 2.0のリリースが騒がれたのが2年前ぐらいだろうか。F#業界の人材動向が、今どうなってるかって?

大方の予想通り凄惨ですよ。

それが分かる方法がある。F#技術者に技術力を問う8つの質問によってだ。F#業界のエンジニアの平均レベルを知りたくって、いろんな会社さんのF#開発者(経験者)向けに以下のような8つの質問をしたことはない(してはみたい)。対象者としては、F#経験3から4年の現役バリバリのはずのF#エンジニアだ。

@Gab-km
Gab-km / exceptionalParameterizedTest.fs
Last active April 27, 2016 05:29
例外が起こるかもしれないparameterizeなテスト
let catch (expr: Lazy<'T>) =
try
Choice2Of2(expr.Force())
with
| ex -> Choice1Of2(ex)
let parameterizedTest(input, expected) = test {
let actual = catch (Lazy.Create <| fun () -> fut input)
match (expected, actual) with
| (Choice1Of2 ex, Choice1Of2 ex') ->