java
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;

import java.math.BigDecimal;

Deserialize Polymorphic JSON into a Sealed Interface Hierarchy with Jackson

jackson json deserialization
by codesnips 3 tabs
ruby
module KeysetPaginatable
  extend ActiveSupport::Concern

  class_methods do
    def keyset_page(cursor: nil, limit: 20, direction: :desc)
      limit = limit.to_i.clamp(1, 100)

Keyset Cursor Pagination for ActiveRecord Instead of OFFSET

ruby rails activerecord
by codesnips 4 tabs
ruby
require 'securerandom'
require 'digest'
require 'openssl'
require 'rack/utils'

class RememberToken < Sequel::Model

Signed 'Remember Me' Cookies for Persistent Login in Sinatra

sinatra authentication cookies
by codesnips 3 tabs
javascript
const STORAGE_KEY = "auth.refreshToken";

let accessToken = null;
let refreshToken = localStorage.getItem(STORAGE_KEY);

const listeners = new Set();

Transparent JWT Refresh With a Single-Flight Axios Response Interceptor

axios interceptors jwt
by codesnips 3 tabs
go
package feed

import (
	"encoding/base64"
	"encoding/json"
	"time"

Cursor-Based Keyset Pagination for a Postgres Feed API in Go

go postgres pagination
by codesnips 3 tabs
ruby
class CreateWebhookEvents < ActiveRecord::Migration[7.1]
  def change
    create_table :webhook_events do |t|
      t.string :event_id, null: false
      t.string :source, null: false, default: "stripe"
      t.string :event_type, null: false

Idempotent Stripe Webhook Processing with a Unique Event Key in Rails

rails postgres webhooks
by codesnips 4 tabs
java
package com.example.security.metrics;

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.stereotype.Service;

Track Failed Login Attempts with a Custom Micrometer Counter in Spring Boot

spring-boot micrometer metrics
by codesnips 3 tabs
python
from datetime import datetime, timedelta, timezone

from fastapi.security import OAuth2PasswordBearer
from jose import jwt
from passlib.context import CryptContext

Reusable OAuth2 Password Bearer JWT Authentication Dependency in FastAPI

fastapi oauth2 jwt
by codesnips 4 tabs
javascript
import React from 'react';

export function UndoSnackbar({ pending, onUndo }) {
  if (!pending) return null;

  return (

Undoable Delete with a Snackbar and useReducer Timeout Controller in React

react hooks usereducer
by codesnips 3 tabs
ruby
class SyncContactJob < ApplicationJob
  queue_as :external

  BACKOFF = ->(executions) do
    (2**executions) + rand(0.0..1.0) # exponential + jitter, in seconds
  end

Exponential Backoff with Jitter for Flaky External API Calls in ActiveJob

rails activejob background-jobs
by codesnips 3 tabs
python
from django.core.cache import cache


class RateLimiter:
    def __init__(self, scope, limit, window_seconds):
        self.scope = scope

Rate-Limiting Django Password Reset Requests in a Form's clean() Method

django rate-limiting caching
by codesnips 3 tabs
ruby
class User < ApplicationRecord
  has_one_attached :avatar do |attachable|
    attachable.variant :thumb,
      resize_to_limit: [256, 256],
      convert: :webp,
      saver: { quality: 80 }

Attach and Resize an Avatar with an Active Storage Variant in Rails

rails active-storage image-processing
by codesnips 3 tabs