無限スクロールなどでcanvasを大量に描画する場合のメモリ管理

<div class="grid" id="grid"></div>

Sticky header and how to solve the indentation?

/* 1 */
html {
  scroll-behavior: smooth;
  /* Set this to the height of your header */
  scroll-padding-top: 80px; 
}


/* 2 */
.anchor-section::before {
  content: "";
  display: block;
  /* Negative margin pulls the element back up */
  margin-top: -100px; 
  /* Height creates the "blocker" space */
  height: 100px; 
  visibility: hidden;
  pointer-events: none;
}

/* 3 */
section:target {
  border-top: 80px solid transparent;
  margin-top: -80px;
  background-clip: padding-box;
}

Prefetch/Preload/Preconnect

<!--
https://medium.com/@TusharKanjariya/four-lines-in-head-changed-my-site-speed-449bfeb396a2
-->


<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>My App</title>

  <!-- Step 1: Warm up third-party connections first -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link rel="dns-prefetch" href="https://analytics.myapp.com">

Bundle update

serve para atualizar uma gem específica de forma mais segura, evitando mudanças desnecessárias nas dependências.
bundle update <gem_name> --conservative

prds

Blitzy
P
Paul
Free
Paul weezy Design
New product • Tech spec ready

Select destination

1
Build prompt
2
Agent action plan
3
Code
4
Project guide
Contents
Agent Action Plan
1. Introduction
1.1 Executive Summary
1.1.1 Project Overview
AutoDev Army represents a revolutionary approach to software development automation, delivering an autonomous multi-agent pipeline designed to build, test, and deploy web applications with minimal human intervention. The system leverages OpenAI

Disable Gutenberg

add_filter('use_block_editor_for_post', '__return_false');
add_filter('use_block_editor_for_post_type', '__return_false');

2946. Matrix Similarity After Cyclic Shifts

You are given an m x n integer matrix mat and an integer k. The matrix rows are 0-indexed. The following proccess happens k times: Even-indexed rows (0, 2, 4, ...) are cyclically shifted to the left. Odd-indexed rows (1, 3, 5, ...) are cyclically shifted to the right. Return true if the final modified matrix after k steps is identical to the original matrix, and false otherwise.
/**
 * @param {number[][]} mat
 * @param {number} k
 * @return {boolean}
 */
var areSimilar = function(mat, k) {
  for (let row of mat) {
    const n = row.length;
    const shift = k % n;

    // Left shift for even rows, right shift for odd rows
    // But instead of simulating, just check if shifting preserves equality

    // Build shifted versions
    const left = row.slice(shift).concat(row.slice(0, shift));
    const right = row.slice(n - shift).concat(row.slice(0, n - shift));

    // If

2946. Matrix Similarity After Cyclic Shifts

You are given an m x n integer matrix mat and an integer k. The matrix rows are 0-indexed. The following proccess happens k times: Even-indexed rows (0, 2, 4, ...) are cyclically shifted to the left. Odd-indexed rows (1, 3, 5, ...) are cyclically shifted to the right. Return true if the final modified matrix after k steps is identical to the original matrix, and false otherwise.
/**
 * @param {number[][]} mat
 * @param {number} k
 * @return {boolean}
 */
var areSimilar = function(mat, k) {
  for (let row of mat) {
    const n = row.length;
    const shift = k % n;

    // Left shift for even rows, right shift for odd rows
    // But instead of simulating, just check if shifting preserves equality

    // Build shifted versions
    const left = row.slice(shift).concat(row.slice(0, shift));
    const right = row.slice(n - shift).concat(row.slice(0, n - shift));

    // If

Prepare local environment

# GCP Local Environment

## Prepare Local Environment

Follow the official documentation available at https://docs.cloud.google.com/docs/authentication/set-up-adc-local-dev-environment

CLI Installation: https://docs.cloud.google.com/sdk/docs/install-sdk

### Re-authorize credentials
`gcloud auth application-default login`

faq schema

<script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {%- for block in section.blocks -%}
          {
            "@type": "Question",
            "name": {{ block.settings.title | json }},
            "acceptedAnswer": {
              "@type": "Answer",
              "text": {{ block.settings.text | json }}
            }
          }{% unless forloop.last %},{% endunless %}
        {%- endfor -%}
      ]
    }
  

Git Aliases Setup

# Git Aliases Setup Notes

**Machine:** Lenovo ThinkPad T14 Gen 2
**OS:** Ubuntu 24.04 LTS (Dual Boot)
**Date:** March 25, 2026

---

## Overview

Global git aliases configured for faster branch switching. All aliases are stored in `~/.gitconfig` and apply across every repository on the machine.

---

## Configure Aliases

```bash
git config --global alias.co checkout
git config --global alias.cm "checkout master"
git config --global alias.cq "checkout qa"
git config --global alias.cp "checkout 

Git Worktrees Setup

# Git Worktrees Setup Notes

**Machine:** Lenovo ThinkPad T14 Gen 2
**OS:** Ubuntu 24.04 LTS (Dual Boot)
**Date:** March 25, 2026

---

## Overview

Git Worktrees allow multiple branches of the same repository to be checked out simultaneously, each in its own folder, all sharing a single `.git` database. This eliminates the need to stash or resolve conflicts just to switch context — each worktree is fully independent on disk.

The alternative — cloning the same repo into multiple folders — achie

Git Pull, Merge, and Rebase Guide

# Git Pull, Merge, and Rebase Guide

A practical reference for understanding how git integrates changes between branches, when to use each strategy, and how to avoid common pitfalls.

## The Fundamentals

Git has two core ways to integrate changes from one branch into another: **merge** and **rebase**. `git pull` is a shorthand that combines `git fetch` + one of these two.

---

## 1. Merge

```
Before:
master:    A → B → C → D
                \
feature:         E → F → G

After `git merge maste

Git Branch Cleanup Guide: Squashing a Messy Feature Branch

# Branch Cleanup Guide: Squashing a Messy Feature Branch

When a long-lived feature branch accumulates dozens of merge commits from repeatedly syncing with master, the history becomes noisy and hard to review. This guide documents how to extract a clean branch with identical code but minimal commit history.

## When to Use This

- Feature branch has many "Merged master into ..." commits from UI sync buttons
- `git pull origin master` with `pull.rebase = true` triggers previously-resolved conflic

Apply custom widget attributes to an input field from list_editable dictionary in admin.py

Apply custom widget attributes from the field_attrs dictionary to an input field from list_editable dictionary
# poetry/admin/admin_utils.py

# Apply custom widget attributes from the field_attrs dictionary to an input field from list_editable dictionary
def apply_widget_attrs_to_admin_input_field(formfield, db_field, field_attrs):
    attrs = field_attrs.get(db_field.name)
    if attrs:
        formfield.widget.attrs.update(attrs)
    return formfield

    """
    # Apply custom widget attributes from the field_attrs dictionary to an input field from list_editable dictionary
    # Usage examp

AutoRecover feature does not recover unsaved files

# SQL Server Management Studio (SSMS) AutoRecover Feature Does Not Recover Unsaved Files

## Problem

Unsaved files are not recovered after SSMS is forcibly closed **AND** the user profile is logged off. This can happen when an event, such as a log off or device restart occurs.

## Symptoms
- SSMS is being used via Remote Desktop
- The user profile was logged off (device restart or log off/on)
- SSMS does not show the AutoRecover screen

## Cause

Remote Desktop Services is configured to delete