Skip to content

Instantly share code, notes, and snippets.

View TGITS's full-sized avatar

Christophe Vaudry TGITS

View GitHub Profile
@TGITS
TGITS / UnmutableListCopyExample.java
Last active September 2, 2026 16:03
Création d'une liste mutable à partir d'une liste immutable
///usr/bin/env jbang "$0" "$@" ; exit $?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class UnmutableListCopyExample {
public static void main(String args[]) {
List<String> unmutableGreatHouses = List.of("Stark", "Arryn", "Lannister", "Martell", "Targaryen", "Tully", "Greyjoy", "Tyrell", "Baratheon");
@TGITS
TGITS / UnmutableListsExample.java
Created September 2, 2026 13:23
Liste immutable en Java avec List.of()
///usr/bin/env jbang "$0" "$@" ; exit $?
import java.util.List;
class UnmutableListsExample {
public static void main(String args[]) {
List<String> greatHouses = List.of("Stark", "Arryn", "Lannister", "Martell", "Targaryen", "Tully", "Greyjoy", "Tyrell", "Baratheon");
System.out.println("Great Houses of Westeros: " + greatHouses);
@TGITS
TGITS / BetterUnmodifiableListsExample.java
Created September 2, 2026 10:23
Exemple de création de liste non-modifiable à partir d'une copie défensive
///usr/bin/env jbang "$0" "$@" ; exit $?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
class BetterUnmodifiableListsExample {
public static void main(String args[]) {
@TGITS
TGITS / UnmodifiableListsExample.java
Created September 2, 2026 09:42
Exemple de liste non-modifiable avec les limites et risques de l'approche
///usr/bin/env jbang "$0" "$@" ; exit $?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
class UnmodifiableListsExample {
public static void main(String args[]) {
@TGITS
TGITS / equivalent_while_loop_without_break.py
Last active February 20, 2025 12:43
Exemple boucle avec while et sans break équivalente à celles avec le for et un break.
noble_gaz = [
{"name": "HELIUM", "symbol": "He", "atomic number": 2},
{"name": "NEON", "symbol": "Ne", "atomic number": 10},
{"name": "ARGON", "symbol": "Ar", "atomic number": 18},
{"name": "KRYPTON", "symbol": "Kr", "atomic number": 36},
{"name": "XENON", "symbol": "Xe", "atomic number": 54},
{"name": "RADON", "symbol": "Rn", "atomic number": 86},
]
symbol = input("Entrer le symbole d'un gaz noble: ")
@TGITS
TGITS / ex_loop_with_else.py
Last active February 20, 2025 12:43
Exemple d'une boucle for avec une clause else
noble_gaz = [
{"name": "HELIUM", "symbol": "He", "atomic number": 2},
{"name": "NEON", "symbol": "Ne", "atomic number": 10},
{"name": "ARGON", "symbol": "Ar", "atomic number": 18},
{"name": "KRYPTON", "symbol": "Kr", "atomic number": 36},
{"name": "XENON", "symbol": "Xe", "atomic number": 54},
{"name": "RADON", "symbol": "Rn", "atomic number": 86},
]
symbol = input("Entrer le symbole d'un gaz noble: ")
@TGITS
TGITS / ex_loop_without_else.py
Last active February 20, 2025 12:43
Exemple de script avec une boucle for sans clause else
noble_gaz = [
{"name": "HELIUM", "symbol": "He", "atomic number": 2},
{"name": "NEON", "symbol": "Ne", "atomic number": 10},
{"name": "ARGON", "symbol": "Ar", "atomic number": 18},
{"name": "KRYPTON", "symbol": "Kr", "atomic number": 36},
{"name": "XENON", "symbol": "Xe", "atomic number": 54},
{"name": "RADON", "symbol": "Rn", "atomic number": 86},
]
symbol = input("Entrer le symbole d'un gaz noble: ")
@TGITS
TGITS / null_safety_chaining_operator.js
Created December 1, 2024 17:12
Exemple d'utilisation de l'opérateur de chaînage optionnel
let pokemon = {
name: "Bulbasaur",
type: [
"Grass",
"Poison"
],
base: {
hp: 45,
attack: 49,
defense: 49,
@TGITS
TGITS / comparing_or_and_nullish_coalescing_operator.js
Created November 17, 2024 16:56
Comparing boolean or operator and null coalescing operator
const i_am_null = null;
const i_am_undefined = undefined;
const i_am_non_null = 'I have value !'
const i_am_false = false;
const zero = 0;
const empty_string = '';
console.log(`Comparing the evaluation of (i_am_null ?? 'default value') and (i_am_null || 'default value'):
${i_am_null ?? 'default value'} <-> ${i_am_null || 'default value'}`);
console.log(`Comparing the evaluation of (i_am_undefined ?? 'default value') and (i_am_undefined || 'default value'):
@TGITS
TGITS / nullish_coalescing_operator_basic_example.js
Created November 17, 2024 16:25
Basic example of how the nullish coalescing operator works
const i_am_null = null;
const i_am_undefined = undefined;
const i_am_non_null = 'I have value !'
const value_1 = i_am_null ?? 'default value';
console.log(value_1); // Expected output: "default value"
const value_2 = i_am_undefined ?? 'another default value';
console.log(value_2); // Expected output: "another default value"