Refresh Binding

```
#refresh custom binding
self.view.refreshBinding("custom.ds")`
```

Win network: usefull snippets for PShell

> All of the commands listed below are intended for PowerShell running with administrator privileges

# Netstat

## 1. Base of netstat
### 1.1 Show all active connections
`netstat -ano | Where-Object { $_ -match "ESTABLISHED" }`

### 1.2 Show all external connections (w/o localhost and IPv6)
`netstat -ano | Where-Object { $_ -match "ESTABLISHED" -and $_ -notmatch "127\.0\.0\.1" -and $_ -notmatch "\[" }`

### 1.3 Show all processes with process names
`netstat -anob`

### 1.4 Show only processes w

2075. Decode the Slanted Ciphertext

A string originalText is encoded using a slanted transposition cipher to a string encodedText with the help of a matrix having a fixed number of rows rows. originalText is placed first in a top-left to bottom-right manner. The blue cells are filled first, followed by the red cells, then the yellow cells, and so on, until we reach the end of originalText. The arrow indicates the order in which the cells are filled. All empty cells are filled with ' '. The number of columns is chosen such that the rightmost column will not be empty after filling in originalText. encodedText is then formed by appending all characters of the matrix in a row-wise fashion. The characters in the blue cells are appended first to encodedText, then the red cells, and so on, and finally the yellow cells. The arrow indicates the order in which the cells are accessed. For example, if originalText = "cipher" and rows = 3, then we encode it in the following manner: The blue arrows depict how originalText is placed in the matrix, and the red arrows denote the order in which encodedText is formed. In the above example, encodedText = "ch ie pr". Given the encoded string encodedText and number of rows rows, return the original string originalText. Note: originalText does not have any trailing spaces ' '. The test cases are generated such that there is only one possible originalText.
/**
 * @param {string} encodedText
 * @param {number} rows
 * @return {string}
 */
var decodeCiphertext = function(encodedText, rows) {
    const n = encodedText.length;
    if (n === 0 || rows === 1) return encodedText;

    const cols = n / rows;

    // Step 1: rebuild the matrix row-wise
    const grid = [];
    let idx = 0;
    for (let r = 0; r < rows; r++) {
        grid[r] = [];
        for (let c = 0; c < cols; c++) {
            grid[r][c] = encodedText[idx++];
        }
    }

    // 

dev knowlege v2

Blitzy
P
Paul
Free
1
Build prompt
2
Agent action plan
3
Code
4
Contents
1.
introduction
1.1
executive summary
1.2
system overview
1.3
scope
2.
product requirements
2.1
feature catalog
2.2
functional requirements table
2.3
feature relationships
2.4
implementation considerations
3.
technology stack
3.1
programming languages
3.2
frameworks & libraries
3.3
open source dependencies
3.4
third-party services
3.5
databases & storage
3.6
development & deployment
4.
process flowchart
4.1
system workflows

3661. Maximum Walls Destroyed by Robots

There is an endless straight line populated with some robots and walls. You are given integer arrays robots, distance, and walls: robots[i] is the position of the ith robot. distance[i] is the maximum distance the ith robot's bullet can travel. walls[j] is the position of the jth wall. Every robot has one bullet that can either fire to the left or the right at most distance[i] meters. A bullet destroys every wall in its path that lies within its range. Robots are fixed obstacles: if a bullet hits another robot before reaching a wall, it immediately stops at that robot and cannot continue. Return the maximum number of unique walls that can be destroyed by the robots. Notes: A wall and a robot may share the same position; the wall can be destroyed by the robot at that position. Robots are not destroyed by bullets.
/**
 * @param {number[]} robots
 * @param {number[]} distance
 * @param {number[]} walls
 * @return {number}
 */
var maxWalls = function(robots, distance, walls) {
    // -----------------------------
    // 1. Sort robots and pair with distances
    // -----------------------------
    const n = robots.length;
    let arr = robots.map((pos, i) => [pos, distance[i]]);
    arr.sort((a, b) => a[0] - b[0]); // sort by robot position

    const R = arr.map(x => x[0]); // sorted robot positions
    c

Comment publier une nouvelle partie de mon tuto Zelda-like

# 🎮 Guide GitHub — Comment publier une nouvelle partie de mon tuto Zelda-like

> Ce guide est fait pour **Lysdora** ! À garder sur GitHub Gist pour ne plus jamais oublier les étapes 💜

---

## 📋 Prérequis

- Git installé sur ton PC (Git Bash sur Windows)
- Un compte GitHub avec le repo : `https://github.com/Lysdora/zelda-like-godot-tutorial`
- Ton projet Godot terminé et testé pour la nouvelle partie

