Skip to content

Instantly share code, notes, and snippets.

View marcocesarato's full-sized avatar

Marco Cesarato marcocesarato

View GitHub Profile
@marcocesarato
marcocesarato / fizzBuzz.js
Last active January 1, 2023 19:34
Fizz Buzz quiz with clean code and TDD
/**
* Runner
*/
main();
/**
* Program with Clean Code
*/
@marcocesarato
marcocesarato / conventional_commit.md
Created March 27, 2022 11:48
Guide Conventional Commits (Italiano)

Commit Convenzionali

Autore: Marco Cesarato

La modalità di commit di git dovranno seguire un insieme di semplici regole per avere cosi una cronologia di commit esplicita e comprensibile una volta consultata. Inoltre ciò rende più facile utilizzare strumenti per l'automatizzazione di processi per la consultazione o l'auto generazione. Quindi per poter essere analizzati dallo script di auto generazione del changelog (registro modifiche) sarà necessario che i commit seguano esattamente la seguente struttura e le seguenti regole.

Esistono inoltre strumenti per JetBrains, Visual Studio Code e altri editor (i link nella sezione dedicata a fondo pagina) che aiutano alla scrittura di tali commit rispettando le regole convenzionali stabilite.

Perchè utilizzare commit convenzionali

@marcocesarato
marcocesarato / convert-cammelcase.php
Last active October 31, 2019 11:49
Convert php file variables. methods and variables from snake case to camel case
#!/usr/bin/env php
<?php
$path = $argv[1];
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
foreach ($iterator as $file) {
if (substr($file, -4) !== '.php') {
continue;
}
echo "Converted: " . $file . PHP_EOL;
@marcocesarato
marcocesarato / pre-push
Created September 20, 2019 08:18
Pre push git hooks for php-cs-fixer
#!/usr/bin/env bash
echo "Pre push php-cs-fixer Start"
PHP_CS_FIXER="sh vendor/bin/php-cs-fixer"
PHP_CS_CONFIG=".cs.php"
CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM -- '*.php')
if [ -n "$CHANGED_FILES" ]; then
$PHP_CS_FIXER fix --config "$PHP_CS_CONFIG" $CHANGED_FILES --dry-run --format=txt --verbose --diff --diff-format=udiff;
git add $CHANGED_FILES;
@marcocesarato
marcocesarato / pre-commit
Last active September 20, 2019 08:18
Pre commit and post merge git hooks for php-cs-fixer
#!/usr/bin/env bash
echo "Pre commit/Post merge php-cs-fixer Start"
PHP_CS_FIXER="sh vendor/bin/php-cs-fixer"
PHP_CS_CONFIG=".cs.php"
CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM -- '*.php')
if [ -n "$CHANGED_FILES" ]; then
$PHP_CS_FIXER fix --config "$PHP_CS_CONFIG" $CHANGED_FILES --verbose;
git add $CHANGED_FILES;
@marcocesarato
marcocesarato / .php_cs
Last active September 27, 2019 14:04
Code standard configuration for PhpCsFixer
<?php
return PhpCsFixer\Config::create()
->setUsingCache(true)
->setRiskyAllowed(true)
->setCacheFile(__DIR__ . '/.php_cs.cache')
->setRules(array(
'@PSR1' => true,
'@PSR2' => true,
'@Symfony' => true,
@marcocesarato
marcocesarato / Monokai.icls
Last active April 4, 2021 19:34
Monokai Pro Dark Color Scheme for IntelliJ
<scheme name="Monokai Pro Dark" version="142" parent_scheme="Darcula">
<option name="FONT_SCALE" value="1.0" />
<metaInfo>
<property name="created">2021-04-04T21:32:58</property>
<property name="ide">PhpStorm</property>
<property name="ideVersion">2020.3.3.0.0</property>
<property name="modified">2021-04-04T21:33:05</property>
<property name="originalScheme">Monokai Pro Dark</property>
</metaInfo>
<option name="LINE_SPACING" value="1.1" />
@marcocesarato
marcocesarato / empty.js
Last active April 14, 2021 07:40
Check if variable is empty on javascript
/**
* Is empty
* @param x
* @returns {boolean}
*/
export const isEmpty = (x) => {
// Generic
if (typeof x !== "boolean" && !x) {
return true;
}
@marcocesarato
marcocesarato / httprequest.php
Last active February 25, 2020 13:43
Http request
<?php
/**
* HTTP Request
* @author Marco Cesarato <cesarato.developer@gmail.com>
* @param $url
* @return mixed
*/
function http_request($url, $body = false, $method = "GET", $headers = array(), $timeout = 15) {
$options = array(
@marcocesarato
marcocesarato / multi_pull.sh
Created January 18, 2019 15:11
Multi pull for git
#!/usr/bin/env bash
: <<'DOC'
Directory structure:
MainFolder:
=> multicomnmit.sh
=> branch_name
=> repository_name
=> .git
----------------------------
EXAMPLE: