Skip to content

Instantly share code, notes, and snippets.

@gimlet2
gimlet2 / decorator_example.py
Created January 24, 2021 16:51
How to use decorators in Python
import functools
def hello(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print("Hello")
return func(*args, **kwargs)
return wrapper
@hello
@gimlet2
gimlet2 / TypeClasses.kt
Created May 9, 2019 12:40
KEEP-87 example
package main
fun main(args: Array<String>) {
val service = Service()
service.save(3, "Some value")
val value: String = service.find(3)
println(value)
}
object A {
override fun equals(other: Any?): Boolean {
if (other is B) return true
return super.equals(other)
}
}
object B
fun check() {
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay
stages:
- build
- package
@gimlet2
gimlet2 / Dockerfile
Last active February 12, 2019 22:38
FROM debian:9-slim AS builder
RUN set -ex && \
apt-get update && apt-get install -y wget unzip && \
wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -nv -O jdk.tar.gz -nv && \
mkdir -p /opt/jdk && \
tar zxvf jdk.tar.gz -C /opt/jdk --strip-components=1 && \
rm jdk.tar.gz && \
rm /opt/jdk/lib/src.zip
#!/bin/bash
check_var(){
if [ -z "$1" ]; then
>&2 echo "error: missing environmental variable $2. exit"
exit 1
fi
}
check_var "${JAVA_XMS}" "JAVA_XMS"
import pebble.*
fun main(args: Array<String>) {
card("Title", "Hello world!").show()
}
@app.route('/stats', methods=['GET'])
def metrics():
registry = CollectorRegistry()
multiprocess.MultiProcessCollector(registry)
return generate_latest(registry), 200
def worker_exit(server, worker):
from prometheus_client import multiprocess
multiprocess.mark_process_dead(worker.pid)
@app.route('/stats', methods=['GET'])
def metrics():
return generate_latest(registry), 200