---

## 🚀 Les étapes (à faire à chaque nouvelle vidéo)

### Étape 1 — Ouvre Git

python prompts

Create a comprehensive Python (.py) file that demonstrates all major list-related concepts, features, methods, functions, commands, classes, modules, and advanced techniques.
Each section must include clear explanations in comments along with practical code examples, covering both simple and complex use cases.
The file should be well-structured, beginner-friendly yet detailed enough for advanced learners, and serve as a complete reference guide to Python lists.

3418. Maximum Amount of Money Robot Can Earn

You are given an m x n grid. A robot starts at the top-left corner of the grid (0, 0) and wants to reach the bottom-right corner (m - 1, n - 1). The robot can move either right or down at any point in time. The grid contains a value coins[i][j] in each cell: If coins[i][j] >= 0, the robot gains that many coins. If coins[i][j] < 0, the robot encounters a robber, and the robber steals the absolute value of coins[i][j] coins. The robot has a special ability to neutralize robbers in at most 2 cells on its path, preventing them from stealing coins in those cells. Note: The robot's total coins can be negative. Return the maximum profit the robot can gain on the route.
/**
 * @param {number[][]} coins
 * @return {number}
 */
var maximumAmount = function(coins) {
    const m = coins.length;
    const n = coins[0].length;

    // dp[i][j][k] = max coins at (i,j) using k neutralizations
    const NEG_INF = -1e15;
    const dp = Array.from({ length: m }, () =>
        Array.from({ length: n }, () => Array(3).fill(NEG_INF))
    );

    // Initialize start cell
    const start = coins[0][0];
    if (start >= 0) {
        dp[0][0][0] = start;
    } else {
        // 

acces the ui

run this command to be able to access the ui from localhost
gcloud compute ssh [VM_NAME] --project [PROJECT_ID] --zone [ZONE] -- -L 18789:localhost:18789
example
gcloud compute ssh instance-20251110-200601 --project swo-trabajo-yrakibi --zone europe-west1-d -- -L 18789:localhost:18789

SCF 基本

===そのまま出力===
echo SCF::get('hoge'); 

===変数に格納して出力===
$hoge = get_post_meta( get_the_ID(), ‘hoge’,true);
<?php if(isset( $hoge )): ?>
<?php echo esc_html( $hoge ); ?>
<?php endif; ?>

//改行を反映する場合
<?php echo nl2br($hoge); ?>


===画像フィールド===
$hoge_img_id = get_post_meta( get_the_ID(), 'hoge', true );
if(isset( $hoge_img_id )){
$hoge_image_url = wp_get_attachment_image_src($hoge_img_id, 'full')[0]; //url
$hoge_image_alt = get_post_meta($hoge_img_id, '_wp_attachment_image_alt', true); //alt
}
<?php 

npm サプライチェーン攻撃対策

# npm サプライチェーン攻撃対策

## 前提:MFA

npm アカウントおよび GitHub アカウントの両方で多要素認証を有効化する。

---

## 1. 意図しないバージョンの混入防止

### 1-1. ロックファイルの固定

ロックファイル(`package-lock.json` / `pnpm-lock.yaml`)を Git にコミットし、CI では frozen install を使用する。

| パッケージマネージャ | コマンド / 挙動 |
|---|---|
| npm | `npm ci`(ロックファイルの内容を厳密に再現する) |
| pnpm | CI 環境を検出すると `--frozen-lockfile` が自動付与される |

効果:`npm install` / `pnpm install` が semver 範囲内で最新版を解決する動作を抑止し、ロックファイルに記録されたバージョンのみをインストールする。

### 1-2. 公開直後のバージョンの除外

Renovate の `minimumReleaseAge` プリセットを設定する

3474. Lexicographically Smallest Generated String

You are given two strings, str1 and str2, of lengths n and m, respectively. A string word of length n + m - 1 is defined to be generated by str1 and str2 if it satisfies the following conditions for each index 0 <= i <= n - 1: If str1[i] == 'T', the substring of word with size m starting at index i is equal to str2, i.e., word[i..(i + m - 1)] == str2. If str1[i] == 'F', the substring of word with size m starting at index i is not equal to str2, i.e., word[i..(i + m - 1)] != str2. Return the lexicographically smallest possible string that can be generated by str1 and str2. If no string can be generated, return an empty string "".
/**
 * @param {string} str1  // pattern of 'T' and 'F'
 * @param {string} str2  // substring to match or avoid
 * @return {string}
 */
var generateString = function (str1, str2) {
    const n = str1.length;
    const m = str2.length;

    // Final string length is n + m - 1
    const word = Array(n + m - 1).fill('?');

    // Tracks which positions are "locked" by 'T' constraints
    const locked = Array(n + m - 1).fill(false);

    // ---------------------------------------------------------
  

🐍🛡️ Pip-audit

---
title: "pip-audit — Guide complet pour l'audit de vulnérabilités des dépendances Python"
updated: 2026-03-31
---

# pip-audit — Guide complet pour l'audit de vulnérabilités des dépendances Python

## 1. Qu'est-ce que pip-audit ?

`pip-audit` est un outil en ligne de commande qui scanne un environnement Python (ou un fichier de requirements) pour détecter les **dépendances ayant des vulnérabilités connues** (CVE publiées). Il est maintenu par la **PyPA** (Python Packaging Authority), développ

🐍🛡️ Bandit

---
title: "Bandit — Guide complet pour l'analyse de sécurité statique en Python"
updated: 2026-03-31
---

# Bandit — Guide complet pour l'analyse de sécurité statique en Python

## 1. Qu'est-ce que Bandit ?

Bandit est un outil d'analyse statique de sécurité (SAST) conçu exclusivement pour Python. Il parse chaque fichier source en **Abstract Syntax Tree** (AST) via le module `ast` de la stdlib, puis exécute des plugins de détection contre les nœuds de l'arbre. Aucune exécution de code n'a lieu 

🐍 🪵 Structlog

---
title: "structlog — Guide complet pour le logging structuré en Python"
updated: 2026-03-31
---

# structlog — Guide complet pour le logging structuré en Python

## 1. Pourquoi structlog ?

Le module `logging` de la stdlib produit des lignes de texte brut. Quand on cherche à corréler des événements en production, on finit par parser des chaînes avec des regex. `structlog` résout ce problème en attachant du **contexte typé** (clés/valeurs) à chaque événement de log, et en séparant strictement 

⚙️ Makefiles

---
title: "Makefile : guide complet de la syntaxe et des bonnes pratiques"
updated: 2026-03-31
---

# Makefile : guide complet

Ce guide couvre la syntaxe de GNU Make de manière exhaustive, des fondamentaux aux patterns avancés, avec des exemples concrets orientés vers des projets Python modernes.

---

## 1. Qu'est-ce que Make ?

Make est un outil d'automatisation de tâches piloté par un fichier de configuration appelé `Makefile`. Historiquement conçu pour compiler du C/C++, il est aujourd'hui