Skip to content

Instantly share code, notes, and snippets.

View wreulicke's full-sized avatar
💭
I may be slow to respond.

wreulicke wreulicke

💭
I may be slow to respond.
View GitHub Profile
@wreulicke
wreulicke / README.md
Last active September 22, 2020 15:30
Domain-Oriented Observability

https://www.martinfowler.com/articles/domain-oriented-observability.html の和訳

Domain-Oriented Observability(ドメイン指向のObservability)

Observability は我々のソフトウェアシステムでは常に価値があり、クラウドやマイクロサービスにおいても以前そうです。 しかしながら、システムに追加するObservabilityは本質的に少々低レベルで技術的になりがちで、 多くの場合、様々なロギングやInstrumentation(ここではメトリクスの計測コード)や分析フレームワークへの複雑で冗長な呼び出しを コードベースに散らかす必要があるようです。 この記事では、この混乱を一掃し、ビジネスに関連するObservabilityをクリーンでテスト可能な方法で実現します。

@wreulicke
wreulicke / README.md
Last active August 29, 2019 08:29
GolangでLambda with API Gatewayする場合
  • 簡単にエンドポイントはやしたい場合はこれ。github.com/aws/aws-lambda-go/events
  • http.NewServeMuxからhttp.HandlerFuncを導く方法
  • handler := mux.ServeHTTP する
@wreulicke
wreulicke / いい感じのテスト_案1.java
Last active August 29, 2019 06:41
こんな感じで動いてほしい
@SpringBootTest
public class いい感じのテスト_案1 {
@TestConfiguration
public static Config {
@Bean
@ConfigurationProperties
ConfigProps configProps() {...}
@wreulicke
wreulicke / cdk.ts
Created August 22, 2019 15:05
CDKでAPI Gateway経由でlambdaを叩けるようにするやつ
#!/usr/bin/env node
import 'source-map-support/register';
import {App, Stack} from '@aws-cdk/core';
import {Runtime, Code, Function} from "@aws-cdk/aws-lambda"
import {ApiEventSource} from "@aws-cdk/aws-lambda-event-sources"
const app = new App();
const stack = new Stack(app, "example-stack")
@wreulicke
wreulicke / README.md
Last active September 17, 2020 15:48
Microservices: Client Side Load Balancing の和訳

この和訳メモは以下のリンク先の記事の和訳です。

マイクロサービス: クライアントサイドロードバランシング

プロダクションでのフェイルセーフ性を確保するために、同じアプリケーションを複数のインスタンスにデプロイします。 同じアプリケーションをホストする論理的なサーバ(ノード)のグループは Application Clusterを構成します。

伝統的なアプローチ

@wreulicke
wreulicke / README.md
Created June 18, 2019 10:17
JUnit 5 でどこが変わったのか

JUnit 5 でどこが変わったのか

JUnit5 でどこが変わったのか、今いるチームの開発メンバや、JUnit5ざっくり知りたい人向けに書いておきます。 この記事では以下の内容について書いていきます。

  • なぜ移行するか
  • どこが変わったか
  • まとめ

なぜ移行するのか

@wreulicke
wreulicke / README.md
Last active June 10, 2019 11:47
JUnit5に移行する

JUnit5(junit-jupiter)に移行する

Gradle

testの設定で junit platformを使うように書き換える。 engineを書き換えるなどはお好きなように。

package com.github.wreulicke.resillient;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.time.Duration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.nio.channels.*;
import java.nio.file.*;
import java.io.*;
public class Test2 {
public static void main() {
try (FileChannel fc = FileChannel.open(Paths.get("Test.java"))) {
fc.size();
} catch(IOException e) {}
$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

$ javap -p -v Test.class
Classfile /Users/saito.masaya/repo/spotbugs/Test.class
  Last modified 2019/05/01; size 458 bytes