Skip to content

Instantly share code, notes, and snippets.

View komuro-hiraku's full-sized avatar
sapporo

komuro.hiraku komuro-hiraku

sapporo
  • Sapporo, Hokkaido
View GitHub Profile
@taichi
taichi / log.md
Last active December 15, 2021 02:12
ログ、その時の為に。
@raae
raae / main.js
Last active August 29, 2015 13:59
Moment Timzone Support in Parse.com Cloud
// Read full blogpost explaining this at http://labs.lillyapps.no/2014/04/12/handle-timezones-parse-com
var moment = require('cloud/moment-timezone.js');
moment.tz.add(require('cloud/moment-timezone-data.js'));
Parse.Cloud.define("momentTest", function (request, response)
{
var osloSummerTime = moment.tz('2014-04-12 11:55', 'Europe/Oslo');
var osloWinterTime = moment.tz('2013-11-18 11:55', 'Europe/Oslo');
@gakuzzzz
gakuzzzz / gist:8d497609012863b3ea50
Last active January 12, 2021 12:50
Scalaz勉強会 主要な型クラスの紹介
@gakuzzzz
gakuzzzz / 0_readme.md
Last active September 25, 2023 06:40
MapStreamSyntax

Java8 の Stream で Map を操作するサポート作った

MapStreamSyntax というクラスで基本的に static import して使います。

具体例を見てもらえばどの辺が便利なのか伝わるでしょうか?

Case.1

// JDK標準APIのみ
public Map<Integer, String> Case1_Before(final Map<Integer, String> map) {
@gakuzzzz
gakuzzzz / 0_readme.md
Last active February 26, 2021 11:20
Java Stream API で foldLeft/foldRight

Java8以降の Stream API で畳み込みを行いたい場合は Stream#reduceCollectors.reducing を使用します。

しかし、Stream API は基本的に parallel で動作する事を考慮に入れる必要があるため、Stream#reduce および Collectors.reducing には強い制約があります。 つまり、初期値は必ず単位元である必要があり、演算は結合則を満たす必要があります。

試しにその制約を満たしていない引数を渡すと、結果が定まらない事が見て取れます。 例えば 50 という初期値から 1~100 までの数値を順番に引いていくと -5000 になるはずです。

IntStream.rangeClosed(1, 100).boxed().parallel().reduce(50, (a, b) -&gt; a - b, (a, b) -&gt; a + b); // -3250 になる
@wreulicke
wreulicke / README.md
Last active October 8, 2023 13:28
Optimal Loggingの和訳

Optimal Logging

あなたのシステムで、失敗の根本的な原因を探すのにどのくらい時間がかかりますか?5分?5日? もし、5分近くで答えられたなら、あなたのプロダクションシステムやテストは素晴らしいロギングを持っていることでしょう。 多くの場合、ロギングや例外ハンドリングや(あえて言いますが)テストなどの一見、本質的ではない機能は実装の後に行われます。 例外ハンドリングやテストと同様に、あなたのシステムやテストの両方にロギングの戦略が本当に必要です。 ロギングの力を過小評価しないでください。最適なロギングは、デバッガの必要性を排除することさえできます。

@niku
niku / index.md
Last active November 11, 2019 09:12
ふつうのプログラマたちはいいチームを作り維持することができるか

ふつうのプログラマたちはいいチームを作り維持することができるか

私たちをとりまいていた状況

組織

@mattn
mattn / README.md
Last active February 8, 2024 04:58
blacklist/whitelist master/slave に関する情報集め

blacklist/whitelist master/slave に関する情報集め

blacklist/whitelist、master/slave という単語は相応しくないという意見に OSS がどの様に対応すべきかを自身で考える為の情報集めです。見つけ次第、逐次更新していきます。

僕(mattn) 自身は black lives matter に同意をしています。blacklist/whitelist、master/slave という単語を廃止する事が、歴史的背景を持たない文化圏では特定の意味を持たなかった為、個人的には若干思う所はありますが、廃止自身に反対するつもりはありません。

昔から、主副を表す物には master/slave という単語が使われてきました。ハードディスクの IDE、仮想端末(pty)、色々あります。またネットワークの IP フィルタリングに関しては blacklist/whitelist と表記した物が今でも沢山あります。

我々日本人が意識せずに使っていた blacklist/whitelist、master/slave という単語が、人々にどの様に影響しうるのか、今後 OSS としてどの様に関わっていけば良いかを理解する上で、自分なりの情報集めをしたいと思っています。