Skip to content

Instantly share code, notes, and snippets.

View Pierstoval's full-sized avatar
🌖

Alex Rock Pierstoval

🌖
View GitHub Profile
<?php
class RawObjectMapper
{
public static function mapObjects(string $targetClassName, object $sourceObject): object
{
$sourceClass = \get_class($sourceObject);
$targetObject = (new \Doctrine\Instantiator\Instantiator())->instantiate($targetClassName);
$setter = \Closure::bind(static function (string $property, $value) use ($targetObject, $targetClassName): void {
curl --silent "https://symfony.com/doc/current/index.html?$(Get-Random -minimum 0)" | htmlq '.thanks strong:first-child' --text | sed -E 's/ +//g' | php -r "echo trim(file_get_contents('php://stdin'));"
@Pierstoval
Pierstoval / tauri_dev.mjs
Created February 11, 2022 22:00
A Node.js script to run both Node frontend & Rust backend when developing with Tauri
import {spawn} from "child_process";
const yarn_path = process.env.npm_execpath;
const node_path = process.env.npm_node_execpath;
const create_process = function(name, args) {
let child = spawn(node_path, [yarn_path, ...args], {stdio: 'inherit'});
child.on('close', (code) => console.log(`child process ${name} exited with code ${code}`));
_TITLE := "\033[32m[%s]\033[0m %s\n"
_ERROR := "\033[31m[%s]\033[0m %s\n"
obliterate:
@printf $(_ERROR) "WARNING" "This will remove EVERYTHING and result into a setup similar to a fresh \"git clone\"."
@printf $(_TITLE) "Project" "Stopping & deleting all containers, volumes, etc."
@docker-compose down --volumes --remove-orphans --rmi all
@Pierstoval
Pierstoval / _template.ott
Last active December 5, 2021 18:09 — forked from rossant/_template.ott
Convert from Markdown to OpenOffice for Linux Magazine
@Pierstoval
Pierstoval / full-reset.Makefile
Last active September 6, 2022 20:39
Reset your entire application securely from a Makefile
#
# When you run "make full-reset", you see a warning message telling you to
# re-run the command with an environment variable if you're sure.
#
# So to *actually* execute the command, you have to run "make -e RESET=1 full-reset".
# Feel free to change the "resetting" scripts as you want.
#
# These are helper vars to use to have a nicer display for messages
_TITLE := "\033[32m[%s]\033[0m %s\n" # Green text
@Pierstoval
Pierstoval / remove_windows_dir_from_wsl.bash
Last active March 14, 2021 18:32
Remove Windows directories from WSL's PATH
# Remove Windows directories from WSL's PATH
export PATH=$(echo $PATH \
| sed 's/:/\n/g' \
| sort -u \
| grep -v -e'/mnt/[a-z]/' \
| sed -z 's/\n/:/g' \
| sed 's/:$//'
)
@Pierstoval
Pierstoval / confirm.Makefile
Last active March 7, 2024 09:34
"confirm" action for your Makefile
# To use the "confirm" target inside another target,
# use the " if $(MAKE) -s confirm ; " syntax.
mycommand:
@if $(MAKE) -s confirm ; then \
execute_your_command_here ; \
fi
.PHONY: mycommand
# The CI environment variable can be set to a non-empty string,

Liste d'acronymes utilisés dans la programmation

Acronyme Définition
Les principes SOLID :
• SRP Single Responsibility Principle
• OCP Open/Closed principle
• LSP Liskov Substitution Principle (un acronyme féministe, du nom de la mathématicienne Barbara Liskov !)
• ISP Interface Segregation Principle (tu vois que ça fait conflit avec "ISP - Internet Service Provider", LAULE)
• DIP Dependency Inversion Principle
@Pierstoval
Pierstoval / Makefile
Last active March 2, 2021 14:38
"Check requirements" command for your Makefile
# Use it like this:
#
# $ printf $(_TITLE) "Something in green" "The message"
#
# This will output something like this:
#
# [Something in green] The message
#
# (of course, with proper colors)
_TITLE := "\033[32m[%s]\033[0m %s\n" # Green text