Skip to content

Instantly share code, notes, and snippets.

@zdunecki
zdunecki / docker-compose.tests.yaml
Last active January 27, 2019 21:41
Go and Docker Compose
version: '3'
services:
tests_app:
build: .
volumes:
- ./:/go/src/my_app
working_dir: /go/src/my_app/tests
entrypoint: go test
debug_tests_app:
build: .
@zdunecki
zdunecki / docker-compose.yaml
Last active January 27, 2019 21:41
Go and Docker Compose
version: '3'
services:
app:
build: .
restart: on-failure
volumes:
- .:/go/src/my_app
entrypoint: dlv debug --headless --listen=:2345 --api-version=2
ports:
- "your_app_outside_container_port:your_app_inside_container_port"
@zdunecki
zdunecki / Makefile
Last active January 27, 2019 23:07
Go Docker Compose Makefile
up_local:
docker-compose up
restart_local:
docker-compose restart app
clear_tests:
docker-compose -f docker-compose.tests.yml rm -v -f
tests:
docker-compose -f docker-compose.tests.yml rm -v -f
docker-compose -f docker-compose.tests.yml up --exit-code-from tests_app
docker-compose -f docker-compose.tests.yml rm -v -f
package main
import (
"context"
"encoding/json"
"fmt"
"time"
"github.com/gomodule/redigo/redis"
)
@zdunecki
zdunecki / delete_custom_metrics.go
Last active September 28, 2020 13:58
script to delete all custom metrics from a stackdriver account
package main
import (
monitoring "cloud.google.com/go/monitoring/apiv3/v2"
"context"
"google.golang.org/api/iterator"
monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3"
"log"
)
@zdunecki
zdunecki / gqlgen_json_snakecase_plugin.go
Created February 22, 2021 21:29
Plugin for gqlgen to make json tags as snakecase
package main
import (
"fmt"
"github.com/99designs/gqlgen/api"
"github.com/99designs/gqlgen/codegen/config"
"github.com/99designs/gqlgen/plugin/modelgen"
"os"
"regexp"
"strings"
@zdunecki
zdunecki / testing_dsl_ql_concept.txt
Last active September 14, 2021 10:03
Testing DSL/QL concept
seed().
upgrade().
createWebsites(createWebsitesP{blocked: true}).
goFreemium().
freemiumTask(freemiumTaskP{mockTime: true}).
checkBlockedWebsites(checkBlockedWebsitesP{expect: []})
stateMachine := []interface{
{Name: "upgrade", Src: []string{"trial"}, Dst: "has_plan"},
{Name: "goFreemium", Src: []string{"has_plan"}, Dst: "has_freemium", MiddleState: "upgrade"},
@zdunecki
zdunecki / stream_blob_from_url_to_api.js
Created December 10, 2021 12:34
Send stream from blob URL to API - WIP
const url = "api.example.com/images";
fetch("https://blob:example.com")
.then((response) => response.body)
.then((rb) => {
const reader = rb.getReader();
return new ReadableStream({
start(controller) {
// The following function handles each data chunk
@zdunecki
zdunecki / main_test.go
Last active December 12, 2021 22:10
Example persistence tests for Golang - Blog post
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/google/go-cmp/cmp"
"github.com/ory/dockertest/v3"
"testing"
)
function helloWorld() {
console.log("Hello World")
}
helloWorld()