python
from rest_framework.versioning import BaseVersioning
from rest_framework.exceptions import NotAcceptable


class AcceptHeaderVersioning(BaseVersioning):
    default_version = "1"

Versioning a DRF Resource With Accept-Header Content Negotiation

django drf rest-api
by codesnips 4 tabs
go
package mailer

import (
	"crypto/sha256"
	"encoding/hex"
	"strings"

Idempotent Email Sending with a Redis Fingerprint Set in Go

redis idempotency email
by codesnips 3 tabs
javascript
const crypto = require('crypto');

function computeStrongEtag(body) {
  const buf = Buffer.isBuffer(body) ? body : Buffer.from(String(body));
  const digest = crypto.createHash('sha1').update(buf).digest('base64');
  return '"' + digest + '"';

ETag-Based HTTP Caching in Express With 304 Not Modified Handling

express http-caching etag
by codesnips 3 tabs
ruby
require "csv"

class ProductImporter
  BATCH_SIZE = 500

  attr_reader :errors, :inserted

Bulk-Insert a Product CSV in Rails with a Service Object and upsert_all

rails csv bulk-insert
by codesnips 3 tabs
erb
<h1>New Article</h1>

<form action="/articles" method="post">
  <div>
    <label for="title">Title</label>
    <input id="title" type="text" name="article[title]"

Post-Redirect-Get in Sinatra with Sinatra::Flash and a redirect_to Helper

sinatra rack flash
by codesnips 4 tabs
python
from collections import defaultdict
from dataclasses import dataclass, field
from typing import Callable, Dict, List, Set


class CycleError(Exception):

Topological Task Scheduling With Cycle Detection and Parallel Waves

scheduling topological-sort dag
by codesnips 3 tabs
ruby
class Product < ApplicationRecord
  has_many :reviews, dependent: :destroy

  scope :published, -> { where(published: true) }

  def average_rating

Russian Doll Fragment Caching with Touch Propagation in Rails

rails caching fragment-caching
by codesnips 4 tabs
javascript
const express = require('express');
const multer = require('multer');
const os = require('os');
const fs = require('fs/promises');
const { parseCsvStream } = require('./csvStreamParser');

Stream and Validate Large CSV Uploads Row-by-Row with Node Streams and Backpressure

nodejs streams csv
by codesnips 3 tabs
go
package authtransport

import (
	"errors"
	"net/http"
)

Injecting Auth Headers via a Custom http.RoundTripper Decorator in Go

go http middleware
by codesnips 3 tabs
ruby
require 'set'
require 'json'

class Broadcaster
  def initialize
    @mutex = Mutex.new

Stream Server-Sent Events from a Sinatra Route With Keep-Alive Pings

sinatra sse streaming
by codesnips 3 tabs
ruby
class Cart < ApplicationRecord
  belongs_to :user, optional: true
  has_many :cart_items, dependent: :destroy

  scope :for_session, ->(token) { where(session_token: token) }
  scope :active, -> { where(merged_at: nil) }

Merge a Guest Cart Into a User's Cart on Login With a Rails Service Object

rails service-object devise
by codesnips 3 tabs
python
import asyncio
from typing import Awaitable, Callable, Dict, TypeVar

T = TypeVar("T")

Coalesce Duplicate In-Flight Requests with an Asyncio Single-Flight Cache

asyncio concurrency caching
by codesnips 3 tabs