Skip to content

Instantly share code, notes, and snippets.

View aliihsansepar's full-sized avatar
👨‍💻

Ali İhsan Şepar aliihsansepar

👨‍💻
View GitHub Profile
<?php
namespace Kolay\Time\Services\TimeZone;
use DateTimeZone;
class TimeZoneService
{
/**
* Get all available timezones with their offsets
type Request any
type Response any
type HandlerInterface[Req Request, Res Response] interface {
Handle(ctx context.Context, req *Req) (*Res, error)
}
func handle[Req Request, Res Response](handler HandlerInterface[Req, Res]) fiber.Handler {
return func(c *fiber.Ctx) error {
var req Req
@aliihsansepar
aliihsansepar / gist:4c603b12e4e68e0e6c032b5dbf66d8e9
Created February 19, 2025 09:09
Prod ready Golang image for minimize size
FROM golang:1.23.0-bookworm AS build
ARG upx_version=4.2.4
RUN apt-get update && apt-get install -y --no-install-recommends xz-utils && \
curl -Ls https://github.com/upx/upx/releases/download/v${upx_version}/upx-${upx_version}-amd64_linux.tar.xz -o - | tar xvJf - -C /tmp && \
cp /tmp/upx-${upx_version}-amd64_linux/upx /usr/local/bin/ && \
chmod +x /usr/local/bin/upx && \
apt-get remove -y xz-utils && \
rm -rf /var/lib/apt/lists/*