Skip to content

Instantly share code, notes, and snippets.

Avatar

Sergi Tur Badenas acacha

View GitHub Profile
View gist:638fe1d64c55fcba522d1e14f655fd60
1) Desenvolupament d'aplicacions web i backend (APIs) amb Laravel utilitzant Test Driven Development
Objectius
Dominar les tècniques de desenvolupament d'aplicacions de backend API i/o web amb Laravel.Construir un projecte real complet amb Laravel utilitzant Test Driven Development
Continguts- Creació de projectes Laravel i Laravel Starter Kits (Laravel Breeze, Jetstream...)- Organització de projectes amb Gii i Github. Gestió de versions de codi, etiquetes, desenvolupaments vs producció, branques. etc.- Gestió entorns de desenvolupament, test, producció. Configuració fitxers entorn.- Deployment amb Laravel Forge- Introducció al TDD en Laravel- Tècniques SOLID i bones pràctiques en desenvolupament de projectes- Model Vista Controlador, gestió de rutes i Front Controller- Model: accés a bases de dades amb Laravel ORM, migracions. seeds- Vistes amb frameworks UI (Tailwind CSS). Introducció a desenvolupament de la UI amb components. Introducció a Vue- Tests unitaris, testos HTTP, testos integrals- Implementació
@acacha
acacha / intervention_image_laravel.php
Created Feb 15, 2022
Exemple de codi Laravel amb Intervention Image per tal de modificar la mida d'una imatge
View intervention_image_laravel.php
$imageContents = Storage::disk('public')->get($this->concert->poster_image_path);
$image = Image::make($imageContents);
$image->resize(600)->encode();
Storage::disk('public')->put($this->concert->poster_image_path, (string) $image);
@acacha
acacha / gist:7b21043ec1cfa06b551ea75aa86edff0
Last active Apr 5, 2022
Actualització Ubuntu 20.02 a PHP8 per a Laravel ) i canvis a Valet Linux
View gist:7b21043ec1cfa06b551ea75aa86edff0
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php8.0-fpm php8.0-cli php8.0-common php8.0-curl php8.0-gd php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-sqlite3 php8.0-xml php8.0-zip
$ laravel -v
Laravel Installer 4.2.9
$ composer global update
$ laravel -v
Laravel Installer 4.2.10
$ laravel new prova && cd prova
@acacha
acacha / deploy.sh
Last active Mar 3, 2022 — forked from BenSampo/deploy.sh
Laravel deploy script
View deploy.sh
# Change to the project directory
cd $FORGE_SITE_PATH
# Turn on maintenance mode
if [ -f artisan ]; then
$FORGE_PHP artisan down || true
fi
# Pull the latest changes from the git repository
git reset --hard origin/production
View FORMHTML.html
<!DOCTYPE html>
<html>
<body>
<h2>HTML Forms</h2>
<form action="https://jsonplaceholder.typicode.com/todos" method="post">
<label for="title">Title:</label><br>
<input type="text" id="title" name="title" value="Title"><br>
<input type="submit" value="Submit">
View gist:b6223b6168a98432dbbad4ae1bf4f65b
127.0.0.1 localhost
127.0.1.1 STB
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
@acacha
acacha / ItinerariFormatiuTallStack.md
Last active Dec 24, 2020
Itinerari formatiu aplicacions TALL Stack
View ItinerariFormatiuTallStack.md

Aquest document pretén ser un guió dels passos a seguir per començar a aprendre des de zero Laravel, i per tant PHP, programació orientada a Objectes i bones pràctiques en l'escriptura de codi: SOLID, IOC Container, Injecció de depencències, Test Driven Development. Un cop coneixem Laravel, que és una eina de backend, es recomanable aprendre la TALL Stack per tal de poder crear aplicacions FULL stack, és a dir tant de backend com de frontend (navegadors/Javascript) i a més que aquestes aplicacions siguin reactives com si utilitzesim frameworks Javascript com Vue, Angular o React, però gràcies a Livewire i AlpineJS treballant sobretot amb codi PHP i HTML i utilitzar el mínim Javascript. Finalment Tailwind serà el UI framework per crear la UI, el Look&Feel de la nostra app.

Reactive Laravel apps amb stack TALL

Què és TALL?

Parts de la pila (stack):

  • Tailwind CSS: https://tailwindcss.com/ . UI Framework, s'encarregarà de la presentació de les vistes. No cal dominar CSS (tot
@acacha
acacha / ExempleDropdown.html
Created Nov 19, 2020
ExempleDropdown.html
View ExempleDropdown.html
{{-- Dropdown tasques--}}
<div class="hidden sm:flex sm:items-center sm:ml-6">
<x-jet-dropdown align="right" width="48">
<x-slot name="trigger">
<button class="flex items-center text-sm font-medium text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out">
<div>{{ __('Tasques') }}</div>
<div class="ml-1">
<svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
@acacha
acacha / CanBeCanceledByEscKey.js
Last active Nov 13, 2020
CanBeCanceledByEscKey Vue Mixin
View CanBeCanceledByEscKey.js
export default {
// SSR mount and Before mount are not executed in SSR
beforeMount() {
const escapeHandler = (e) => {
if (e.key === 'Escape') {
this.$emit('cancel')
}
}
document.addEventListener('keydown', escapeHandler)
this.$once('hook:destroyed', () => {
@acacha
acacha / addAllPrivileges.sh
Created May 25, 2020
addAllPrivileges.sh
View addAllPrivileges.sh
#!/bin/bash
#$ sudo net rpc rights list -Uroot -I192.168.1.7
#Enter root's password:
# SeMachineAccountPrivilege Add machines to domain
# SeTakeOwnershipPrivilege Take ownership of files or other objects
# SeBackupPrivilege Back up files and directories
# SeRestorePrivilege Restore files and directories
# SeRemoteShutdownPrivilege Force shutdown from a remote system
# SePrintOperatorPrivilege Manage printers