Skip to content

Instantly share code, notes, and snippets.

@m-wrona
m-wrona / cli.go
Created September 16, 2022 07:18
Golang - using docker CLI without OS dependencies
package docker
import (
"os"
"github.com/docker/cli/cli-plugins/plugin"
"github.com/pkg/errors"
"github.com/docker/compose/v2/cmd/compatibility"
@m-wrona
m-wrona / k8s-nginx-deployment.yml
Created November 15, 2018 12:14
Nginx deployment for Kubernetes with Prometheus monitoring
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx
namespace: default
data:
nginx.conf: |
worker_processes auto;
events {
@m-wrona
m-wrona / InfiniteRecyclerOnScrollListener.kt
Last active February 12, 2017 05:22
Infinite scroll for Android recycler view
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import rx.Observable
import rx.Subscriber
/**
* Create infinite on scroll listener
*
* @param linearLayoutManager layout manager to be able to say when next loading is needed
* @return observeable to inform about needed next page loading
@m-wrona
m-wrona / Tracer.java
Created June 15, 2016 10:13
Java - Tracer for log
import com.google.common.base.Joiner;
import org.apache.log4j.Logger;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/**
* Wrapper for logging library to simplify and speed-up logging activities;
@m-wrona
m-wrona / SoapUtils.java
Last active June 15, 2016 09:50
Spring Web service - attaching header to SOAP req
import org.springframework.ws.client.core.WebServiceMessageCallback;
import org.springframework.ws.soap.SoapHeader;
import org.springframework.ws.soap.SoapMessage;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import static com.mwronski.log.Tracer.tracer;
@m-wrona
m-wrona / PreemptiveAuth.java
Last active November 9, 2020 08:40
WebService - Preemptive auth
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ws.client.WebServiceClientException;
import org.springframework.ws.client.support.interceptor.ClientInterceptor;
import org.springframework.ws.context.MessageContext;
import org.springframework.ws.transport.WebServiceConnection;
import org.springframework.ws.transport.context.TransportContext;
import org.springframework.ws.transport.context.TransportContextHolder;
import org.springframework.ws.transport.http.HttpUrlConnection;
@m-wrona
m-wrona / start.sh
Created June 7, 2016 06:34
DevOps - start/stop JAR scripts
#!/bin/sh
java -jar {{ upload_dir }}/{{ full_jar_name }} {{ pkg_params }} --spring.config.location={{ upload_dir }}/{{ pkg_name }}.properties --logging.config={{ upload_dir }}/logback.xml &
PID=$!
echo $PID > {{ run_dir }}/{{ pkg_name }}.pid
exit 0
@m-wrona
m-wrona / BuildSettings.scala
Last active October 28, 2015 12:59
[Scala] AOP merge strategy for assembly builds
object BuildSettings {
private def assemblySettings = Seq(
test in assembly := {},
assemblyMergeStrategy in assembly := {
case "META-INF/aop.xml" => aopMerge
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
@m-wrona
m-wrona / HealthStatus.scala
Created September 9, 2015 07:08
[Akka] Service health-check
import akka.actor.{ ActorSystem, Props }
import akka.io.IO
import com.typesafe.config.Config
import com.typesafe.scalalogging.LazyLogging
import spray.can.Http
sealed class HealthStatusService(actorNames: List[String], webConfig: Config)(implicit system: ActorSystem) extends LazyLogging {
private[status] val healthCheckPath: String = webConfig.getString("status-path")
private[status] val timeoutDuration: Int = webConfig.getInt("timeout")